micro_ros_espidf_component icon indicating copy to clipboard operation
micro_ros_espidf_component copied to clipboard

Can't create subscriber on ESP32-C3

Open 2b-t opened this issue 1 year ago • 5 comments

Problem description

I have recently started to experiment with micro-ROS. While the examples involving just publishers such as int32_publisher are running fine, if I run any example involving a subscriber such as int32_sub_pub or ping_pong according to the official documentation using the provided Dockerfile this results in a stack dump.

  • Hardware description: Seeed Studio Xiao ESP32C3/ESP32-C3-MINI-1
  • RTOS: FreeRTOS
  • Installation type: micro_ros_espidf_component
  • Version or commit hash: humble (27158f2369bd7bd02ce3cda61a785bf32ce10883)

Steps to reproduce the issue

In order to replicate this flash the ESP32-C3 board with one of the examples involving a subscriber (in the following I will make use of int32_sub_pub). In my case I open it in the container with the provided Dockerfile in interactive mode:

$ export LC_ALL=C # Override locale settings
$ . $IDF_PATH/export.sh
$ cd examples/int32_sub_pub
$ idf.py set-target esp32c3
$ idf.py menuconfig
# Set micro-ROS agent Settings ->
#   WiFi configuration ->
#     WiFI SSID (test_hotspot)
#     WiFI Password (test_password)
#   micro-ROS Agent IP (10.42.0.1)
$ idf.py build
$ sudo chmod o+rw /dev/ttyACM0 # Allow to write to device file
$ idf.py flash

connect both micro-controller and computer to the same hotspot, in my case a self-hosted hotspot, then run the micro-ROS agent on the computer (10.42.0.1)

$ docker run -it --rm --net=host microros/micro-ros-agent:humble udp4 --port 8888 -v6

and finally monitor the ESP32-C3 with:

$ idf.py monitor

Expected behavior

The ESP-C3 should publish its messages to the micro-ROS agent on the int32_publisher topic and wait for messages on the int32_subscriber topic. I should be able to see both topics on the micro-ROS agent side.

Actual behavior

The ESP32-C3 runs into a stack dump and reboots (For a full output see subscriber_bug.txt):

I (1599) main_task: Returned from app_main()
Guru Meditation Error: Core  0 panic'ed (Illegal instruction). Exception was unhandled.

Stack dump detected
Core  0 register dump:
MEPC    : 0x42015a2e  RA      : 0x4201596c  SP      : 0x3fcad780  GP      : 0x3fc91400  
0x42015a2e: rmw_wait at ??:?

0x4201596c: rmw_wait at ??:?

TP      : 0x3fc901b8  T0      : 0x4005890e  T1      : 0x0000000c  T2      : 0x00068081  
S0/FP   : 0x3fc94350  S1      : 0x3fcadafc  A0      : 0x3fca9a58  A1      : 0x00001000  
A2      : 0x00001000  A3      : 0x00000001  A4      : 0xffffffff  A5      : 0x00000001  
A6      : 0x00000000  A7      : 0xf4240000  S2      : 0x3fcadaf0  S3      : 0x00000064  
S4      : 0x3fcadb08  S5      : 0x3fcadb14  S6      : 0x05f5e100  S7      : 0x00000000  
S8      : 0x00000000  S9      : 0x3fcad8c4  S10     : 0x3fcadaec  S11     : 0x00000000  
T3      : 0x00000975  T4      : 0x00000000  T5      : 0x4200a2c8  T6      : 0x4200a2d0  
0x4200a2c8: __default_deallocate at allocator.c:?

0x4200a2d0: __default_allocate at allocator.c:?

MSTATUS : 0x00001881  MTVEC   : 0x40380001  MCAUSE  : 0x00000002  MTVAL   : 0xd009f7d3  
0x40380001: _vector_table at ??:?

MHARTID : 0x00000000  

Backtrace:

0x42015a2e in rmw_wait ()
#0  0x42015a2e in rmw_wait ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
ELF file SHA256: dc5c59390d980376
Rebooting...

Additional information

I have tried the following already to no avail, the problem stays the very same:

  • Reflash the ESP32 several times
  • Try a different ESP32 I had lying around
  • Change hotspot
  • Switch to ROS 2 Iron instead of Humble
  • Remove the publisher, being left with an example with only a subscriber
  • Doubled the statically allocated memory to 32000 Bytes for the ROS task in $ idf.py menuconfig under micro-ROS example-app settings/Stack the micro-ROS app (Bytes)
  • Added the following options to colcon.meta and proceed with a clean build, cleaning the workspace first with $ idf.py clean-microros:

