eProsima / Fast-DDS

The most complete DDS - Proven: Plenty of success cases. Looking for commercial support? Contact info@eprosima.com
https://eprosima.com
Apache License 2.0
2.14k stars 762 forks source link

Segfault in MessageReceiver::proc_Submsg_Acknack() when ROS_DOMAIN_ID=1 #4769

Closed yashi closed 4 months ago

yashi commented 4 months ago

Is there an already existing issue for this?

Expected behavior

No segfault.

Current behavior

It segfaults.

Steps to reproduce

I don't have public code nor minimal reproducible example yet. but running ros2_control_node with attached configuration seems trigger it.

❯ gdb /home/yashi/work/yoshida/avatar-ws/install/lib/controller_manager/ros2_control_node
GNU gdb (Debian 13.2-1+b1) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/yashi/work/yoshida/avatar-ws/install/lib/controller_manager/ros2_control_node...
(gdb) r --ros-args --params-file /tmp/launch_params_8kaqmcao --params-file /home/yashi/work/yoshida/avatar-ws/install/share/avatar_bringup/config/servo-controllers.yaml
Starting program: /home/yashi/work/yoshida/avatar-ws/install/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_8kaqmcao --params-file /home/yashi/work/yoshida/avatar-ws/install/share/avatar_bringup/config/servo-controllers.yaml
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff60006c0 (LWP 133649)]
[New Thread 0x7ffff56006c0 (LWP 133650)]
[New Thread 0x7ffff28006c0 (LWP 133651)]
[New Thread 0x7ffff1e006c0 (LWP 133652)]
[New Thread 0x7ffff14006c0 (LWP 133653)]
[New Thread 0x7ffff0a006c0 (LWP 133654)]
[New Thread 0x7ffff00006c0 (LWP 133655)]
[New Thread 0x7fffef6006c0 (LWP 133656)]
[New Thread 0x7fffeec006c0 (LWP 133657)]
[New Thread 0x7fffee2006c0 (LWP 133658)]
[New Thread 0x7fffed8006c0 (LWP 133659)]
[WARN] [1715463176.783965678] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[INFO] [1715463176.784275492] [resource_manager]: Loading hardware 'MyBot' 
[INFO] [1715463176.805493466] [resource_manager]: Initialize hardware 'MyBot' 
[INFO] [1715463176.805524125] [MyHardware]: Initializing
[INFO] [1715463176.820482062] [MyHardware]: Successfully initialized!
[INFO] [1715463176.820537721] [resource_manager]: Successful initialization of hardware 'MyBot'
[INFO] [1715463176.820552631] [MyHardware]: !! right_scapula_joint
[INFO] [1715463176.820877554] [resource_manager]: 'configure' hardware 'MyBot' 
[INFO] [1715463176.820895534] [MyHardware]: Configuring ...please wait...
[INFO] [1715463176.820920723] [MyHardware]: ROS_DOMAIN_ID is 1
[INFO] [1715463177.255974891] [MyHardware]: Successfully configured!
[INFO] [1715463177.256075388] [resource_manager]: Successful 'configure' of hardware 'MyBot'
[INFO] [1715463177.256120997] [resource_manager]: 'activate' hardware 'MyBot' 
[INFO] [1715463177.256135287] [MyHardware]: Activating ...please wait...
[INFO] [1715463177.256161387] [MyHardware]: Successfully activated!
[INFO] [1715463177.256195606] [resource_manager]: Successful 'activate' of hardware 'MyBot'
[INFO] [1715463177.283657406] [controller_manager]: update rate is 100 Hz
[New Thread 0x7fffece006c0 (LWP 133661)]
[INFO] [1715463177.283906311] [controller_manager]: RT kernel is recommended for better performance
[New Thread 0x7fffe7e006c0 (LWP 133662)]
[New Thread 0x7fffe74006c0 (LWP 133663)]
[New Thread 0x7fffe6a006c0 (LWP 133664)]
[New Thread 0x7fffe60006c0 (LWP 133665)]
[New Thread 0x7fffe56006c0 (LWP 133666)]
[New Thread 0x7fffe4c006c0 (LWP 133667)]
[New Thread 0x7fffdbe006c0 (LWP 133668)]
[New Thread 0x7fffdb4006c0 (LWP 133669)]
[New Thread 0x7fffdaa006c0 (LWP 133670)]
[New Thread 0x7fffda0006c0 (LWP 133671)]
[New Thread 0x7fffd96006c0 (LWP 133672)]
[New Thread 0x7fffd8c006c0 (LWP 133673)]
[New Thread 0x7fffcfe006c0 (LWP 133674)]
[New Thread 0x7fffcf4006c0 (LWP 133675)]
[New Thread 0x7fffcea006c0 (LWP 133676)]
[New Thread 0x7fffce0006c0 (LWP 133677)]
[New Thread 0x7fffcd6006c0 (LWP 133678)]
[New Thread 0x7fffccc006c0 (LWP 133679)]
[New Thread 0x7fffc3e006c0 (LWP 133680)]
[New Thread 0x7fffc34006c0 (LWP 133681)]
[New Thread 0x7fffc2a006c0 (LWP 133682)]
[New Thread 0x7fffc20006c0 (LWP 133683)]
[New Thread 0x7fffc16006c0 (LWP 133684)]
[WARN] [1715463177.286323608] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.294543973] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.304547328] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.314768698] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.324697364] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.334777408] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.344734233] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.354762078] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
[WARN] [1715463177.364778193] [MyHardware]: No position has been received.  Is micro-ROS Agent running?

Thread 9 "ros2_control_no" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffef6006c0 (LWP 133656)]
0x00007ffff3a4243c in eprosima::fastrtps::rtps::MessageReceiver::proc_Submsg_Acknack (this=0x55555561c370, msg=0x7fffef5fe960, smh=0x7fffef5fe858, was_decoded=false) at /home/yashi/work/yoshida/humble/src/eProsima/Fast-DDS/src/cpp/rtps/messages/MessageReceiver.cpp:1181
1181                if (it->process_acknack(writerGUID, readerGUID, Ackcount, SNSet, finalFlag, result))
(gdb) p it
$1 = (eprosima::fastrtps::rtps::RTPSWriter *) 0x55555598c5a0
(gdb) info reg
rax            0x60                96
rbx            0x1                 1
rcx            0x28                40
rdx            0x7fffef5fe598      140737209427352
rsi            0x7fffef5fe598      140737209427352
rdi            0x7fffef5fe5a0      140737209427360
rbp            0x7fffef5fe690      0x7fffef5fe690
rsp            0x7fffef5fe3e0      0x7fffef5fe3e0
r8             0x7fffef5fe5b0      140737209427376
r9             0x0                 0
r10            0x7ffff397375e      140737280161630
r11            0x2                 2
r12            0x7ffff3a54a56      140737281083990
r13            0x40                64
r14            0x7fffffff1190      140737488294288
r15            0x7fffeee00000      140737201045504
rip            0x7ffff3a4243c      0x7ffff3a4243c <eprosima::fastrtps::rtps::MessageReceiver::proc_Submsg_Acknack(eprosima::fastrtps::rtps::CDRMessage_t*, eprosima::fastrtps::rtps::SubmessageHeader_t*, bool) const+704>
eflags         0x10206             [ PF IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0

Fast DDS version/commit

❯ git describe v2.3.0-api-478-gcf40a06eb

Platform/Architecture

Other. Please specify in Additional context section.

Transport layer

Default configuration, UDPv4 & SHM

Additional context

Working with micro-ROS and Moveit Servo on Humble. My code works when ROS_DOMAIN_ID is not set or set to 0. But as soon as I set ROS_DOMAIN_ID with non zero, I see the segfault.

XML configuration file

`/tmp/launch_params_8kaqmcao`

/**:
  ros__parameters:
    robot_description: "<?xml version=\"1.0\" ?><!-- ===================================================================================\
      \ --><!-- |    This document was autogenerated by xacro from /home/yashi/work/yoshida/avatar-ws/install/share/avatar_moveit_config/config/avatar-servo-right.urdf.xacro\
      \ | --><!-- |    EDITING THIS FILE BY HAND IS NOT RECOMMENDED              \
      \                   | --><!-- ===================================================================================\
      \ --><robot name=\"avatar\"><joint name=\"neck_joint\" type=\"fixed\"><parent\
      \ link=\"hfsb6\"/><child link=\"neck\"/><origin xyz=\"0 0 1.14\"/></joint><!--\
      \ links --><link name=\"hfsb6\"><visual><geometry><mesh filename=\"package://avatar_bringup/stl/hfsb6.stl\"\
      /></geometry></visual></link><link name=\"neck\"/><!-- right joints --><joint\
      \ name=\"right_scapula_joint\" type=\"revolute\"><origin xyz=\"0 -0.03 0\"/><parent\
      \ link=\"neck\"/><child link=\"right_clavicle\"/><axis xyz=\"0 1 0\"/><limit\
      \ effort=\"0\" lower=\"-2.0943951023931953\" upper=\"1.0471975511965976\" velocity=\"\
      0\"/></joint><joint name=\"right_shoulder_joint\" type=\"revolute\"><origin\
      \ xyz=\"0 -0.260 0\"/><parent link=\"right_clavicle\"/><child link=\"right_shoulder\"\
      /><limit effort=\"0\" lower=\"-0.29670597283903605\" upper=\"0.3490658503988659\"\
      \ velocity=\"0\"/></joint><joint name=\"right_upperarm_joint\" type=\"revolute\"\
      ><origin xyz=\"0 0 0\"/><parent link=\"right_shoulder\"/><child link=\"right_arm\"\
      /><axis xyz=\"0 0 1\"/><limit effort=\"0\" lower=\"-1.5707963267948966\" upper=\"\
      1.5707963267948966\" velocity=\"0\"/></joint><joint name=\"right_elbow_joint\"\
      \ type=\"revolute\"><origin xyz=\"0 0 -0.305\"/><parent link=\"right_arm\"/><child\
      \ link=\"right_elbow\"/><axis xyz=\"0 1 0\"/><limit effort=\"0\" lower=\"-2.0943951023931953\"\
      \ upper=\"0.0\" velocity=\"0\"/></joint><joint name=\"right_forearm_joint\"\
      \ type=\"revolute\"><origin xyz=\"0 0 0\"/><parent link=\"right_elbow\"/><child\
      \ link=\"right_forearm\"/><axis xyz=\"0 0 1\"/><limit effort=\"0\" lower=\"\
      -1.5707963267948966\" upper=\"3.141592653589793\" velocity=\"0\"/></joint><joint\
      \ name=\"right_wrist1_joint\" type=\"revolute\"><origin xyz=\"0 0 -0.314\"/><parent\
      \ link=\"right_forearm\"/><child link=\"right_wrist_fake\"/><axis xyz=\"0 1\
      \ 0\"/><limit effort=\"12\" lower=\"-0.5235987755982988\" upper=\"0.5235987755982988\"\
      \ velocity=\"2.8710\"/><safety_controller k_position=\"100.0\" k_velocity=\"\
      40.0\" soft_lower_limit=\"-2.8973\" soft_upper_limit=\"2.8973\"/></joint><joint\
      \ name=\"right_wrist2_joint\" type=\"revolute\"><origin xyz=\"0 0 0\"/><parent\
      \ link=\"right_wrist_fake\"/><child link=\"right_wrist\"/><axis xyz=\"1 0 0\"\
      /><limit effort=\"12\" lower=\"-0.5235987755982988\" upper=\"0.5235987755982988\"\
      \ velocity=\"2.8710\"/><safety_controller k_position=\"100.0\" k_velocity=\"\
      40.0\" soft_lower_limit=\"-2.8973\" soft_upper_limit=\"2.8973\"/></joint><!--\
      \ right links --><link name=\"right_clavicle\"><visual><geometry><mesh filename=\"\
      package://avatar_bringup/stl/right-shoulder.stl\"/></geometry></visual></link><link\
      \ name=\"right_shoulder\">\n  </link><link name=\"right_arm\"><visual><geometry><mesh\
      \ filename=\"package://avatar_bringup/stl/arm.stl\"/></geometry></visual></link><link\
      \ name=\"right_elbow\"><visual><geometry><mesh filename=\"package://avatar_bringup/stl/elbow.stl\"\
      /></geometry></visual></link><link name=\"right_forearm\"><visual><geometry><mesh\
      \ filename=\"package://avatar_bringup/stl/forearm.stl\"/></geometry></visual></link><link\
      \ name=\"right_wrist_fake\"/><link name=\"right_wrist\"><visual><geometry><mesh\
      \ filename=\"package://avatar_bringup/stl/wrist.stl\"/></geometry></visual></link><!--\
      \ ROS2 Control --><ros2_control name=\"MyBot\" type=\"system\"><hardware><plugin>asdf/MyHardware</plugin></hardware><joint\
      \ name=\"right_scapula_joint\"><command_interface name=\"position\"/><state_interface\
      \ name=\"position\"/></joint><joint name=\"right_shoulder_joint\"><command_interface\
      \ name=\"position\"/><state_interface name=\"position\"/></joint><joint name=\"\
      right_upperarm_joint\"><command_interface name=\"position\"/><state_interface\
      \ name=\"position\"/></joint><joint name=\"right_elbow_joint\"><command_interface\
      \ name=\"position\"/><state_interface name=\"position\"/></joint><joint name=\"\
      right_forearm_joint\"><command_interface name=\"position\"/><state_interface\
      \ name=\"position\"/></joint><joint name=\"right_wrist1_joint\"><command_interface\
      \ name=\"position\"/><state_interface name=\"position\"/></joint><joint name=\"\
      right_wrist2_joint\"><command_interface name=\"position\"/><state_interface\
      \ name=\"position\"/></joint></ros2_control></robot>"

### Relevant log output

```shell
disassemble 

(gdb) disassemble
Dump of assembler code for function _ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb:
   0x00007ffff3a4217c <+0>: push   %rbp
   0x00007ffff3a4217d <+1>: mov    %rsp,%rbp
   0x00007ffff3a42180 <+4>: push   %rbx
   0x00007ffff3a42181 <+5>: sub    $0x2a8,%rsp
   0x00007ffff3a42188 <+12>:    mov    %rdi,-0x298(%rbp)
   0x00007ffff3a4218f <+19>:    mov    %rsi,-0x2a0(%rbp)
   0x00007ffff3a42196 <+26>:    mov    %rdx,-0x2a8(%rbp)
   0x00007ffff3a4219d <+33>:    mov    %ecx,%eax
   0x00007ffff3a4219f <+35>:    mov    %al,-0x2ac(%rbp)
   0x00007ffff3a421a5 <+41>:    mov    -0x298(%rbp),%rax
   0x00007ffff3a421ac <+48>:    lea    0x8(%rax),%rdx
   0x00007ffff3a421b0 <+52>:    lea    -0x80(%rbp),%rax
   0x00007ffff3a421b4 <+56>:    mov    %rdx,%rsi
   0x00007ffff3a421b7 <+59>:    mov    %rax,%rdi
   0x00007ffff3a421ba <+62>:    call   0x7ffff383d1c0 <_ZN8eprosima11shared_lockINS_6detail13debug_wrapperINS1_12shared_mutexILNS1_17shared_mutex_typeE0EEEEEEC1ERS6_@plt>
   0x00007ffff3a421bf <+67>:    mov    -0x2a8(%rbp),%rax
   0x00007ffff3a421c6 <+74>:    movzbl 0x8(%rax),%eax
   0x00007ffff3a421ca <+78>:    movzbl %al,%eax
   0x00007ffff3a421cd <+81>:    and    $0x1,%eax
   0x00007ffff3a421d0 <+84>:    test   %eax,%eax
   0x00007ffff3a421d2 <+86>:    setne  %al
   0x00007ffff3a421d5 <+89>:    mov    %al,-0x11(%rbp)
   0x00007ffff3a421d8 <+92>:    mov    -0x2a8(%rbp),%rax
   0x00007ffff3a421df <+99>:    movzbl 0x8(%rax),%eax
   0x00007ffff3a421e3 <+103>:   movzbl %al,%eax
   0x00007ffff3a421e6 <+106>:   and    $0x2,%eax
   0x00007ffff3a421e9 <+109>:   test   %eax,%eax
   0x00007ffff3a421eb <+111>:   setne  %al
   0x00007ffff3a421ee <+114>:   mov    %al,-0x12(%rbp)
   0x00007ffff3a421f1 <+117>:   cmpb   $0x0,-0x11(%rbp)
   0x00007ffff3a421f5 <+121>:   je     0x7ffff3a42207 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+139>
   0x00007ffff3a421f7 <+123>:   mov    -0x2a0(%rbp),%rax
   0x00007ffff3a421fe <+130>:   movl   $0x0,0x18(%rax)
   0x00007ffff3a42205 <+137>:   jmp    0x7ffff3a42215 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+153>
   0x00007ffff3a42207 <+139>:   mov    -0x2a0(%rbp),%rax
   0x00007ffff3a4220e <+146>:   movl   $0x1,0x18(%rax)
   0x00007ffff3a42215 <+153>:   lea    -0x90(%rbp),%rax
   0x00007ffff3a4221c <+160>:   mov    %rax,%rdi
   0x00007ffff3a4221f <+163>:   call   0x7ffff387dc40 <_ZN8eprosima8fastrtps4rtps6GUID_tC1Ev@plt>
   0x00007ffff3a42224 <+168>:   lea    -0xa0(%rbp),%rax
   0x00007ffff3a4222b <+175>:   mov    %rax,%rdi
   0x00007ffff3a4222e <+178>:   call   0x7ffff387dc40 <_ZN8eprosima8fastrtps4rtps6GUID_tC1Ev@plt>
   0x00007ffff3a42233 <+183>:   mov    -0x298(%rbp),%rax
   0x00007ffff3a4223a <+190>:   mov    0x124(%rax),%rdx
   0x00007ffff3a42241 <+197>:   mov    %rdx,-0x90(%rbp)
   0x00007ffff3a42248 <+204>:   mov    0x12c(%rax),%eax
   0x00007ffff3a4224e <+210>:   mov    %eax,-0x88(%rbp)
   0x00007ffff3a42254 <+216>:   lea    -0x90(%rbp),%rax
   0x00007ffff3a4225b <+223>:   lea    0xc(%rax),%rdx
   0x00007ffff3a4225f <+227>:   mov    -0x2a0(%rbp),%rax
   0x00007ffff3a42266 <+234>:   mov    %rdx,%rsi
   0x00007ffff3a42269 <+237>:   mov    %rax,%rdi
   0x00007ffff3a4226c <+240>:   call   0x7ffff3868570 <_ZN8eprosima8fastrtps4rtps10CDRMessage12readEntityIdEPNS1_12CDRMessage_tEPNS1_10EntityId_tE@plt>
   0x00007ffff3a42271 <+245>:   mov    -0x298(%rbp),%rax
   0x00007ffff3a42278 <+252>:   mov    0x130(%rax),%rdx
   0x00007ffff3a4227f <+259>:   mov    %rdx,-0xa0(%rbp)
   0x00007ffff3a42286 <+266>:   mov    0x138(%rax),%eax
   0x00007ffff3a4228c <+272>:   mov    %eax,-0x98(%rbp)
   0x00007ffff3a42292 <+278>:   lea    -0xa0(%rbp),%rax
   0x00007ffff3a42299 <+285>:   lea    0xc(%rax),%rdx
   0x00007ffff3a4229d <+289>:   mov    -0x2a0(%rbp),%rax
   0x00007ffff3a422a4 <+296>:   mov    %rdx,%rsi
   0x00007ffff3a422a7 <+299>:   mov    %rax,%rdi
   0x00007ffff3a422aa <+302>:   call   0x7ffff3868570 <_ZN8eprosima8fastrtps4rtps10CDRMessage12readEntityIdEPNS1_12CDRMessage_tEPNS1_10EntityId_tE@plt>
   0x00007ffff3a422af <+307>:   lea    -0xe0(%rbp),%rax
   0x00007ffff3a422b6 <+314>:   mov    -0x2a0(%rbp),%rdx
   0x00007ffff3a422bd <+321>:   mov    %rdx,%rsi
   0x00007ffff3a422c0 <+324>:   mov    %rax,%rdi
   0x00007ffff3a422c3 <+327>:   call   0x7ffff3866390 <_ZN8eprosima8fastrtps4rtps10CDRMessage21readSequenceNumberSetEPNS1_12CDRMessage_tE@plt>
   0x00007ffff3a422c8 <+332>:   lea    -0xe4(%rbp),%rdx
   0x00007ffff3a422cf <+339>:   mov    -0x2a0(%rbp),%rax
   0x00007ffff3a422d6 <+346>:   mov    %rdx,%rsi
   0x00007ffff3a422d9 <+349>:   mov    %rax,%rdi
   0x00007ffff3a422dc <+352>:   call   0x7ffff3865a50 <_ZN8eprosima8fastrtps4rtps10CDRMessage10readUInt32EPNS1_12CDRMessage_tEPj@plt>
   0x00007ffff3a422e1 <+357>:   xor    $0x1,%eax
   0x00007ffff3a422e4 <+360>:   test   %al,%al
   0x00007ffff3a422e6 <+362>:   je     0x7ffff3a423e2 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+614>
   0x00007ffff3a422ec <+368>:   call   0x7ffff385b7d0 <_ZN8eprosima7fastdds3dds3Log12GetVerbosityEv@plt>
   0x00007ffff3a422f1 <+373>:   test   %eax,%eax
   0x00007ffff3a422f3 <+375>:   setg   %al
   0x00007ffff3a422f6 <+378>:   test   %al,%al
   0x00007ffff3a422f8 <+380>:   je     0x7ffff3a423d8 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+604>
   0x00007ffff3a422fe <+386>:   lea    -0x290(%rbp),%rax
   0x00007ffff3a42305 <+393>:   mov    %rax,%rdi
   0x00007ffff3a42308 <+396>:   call   0x7ffff3851450 <_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1Ev@plt>
   0x00007ffff3a4230d <+401>:   lea    -0x290(%rbp),%rax
   0x00007ffff3a42314 <+408>:   add    $0x10,%rax
   0x00007ffff3a42318 <+412>:   lea    0x5a1759(%rip),%rdx        # 0x7ffff3fe3a78
   0x00007ffff3a4231f <+419>:   mov    %rdx,%rsi
   0x00007ffff3a42322 <+422>:   mov    %rax,%rdi
   0x00007ffff3a42325 <+425>:   call   0x7ffff38999b0 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
   0x00007ffff3a4232a <+430>:   mov    %rax,%rbx
   0x00007ffff3a4232d <+433>:   call   0x7ffff394a107 <_ZNSt11this_thread6get_idEv>
   0x00007ffff3a42332 <+438>:   mov    %rax,%rsi
   0x00007ffff3a42335 <+441>:   mov    %rbx,%rdi
   0x00007ffff3a42338 <+444>:   call   0x7ffff3a1ed0b <_ZStlsIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_NSt6thread2idE>
   0x00007ffff3a4233d <+449>:   mov    %rax,%rdx
   0x00007ffff3a42340 <+452>:   lea    0x5a1736(%rip),%rax        # 0x7ffff3fe3a7d
   0x00007ffff3a42347 <+459>:   mov    %rax,%rsi
   0x00007ffff3a4234a <+462>:   mov    %rdx,%rdi
   0x00007ffff3a4234d <+465>:   call   0x7ffff38999b0 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
   0x00007ffff3a42352 <+470>:   mov    %rax,%rdx
   0x00007ffff3a42355 <+473>:   lea    0x5a1b8c(%rip),%rax        # 0x7ffff3fe3ee8
   0x00007ffff3a4235c <+480>:   mov    %rax,%rsi
   0x00007ffff3a4235f <+483>:   mov    %rdx,%rdi
   0x00007ffff3a42362 <+486>:   call   0x7ffff38999b0 <_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@plt>
   0x00007ffff3a42367 <+491>:   lea    0x5a1672(%rip),%rax        # 0x7ffff3fe39e0
   0x00007ffff3a4236e <+498>:   mov    %rax,-0x70(%rbp)
   0x00007ffff3a42372 <+502>:   movl   $0x491,-0x68(%rbp)
   0x00007ffff3a42379 <+509>:   lea    0x5a1b8d(%rip),%rax        # 0x7ffff3fe3f0d
   0x00007ffff3a42380 <+516>:   mov    %rax,-0x60(%rbp)
   0x00007ffff3a42384 <+520>:   lea    0x5a1728(%rip),%rax        # 0x7ffff3fe3ab3
   0x00007ffff3a4238b <+527>:   mov    %rax,-0x58(%rbp)
   0x00007ffff3a4238f <+531>:   lea    -0x50(%rbp),%rax
   0x00007ffff3a42393 <+535>:   lea    -0x290(%rbp),%rdx
   0x00007ffff3a4239a <+542>:   mov    %rdx,%rsi
   0x00007ffff3a4239d <+545>:   mov    %rax,%rdi
   0x00007ffff3a423a0 <+548>:   call   0x7ffff38a28c0 <_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@plt>
   0x00007ffff3a423a5 <+553>:   lea    -0x70(%rbp),%rcx
   0x00007ffff3a423a9 <+557>:   lea    -0x50(%rbp),%rax
   0x00007ffff3a423ad <+561>:   mov    $0x1,%edx
   0x00007ffff3a423b2 <+566>:   mov    %rcx,%rsi
   0x00007ffff3a423b5 <+569>:   mov    %rax,%rdi
   0x00007ffff3a423b8 <+572>:   call   0x7ffff38430a0 <_ZN8eprosima7fastdds3dds3Log8QueueLogERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS2_7ContextENS2_4KindE@plt>
   0x00007ffff3a423bd <+577>:   lea    -0x50(%rbp),%rax
   0x00007ffff3a423c1 <+581>:   mov    %rax,%rdi
   0x00007ffff3a423c4 <+584>:   call   0x7ffff38bdcb8 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@plt>
   0x00007ffff3a423c9 <+589>:   lea    -0x290(%rbp),%rax
   0x00007ffff3a423d0 <+596>:   mov    %rax,%rdi
   0x00007ffff3a423d3 <+599>:   call   0x7ffff3896510 <_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@plt>
   0x00007ffff3a423d8 <+604>:   mov    $0x0,%ebx
   0x00007ffff3a423dd <+609>:   jmp    0x7ffff3a424bb <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+831>
   0x00007ffff3a423e2 <+614>:   mov    -0x298(%rbp),%rax
   0x00007ffff3a423e9 <+621>:   add    $0xc8,%rax
   0x00007ffff3a423ef <+627>:   mov    %rax,-0x20(%rbp)
   0x00007ffff3a423f3 <+631>:   mov    -0x20(%rbp),%rax
   0x00007ffff3a423f7 <+635>:   mov    %rax,%rdi
   0x00007ffff3a423fa <+638>:   call   0x7ffff38b67b0 <_ZNKSt6vectorIPN8eprosima8fastrtps4rtps10RTPSWriterESaIS4_EE5beginEv@plt>
   0x00007ffff3a423ff <+643>:   mov    %rax,-0xf0(%rbp)
   0x00007ffff3a42406 <+650>:   mov    -0x20(%rbp),%rax
   0x00007ffff3a4240a <+654>:   mov    %rax,%rdi
   0x00007ffff3a4240d <+657>:   call   0x7ffff3871ba0 <_ZNKSt6vectorIPN8eprosima8fastrtps4rtps10RTPSWriterESaIS4_EE3endEv@plt>
   0x00007ffff3a42412 <+662>:   mov    %rax,-0xf8(%rbp)
   0x00007ffff3a42419 <+669>:   jmp    0x7ffff3a42495 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+793>
   0x00007ffff3a4241b <+671>:   lea    -0xf0(%rbp),%rax
   0x00007ffff3a42422 <+678>:   mov    %rax,%rdi
   0x00007ffff3a42425 <+681>:   call   0x7ffff389e710 <_ZNK9__gnu_cxx17__normal_iteratorIPKPN8eprosima8fastrtps4rtps10RTPSWriterESt6vectorIS5_SaIS5_EEEdeEv@plt>
   0x00007ffff3a4242a <+686>:   mov    (%rax),%rax
   0x00007ffff3a4242d <+689>:   mov    %rax,-0x28(%rbp)
   0x00007ffff3a42431 <+693>:   mov    -0x28(%rbp),%rax
   0x00007ffff3a42435 <+697>:   mov    (%rax),%rax
   0x00007ffff3a42438 <+700>:   add    $0x60,%rax
=> 0x00007ffff3a4243c <+704>:   mov    (%rax),%r10
   0x00007ffff3a4243f <+707>:   movzbl -0x12(%rbp),%r9d
   0x00007ffff3a42444 <+712>:   mov    -0xe4(%rbp),%ecx
   0x00007ffff3a4244a <+718>:   lea    -0xe0(%rbp),%r8
   0x00007ffff3a42451 <+725>:   lea    -0x90(%rbp),%rdx
   0x00007ffff3a42458 <+732>:   lea    -0xa0(%rbp),%rsi
   0x00007ffff3a4245f <+739>:   mov    -0x28(%rbp),%rax
   0x00007ffff3a42463 <+743>:   sub    $0x8,%rsp
   0x00007ffff3a42467 <+747>:   lea    -0xf9(%rbp),%rdi
   0x00007ffff3a4246e <+754>:   push   %rdi
   0x00007ffff3a4246f <+755>:   mov    %rax,%rdi
   0x00007ffff3a42472 <+758>:   call   *%r10
   0x00007ffff3a42475 <+761>:   add    $0x10,%rsp
   0x00007ffff3a42479 <+765>:   test   %al,%al
   0x00007ffff3a4247b <+767>:   je     0x7ffff3a42486 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+778>
   0x00007ffff3a4247d <+769>:   movzbl -0xf9(%rbp),%ebx
   0x00007ffff3a42484 <+776>:   jmp    0x7ffff3a424bb <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+831>
   0x00007ffff3a42486 <+778>:   lea    -0xf0(%rbp),%rax
   0x00007ffff3a4248d <+785>:   mov    %rax,%rdi
   0x00007ffff3a42490 <+788>:   call   0x7ffff383b690 <_ZN9__gnu_cxx17__normal_iteratorIPKPN8eprosima8fastrtps4rtps10RTPSWriterESt6vectorIS5_SaIS5_EEEppEv@plt>
   0x00007ffff3a42495 <+793>:   lea    -0xf8(%rbp),%rdx
   0x00007ffff3a4249c <+800>:   lea    -0xf0(%rbp),%rax
   0x00007ffff3a424a3 <+807>:   mov    %rdx,%rsi
   0x00007ffff3a424a6 <+810>:   mov    %rax,%rdi
   0x00007ffff3a424a9 <+813>:   call   0x7ffff3873a70 <_ZN9__gnu_cxxneIPKPN8eprosima8fastrtps4rtps10RTPSWriterESt6vectorIS5_SaIS5_EEEEbRKNS_17__normal_iteratorIT_T0_EESG_@plt>
   0x00007ffff3a424ae <+818>:   test   %al,%al
   0x00007ffff3a424b0 <+820>:   jne    0x7ffff3a4241b <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+671>
   0x00007ffff3a424b6 <+826>:   mov    $0x0,%ebx
   0x00007ffff3a424bb <+831>:   lea    -0x80(%rbp),%rax
   0x00007ffff3a424bf <+835>:   mov    %rax,%rdi
   0x00007ffff3a424c2 <+838>:   call   0x7ffff389aa20 <_ZN8eprosima11shared_lockINS_6detail13debug_wrapperINS1_12shared_mutexILNS1_17shared_mutex_typeE0EEEEEED1Ev@plt>
   0x00007ffff3a424c7 <+843>:   mov    %ebx,%eax
   0x00007ffff3a424c9 <+845>:   jmp    0x7ffff3a4250a <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+910>
   0x00007ffff3a424cb <+847>:   mov    %rax,%rbx
   0x00007ffff3a424ce <+850>:   lea    -0x50(%rbp),%rax
   0x00007ffff3a424d2 <+854>:   mov    %rax,%rdi
   0x00007ffff3a424d5 <+857>:   call   0x7ffff38bdcb8 <_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev@plt>
   0x00007ffff3a424da <+862>:   jmp    0x7ffff3a424df <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+867>
   0x00007ffff3a424dc <+864>:   mov    %rax,%rbx
   0x00007ffff3a424df <+867>:   lea    -0x290(%rbp),%rax
   0x00007ffff3a424e6 <+874>:   mov    %rax,%rdi
   0x00007ffff3a424e9 <+877>:   call   0x7ffff3896510 <_ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev@plt>
   0x00007ffff3a424ee <+882>:   jmp    0x7ffff3a424f3 <_ZNK8eprosima8fastrtps4rtps15MessageReceiver19proc_Submsg_AcknackEPNS1_12CDRMessage_tEPNS1_18SubmessageHeader_tEb+887>
   0x00007ffff3a424f0 <+884>:   mov    %rax,%rbx
   0x00007ffff3a424f3 <+887>:   lea    -0x80(%rbp),%rax
   0x00007ffff3a424f7 <+891>:   mov    %rax,%rdi
   0x00007ffff3a424fa <+894>:   call   0x7ffff389aa20 <_ZN8eprosima11shared_lockINS_6detail13debug_wrapperINS1_12shared_mutexILNS1_17shared_mutex_typeE0EEEEEED1Ev@plt>
   0x00007ffff3a424ff <+899>:   mov    %rbx,%rax
   0x00007ffff3a42502 <+902>:   mov    %rax,%rdi
   0x00007ffff3a42505 <+905>:   call   0x7ffff385d6b0 <_Unwind_Resume@plt>
   0x00007ffff3a4250a <+910>:   mov    -0x8(%rbp),%rbx
   0x00007ffff3a4250e <+914>:   leave
   0x00007ffff3a4250f <+915>:   ret
End of assembler dump.

servo-controllers.yaml

# This config file is used by ros2_control
controller_manager:
  ros__parameters:
    update_rate: 100  # Hz

    left_arm_controller:
      type: joint_trajectory_controller/JointTrajectoryController

    right_arm_controller:
      type: joint_trajectory_controller/JointTrajectoryController

    my_joint_state_broadcaster:
      type: joint_state_broadcaster/JointStateBroadcaster

left_arm_controller:
  ros__parameters:
    command_interfaces:
      - position
    state_interfaces:
      - position
    joints:
      - left_scapula_joint
      - left_shoulder_joint
      - left_upperarm_joint
      - left_elbow_joint
      - left_forearm_joint
      - left_wrist1_joint
      - left_wrist2_joint

right_arm_controller:
  ros__parameters:
    command_interfaces:
      - position
    state_interfaces:
      - position
    joints:
      - right_scapula_joint
      - right_shoulder_joint
      - right_upperarm_joint
      - right_elbow_joint
      - right_forearm_joint
      - right_wrist1_joint
      - right_wrist2_joint

ros2_control: 2a4d81dc1308b5526990fbda4ef02d6c4a0b2b32 with the following diff:

diff --git a/hardware_interface/src/resource_manager.cpp b/hardware_interface/src/resource_manager.cpp
index e585571..2cea182 100644
--- a/hardware_interface/src/resource_manager.cpp
+++ b/hardware_interface/src/resource_manager.cpp
@@ -687,6 +687,7 @@ void ResourceManager::load_urdf(
   const auto hardware_info = hardware_interface::parse_control_resources_from_urdf(urdf);
   if (load_and_initialize_components)
   {
+    std::lock_guard<std::recursive_mutex> resources_guard(resources_lock_);
     for (const auto & individual_hardware_info : hardware_info)
     {
       if (individual_hardware_info.type == actuator_type)
@@ -1209,6 +1210,7 @@ return_type ResourceManager::set_component_state(
     return false;
   };

+  std::lock_guard<std::recursive_mutex> guard(resources_lock_);
   bool found = find_set_component_state(
     std::bind(&ResourceStorage::set_component_state<Actuator>, resource_storage_.get(), _1, _2),
     resource_storage_->actuators_);

With unset ROS_DOMAIN_ID

❯ unset ROS_DOMAIN_ID                                                                                                                                                                                                                                                        ❯ gdb /home/yashi/work/yoshida/avatar-ws/install/lib/controller_manager/ros2_control_node
GNU gdb (Debian 13.2-1+b1) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /home/yashi/work/yoshida/avatar-ws/install/lib/controller_manager/ros2_control_node...
(gdb) r --ros-args --params-file /tmp/launch_params_8kaqmcao --params-file /home/yashi/work/yoshida/avatar-ws/install/share/avatar_bringup/config/servo-controllers.yaml
Starting program: /home/yashi/work/yoshida/avatar-ws/install/lib/controller_manager/ros2_control_node --ros-args --params-file /tmp/launch_params_8kaqmcao --params-file /home/yashi/work/yoshida/avatar-ws/install/share/avatar_bringup/config/servo-controllers.yaml
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff60006c0 (LWP 136159)]
[New Thread 0x7ffff56006c0 (LWP 136160)]
[New Thread 0x7ffff28006c0 (LWP 136161)]
[New Thread 0x7ffff1e006c0 (LWP 136162)]
[New Thread 0x7ffff14006c0 (LWP 136163)]
[New Thread 0x7ffff0a006c0 (LWP 136164)]
[New Thread 0x7ffff00006c0 (LWP 136165)]
[New Thread 0x7fffef6006c0 (LWP 136166)]
[New Thread 0x7fffeec006c0 (LWP 136167)]
[New Thread 0x7fffee2006c0 (LWP 136168)]
[New Thread 0x7fffed8006c0 (LWP 136169)]
[WARN] [1715464780.168051128] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[INFO] [1715464780.168363006] [resource_manager]: Loading hardware 'MyBot' 
[INFO] [1715464780.199209571] [resource_manager]: Initialize hardware 'MyBot' 
[INFO] [1715464780.199236671] [MyHardware]: Initializing
[INFO] [1715464780.207283267] [MyHardware]: Successfully initialized!
[INFO] [1715464780.207333097] [resource_manager]: Successful initialization of hardware 'MyBot'
[INFO] [1715464780.207346177] [MyHardware]: !! right_scapula_joint
[INFO] [1715464780.207656354] [resource_manager]: 'configure' hardware 'MyBot' 
[INFO] [1715464780.207673464] [MyHardware]: Configuring ...please wait...
[INFO] [1715464780.207697834] [MyHardware]: ROS_DOMAIN_ID is not set
[INFO] [1715464780.207708404] [MyHardware]: !!!!! RIGH !!!!
[INFO] [1715464780.251171079] [MyHardware]: Successfully configured!
[INFO] [1715464780.251303288] [resource_manager]: Successful 'configure' of hardware 'MyBot'
[INFO] [1715464780.251354688] [resource_manager]: 'activate' hardware 'MyBot' 
[INFO] [1715464780.251374837] [MyHardware]: Activating ...please wait...
[INFO] [1715464780.251410567] [MyHardware]: Successfully activated!
[INFO] [1715464780.251457277] [resource_manager]: Successful 'activate' of hardware 'MyBot'
[INFO] [1715464780.269695313] [controller_manager]: update rate is 100 Hz
[New Thread 0x7fffece006c0 (LWP 136170)]
[INFO] [1715464780.269960940] [controller_manager]: RT kernel is recommended for better performance
[New Thread 0x7fffe7e006c0 (LWP 136171)]
[New Thread 0x7fffe74006c0 (LWP 136172)]
[New Thread 0x7fffe6a006c0 (LWP 136173)]
[New Thread 0x7fffe60006c0 (LWP 136174)]
[New Thread 0x7fffe56006c0 (LWP 136175)]
[New Thread 0x7fffe4c006c0 (LWP 136176)]
[New Thread 0x7fffdfe006c0 (LWP 136177)]
[New Thread 0x7fffdf4006c0 (LWP 136178)]
[New Thread 0x7fffdea006c0 (LWP 136179)]
[New Thread 0x7fffde0006c0 (LWP 136180)]
[New Thread 0x7fffdd6006c0 (LWP 136181)]
[New Thread 0x7fffdcc006c0 (LWP 136182)]
[New Thread 0x7fffd3e006c0 (LWP 136183)]
[New Thread 0x7fffd34006c0 (LWP 136184)]
[New Thread 0x7fffd2a006c0 (LWP 136185)]
[New Thread 0x7fffd20006c0 (LWP 136186)]
[New Thread 0x7fffd16006c0 (LWP 136187)]
[New Thread 0x7fffd0c006c0 (LWP 136188)]
[New Thread 0x7fffc7e006c0 (LWP 136189)]
[New Thread 0x7fffc74006c0 (LWP 136190)]
[New Thread 0x7fffc6a006c0 (LWP 136191)]
[New Thread 0x7fffc60006c0 (LWP 136192)]
[New Thread 0x7fffc56006c0 (LWP 136193)]
[WARN] [1715464780.272043134] [MyHardware]: No position has been received.  Is micro-ROS Agent running?
   :
   :
and wait for micro-ROS node to send data.
❯ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux trixie/sid
Release:    n/a
Codename:   trixie


### Network traffic capture

_No response_
yashi commented 4 months ago

hmmm vtable is 0x0

(gdb) p *it
$14 = {<eprosima::fastrtps::rtps::Endpoint> = {_vptr.Endpoint = 0x0, mp_RTPSParticipant = 0x0, m_guid = {guidPrefix = {
        static size = 12, value = "\001\017\355\242*\030[\227\000\000\000"}, entityId = {static size = 4, 
        value = "\000\000\037\003"}}, m_att = {
      _vptr.EndpointAttributes = 0x7ffff42dd240 <vtable for eprosima::fastrtps::rtps::EndpointAttributes+16>, 
      endpointKind = eprosima::fastrtps::rtps::WRITER, topicKind = eprosima::fastrtps::rtps::NO_KEY, 
      reliabilityKind = eprosima::fastrtps::rtps::RELIABLE, durabilityKind = eprosima::fastrtps::rtps::VOLATILE, 
      persistence_guid = {guidPrefix = {static size = 12, value = '\000' <repeats 11 times>}, entityId = {static size = 4, 
          value = "\000\000\000"}}, unicastLocatorList = {m_locators = std::vector of length 3, capacity 3 = {{kind = 16, 
            port = 7661, address = "U\355\242", '\000' <repeats 12 times>}, {kind = 1, port = 7661, 
            address = '\000' <repeats 12 times>, "\n\036", <incomplete sequence \310>}, {kind = 1, port = 7661, 
            address = '\000' <repeats 12 times>, "\300\003\006\024"}}}, multicastLocatorList = {
        m_locators = std::vector of length 0, capacity 0}, remoteLocatorList = {
        m_locators = std::vector of length 1, capacity 1 = {{kind = 1, port = 0, 
            address = '\000' <repeats 12 times>, "\357\377\000\001"}}}, properties = {
        properties_ = std::vector of length 1, capacity 1 = {{name_ = "topic_name", 
            value_ = "\000\000\000\000\212i\217\277\000\000\000\000\004gk?\000\000", propagate_ = false}}, 
        binary_properties_ = std::vector of length 0, capacity 0}, m_userDefinedID = -1, m_entityID = -1, 
      datasharing_ = {<eprosima::fastdds::dds::Parameter_t> = {
          _vptr.Parameter_t = 0x7ffff57e7318 <vtable for eprosima::fastdds::dds::DataSharingQosPolicy+16>, 
          Pid = eprosima::fastdds::dds::PID_DATASHARING, length = 0}, <eprosima::fastdds::dds::QosPolicy> = {
          _vptr.QosPolicy = 0x7ffff57e7340 <vtable for eprosima::fastdds::dds::DataSharingQosPolicy+56>, hasChanged = false, 
          send_always_ = true}, kind_ = eprosima::fastdds::dds::OFF, shm_directory_ = "", max_domains_ = 0, 
        domain_ids_ = std::vector of length 0, capacity 0}}, mp_mutex = {<std::__recursive_mutex_base> = {_M_mutex = {
          __data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {
              __prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, 
          __align = 0}}, <std::__timed_mutex_impl<std::recursive_timed_mutex>> = {<No data fields>}, <No data fields>}, 
    payload_pool_ = std::shared_ptr<eprosima::fastrtps::rtps::IPayloadPool> (use count 8, weak count 1) = {
      get() = 0x55555586f020}, 
    change_pool_ = std::shared_ptr<eprosima::fastrtps::rtps::IChangePool> (use count 1, weak count 0) = {
      get() = 0x555555980330}, 
    fixed_payload_size_ = 0}, <eprosima::fastdds::statistics::StatisticsWriterImpl> = {<No data fields>}, 
  liveliness_lost_status_ = {total_count = 0, total_count_change = 0}, m_pushMode = true, flow_controller_ = 0x5555556665e0, 
  mp_history = 0x55555597cea0, mp_listener = 0x55555597fb40, is_async_ = false, m_separateSendingEnabled = false, 
  liveliness_kind_ = eprosima::fastdds::dds::AUTOMATIC_LIVELINESS_QOS, liveliness_lease_duration_ = {
    static INFINITE_SECONDS = 2147483647, static INFINITE_NANOSECONDS = 4294967295, seconds = 2147483647, 
    nanosec = 4294967295}, liveliness_announcement_period_ = {static INFINITE_SECONDS = 2147483647, 
    static INFINITE_NANOSECONDS = 4294967295, seconds = 2147483647, nanosec = 4294967295}, next_ = {0x0, 0x0}}
yashi commented 4 months ago

Never mind. I found where I broke the memory. Sorry about the noise!