libgazebo segmentation fault in std::_Rb_tree*

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

libgazebo segmentation fault in std::_Rb_tree*

Spym
Hello.

I was installed Gazebo 0.10 from sources on Kubuntu 11.10 x64, and got strange segfault on static objects initialization (before main()).

Used libraries: http://pastebin.com/4xAa1WcZ
GDB backtrace: http://pastebin.com/EiRY77Je
ltrace output: http://pastebin.com/9kMyAY67

App failed here (gazebo-0.10.0/libgazebo/IfaceFactory.cc, static method):

    using namespace gazebo;

    std::map<std::string, IfaceFactoryFn> IfaceFactory::ifaces;

    // Register a iface class.  Use by dynamically loaded modules
    void IfaceFactory::RegisterIface(std::string classname, IfaceFactoryFn factoryfn)
    {
      ifaces[classname] = factoryfn; // segfault in std::_Rb_tree_decrement(..)
    }

Passed arguments are okay, stack is not overflowed.

Also look at valgrind output: "Address 0x8 is not stack'd, malloc'd or (recently) free'd" - looks like invalid pointer, but arguments passed into std::map are correct, and multithreading problems here is not possible, because initialization of static members is performed in a single thread (obviously).

Used dependencies: bullet-2.79, fltk-1.1.10, ode-0.11.1, openal-soft-1.13, player-3.0.2, ogre-1.7.3;
flags for bullet: BUILD_SHARED_LIBS=ON, BT_USE_DOUBLE_PRECISION=ON.

What is my problem?
Thanks in advance.