MATLAB GTSAM 4.0 seg faults on displaying a value with a uint64 key

Issue #286 new
Abigail Birkin-Hall created an issue

Using GTSAM 4.0 ( c21186c6212798e665da6b5015296713ddfe8c1d ) with MATLAB 2016a on Ubuntu Xenial 16.04 64-bit

Test Script:

addpath(genpath('/usr/local/gtsam_toolbox'))
import gtsam.*

positionEstimates = Values();

initialPositionEstimate = Pose2(1, 2, 3);

% show empty position estimates
positionEstimates.display(); 

% add value position estimate with a key of type double
manuallyGeneratedKey = 123456789;
positionEstimates.insert(manuallyGeneratedKey, initialPositionEstimate);
positionEstimates.display();

% add value position estimate with a gtsam generated key (uint64)
initialPositionKey = gtsam.symbol('c', 0);
positionEstimates.insert(initialPositionKey, initialPositionEstimate);
positionEstimates.display(); % matlab seg faults at this line, within the gtsam wrapper

Output is

Values with 0 values:
Values with 1 values:
Value 123456789: (N5gtsam5Pose2E) (1, 2, 3)
Values with 2 values:
Value 123456789: (N5gtsam5Pose2E) (1, 2, 3)

final line produces a seg fault with stack trace as below

MATLAB crash file:/home/abirkinh/matlab_crash_dump.5578-1:
-----------------------------------------------------------------------
       Segmentation violation detected at Tue Aug  9 14:26:46 2016
------------------------------------------------------------------------

Configuration:
  Crash Decoding      : Disabled
  Crash Mode          : continue (default)
  Current Graphics Driver: Unknown hardware 
  Current Visual      : 0x21 (class 4, depth 24)
  Default Encoding    : ISO-8859-1
  GNU C Library       : 2.23 stable
  Host Name           : vicki
  MATLAB Architecture : glnxa64
  MATLAB Root         : /usr/local/MATLAB/R2016a
  MATLAB Version      : 9.0.0.341360 (R2016a)
  OpenGL              : hardware
  Operating System    : Linux 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64
  Processor ID        : x86 Family 6 Model 60 Stepping 3, GenuineIntel
  Virtual Machine     : Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
  Window System       : The X.Org Foundation (11803000), display :0.0

Fault Count: 1


Abnormal termination:
Segmentation violation

Register State (from fault):
  RAX = 00000000ffffffff  RBX = 0000000000000001
  RCX = 00007fdfd0000020  RDX = 00007fdfdccba260
  RSP = 00007fdfdccb9f40  RBP = 00007fdfdccba0d0
  RSI = 00007fdff5a96158  RDI = 00007fdfdccba068

   R8 = 0000000000000000   R9 = 00007fdecd09ece0
  R10 = 00007fdecd06d8a0  R11 = 00007fdecd09ece8
  R12 = 00007fdfdccba260  R13 = 00007fdfdccba0d8
  R14 = 00007fdeacc44260  R15 = 00007fdfdccba210

  RIP = 00007fdff57b40e3  EFL = 0000000000010202

   CS = 0033   FS = 0000   GS = 0000

