// 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.