-
Notifications
You must be signed in to change notification settings - Fork 168
Open
Description
Issue template
When I try to subscribe Plot Juggler to the /ap/rc topic of my custom branch, PlotJuggler always crashes reporting the following error:
terminate called after throwing an instance of 'eprosima::fastcdr::exception::NotEnoughMemoryException'
[plotjuggler-1] what(): Not enough memory in the buffer stream
- Hardware description: SITL
- Installation type: Micro-ROS on ROS2 Humble
Steps to reproduce the issue
- Clone the Ardupilot repo
git clone https://github.com/tizianofiorenzani/ardupilot.git - CD to the ardupilot folder and checkout my branch
git checkout wips/dds-rc-out - Install Plotjuggler
apt install ros-humble-plotjuggler-ros - Build the ardupilot branch
colcon build --packages-up-to ardupilot_sitl - Launch ardupilot SITL
ros2 launch ardupilot_sitl sitl_dds_udp.launch.py - On a new terminal, verify that the topic
/ap/rcis been published withros2 topic echo /ap/rc - Start Plot Juggler with
ros2 run plotjuggler plotjuggler - On the screen, select the topic
/ap/rc
Expected behavior
QStandardPaths: error creating runtime directory '/run/user/1000' (Permission denied)
Loading compatible plugins from directory: "/opt/ros/humble/lib/plotjuggler_ros"
"libDataLoadROS2.so is a DataLoader plugin"
"libDataStreamROS2.so is a DataStreamer plugin"
[WARN] [1740678396.752654369] [rclcpp]: logging was initialized more than once
"libTopicPublisherROS2.so is a StatePublisher plugin"
Number of plugins loaded: 3
Loading compatible plugins from directory: "/opt/ros/humble/lib/plotjuggler"
"libDataLoadCSV.so is a DataLoader plugin"
"libDataLoadMCAP.so is a DataLoader plugin"
"libDataLoadULog.so is a DataLoader plugin"
"libDataStreamSample.so is a DataStreamer plugin" ...disabled, unless option -t is used
"libDataStreamUDP.so is a DataStreamer plugin"
"libDataStreamWebSocket.so is a DataStreamer plugin"
"libDataStreamZMQ.so is a DataStreamer plugin"
"libParserDataTamer.so is a MessageParser plugin"
"libParserROS1.so is a MessageParser plugin"
"libParserROS2.so is a MessageParser plugin"
"libProtobufParser.so is a MessageParser plugin"
"libPublisherCSV.so is a StatePublisher plugin"
Type conversion already registered from type QString to type QwtText
"libToolboxFFT.so is a Toolbox plugin"
"libToolboxLuaEditor.so is a Toolbox plugin"
Type conversion already registered from type QString to type QwtText
"libToolboxQuaternion.so is a Toolbox plugin"
Number of plugins loaded: 14
Loading compatible plugins from directory: "/home/avas/.local/share/PlotJuggler"
Number of plugins loaded: 0
terminate called after throwing an instance of 'eprosima::fastcdr::exception::NotEnoughMemoryException'
what(): Not enough memory in the buffer stream
Stack trace (most recent call last) in thread 1111430:
#25 Object "", at 0xffffffffffffffff, in
#24 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x74da6ae8d84f, in __xmknodat
#23 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x74da6adfbac2, in pthread_condattr_setpshared
#22 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x74da6b175252, in std::error_code::default_error_condition() const
#21 Object "/opt/ros/humble/lib/plotjuggler_ros/libDataStreamROS2.so", at 0x74da5ff35e2a, in DataStreamROS2::start(QStringList*)
#20 Object "/opt/ros/humble/lib/librclcpp.so", at 0x74da6c8edc53, in rclcpp::Executor::spin_once(std::chrono::duration<long, std::ratio<1l, 1000000000l> >)
#19 Object "/opt/ros/humble/lib/librclcpp.so", at 0x74da6c8f79a0, in rclcpp::Executor::spin_once_impl(std::chrono::duration<long, std::ratio<1l, 1000000000l> >)
#18 Object "/opt/ros/humble/lib/librclcpp.so", at 0x74da6c8f602e, in rclcpp::Executor::execute_any_executable(rclcpp::AnyExecutable&)
#17 Object "/opt/ros/humble/lib/librclcpp.so", at 0x74da6c8f5689, in rclcpp::Executor::execute_subscription(std::shared_ptr<rclcpp::SubscriptionBase>)
#16 Object "/opt/ros/humble/lib/librclcpp.so", at 0x74da6c901198, in rclcpp::GenericSubscription::handle_serialized_message(std::shared_ptr<rclcpp::SerializedMessage> const&, rclcpp::MessageInfo const&)
#15 Object "/opt/ros/humble/lib/plotjuggler_ros/libDataStreamROS2.so", at 0x74da5ff347ab, in DataStreamROS2::messageCallback(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<rclcpp::SerializedMessage>)
#14 Object "/opt/ros/humble/lib/plotjuggler_ros/libDataStreamROS2.so", at 0x74da5ff346c1, in DataStreamROS2::messageCallback(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<rclcpp::SerializedMessage>)
#13 Object "/opt/ros/humble/lib/plotjuggler_ros/libDataStreamROS2.so", at 0x74da5ff40240, in PJ::CompositeParser::parseMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, PJ::MessageRef, double&)
#12 Object "/opt/ros/humble/lib/plotjuggler/libParserROS2.so", at 0x74da53e837cf, in ParserROS::parseMessage(PJ::MessageRef, double&)
#11 Object "/opt/ros/humble/lib/plotjuggler/libParserROS2.so", at 0x74da53e9fa7c, in RosMsgParser::Parser::deserialize(nonstd::span_lite::span<unsigned char const, 18446744073709551615ul>, RosMsgParser::FlatMessage*, RosMsgParser::Deserializer*) const
#10 Object "/opt/ros/humble/lib/plotjuggler/libParserROS2.so", at 0x74da53e9f7c0, in RosMsgParser::ROSField::getMessagePtr(std::unordered_map<RosMsgParser::ROSType, std::shared_ptr<RosMsgParser::ROSMessage>, std::hash<RosMsgParser::ROSType>, std::equal_to<RosMsgParser::ROSType>, std::allocator<std::pair<RosMsgParser::ROSType const, std::shared_ptr<RosMsgParser::ROSMessage> > > > const&) const
#9 Object "/opt/ros/humble/lib/plotjuggler/libParserROS2.so", at 0x74da53e9efcb, in RosMsgParser::ROSField::getMessagePtr(std::unordered_map<RosMsgParser::ROSType, std::shared_ptr<RosMsgParser::ROSMessage>, std::hash<RosMsgParser::ROSType>, std::equal_to<RosMsgParser::ROSType>, std::allocator<std::pair<RosMsgParser::ROSType const, std::shared_ptr<RosMsgParser::ROSMessage> > > > const&) const
#8 Object "/opt/ros/humble/lib/plotjuggler/libParserROS2.so", at 0x74da53e9988c, in RosMsgParser::FastCDR_Deserializer::deserialize(RosMsgParser::BuiltinType)
#7 Object "/opt/ros/humble/lib/libfastcdr.so.1", at 0x74da677ae1d2, in
#6 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x74da6b1474d7, in __cxa_throw
#5 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x74da6b147276, in std::terminate()
#4 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x74da6b14720b, in std::rethrow_exception(std::__exception_ptr::exception_ptr)
#3 Object "/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x74da6b13bb9d, in __cxa_throw_bad_array_new_length
#2 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x74da6ad8f7f2, in abort
#1 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x74da6ada9475, in raise
#0 Object "/lib/x86_64-linux-gnu/libc.so.6", at 0x74da6adfd9fc, in pthread_kill
Aborted (Signal sent by tkill() 1111283 1000)
[ros2run]: Aborted
Metadata
Metadata
Assignees
Labels
No labels