-
Notifications
You must be signed in to change notification settings - Fork 267
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Generated by Generative AI
No response
Operating System:
Ubuntu 24.04
ROS version or commit hash:
Kilted 78b3772
RMW implementation (if applicable):
Zenoh 9e9236f4de10079e2076fe7066b327a6e582c5df
RMW Configuration (if applicable):
No response
Client library (if applicable):
No response
'ros2 doctor --report' output
No response
Steps to reproduce issue
To reproduce:
no_crash.rviz.txt
crash.rviz.txt
- export RMW_IMPLEMENTATION=rmw_zenoh_cpp
- rviz2 -d crash.rviz
A weird bug that appears on the latest version of Rviz, kilted branch, with Zenoh, but not with Cyclone. And nothing else started, not even the router. This Rviz preset crashes at startup (but not when open after rviz started), attached no_crash.rviz :
This one doesn't (only diff is the Depth of 5), attached no_crash.rviz:
Trace:
[bash-1] [INFO] [rviz2]: Stereo is NOT SUPPORTED
[bash-1] [INFO] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[bash-1] [INFO] [rviz2]: Stereo is NOT SUPPORTED
[bash-1] terminate called after throwing an instance of 'std::system_error'
[bash-1] what(): Invalid argument
[bash-1] Stack trace (most recent call last):
[bash-1] #31 Source "../csu/libc-start.c", line 360, in __libc_start_main_impl [0x75646e62a28a]
[bash-1] #30 Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in __libc_start_call_main [0x75646e62a1c9]
[bash-1] #29 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz2/src/main.cpp", line 95, in main [0x5d218ddc9d40]
[bash-1] 92: )
[bash-1] 93: );
[bash-1] 94: vapp.setApp(&qapp);
[bash-1] > 95: if (vapp.init(argc, argv)) {
[bash-1] 96: return qapp.exec();
[bash-1] 97: } else {
[bash-1] 98: return 1;
[bash-1] #28 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/visualizer_app.cpp", line 170, in init [0x7564701b2a41]
[bash-1] 167: if (!splash_path.isEmpty()) {
[bash-1] 168: frame_->setSplashPath(splash_path);
[bash-1] 169: }
[bash-1] > 170: frame_->initialize(node_, display_config);
[bash-1] 171:
[bash-1] 172: if (!fixed_frame.isEmpty()) {
[bash-1] 173: frame_->getManager()->setFixedFrame(fixed_frame);
[bash-1] #27 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/visualization_frame.cpp", line 348, in initialize [0x7564701aa92c]
[bash-1] 345: QCoreApplication::processEvents();
[bash-1] 346:
[bash-1] 347: if (display_config_file != "") {
[bash-1] > 348: loadDisplayConfig(display_config_file);
[bash-1] 349: } else {
[bash-1] 350: loadDisplayConfig(QString::fromStdString(default_display_config_file_));
[bash-1] 351: }
[bash-1] #26 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/visualization_frame.cpp", line 710, in loadDisplayConfig [0x7564701a9ddb]
[bash-1] 707: reader.readFile(config, QString::fromStdString(actual_load_path));
[bash-1] 708: if (!reader.error()) {
[bash-1] 709: try {
[bash-1] > 710: load(config);
[bash-1] 711: } catch (const std::exception & e) {
[bash-1] 712: RVIZ_COMMON_LOG_ERROR_STREAM("Could not load display config: " << e.what());
[bash-1] 713: }
[bash-1] #25 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/visualization_frame.cpp", line 817, in load [0x7564701a6a05]
[bash-1] 815: void VisualizationFrame::load(const Config & config)
[bash-1] 816: {
[bash-1] > 817: manager_->load(config.mapGetChild("Visualization Manager"));
[bash-1] 818: loadPanels(config.mapGetChild("Panels"));
[bash-1] 819: loadWindowGeometry(config.mapGetChild("Window Geometry"));
[bash-1] 820: }
[bash-1] #24 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/visualization_manager.cpp", line 526, in load [0x7564701ad903]
[bash-1] 523: stopUpdate();
[bash-1] 524:
[bash-1] 525: emitStatusUpdate("Creating displays");
[bash-1] > 526: root_display_group_->load(config);
[bash-1] 527:
[bash-1] 528: emitStatusUpdate("Creating tools");
[bash-1] 529: tool_manager_->load(config.mapGetChild("Tools"));
[bash-1] #23 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/display_group.cpp", line 117, in load [0x75647011af23]
[bash-1] 114: Config display_config = it->second;
[bash-1] 115: Display * disp = it->first;
[bash-1] 116: disp->initialize(context_);
[bash-1] > 117: disp->load(display_config);
[bash-1] 118: }
[bash-1] 119:
[bash-1] 120: if (model_) {
[bash-1] #22 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/display.cpp", line 282, in load [0x75647011e34f]
[bash-1] 279: void Display::load(const Config & config)
[bash-1] 280: {
[bash-1] 281: // Base class loads sub-properties.
[bash-1] > 282: BoolProperty::load(config);
[bash-1] 283:
[bash-1] 284: QString name;
[bash-1] 285: if (config.mapGetString("Name", &name)) {
[bash-1] #21 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/properties/property.cpp", line 452, in load [0x756470147e7a]
[bash-1] 449: for (int i = 0; i < num_property_children; i++) {
[bash-1] 450: Property * child = children_.at(i);
[bash-1] 451: // Load the child Property with the config under the child property's name.
[bash-1] > 452: child->load(config.mapGetChild(child->getName() ));
[bash-1] 453: }
[bash-1] 454: }
[bash-1] 455: }
[bash-1] #20 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/properties/property.cpp", line 452, in load [0x756470147e7a]
[bash-1] 449: for (int i = 0; i < num_property_children; i++) {
[bash-1] 450: Property * child = children_.at(i);
[bash-1] 451: // Load the child Property with the config under the child property's name.
[bash-1] > 452: child->load(config.mapGetChild(child->getName() ));
[bash-1] 453: }
[bash-1] 454: }
[bash-1] 455: }
[bash-1] #19 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/properties/property.cpp", line 461, in loadValue [0x7564701477ae]
[bash-1] 458: {
[bash-1] 459: if (config.getType() == Config::Value) {
[bash-1] 460: switch (static_cast<int>(value_.type() )) {
[bash-1] > 461: case QVariant::Int: setValue(config.getValue().toInt() ); break;
[bash-1] 462: case QMetaType::Float:
[bash-1] 463: case QVariant::Double: setValue(config.getValue().toDouble() ); break;
[bash-1] 464: case QVariant::String: setValue(config.getValue().toString() ); break;
[bash-1] #18 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/properties/int_property.cpp", line 61, in setValue [0x75647014146e]
[bash-1] 59: bool IntProperty::setValue(const QVariant & new_value)
[bash-1] 60: {
[bash-1] > 61: return Property::setValue(qBound(min_, new_value.toInt(), max_));
[bash-1] 62: }
[bash-1] 63:
[bash-1] 64: int IntProperty::getInt() const
[bash-1] #17 Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/properties/property.cpp", line 142, in setValue [0x756470145a7a]
[bash-1] 139: if (new_value != value_) {
[bash-1] 140: Q_EMIT aboutToChange();
[bash-1] 141: value_ = new_value;
[bash-1] > 142: Q_EMIT changed();
[bash-1] 143: if (model_) {
[bash-1] 144: model_->emitDataChanged(this);
[bash-1] 145: }
[bash-1] #16 Object "/usr/lib/x86_64-linux-gnu/libQt5Core.so.5.15.13", at 0x75646f512dbe, in
[bash-1] #15 | Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_common/src/rviz_common/properties/qos_profile_property.cpp", line 137, in operator()
[bash-1] | 135: profile.durability = get_profile(
[bash-1] | 136: durability_policies, durability_policy_property_, profile.durability);
[bash-1] | > 137: qos_changed_callback_(rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(profile), profile));
[bash-1] | 138: }
[bash-1] Source "/usr/include/c++/13/bits/std_function.h", line 591, in updateQosProfile [0x75647014b466]
[bash-1] 588: {
[bash-1] 589: if (_M_empty())
[bash-1] 590: __throw_bad_function_call();
[bash-1] > 591: return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
[bash-1] 592: }
[bash-1] 593:
[bash-1] 594: #if __cpp_rtti
[bash-1] #14 | Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_default_plugins/include/rviz_default_plugins/displays/image/image_transport_display.hpp", line 98, in resetSubscription
[bash-1] | 96: void updateTopic() override
[bash-1] | 97: {
[bash-1] | > 98: resetSubscription();
[bash-1] | 99: }
[bash-1] Source "/home/gd/dexory/g_bis_ws/src/auto-sandbox/src/vendor/rviz/rviz_default_plugins/include/rviz_default_plugins/displays/image/image_transport_display.hpp", line 145, in updateTopic [0x7563edd96420]
[bash-1] 143: void resetSubscription()
[bash-1] 144: {
[bash-1] > 145: unsubscribe();
[bash-1] 146: reset();
[bash-1] 147: subscribe();
[bash-1] 148: context_->queueRender();
[bash-1] #13 | Source "/usr/include/c++/13/bits/shared_ptr_base.h", line 317, in _M_release
[bash-1] | 315: template<>
[bash-1] | 316: inline void
[bash-1] | > 317: _Sp_counted_base<_S_atomic>::_M_release() noexcept
[bash-1] | 318: {
[bash-1] | 319: _GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(&_M_use_count);
[bash-1] Source "/usr/include/c++/13/bits/shared_ptr_base.h", line 346, in _M_release [0x7564700c8656]
[bash-1] 343: _M_weak_count = _M_use_count = 0;
[bash-1] 344: _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_use_count);
[bash-1] 345: _GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(&_M_weak_count);
[bash-1] > 346: _M_dispose();
[bash-1] 347: _M_destroy();
[bash-1] 348: return;
[bash-1] 349: }
[bash-1] #12 Source "/opt/ros/kilted/include/tf2_ros/tf2_ros/message_filter.hpp", line 275, in ~MessageFilter [0x7563edfa2ea5]
[bash-1] 272: */
[bash-1] 273: ~MessageFilter()
[bash-1] 274: {
[bash-1] > 275: message_connection_.disconnect();
[bash-1] 276: clear();
[bash-1] 277:
[bash-1] 278: TF2_ROS_MESSAGEFILTER_DEBUG(
[bash-1] #11 | Source "/opt/ros/kilted/include/message_filters/message_filters/signal1.hpp", line 96, in lock_guard
[bash-1] | 94: void removeCallback(const CallbackHelper1Ptr & helper)
[bash-1] | 95: {
[bash-1] | > 96: std::lock_guard<std::mutex> lock(mutex_);
[bash-1] | 97: typename V_CallbackHelper1::iterator it =
[bash-1] | 98: std::find(callbacks_.begin(), callbacks_.end(), helper);
[bash-1] | Source "/usr/include/c++/13/bits/std_mutex.h", line 249, in lock
[bash-1] | 248: explicit lock_guard(mutex_type& __m) : _M_device(__m)
[bash-1] | > 249: { _M_device.lock(); }
[bash-1] | 250:
[bash-1] | 251: lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
[bash-1] Source "/usr/include/c++/13/bits/std_mutex.h", line 117, in removeCallback [0x7563ede01d3c]
[bash-1] 115: // EINVAL, EAGAIN, EBUSY, EINVAL, EDEADLK(may)
[bash-1] 116: if (__e)
[bash-1] > 117: __throw_system_error(__e);
[bash-1] 118: }
[bash-1] 119:
[bash-1] 120: _GLIBCXX_NODISCARD
[bash-1] #10 Source "../../../../../src/libstdc++-v3/src/c++11/system_error.cc", line 595, in __throw_system_error [0x75646eaaa2a4]
[bash-1] #9 Source "../../../../src/libstdc++-v3/libsupc++/eh_throw.cc", line 93, in __cxa_throw [0x75646eabb383]
[bash-1] #8 Source "../../../src/libgcc/unwind.inc", line 136, in _Unwind_RaiseException [0x7564703941f0]
[bash-1] #7 Source "../../../src/libgcc/unwind.inc", line 64, in _Unwind_RaiseException_Phase2 [0x756470393b05]
[bash-1] #6 Source "../../../../src/libstdc++-v3/libsupc++/eh_personality.cc", line 692, in __gxx_personality_v0 [0x75646eaba8b9]
[bash-1] #5 Source "../../../../src/libstdc++-v3/libsupc++/eh_call.cc", line 56, in __cxa_call_terminate [0x75646eaa58e5]
[bash-1] #4 Source "../../../../src/libstdc++-v3/libsupc++/eh_terminate.cc", line 48, in __terminate [0x75646eabb0d9]
[bash-1] #3 Source "../../../../src/libstdc++-v3/libsupc++/vterminate.cc", line 95, in __verbose_terminate_handler [0x75646eaa5ff4]
[bash-1] #2 Source "./stdlib/abort.c", line 79, in abort [0x75646e6288fe]
[bash-1] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x75646e64527d]
[bash-1] #0 | Source "./nptl/pthread_kill.c", line 89, in __pthread_kill_internal
[bash-1] | Source "./nptl/pthread_kill.c", line 78, in __pthread_kill_implementation
[bash-1] Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x75646e69eb2c]
Expected behavior
No crash
Actual behavior
Crash
Additional information
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working