-
Notifications
You must be signed in to change notification settings - Fork 910
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implemented Publisher::isLatched, which until now was dangling. #1
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Commit has been updated. Still need to run and verify the tests. |
ghost
assigned wjwwood
Aug 29, 2012
Please update the patch to latest master. |
Reopened as #27. Could not rebase because I deleted my original fork of it. |
tfoote
pushed a commit
that referenced
this pull request
Jun 17, 2016
contradict
pushed a commit
to contradict/ros_comm
that referenced
this pull request
Aug 12, 2016
rqt_robot_dashboard: initial import from external
contradict
pushed a commit
to contradict/ros_comm
that referenced
this pull request
Aug 12, 2016
Removed unneeded lines to enable merge
lsolanka
added a commit
to ros-hunter/ros_comm
that referenced
this pull request
Dec 10, 2017
…ilures) Issues: - some roswtf tests fail - not sure what the problem is - Due to use of global variables there are issues with destruction of global objects in various translation units, during the process shutdown. This is related to Subscriber and Publisher and happens only in executables where they are defined as global variables outside of main. Example: some topic_tools components such as throttle This is most likely related to the fact that now various components are statically linked instead of dynamically. And for instance if an executable depends on rosconsole, and we define a publisher as a global object, when the program exits, the publisher is getting destroyed, but other global variables get destroyed before that: > Core was generated by `devel/lib/topic_tools/throttle messages /input 5'. > Program terminated with signal SIGABRT, Aborted. > #0 0x00007f277238c428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 > 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. > [Current thread is 1 (Thread 0x7f2773b90780 (LWP 24620))] > (gdb) bt > #0 0x00007f277238c428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 > ros#1 0x00007f277238e02a in __GI_abort () at abort.c:89 > ros#2 0x00007f2772ccf7dd in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#3 0x00007f2772ccd6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#4 0x00007f2772ccd701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#5 0x00007f2772cce23f in __cxa_pure_virtual () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#6 0x0000000000719a64 in boost::system::error_code::message[abi:cxx11]() const (this=0x1fb5f00) > at .../include/boost/system/error_code.hpp:477 > ros#7 0x000000000071a0ed in boost::system::system_error::what (this=0x1fb5ef0) at .../include/boost/system/system_error.hpp:70 > ros#8 0x00007f2772ccf805 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#9 0x00007f2772ccd6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#10 0x00007f2772ccc6a9 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#11 0x00007f2772ccd005 in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#12 0x00007f2772730f83 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1 > ros#13 0x00007f2772731487 in _Unwind_Resume () from /lib/x86_64-linux-gnu/libgcc_s.so.1 > ros#14 0x000000000071a557 in boost::mutex::lock (this=0xbb7fa0 <ros::console::g_locations_mutex>) > at .../include/boost/thread/pthread/mutex.hpp:119 > ros#15 0x000000000071c723 in boost::unique_lock<boost::mutex>::lock (this=0x7fff031f4950) > at .../include/boost/thread/lock_types.hpp:346 > ros#16 0x000000000071bdeb in boost::unique_lock<boost::mutex>::unique_lock (this=0x7fff031f4950, m_=...) > at .../include/boost/thread/lock_types.hpp:124 > ros#17 0x0000000000718dae in ros::console::initializeLogLocation (loc=0xbb5c70 <ros::Publisher::Impl::~Impl()::__rosconsole_define_location__loc>, name="ros.roscpp", > level=ros::console::levels::Debug) at .../ros_comm/tools/rosconsole/src/rosconsole/rosconsole.cpp:632 > ros#18 0x00000000007278b6 in ros::Publisher::Impl::~Impl (this=0x1fb6730, __in_chrg=<optimised out>) at .../ros_comm/clients/roscpp/src/libros/publisher.cpp:40 > ros#19 0x00000000007299a9 in boost::detail::sp_ms_deleter<ros::Publisher::Impl>::destroy (this=0x1fb6728) > at .../include/boost/smart_ptr/make_shared_object.hpp:59 > ros#20 0x0000000000729b14 in boost::detail::sp_ms_deleter<ros::Publisher::Impl>::operator() (this=0x1fb6728) > at .../include/boost/smart_ptr/make_shared_object.hpp:93 > ros#21 0x0000000000729a53 in boost::detail::sp_counted_impl_pd<ros::Publisher::Impl*, boost::detail::sp_ms_deleter<ros::Publisher::Impl> >::dispose (this=0x1fb6710) > at .../include/boost/smart_ptr/detail/sp_counted_impl.hpp:172 > ros#22 0x0000000000707ab5 in boost::detail::sp_counted_base::release (this=0x1fb6710) > at .../include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110 > ros#23 0x0000000000707b41 in boost::detail::shared_count::~shared_count (this=0xbb7d28 <g_pub+8>, __in_chrg=<optimised out>) > at .../include/boost/smart_ptr/detail/shared_count.hpp:426 > ros#24 0x0000000000707ef4 in boost::shared_ptr<ros::Publisher::Impl>::~shared_ptr (this=0xbb7d20 <g_pub>, __in_chrg=<optimised out>) > at .../include/boost/smart_ptr/shared_ptr.hpp:341 > ros#25 0x0000000000727bce in ros::Publisher::~Publisher (this=0xbb7d20 <g_pub>, __in_chrg=<optimised out>) > at .../ros_comm/clients/roscpp/src/libros/publisher.cpp:74 > ros#26 0x00007f2772390ff8 in __run_exit_handlers (status=0, listp=0x7f277271b5f8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82 > ros#27 0x00007f2772391045 in __GI_exit (status=<optimised out>) at exit.c:104 > ros#28 0x00007f2772377837 in __libc_start_main (main=0x706886 <main(int, char**)>, argc=4, argv=0x7fff031f4bf8, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, > stack_end=0x7fff031f4be8) at ../csu/libc-start.c:325 > ros#29 0x0000000000705bc9 in _start ()
Nickolaim
added a commit
to Nickolaim/ros_comm
that referenced
this pull request
Mar 2, 2018
dirk-thomas
pushed a commit
that referenced
this pull request
May 18, 2018
XmlRpcServer: use unsigned int for rlimit
lsolanka
added a commit
to ros-hunter/ros_comm
that referenced
this pull request
Jun 3, 2018
…ilures) Issues: - some roswtf tests fail - not sure what the problem is - Due to use of global variables there are issues with destruction of global objects in various translation units, during the process shutdown. This is related to Subscriber and Publisher and happens only in executables where they are defined as global variables outside of main. Example: some topic_tools components such as throttle This is most likely related to the fact that now various components are statically linked instead of dynamically. And for instance if an executable depends on rosconsole, and we define a publisher as a global object, when the program exits, the publisher is getting destroyed, but other global variables get destroyed before that: > Core was generated by `devel/lib/topic_tools/throttle messages /input 5'. > Program terminated with signal SIGABRT, Aborted. > #0 0x00007f277238c428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 > 54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. > [Current thread is 1 (Thread 0x7f2773b90780 (LWP 24620))] > (gdb) bt > #0 0x00007f277238c428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 > ros#1 0x00007f277238e02a in __GI_abort () at abort.c:89 > ros#2 0x00007f2772ccf7dd in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#3 0x00007f2772ccd6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#4 0x00007f2772ccd701 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#5 0x00007f2772cce23f in __cxa_pure_virtual () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#6 0x0000000000719a64 in boost::system::error_code::message[abi:cxx11]() const (this=0x1fb5f00) > at .../include/boost/system/error_code.hpp:477 > ros#7 0x000000000071a0ed in boost::system::system_error::what (this=0x1fb5ef0) at .../include/boost/system/system_error.hpp:70 > ros#8 0x00007f2772ccf805 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#9 0x00007f2772ccd6b6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#10 0x00007f2772ccc6a9 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#11 0x00007f2772ccd005 in __gxx_personality_v0 () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 > ros#12 0x00007f2772730f83 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1 > ros#13 0x00007f2772731487 in _Unwind_Resume () from /lib/x86_64-linux-gnu/libgcc_s.so.1 > ros#14 0x000000000071a557 in boost::mutex::lock (this=0xbb7fa0 <ros::console::g_locations_mutex>) > at .../include/boost/thread/pthread/mutex.hpp:119 > ros#15 0x000000000071c723 in boost::unique_lock<boost::mutex>::lock (this=0x7fff031f4950) > at .../include/boost/thread/lock_types.hpp:346 > ros#16 0x000000000071bdeb in boost::unique_lock<boost::mutex>::unique_lock (this=0x7fff031f4950, m_=...) > at .../include/boost/thread/lock_types.hpp:124 > ros#17 0x0000000000718dae in ros::console::initializeLogLocation (loc=0xbb5c70 <ros::Publisher::Impl::~Impl()::__rosconsole_define_location__loc>, name="ros.roscpp", > level=ros::console::levels::Debug) at .../ros_comm/tools/rosconsole/src/rosconsole/rosconsole.cpp:632 > ros#18 0x00000000007278b6 in ros::Publisher::Impl::~Impl (this=0x1fb6730, __in_chrg=<optimised out>) at .../ros_comm/clients/roscpp/src/libros/publisher.cpp:40 > ros#19 0x00000000007299a9 in boost::detail::sp_ms_deleter<ros::Publisher::Impl>::destroy (this=0x1fb6728) > at .../include/boost/smart_ptr/make_shared_object.hpp:59 > ros#20 0x0000000000729b14 in boost::detail::sp_ms_deleter<ros::Publisher::Impl>::operator() (this=0x1fb6728) > at .../include/boost/smart_ptr/make_shared_object.hpp:93 > ros#21 0x0000000000729a53 in boost::detail::sp_counted_impl_pd<ros::Publisher::Impl*, boost::detail::sp_ms_deleter<ros::Publisher::Impl> >::dispose (this=0x1fb6710) > at .../include/boost/smart_ptr/detail/sp_counted_impl.hpp:172 > ros#22 0x0000000000707ab5 in boost::detail::sp_counted_base::release (this=0x1fb6710) > at .../include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110 > ros#23 0x0000000000707b41 in boost::detail::shared_count::~shared_count (this=0xbb7d28 <g_pub+8>, __in_chrg=<optimised out>) > at .../include/boost/smart_ptr/detail/shared_count.hpp:426 > ros#24 0x0000000000707ef4 in boost::shared_ptr<ros::Publisher::Impl>::~shared_ptr (this=0xbb7d20 <g_pub>, __in_chrg=<optimised out>) > at .../include/boost/smart_ptr/shared_ptr.hpp:341 > ros#25 0x0000000000727bce in ros::Publisher::~Publisher (this=0xbb7d20 <g_pub>, __in_chrg=<optimised out>) > at .../ros_comm/clients/roscpp/src/libros/publisher.cpp:74 > ros#26 0x00007f2772390ff8 in __run_exit_handlers (status=0, listp=0x7f277271b5f8 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true) at exit.c:82 > ros#27 0x00007f2772391045 in __GI_exit (status=<optimised out>) at exit.c:104 > ros#28 0x00007f2772377837 in __libc_start_main (main=0x706886 <main(int, char**)>, argc=4, argv=0x7fff031f4bf8, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, > stack_end=0x7fff031f4be8) at ../csu/libc-start.c:325 > ros#29 0x0000000000705bc9 in _start ()
johnsonshih
referenced
this pull request
in johnsonshih/ros_comm
Sep 18, 2018
* Fix roslz4 build issue on Windows * Fix xmlrpcpp build issue on Windows, fix polling fails when run on Windows * Fix roscpp build issue on Windows * Fix rosbag_storage build issue on Windows * fix issues in python scripts to run roscore on Windows * Fix build issue when build with CATKIN_ENABLE_TESTING on but without googletest * Fix build issue on Windows * correct typo * refine changes * refine changes * Adjust what to expose from XmlRpcClientForTest * Add back const * Proper indent * Create helper function for socketpair on Windows * fine tune change * revert unrelated whitespace changes * export _logHandler from XmlRpcLogHandler * Fix message_filters test code build break * refine change * refine change * Add missing header file back * Add storage-class attribute for various classes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implemented Publisher::isLatched, which until now was dangling.
See: https://code.ros.org/trac/ros/ticket/4038
This is the example which exposes the bug:
https://github.com/wjwwood/ros_comm/zipball/is_latched_bug
The pull request fixes the problem, but I have not added tests, nor have I run the ros_comm tests, yet.
Thanks to Michael Carroll for reporting this.