rclc
rclc copied to clipboard
[rclc_lifecycle, galactic] running example_lifecycle_node failed.
Issue template
- Hardware description: host
- RTOS: Ubuntu 20.04
- Installation type: apt
- Version or commit hash: galactic
Steps to reproduce the issue
# t1
source /opt/ros/galactic/setup.bash
zs@zs-3630:~/zs_ws/ros2_mcu$ ros2 run rclc_examples example_lifecycle_node
creating lifecycle node...
registering lifecycle services...
registering callbacks...
# t2
zs@zs-3630:~/zs_ws/ros2_mcu$ ros2 service call /rclc/lifecycle_node/get_state lifecycle_msgs/srv/GetState
requester: making request: lifecycle_msgs.srv.GetState_Request()
zs@zs-3630:~/zs_ws/ros2_mcu$ ros2 service call /rclc/lifecycle_node/get_state lifecycle_msgs/srv/GetState
waiting for service to become available...
Expected behavior
ros service call can get result
Actual behavior
- first service call cannot get result and stuck
- example_lifecycle_node process exit after the service call
Additional information
using rmw_fastrtps_cpp
EDIT: I add export RMW_IMPLEMENTATION=rmw_fastrtps_cpp in my .bashrc
@pablogs9
@JanStaschulat any idea?
@ZhenshengLee Are you configuring fastrtps as the DDS middlware in all terminals?
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
@ZhenshengLee Are you configuring fastrtps as the DDS middlware in all terminals?
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
Yes.
Additional information
using rmw_fastrtps_cpp
@norro any suggestions?
@ZhenshengLee "example_lifecycle_node process exit after the service call" any error messages?
I also tested in microxrcedds with microROS-Agent (in host elmulator, not mcu)
the code is in https://github.com/ZhenshengLee/ros2_mcu/blob/master/app_ws/src/lifecycle_node/app.c
# t1
zs@zs-3630:~/zs_ws/ros2_mcu/agent_ws$ ros2 run micro_ros_agent micro_ros_agent udp4 -p 8888 -v6
[1647347961.593643] info | UDPv4AgentLinux.cpp | init | running... | port: 8888
[1647347961.593810] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 6
[1647347972.899694] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x00000000, len: 24, data:
0000: 80 00 00 00 00 01 10 00 58 52 43 45 01 00 01 0F 51 73 E2 2A 81 00 FC 01
[1647347972.899818] info | Root.cpp | create_client | create | client_key: 0x5173E22A, session_id: 0x81
[1647347972.899863] info | SessionManager.hpp | establish_session | session established | client_key: 0x5173E22A, address: 127.0.0.1:39844
[1647347972.899957] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 19, data:
0000: 81 00 00 00 04 01 0B 00 00 00 58 52 43 45 01 00 01 0F 00
[1647347972.900114] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 52, data:
0000: 81 80 00 00 01 07 2C 00 00 0A 00 01 01 03 00 00 1D 00 00 00 00 01 00 00 15 00 00 00 2F 72 63 6C
0020: 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 00 00 00 00
[1647347972.908097] info | ProxyClient.cpp | create_participant | participant created | client_key: 0x5173E22A, participant_id: 0x000(1)
[1647347972.908154] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 00 00 05 01 06 00 00 0A 00 01 00 00
[1647347972.908170] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1647347972.908251] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1647347972.908446] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 120, data:
0000: 81 80 01 00 01 07 6E 00 00 0B 00 02 02 03 00 00 60 00 00 00 28 00 00 00 72 74 2F 72 63 6C 63 2F
0020: 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 74 72 61 6E 73 69 74 69 6F 6E 5F 65 76 65 6E 74 00
0040: 00 01 00 00 2C 00 00 00 6C 69 66 65 63 79 63 6C 65 5F 6D 73 67 73 3A 3A 6D 73 67 3A 3A 64 64 73
0060: 5F 3A 3A 54 72 61 6E 73 69 74 69 6F 6E 45 76 65 6E 74 5F 00 00 01 00 00
[1647347972.908515] info | ProxyClient.cpp | create_topic | topic created | client_key: 0x5173E22A, topic_id: 0x000(2), participant_id: 0x000(1)
[1647347972.908542] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 01 00 05 01 06 00 00 0B 00 02 00 00
[1647347972.908552] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1647347972.908598] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1647347972.908612] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 24, data:
0000: 81 80 02 00 01 07 10 00 00 0C 00 03 03 03 00 00 02 00 00 00 00 00 00 01
[1647347972.908657] info | ProxyClient.cpp | create_publisher | publisher created | client_key: 0x5173E22A, publisher_id: 0x000(3), participant_id: 0x000(1)
[1647347972.908679] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 02 00 05 01 06 00 00 0C 00 03 00 00
[1647347972.908686] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1647347972.908697] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1647347972.908711] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 36, data:
0000: 81 80 03 00 01 07 1C 00 00 0D 00 05 05 03 00 00 0E 00 00 00 00 02 01 00 03 00 01 00 0A 00 00 00
0020: 00 00 00 03
[1647347972.908870] info | ProxyClient.cpp | create_datawriter | datawriter created | client_key: 0x5173E22A, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1647347972.908900] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 03 00 05 01 06 00 00 0D 00 05 00 00
[1647347972.908913] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 04 00 00 00 80
[1647347972.908918] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 04 00 00 00 80
[1647347972.908961] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 264, data:
0000: 81 80 04 00 01 07 FF 00 00 0E 00 08 08 03 00 00 F1 00 00 00 22 00 00 00 2F 72 63 6C 63 2F 6C 69
0020: 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 63 68 61 6E 67 65 5F 73 74 61 74 65 00 00 00 30 00 00 00
0040: 6C 69 66 65 63 79 63 6C 65 5F 6D 73 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 43 68 61 6E 67
0060: 65 53 74 61 74 65 5F 52 65 71 75 65 73 74 5F 00 31 00 00 00 6C 69 66 65 63 79 63 6C 65 5F 6D 73
0080: 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 43 68 61 6E 67 65 53 74 61 74 65 5F 52 65 73 70 6F
00A0: 6E 73 65 5F 00 01 00 00 2B 00 00 00 72 71 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F
00C0: 64 65 2F 63 68 61 6E 67 65 5F 73 74 61 74 65 52 65 71 75 65 73 74 00 01 29 00 00 00 72 72 2F 72
00E0: 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 63 68 61 6E 67 65 5F 73 74 61 74 65 52
0100: 65 70 6C 79 00 00 01 00
[1647347972.909252] info | ProxyClient.cpp | create_replier | replier created | client_key: 0x5173E22A, requester_id: 0x000(7), participant_id: 0x000(1)
[1647347972.909279] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 04 00 05 01 06 00 00 0E 00 08 00 00
[1647347972.909291] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 05 00 00 00 80
[1647347972.909327] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 05 00 00 00 80
[1647347972.909345] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 272, data:
0000: 81 80 05 00 08 01 10 00 00 0F 00 08 80 00 00 01 FF FF 00 00 00 00 00 00 01 07 F4 00 00 10 00 18
0020: 08 03 66 65 E6 00 00 00 1F 00 00 00 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65
0040: 2F 67 65 74 5F 73 74 61 74 65 00 00 2D 00 00 00 6C 69 66 65 63 79 63 6C 65 5F 6D 73 67 73 3A 3A
0060: 73 72 76 3A 3A 64 64 73 5F 3A 3A 47 65 74 53 74 61 74 65 5F 52 65 71 75 65 73 74 5F 00 00 00 00
0080: 2E 00 00 00 6C 69 66 65 63 79 63 6C 65 5F 6D 73 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 47
00A0: 65 74 53 74 61 74 65 5F 52 65 73 70 6F 6E 73 65 5F 00 01 00 28 00 00 00 72 71 2F 72 63 6C 63 2F
00C0: 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 67 65 74 5F 73 74 61 74 65 52 65 71 75 65 73 74 00
00E0: 01 7F 00 00 26 00 00 00 72 72 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 67
0100: 65 74 5F 73 74 61 74 65 52 65 70 6C 79 00 00 01
[1647347972.909588] info | ProxyClient.cpp | create_replier | replier created | client_key: 0x5173E22A, requester_id: 0x001(7), participant_id: 0x000(1)
[1647347972.909616] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 05 00 05 01 06 00 00 10 00 18 00 00
[1647347972.909626] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 06 00 00 00 80
[1647347972.909667] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 06 00 00 00 80
[1647347972.909692] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 324, data:
0000: 81 80 06 00 08 01 10 00 00 11 00 18 80 00 00 01 FF FF 00 00 00 00 00 00 01 07 27 01 00 12 00 28
0020: 08 03 00 00 19 01 00 00 2A 00 00 00 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65
0040: 2F 67 65 74 5F 61 76 61 69 6C 61 62 6C 65 5F 73 74 61 74 65 73 00 73 D1 37 00 00 00 6C 69 66 65
0060: 63 79 63 6C 65 5F 6D 73 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 47 65 74 41 76 61 69 6C 61
0080: 62 6C 65 53 74 61 74 65 73 5F 52 65 71 75 65 73 74 5F 00 00 38 00 00 00 6C 69 66 65 63 79 63 6C
00A0: 65 5F 6D 73 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 47 65 74 41 76 61 69 6C 61 62 6C 65 53
00C0: 74 61 74 65 73 5F 52 65 73 70 6F 6E 73 65 5F 00 01 7F 00 00 33 00 00 00 72 71 2F 72 63 6C 63 2F
00E0: 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 67 65 74 5F 61 76 61 69 6C 61 62 6C 65 5F 73 74 61
0100: 74 65 73 52 65 71 75 65 73 74 00 01 31 00 00 00 72 72 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C
0120: 65 5F 6E 6F 64 65 2F 67 65 74 5F 61 76 61 69 6C 61 62 6C 65 5F 73 74 61 74 65 73 52 65 70 6C 79
0140: 00 00 01 00
[1647347972.909919] info | ProxyClient.cpp | create_replier | replier created | client_key: 0x5173E22A, requester_id: 0x002(7), participant_id: 0x000(1)
[1647347972.909939] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 06 00 05 01 06 00 00 12 00 28 00 00
[1647347972.909947] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 07 00 00 00 80
[1647347972.909990] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 07 00 00 00 80
[1647347972.910015] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 348, data:
0000: 81 80 07 00 08 01 10 00 00 13 00 28 80 00 00 01 FF FF 00 00 00 00 00 00 01 07 40 01 00 14 00 38
0020: 08 03 00 03 32 01 00 00 2F 00 00 00 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65
0040: 2F 67 65 74 5F 61 76 61 69 6C 61 62 6C 65 5F 74 72 61 6E 73 69 74 69 6F 6E 73 00 00 3C 00 00 00
0060: 6C 69 66 65 63 79 63 6C 65 5F 6D 73 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 47 65 74 41 76
0080: 61 69 6C 61 62 6C 65 54 72 61 6E 73 69 74 69 6F 6E 73 5F 52 65 71 75 65 73 74 5F 00 3D 00 00 00
00A0: 6C 69 66 65 63 79 63 6C 65 5F 6D 73 67 73 3A 3A 73 72 76 3A 3A 64 64 73 5F 3A 3A 47 65 74 41 76
00C0: 61 69 6C 61 62 6C 65 54 72 61 6E 73 69 74 69 6F 6E 73 5F 52 65 73 70 6F 6E 73 65 5F 00 01 FF FF
00E0: 38 00 00 00 72 71 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 67 65 74 5F 61
0100: 76 61 69 6C 61 62 6C 65 5F 74 72 61 6E 73 69 74 69 6F 6E 73 52 65 71 75 65 73 74 00 01 FE C9 67
0120: 36 00 00 00 72 72 2F 72 63 6C 63 2F 6C 69 66 65 63 79 63 6C 65 5F 6E 6F 64 65 2F 67 65 74 5F 61
0140: 76 61 69 6C 61 62 6C 65 5F 74 72 61 6E 73 69 74 69 6F 6E 73 52 65 70 6C 79 00 00 01
[1647347972.910266] info | ProxyClient.cpp | create_replier | replier created | client_key: 0x5173E22A, requester_id: 0x003(7), participant_id: 0x000(1)
[1647347972.910291] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 07 00 05 01 06 00 00 14 00 38 00 00
[1647347972.910299] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 08 00 00 00 80
[1647347972.910351] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 08 00 00 00 80
[1647347972.910366] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 44, data:
0000: 81 80 08 00 08 01 10 00 00 15 00 38 80 00 00 01 FF FF 00 00 00 00 00 00 08 01 10 00 00 16 00 38
0020: 00 00 00 01 00 00 00 00 00 00 00 00
[1647347972.910490] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 09 00 00 00 80
[1647347973.911125] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 12, data:
0000: 81 80 09 00 03 01 04 00 00 17 00 38
[1647347973.912210] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0003
[1647347973.912409] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 08 00 05 01 06 00 00 17 00 38 00 00
[1647347973.912467] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0A 00 00 00 80
[1647347973.912550] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 09 00 00 00 80
[1647347973.912597] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 24, data:
0000: 81 80 0A 00 08 01 10 00 00 18 00 28 00 00 00 01 00 00 00 00 00 00 00 00
[1647347974.011960] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0B 00 00 00 80
[1647347974.913199] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 12, data:
0000: 81 80 0B 00 03 01 04 00 00 19 00 28
[1647347974.913813] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0002
[1647347974.913990] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 09 00 05 01 06 00 00 19 00 28 00 00
[1647347974.914046] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0C 00 00 00 80
[1647347974.914122] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0A 00 00 00 80
[1647347974.914168] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 24, data:
0000: 81 80 0C 00 08 01 10 00 00 1A 00 18 00 00 00 01 00 00 00 00 00 00 00 00
[1647347975.013118] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0D 00 00 00 80
[1647347975.915317] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 12, data:
0000: 81 80 0D 00 03 01 04 00 00 1B 00 18
[1647347975.915925] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0001
[1647347975.916146] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 0A 00 05 01 06 00 00 1B 00 18 00 00
[1647347975.916205] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0E 00 00 00 80
[1647347975.916294] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0B 00 00 00 80
[1647347975.916342] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 24, data:
0000: 81 80 0E 00 08 01 10 00 00 1C 00 08 00 00 00 01 00 00 00 00 00 00 00 00
[1647347976.015670] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0F 00 00 00 80
[1647347976.917920] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 12, data:
0000: 81 80 0F 00 03 01 04 00 00 1D 00 08
[1647347976.918712] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0000
[1647347976.918905] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 0B 00 05 01 06 00 00 1D 00 08 00 00
[1647347976.918966] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 10 00 00 00 80
[1647347976.919085] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0C 00 00 00 80
[1647347976.919155] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 12, data:
0000: 81 80 10 00 03 01 04 00 00 1E 00 02
[1647347976.919239] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0000
[1647347976.919396] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 0C 00 05 01 06 00 00 1E 00 02 00 00
[1647347976.919474] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 11 00 00 00 80
[1647347976.919560] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0D 00 00 00 80
[1647347976.919645] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 20, data:
0000: 81 80 11 00 03 01 04 00 00 1F 00 05 03 01 04 00 00 20 00 03
[1647347976.919933] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0000
[1647347976.920008] debug | ProxyClient.cpp | delete_object_unlock | object deleted | client_key: 0x5173E22A, object_id: 0x0000
[1647347976.920081] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 0D 00 05 01 06 00 00 1F 00 05 00 00
[1647347976.920160] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 14, data:
0000: 81 80 0E 00 05 01 06 00 00 20 00 03 00 00
[1647347976.920204] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0E 00 00 00 80
[1647347976.920213] debug | UDPv4AgentLinux.cpp | send_message | [** <<UDP>> **] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 12 00 00 00 80
[1647347976.920298] debug | UDPv4AgentLinux.cpp | recv_message | [==>> UDP <<==] | client_key: 0x5173E22A, len: 13, data:
0000: 81 00 00 00 0A 01 05 00 0F 00 00 00 80
# t2
zs@zs-3630:~/zs_ws/ros2_mcu/app_ws$ export RMW_IMPLEMENTATION=rmw_microxrcedds
zs@zs-3630:~/zs_ws/ros2_mcu/app_ws$ ros2 run micro_ros_lifecycle_node lifecycle_node
creating lifecycle node...
[ERROR] [1647345731.603793383] []: Unable to initialize state machine: error not set, at /tmp/binarydeb/ros-galactic-rcl-3.1.2/src/rcl/service.c:122
Error in creating lifecycle node.
@ZhenshengLee "example_lifecycle_node process exit after the service call" any error messages?
No, there is no extra output in terminal.
# t1 source /opt/ros/galactic/setup.bash zs@zs-3630:~/zs_ws/ros2_mcu$ ros2 run rclc_examples example_lifecycle_node creating lifecycle node... registering lifecycle services... registering callbacks...
in terminal t1 you don't set fastrtps as DDS middleware.
If you want to use micro-ros, after
source /opt/ros/galactic/setup.bash
you need also ...
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
in terminal t1 you don't set fastrtps as DDS middleware.
actually I add export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
in my .bashrc
@JanStaschulat
Related https://github.com/micro-ROS/micro-ROS-demos/issues/56
the core stack of debugging https://github.com/ZhenshengLee/ros2_mcu/blob/master/app_ws/src/lifecycle_node/app.c
after
ros2 service call /rclc/lifecycle_node/get_state lifecycle_msgs/srv/GetState
the stack is
librclc_lifecycle.so!rclc_lifecycle_get_state_callback (Unknown Source:0)
librclc.so![Unknown/Just-In-Time compiled code] (Unknown Source:0)
librclc.so!rclc_executor_spin_some (Unknown Source:0)
librclc.so!rclc_executor_spin (Unknown Source:0)
main(int argc, const char ** argv) (/home/zs/zs_ws/ros2_mcu/app_ws/src/lifecycle_node/app.c:115)
@ZhenshengLee, which code are you executing? In your app there is a printf before calling spin. But I don't see that output in your terminal.
@ZhenshengLee, which code are you executing? In your app there is a printf before calling spin. But I don't see that output in your terminal.
- this issue is about codes from rclc_lifecycle galactic release via apt installation
- in order to debug, I created https://github.com/ZhenshengLee/ros2_mcu/blob/master/app_ws/src/lifecycle_node/app.c and compile it in debug mode, and add a printf before calling spin. but this app.c is pretty similar with what in https://github.com/ros2/rclc/blob/master/rclc_examples/src/example_lifecycle_node.c
- the call stack is from https://github.com/ZhenshengLee/ros2_mcu/blob/master/app_ws/src/lifecycle_node/app.c because I debug this program in my personally maintained repo.
Galactic is EOL.