The Bullet Physics OpenRAVE plugin segfaults when being unloaded (e.g. closing OpenRAVE, switching to a different physics engine).
Partial backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f0ad840b700 (LWP 26907)]
0x00007f0ad8e885c7 in btCollisionWorld::removeCollisionObject(btCollisionObject*) () from /usr/local/lib/libBulletCollision.so.2.77
(gdb) bt
#0 0x00007f0ad8e885c7 in btCollisionWorld::removeCollisionObject(btCollisionObject*) () from /usr/local/lib/libBulletCollision.so.2.77
#1 0x00007f0ad9611109 in CustomBulletSpace::KinBodyInfo::Reset (this=0x2e97840) at /scratch/bzr/cmr-generic/bulletphysics_ORplugin/custom_bulletspace.h:84
#2 0x00007f0ad9610e71 in ~KinBodyInfo (this=0x2e97840, __in_chrg=<value optimised out>) at /scratch/bzr/cmr-generic/bulletphysics_ORplugin/custom_bulletspace.h:78
#3 0x00007f0ad962b540 in boost::checked_delete<CustomBulletSpace::KinBodyInfo> (x=0x2e97840) at /usr/include/boost/checked_delete.hpp:34
#4 0x00007f0ad9635cfc in boost::detail::sp_counted_impl_p<CustomBulletSpace::KinBodyInfo>::dispose (this=0x2e978d0)
at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78
#5 0x00007f0ae51bea19 in boost::detail::sp_counted_base::release (this=<value optimised out>, pdata=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#6 ~shared_count (this=<value optimised out>, pdata=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#7 ~shared_ptr (this=<value optimised out>, pdata=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
) at /usr/include/boost/smart_ptr/shared_ptr.hpp:169
#8 boost::shared_ptr<OpenRAVE::UserData>::operator= (this=<value optimised out>, pdata=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
) at /usr/include/boost/smart_ptr/shared_ptr.hpp:305
#9 OpenRAVE::KinBody::SetPhysicsData (this=<value optimised out>, pdata=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
) at /scratch/src/ros/openrave_planning/openrave/openrave_svn/rave/kinbody.h:855
#10 0x00007f0af977b5bf in OpenRAVE::PhysicsEngineBase::SetPhysicsData (this=<value optimised out>, body=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
)
at /scratch/src/ros/openrave_planning/openrave/openrave_svn/rave/physicsengine.h:138
#11 0x00007f0af977b787 in Environment::DummyPhysicsEngine::InitKinBody (this=0x350ab40, pbody=DWARF-2 expression error: DW_OP_reg operations must be used either alone or in conjuction with DW_OP_piece.
)
at /scratch/src/ros/openrave_planning/openrave/openrave_svn/src/libopenrave-core/environment-core.h:1501
#12 0x00007f0af975eda5 in Environment::DummyPhysicsEngine::InitEnvironment (this=0x350ab40)
at /scratch/src/ros/openrave_planning/openrave/openrave_svn/src/libopenrave-core/environment-core.h:1488
#13 0x00007f0af9773ceb in Environment::SetPhysicsEngine (this=0x27de440, pengine=<value optimised out>)
at /scratch/src/ros/openrave_planning/openrave/openrave_svn/src/libopenrave-core/environment-core.h:611
#14 0x00007f0ae1cc9bcb in QtCoinViewer::PhysicsEngineChanged (this=<value optimised out>, pact=0x2cae140)
at /scratch/src/ros/openrave_planning/openrave/openrave_svn/plugins/qtcoinrave/qtcoinviewer.cpp:3015
#15 0x00007f0ae1cdad5c in QtCoinViewer::qt_metacall (this=0x2a68ad0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimised out>, _a=0x7f0ad8409540)
at /scratch/src/ros/openrave_planning/openrave/openrave_svn/build/plugins/qtcoinrave/moc_qtcoinviewer.cxx:121