robotology / idyntree

Multibody Dynamics Library designed for Free Floating Robots
BSD 3-Clause "New" or "Revised" License
177 stars 67 forks source link

Strange behaviour in Debug for binaries linking KDL #117

Closed traversaro closed 8 years ago

traversaro commented 8 years ago

On my machine, all the test linking to KDL segfault immediatly when compiled in debug, running them under Valgrind results in

56: Test command: /home/pegua/src/codyco-superbuild/build/libraries/iDynTree/src/tests/kdl_tests/inversedynamics_crba_test
56: Test timeout computed to be: 1500
1/2 Test #56: test_inversedynamics_crba ............***Exception: SegFault  0.13 sec
test 57
    Start 57: memcheck_test_inversedynamics_crba

57: Test command: /usr/bin/valgrind "--leak-check=full" "--error-exitcode=1" "./inversedynamics_crba_test"
57: Test timeout computed to be: 1500
57: ==24228== Memcheck, a memory error detector
57: ==24228== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
57: ==24228== Using Valgrind-3.10.0.SVN and LibVEX; rerun with -h for copyright info
57: ==24228== Command: ./inversedynamics_crba_test
57: ==24228== 
57: ==24228== Jump to the invalid address stated on the next line
57: ==24228==    at 0x0: ???
57: ==24228==    by 0x5454D60: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19)
57: ==24228==    by 0x5454DA2: std::locale::locale() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19)
57: ==24228==    by 0x5451C8B: std::ios_base::Init::Init() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19)
57: ==24228==    by 0x61A5AE3: __static_initialization_and_destruction_0(int, int) (iostream:74)
57: ==24228==    by 0x61A5B15: _GLOBAL__sub_I_Axis.cpp (Axis.cpp:151)
57: ==24228==    by 0x4010139: call_init.part.0 (dl-init.c:78)
57: ==24228==    by 0x4010222: _dl_init (dl-init.c:36)
57: ==24228==    by 0x4001309: ??? (in /lib/x86_64-linux-gnu/ld-2.19.so)
57: ==24228==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
57: ==24228== 
57: ==24228== 
57: ==24228== Process terminating with default action of signal 11 (SIGSEGV)
57: ==24228==  Bad permissions for mapped region at address 0x0
57: ==24228==    at 0x0: ???
57: ==24228==    by 0x5454D60: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19)
57: ==24228==    by 0x5454DA2: std::locale::locale() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19)
57: ==24228==    by 0x5451C8B: std::ios_base::Init::Init() (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19)
57: ==24228==    by 0x61A5AE3: __static_initialization_and_destruction_0(int, int) (iostream:74)
57: ==24228==    by 0x61A5B15: _GLOBAL__sub_I_Axis.cpp (Axis.cpp:151)
57: ==24228==    by 0x4010139: call_init.part.0 (dl-init.c:78)
57: ==24228==    by 0x4010222: _dl_init (dl-init.c:36)
57: ==24228==    by 0x4001309: ??? (in /lib/x86_64-linux-gnu/ld-2.19.so)
57: ==24228== 
57: ==24228== HEAP SUMMARY:
57: ==24228==     in use at exit: 0 bytes in 0 blocks
57: ==24228==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
57: ==24228== 
57: ==24228== All heap blocks were freed -- no leaks are possible
57: ==24228== 
57: ==24228== For counts of detected and suppressed errors, rerun with: -v
57: ==24228== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
2/2 Test #57: memcheck_test_inversedynamics_crba ...***Exception: SegFault  0.89 sec

The issue does not occur on Travis.

traversaro commented 8 years ago

I am not able to replicate this issue now. Closing until I am again able to replicate it.