Skip to content
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

Missing -v for roscore makes debugging more difficult #12

Merged
merged 1 commit into from
Oct 24, 2012
Merged

Missing -v for roscore makes debugging more difficult #12

merged 1 commit into from
Oct 24, 2012

Conversation

tkruse
Copy link
Member

@tkruse tkruse commented Oct 11, 2012

No description provided.

dirk-thomas added a commit that referenced this pull request Oct 24, 2012
Missing -v for roscore makes debugging more difficult
@dirk-thomas dirk-thomas merged commit 8734562 into ros:fuerte-devel Oct 24, 2012
mikepurvis pushed a commit that referenced this pull request Aug 17, 2017
Switching to using epoll system calls to improve performance of the topic polling code by a factor of 2.
mikepurvis pushed a commit that referenced this pull request Nov 3, 2017
Switching to using epoll system calls to improve performance of the topic polling code by a factor of 2.
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 ()
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 added a commit to johnsonshih/ros_comm that referenced this pull request Sep 20, 2018
Query resolved_ips according to ipv6()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants