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

[ROS2/foxy]Segmentation Fault when trying to topic Re-Publisher #477

Open
galAcarteav opened this issue Jul 5, 2021 · 6 comments
Open
Assignees
Labels

Comments

@galAcarteav
Copy link

Hey,
First of all, thank you for a great repo.
I build from source, everything looks fine except the ROS2 Topic Re-Publisher feature, when Im clicking on the check box the app is crash:
Stack trace (most recent call last):
#31 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f2e607a7564, in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag)
#30 Object "/lib/x86_64-linux-gnu/libglib-2.0.so.0", at 0x7f2e5f6fc4a2, in g_main_context_iteration
#29 Object "/lib/x86_64-linux-gnu/libglib-2.0.so.0", at 0x7f2e5f6fc3ff, in
#28 Object "/lib/x86_64-linux-gnu/libglib-2.0.so.0", at 0x7f2e5f6fc17c, in g_main_context_dispatch
#27 Object "/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5", at 0x7f2e5c0ee32d, in
#26 Object "/lib/x86_64-linux-gnu/libQt5Gui.so.5", at 0x7f2e60b1435a, in QWindowSystemInterface::sendWindowSystemEvents(QFlagsQEventLoop::ProcessEventsFlag)
#25 Object "/lib/x86_64-linux-gnu/libQt5Gui.so.5", at 0x7f2e60b3a10a, in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*)
#24 Object "/lib/x86_64-linux-gnu/libQt5Gui.so.5", at 0x7f2e60b387d2, in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
#23 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f2e6074f939, in QCoreApplication::notifyInternal2(QObject*, QEvent*)
#22 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e6117a0ef, in QApplication::notify(QObject*, QEvent*)
#21 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61170a65, in QApplicationPrivate::notify_helper(QObject*, QEvent*)
#20 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e611d21eb, in
#19 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e611cf35c, in
#18 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61179456, in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer&, bool, bool)
#17 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f2e6074f939, in QCoreApplication::notifyInternal2(QObject*, QEvent*)
#16 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e6117a342, in QApplication::notify(QObject*, QEvent*)
#15 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61170a65, in QApplicationPrivate::notify_helper(QObject*, QEvent*)
#14 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e611b32b5, in QWidget::event(QEvent*)
#13 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61267034, in QAbstractButton::mouseReleaseEvent(QMouseEvent*)
#12 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61266e0f, in
#11 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61276914, in QCheckBox::nextCheckState()
#10 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e612672fc, in QAbstractButton::setChecked(bool)
#9 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61265ca5, in
#8 Object "/lib/x86_64-linux-gnu/libQt5Widgets.so.5", at 0x7f2e61265865, in QAbstractButton::toggled(bool)
#7 Object "/lib/x86_64-linux-gnu/libQt5Core.so.5", at 0x7f2e6077b457, in QMetaObject::activate(QObject*, int, int, void**)
#6 Object "/home/gal/libs/ws_plotjuggler/install/plotjuggler_ros/lib/plotjuggler_ros/libTopicPublisherROS2.so", at 0x7f2e3e975640, in TopicPublisherROS2::setEnabled(bool)
#5 Object "/home/gal/libs/ws_plotjuggler/install/plotjuggler_ros/lib/plotjuggler_ros/libTopicPublisherROS2.so", at 0x7f2e3e974854, in TopicPublisherROS2::updatePublishers()
#4 Object "/opt/ros/foxy/lib/librclcpp.so", at 0x7f2e3f54970b, in rclcpp::PublisherBase::PublisherBase(rclcpp::node_interfaces::NodeBaseInterface*, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, rosidl_message_type_support_t const&, rcl_publisher_options_t const&)
#3 Object "/opt/ros/foxy/lib/librcl.so", at 0x7f2e3f742fff, in rcl_publisher_init
#2 Object "/opt/ros/foxy/lib/librmw_fastrtps_cpp.so", at 0x7f2e3f34cd71, in rmw_create_publisher
#1 Object "/opt/ros/foxy/lib/librmw_fastrtps_cpp.so", at 0x7f2e3f342869, in
#0 Object "/opt/ros/foxy/lib/librosidl_runtime_c.so", at 0x7f2e3f3964ed, in get_message_typesupport_handle
Segmentation fault (Address not mapped to object [0x7f2e3e1a9220])

@facontidavide
Copy link
Owner

Please check that both plotjuggler and plotjuggler-ros are up to date and confirm to be the respective versions.

I suggest doing apt update / apt upgrade first

@TanatosSpirit
Copy link

TanatosSpirit commented Jul 13, 2021

@facontidavide @galAcarteav

I got the same problem.

My system: Ubuntu 20.04, ROS2 Foxy,
Repos: PlotJuggler = 3.2.1, plotjuggler-ros-plugins = 1.5.0, plotjuggler_msgs = ros2.

I don't know why, but if in the file /plotjuggler-ros-plugins/plugins/TopicPublisherROS2/generic_publisher.h replace

 48    auto type_support = rosbag2_cpp::get_typesupport_handle(topic_type, "rosidl_typesupport_cpp",
                             rosbag2_cpp::get_typesupport_library(topic_type, "rosidl_typesupport_cpp"));

by

48     auto library = std::move(rosbag2_cpp::get_typesupport_library(topic_type, "rosidl_typesupport_cpp"));
49     auto type_support = rosbag2_cpp::get_typesupport_handle(topic_type, "rosidl_typesupport_cpp", library);

then it works.

I also noticed that the original version works with /tf, /tf_static, but does not work with visualization_msgs/msg/MarkerArray.

@facontidavide
Copy link
Owner

Something that I find out recently is that republishing must be stopped if a new rosbag is loaded. If you keep it running, it will crash.

Is this maybe the bug you are observing?

@TanatosSpirit
Copy link

@facontidavide @galAcarteav
I'm observing the following bug:

output_compress.mp4

@facontidavide
Copy link
Owner

Ok. I am spending my vacations away from a computer. Once I am back, I will address this

@facontidavide facontidavide self-assigned this Jul 31, 2021
@autumn-eel
Copy link

I encountered a similar bug with ROS2 Iron. Have you fixed this problem?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants