{"action":"opened","issue":{"url":"https://api.github.com/repos/ros/actionlib/issues/41","labels_url":"https://api.github.com/repos/ros/actionlib/issues/41/labels{/name}","comments_url":"https://api.github.com/repos/ros/actionlib/issues/41/comments","events_url":"https://api.github.com/repos/ros/actionlib/issues/41/events","html_url":"https://github.com/ros/actionlib/issues/41","id":123014926,"number":41,"title":"ActionServer crash on deconstrucion","user":{"login":"astumpf","id":7815721,"avatar_url":"https://avatars.githubusercontent.com/u/7815721?v=3","gravatar_id":"","url":"https://api.github.com/users/astumpf","html_url":"https://github.com/astumpf","followers_url":"https://api.github.com/users/astumpf/followers","following_url":"https://api.github.com/users/astumpf/following{/other_user}","gists_url":"https://api.github.com/users/astumpf/gists{/gist_id}","starred_url":"https://api.github.com/users/astumpf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/astumpf/subscriptions","organizations_url":"https://api.github.com/users/astumpf/orgs","repos_url":"https://api.github.com/users/astumpf/repos","events_url":"https://api.github.com/users/astumpf/events{/privacy}","received_events_url":"https://api.github.com/users/astumpf/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-12-18T19:49:48Z","updated_at":"2015-12-18T19:49:48Z","closed_at":null,"body":"I've been able to reproduce an issue, when using the action server. When I terminate the program, the executable terminates each time with:\r\n\r\n```\r\nterminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >'\r\n  what():  boost: mutex lock failed in pthread_mutex_lock: Invalid argument\r\n```\r\n\r\nThis is the callstack:\r\n\r\n\r\n```\r\nThread 6 (Thread 0x7f872971d700 (LWP 22968)):\r\n#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185\r\nNo locals.\r\n#1  0x00007f8731388bcb in ros::ROSOutAppender::logThread() () from /opt/ros/indigo/lib/libroscpp.so\r\nNo symbol table info available.\r\n#2  0x00007f8730830a4a in ?? () from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.54.0\r\nNo symbol table info available.\r\n#3  0x00007f873060f182 in start_thread (arg=0x7f872971d700) at pthread_create.c:312\r\n        __res = <optimized out>\r\n        pd = 0x7f872971d700\r\n        now = <optimized out>\r\n        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140218492638976, -1329213057410763180, 0, 0, 140218492639680, 140218492638976, 1334188262192346708, 1334137537842804308}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}\r\n        not_first_call = <optimized out>\r\n        pagesize_m1 = <optimized out>\r\n        sp = <optimized out>\r\n        freesize = <optimized out>\r\n        __PRETTY_FUNCTION__ = \"start_thread\"\r\n#4  0x00007f872fe2247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111\r\nNo locals.\r\n\r\nThread 1 (Thread 0x7f8731d4c7c0 (LWP 22964)):\r\n#0  0x00007f872fd5ecc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56\r\n        resultvar = 0\r\n        pid = 22964\r\n        selftid = 22964\r\n#1  0x00007f872fd620d8 in __GI_abort () at abort.c:89\r\n        save_stage = 2\r\n        act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0, 32299864, 140218631443799, 140217797312517, 0, 140218603567208, 140218599664936, 140218603567208, 32299864, 32288736, 140218631472405, 140218633340832, 140218600601741, 1, 140218633343184, 32326336}}, sa_flags = 10, sa_restorer = 0x7f8731d4c7c0}\r\n        sigs = {__val = {32, 0 <repeats 15 times>}}\r\n#2  0x00007f8730363535 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6\r\nNo symbol table info available.\r\n#3  0x00007f87303616d6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6\r\nNo symbol table info available.\r\n#4  0x00007f8730360799 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6\r\nNo symbol table info available.\r\n#5  0x00007f873036134a in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6\r\nNo symbol table info available.\r\n#6  0x00007f87300fcfd3 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1\r\nNo symbol table info available.\r\n#7  0x00007f87300fd4f7 in _Unwind_Resume () from /lib/x86_64-linux-gnu/libgcc_s.so.1\r\nNo symbol table info available.\r\n#8  0x00007f8731338b29 in ros::Timer::Impl::~Impl() () from /opt/ros/indigo/lib/libroscpp.so\r\nNo symbol table info available.\r\n#9  0x00007f873133a452 in boost::detail::sp_counted_impl_p<ros::Timer::Impl>::dispose() () from /opt/ros/indigo/lib/libroscpp.so\r\nNo symbol table info available.\r\n#10 0x00007f8731338859 in ros::Timer::~Timer() () from /opt/ros/indigo/lib/libroscpp.so\r\nNo symbol table info available.\r\n#11 0x00007f873191878c in actionlib::ActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > >::~ActionServer (this=0x1ed8320, __in_chrg=<optimized out>) at /opt/ros/indigo/include/actionlib/server/action_server_imp.h:116\r\nNo locals.\r\n#12 0x00007f8731918834 in actionlib::ActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > >::~ActionServer (this=0x1ed8320, __in_chrg=<optimized out>) at /opt/ros/indigo/include/actionlib/server/action_server_imp.h:116\r\nNo locals.\r\n#13 0x00007f873191501c in boost::checked_delete<actionlib::ActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > > > (x=0x1ed8320) at /usr/include/boost/checked_delete.hpp:34\r\nNo locals.\r\n#14 0x00007f87319236b8 in boost::detail::sp_counted_impl_p<actionlib::ActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > > >::dispose (this=0x1ed7920) at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78\r\nNo locals.\r\n#15 0x000000000047e19c in boost::detail::sp_counted_base::release (this=0x1ed7920) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146\r\nNo locals.\r\n#16 0x000000000047e25f in boost::detail::shared_count::~shared_count (this=0x1ed8170, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:371\r\nNo locals.\r\n#17 0x00007f87318f150a in boost::shared_ptr<actionlib::ActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > > >::~shared_ptr (this=0x1ed8168, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:328\r\nNo locals.\r\n#18 0x00007f8731918a32 in actionlib::SimpleActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > >::~SimpleActionServer (this=0x1ed80e0, __in_chrg=<optimized out>) at /opt/ros/indigo/include/actionlib/server/simple_action_server_imp.h:143\r\nNo locals.\r\n#19 0x00007f873191526a in boost::checked_delete<actionlib::SimpleActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > > > (x=0x1ed80e0) at /usr/include/boost/checked_delete.hpp:34\r\nNo locals.\r\n#20 0x00007f8731923656 in boost::detail::sp_counted_impl_p<actionlib::SimpleActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > > >::dispose (this=0x1ed79f0) at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78\r\nNo locals.\r\n#21 0x000000000047e19c in boost::detail::sp_counted_base::release (this=0x1ed79f0) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146\r\nNo locals.\r\n#22 0x000000000047e25f in boost::detail::shared_count::~shared_count (this=0x1ed44b8, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:371\r\nNo locals.\r\n#23 0x00007f87318ee09c in boost::shared_ptr<actionlib::SimpleActionServer<vigir_pluginlib_msgs::GetPluginDescriptionsAction_<std::allocator<void> > > >::~shared_ptr (this=0x1ed44b0, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:328\r\nNo locals.\r\n#24 0x00007f87318e49fb in vigir_pluginlib::PluginManager::~PluginManager (this=0x1ed4430, __in_chrg=<optimized out>) at /home/alex/thor/src/vigir/vigir_pluginlib/vigir_pluginlib/src/plugin_manager.cpp:14\r\nNo locals.\r\n#25 0x00007f8731911818 in boost::checked_delete<vigir_pluginlib::PluginManager> (x=0x1ed4430) at /usr/include/boost/checked_delete.hpp:34\r\nNo locals.\r\n#26 0x00007f87319236fa in boost::detail::sp_counted_impl_p<vigir_pluginlib::PluginManager>::dispose (this=0x1ed2de0) at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78\r\nNo locals.\r\n#27 0x000000000047e19c in boost::detail::sp_counted_base::release (this=0x1ed2de0) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146\r\nNo locals.\r\n#28 0x000000000047e25f in boost::detail::shared_count::~shared_count (this=0x7f8731b6d918 <vigir_pluginlib::PluginManager::singelton+8>, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:371\r\nNo locals.\r\n#29 0x00007f87318ee074 in boost::shared_ptr<vigir_pluginlib::PluginManager>::~shared_ptr (this=0x7f8731b6d910 <vigir_pluginlib::PluginManager::singelton>, __in_chrg=<optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:328\r\nNo locals.\r\n#30 0x00007f872fd645ea in __cxa_finalize (d=0x7f8731b6cf90) at cxa_finalize.c:56\r\n        check = 289\r\n        cxafn = <optimized out>\r\n        cxaarg = <optimized out>\r\n        f = 0x1ec83c0\r\n        funcs = 0x1ec80b0\r\n#31 0x00007f87318e2173 in __do_global_dtors_aux () from /home/alex/thor/devel/lib/libvigir_pluginlib.so\r\nNo symbol table info available.\r\n#32 0x00007ffd2e4cb300 in ?? ()\r\nNo symbol table info available.\r\n#33 0x00007f8731b7e73a in _dl_fini () at dl-fini.c:252\r\n        array = 0x7f8731b63740\r\n        i = 0\r\n        nmaps = 32647\r\n        nloaded = <optimized out>\r\n        i = 2\r\n        l = 0x7f8731d8f790\r\n        ns = 140218599884266\r\n        maps = 0x7ffd2e4cb160\r\n        maps_size = 140218631376784\r\n        do_audit = 836302736\r\n        __PRETTY_FUNCTION__ = \"_dl_fini\"\r\nBacktrace stopped: frame did not save the PC\r\n```\r\n\r\nThis will not happen, when I initialize the ActionServer, but **not** start it.\r\n\r\nThe entire code can be found here: https://github.com/team-vigir/vigir_pluginlib/blob/master/vigir_pluginlib/src/plugin_manager.cpp\r\n\r\nI'm using Ubuntu 14.04 with Indigo."}}