If I comment the line that adds the subscription to the executor, e.g. RCCHECK(rclc_executor_add_subscription(&executor, &subscriber, &recv_msg, &subscription_callback, ON_NEW_DATA)); the publisher runs just fine while clearly the subscriber will not work.

Any input is highly appreciated!

2b-t avatar Dec 10 '23 22:12 2b-t

Which is the output of the micro-ROS Agent using the flag -v6?

pablogs9 avatar Dec 11 '23 06:12 pablogs9

Hi @pablogs9 Thanks for your quick reply!

The output of the micro-ROS agent with -v6 is the following:

tobit@P500:~$ docker run -it --rm --net=host microros/micro-ros-agent:humble udp4 --port 8888 -v6
[1702340879.676756] info     | UDPv4AgentLinux.cpp | init                     | running...             | port: 8888
[1702340879.677083] info     | Root.cpp           | set_verbose_level        | logger setup           | verbose_level: 6
[1702341006.162604] 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 4F 60 5D E0 81 00 FC 01
[1702341006.162825] info     | Root.cpp           | create_client            | create                 | client_key: 0x4F605DE0, session_id: 0x81
[1702341006.162905] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x4F605DE0, address: 10.42.0.43:24558
[1702341006.163032] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 19, data: 
0000: 81 00 00 00 04 01 0B 00 00 00 58 52 43 45 01 00 01 0F 00
[1702341006.167917] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 64, data: 
0000: 81 80 00 00 01 07 36 00 00 0A 00 01 01 03 00 00 28 00 00 00 00 01 38 40 20 00 00 00 69 6E 74 33
0020: 32 5F 70 75 62 6C 69 73 68 65 72 5F 73 75 62 73 63 72 69 62 65 72 5F 72 63 6C 63 00 00 00 00 00
[1702341006.167946] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.169489] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.171055] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.172083] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.175093] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.175114] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.175150] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.175176] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.176210] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.177454] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.178572] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.179659] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.179680] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.181657] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.181681] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.183602] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.184753] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.184771] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.186676] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.186712] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.188713] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.189750] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.190854] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.192184] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.193349] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.195178] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.196104] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.196124] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.198364] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.199868] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.200653] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x4F605DE0, participant_id: 0x000(1)
[1702341006.200872] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 00 00 05 01 06 00 00 0A 00 01 00 00
[1702341006.200966] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1702341006.200987] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1702341006.205143] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.205166] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.205179] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[1702341006.205189] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1702341006.206370] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 84, data: 
0000: 81 80 01 00 01 07 4A 00 00 0B 00 02 02 03 00 00 3C 00 00 00 13 00 00 00 72 74 2F 69 6E 74 33 32
0020: 5F 70 75 62 6C 69 73 68 65 72 00 00 01 4C C9 3F 1C 00 00 00 73 74 64 5F 6D 73 67 73 3A 3A 6D 73
0040: 67 3A 3A 64 64 73 5F 3A 3A 49 6E 74 33 32 5F 00 00 01 00 00
[1702341006.206399] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 00 00 01 00 80
[1702341006.206468] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 00 80
[1702341006.206521] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 01 00 00 01 80
[1702341006.206523] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x4F605DE0, topic_id: 0x000(2), participant_id: 0x000(1)
[1702341006.206622] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 01 00 05 01 06 00 00 0B 00 02 00 00
[1702341006.206650] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1702341006.212911] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 01 00 01 00 80
[1702341006.212931] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 01 00 01 00 80
[1702341006.212940] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 84, data: 
0000: 81 80 01 00 01 07 4A 00 00 0B 00 02 02 03 00 00 3C 00 00 00 13 00 00 00 72 74 2F 69 6E 74 33 32
0020: 5F 70 75 62 6C 69 73 68 65 72 00 00 01 4C C9 3F 1C 00 00 00 73 74 64 5F 6D 73 67 73 3A 3A 6D 73
0040: 67 3A 3A 64 64 73 5F 3A 3A 49 6E 74 33 32 5F 00 00 01 00 00
[1702341006.212953] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1702341006.213012] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1702341006.213040] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1702341006.213065] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 02 00 00 00 80
[1702341006.213947] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, 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
[1702341006.214070] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x4F605DE0, publisher_id: 0x000(3), participant_id: 0x000(1)
[1702341006.214172] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 02 00 05 01 06 00 00 0C 00 03 00 00
[1702341006.214209] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1702341006.221947] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 01 00 02 00 80
[1702341006.221967] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 02 00 02 00 80
[1702341006.221976] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 02 00 02 00 80
[1702341006.221984] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 02 00 02 00 80
[1702341006.221993] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 02 00 02 00 80
[1702341006.222002] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 02 00 02 00 80
[1702341006.222038] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1702341006.222066] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1702341006.222086] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1702341006.224649] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 03 00 00 00 80
[1702341006.226010] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, 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
[1702341006.226452] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x4F605DE0, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1702341006.226562] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 03 00 05 01 06 00 00 0D 00 05 00 00
[1702341006.226593] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 04 00 00 00 80
[1702341006.229921] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 02 00 03 00 80
[1702341006.229947] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 04 00 00 00 80
[1702341006.230007] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 04 00 00 00 80
[1702341006.233683] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 84, data: 
0000: 81 80 04 00 01 07 4A 00 00 0E 00 12 02 03 00 00 3C 00 00 00 14 00 00 00 72 74 2F 69 6E 74 33 32
0020: 5F 73 75 62 73 63 72 69 62 65 72 00 00 01 00 00 1C 00 00 00 73 74 64 5F 6D 73 67 73 3A 3A 6D 73
0040: 67 3A 3A 64 64 73 5F 3A 3A 49 6E 74 33 32 5F 00 00 01 00 00
[1702341006.233781] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x4F605DE0, topic_id: 0x001(2), participant_id: 0x000(1)
[1702341006.233850] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 04 00 05 01 06 00 00 0E 00 12 00 00
[1702341006.233881] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 05 00 00 00 80
[1702341006.234703] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 03 00 04 00 80
[1702341006.234723] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 04 00 04 00 80
[1702341006.235562] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 05 00 00 00 80
[1702341006.238017] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 05 00 00 00 80
[1702341006.239728] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 24, data: 
0000: 81 80 05 00 01 07 10 00 00 0F 00 04 04 03 00 00 02 00 00 00 00 00 00 01
[1702341006.239748] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 04 00 05 00 80
[1702341006.239857] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 05 00 00 01 80
[1702341006.239898] info     | ProxyClient.cpp    | create_subscriber        | subscriber created     | client_key: 0x4F605DE0, subscriber_id: 0x000(4), participant_id: 0x000(1)
[1702341006.239944] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 05 00 05 01 06 00 00 0F 00 04 00 00
[1702341006.239966] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 06 00 00 00 80
[1702341006.243345] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 24, data: 
0000: 81 80 05 00 01 07 10 00 00 0F 00 04 04 03 00 00 02 00 00 00 00 00 00 01
[1702341006.243484] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 06 00 00 00 80
[1702341006.244852] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 06 00 00 00 80
[1702341006.246746] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 40, data: 
0000: 81 80 06 00 01 07 1D 00 00 10 00 06 06 03 00 00 0F 00 00 00 00 12 01 00 03 00 01 00 0A 00 00 00
0020: 00 00 00 00 04 00 00 00
[1702341006.247186] info     | ProxyClient.cpp    | create_datareader        | datareader created     | client_key: 0x4F605DE0, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[1702341006.247251] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 14, data: 
0000: 81 80 06 00 05 01 06 00 00 10 00 06 00 00
[1702341006.247279] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 07 00 00 00 80
[1702341006.248103] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0B 01 05 00 05 00 06 00 80
[1702341006.248167] debug    | UDPv4AgentLinux.cpp | send_message             | [** <<UDP>> **]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 07 00 00 00 80
[1702341006.250881] debug    | UDPv4AgentLinux.cpp | recv_message             | [==>> UDP <<==]        | client_key: 0x4F605DE0, len: 13, data: 
0000: 81 00 00 00 0A 01 05 00 07 00 00 00 80

2b-t avatar Dec 12 '23 00:12 2b-t

Got the same issue on ROS 2 Iron with the ESP32-C3 as well (while the ESP32-S3 works just fine). When checking out on a very old commit like f426aa27e29984d8e8fa307c5442a6466cd2fa69 (which happens to use espressif/idf:release-v4.3 instead of espressif/idf:release-v5.0, not sure if this is connected) it works without issues. I will try to narrow down which commit might have introduced this bug.

2b-t avatar Dec 12 '23 01:12 2b-t

@2b-t Were you able to identify the issue? I am facing the same issue.

ghufran1942 avatar Oct 03 '24 21:10 ghufran1942

@ghufran1942 Unfortunately no, have not worked much with MicroROS ever since. As described above checking out to an earlier version worked for me.

2b-t avatar Oct 03 '24 21:10 2b-t

I am facing the same issue, also with the ESP32C3 from Seeeds. Did anyone find a solution using the latest version? I will try to attach my debugger and try to locate the bug.

kasperg3 avatar Dec 13 '24 13:12 kasperg3

same issue till now , anyone with a solution?, TIA

samiibnjamil avatar Feb 26 '25 07:02 samiibnjamil