Stack Trace (from fault):
[  0] 0x00007fdff57b40e3 /usr/local/MATLAB/R2016a/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6+00651491 std::locale::~locale()+00000019
[  1] 0x00007fdea5e9c26c                       /usr/local/lib/libgtsam.so.4+01516140 gtsam::Symbol::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >[abi:cxx11]() const+00000540
[  2] 0x00007fdea5e99ffb                       /usr/local/lib/libgtsam.so.4+01507323 gtsam::_defaultKeyFormatter[abi:cxx11](unsigned long)+00000331
[  3] 0x00007fdeac748000      /usr/local/gtsam_toolbox/gtsam_wrapper.mexa64+06545408 boost::detail::function::function_invoker1<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (*)(unsigned long), std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned long>::invoke(boost::detail::function::function_buffer&, unsigned long)+00000032
[  4] 0x00007fdea5f9bbf0                       /usr/local/lib/libgtsam.so.4+02563056 gtsam::Values::print(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::function<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (unsigned long)> const&) const+00000592
[  5] 0x00007fdeac6398bd      /usr/local/gtsam_toolbox/gtsam_wrapper.mexa64+05437629 gtsamValues_print_1150(int, mxArray_tag**, int, mxArray_tag const**)+00000173
[  6] 0x00007fdeac73ea27      /usr/local/gtsam_toolbox/gtsam_wrapper.mexa64+06507047 mexFunction+00042887
[  7] 0x00007fdfe62b58b0     /usr/local/MATLAB/R2016a/bin/glnxa64/libmex.so+00149680 mexRunMexFile+00000064
[  8] 0x00007fdfe62b2214     /usr/local/MATLAB/R2016a/bin/glnxa64/libmex.so+00135700
[  9] 0x00007fdfe62b2db4     /usr/local/MATLAB/R2016a/bin/glnxa64/libmex.so+00138676
[ 10] 0x00007fdfe705c505 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_dispatcher.so+00746757 Mfh_file::dispatch_fh_impl(void (Mfh_file::*)(int, mxArray_tag**, int, mxArray_tag**), int, mxArray_tag**, int, mxArray_tag**)+00001509
[ 11] 0x00007fdfe705c9a0 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_dispatcher.so+00747936 Mfh_file::dispatch_fh(int, mxArray_tag**, int, mxArray_tag**)+00000032
[ 12] 0x00007fdfe40481c9 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+09232841
[ 13] 0x00007fdfe4174dbf /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+10464703
[ 14] 0x00007fdfe416aa5a /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+10422874
[ 15] 0x00007fdfe4133911 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+10197265
[ 16] 0x00007fdfe3cc30ff /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+05542143
[ 17] 0x00007fdfe3cb0940 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+05466432
[ 18] 0x00007fdfe3cb422a /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+05481002
[ 19] 0x00007fdfe3f56543 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+08242499
[ 20] 0x00007fdfe3f1f07e /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+08015998
[ 21] 0x00007fdfe3f23058 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+08032344
[ 22] 0x00007fdfe3f23107 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+08032519
[ 23] 0x00007fdfe3f9932c /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+08516396
[ 24] 0x00007fdfe3f99792 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwm_lxe.so+08517522
[ 25] 0x00007fdfe64f0d7c /usr/local/MATLAB/R2016a/bin/glnxa64/libmwbridge.so+00200060
[ 26] 0x00007fdfe64f19c5 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwbridge.so+00203205 mnParser()+00000789
[ 27] 0x00007fdfe7345c13   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00695315
[ 28] 0x00007fdff6ac981c   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmvm.so+02410524 boost::function0<void>::operator()() const+00000028
[ 29] 0x00007fdfe7347925   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00702757
[ 30] 0x00007fdfe7348839   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00706617 boost::detail::task_shared_state<boost::_bi::bind_t<void, void (*)(boost::function<void ()> const&), boost::_bi::list1<boost::_bi::value<boost::function<void ()> > > >, void>::do_run()+00000025
[ 31] 0x00007fdff15d08a0    /usr/local/MATLAB/R2016a/bin/glnxa64/libmwms.so+03168416 boost::detail::task_base_shared_state<void>::run()+00000064
[ 32] 0x00007fdfe7349717   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00710423
[ 33] 0x00007fdfe734575a   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00694106
[ 34] 0x00007fdfe76b8c06   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00969734
[ 35] 0x00007fdfe76a6b4c   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00895820 boost::detail::function::function_obj_invoker0<std::function<boost::any ()>, boost::any>::invoke(boost::detail::function::function_buffer&)+00000028
[ 36] 0x00007fdfe76a721f   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00897567 boost::function0<boost::any>::operator()() const+00000031
[ 37] 0x00007fdfe76a6993   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00895379 iqm::PackagedTaskPlugin::execute(inWorkSpace_tag*, boost::shared_ptr<cmddistributor::IIPCompletedEvent>&)+00000163
[ 38] 0x00007fdfe735a71d   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00780061
[ 39] 0x00007fdfe7688f98   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00774040
[ 40] 0x00007fdfe76735af   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00685487
[ 41] 0x00007fdfe76707e3   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwiqm.so+00673763
[ 42] 0x00007fdff6486a3a /usr/local/MATLAB/R2016a/bin/glnxa64/libmwservices.so+03443258
[ 43] 0x00007fdff64858a7 /usr/local/MATLAB/R2016a/bin/glnxa64/libmwservices.so+03438759
[ 44] 0x00007fdff648610c /usr/local/MATLAB/R2016a/bin/glnxa64/libmwservices.so+03440908 svWS_ProcessPendingEvents(int, int, bool)+00000092
[ 45] 0x00007fdfe7345ed2   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00696018
[ 46] 0x00007fdfe7346211   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00696849
[ 47] 0x00007fdfe7332cfd   /usr/local/MATLAB/R2016a/bin/glnxa64/libmwmcr.so+00617725
[ 48] 0x00007fdff4fe06fa              /lib/x86_64-linux-gnu/libpthread.so.0+00030458
[ 49] 0x00007fdff4d16b5d                    /lib/x86_64-linux-gnu/libc.so.6+01076061 clone+00000109
[ 50] 0x0000000000000000                                   <unknown-module>+00000000

Comments (1)

  1. Log in to comment