fishros / fishbot_motion_control_microros

Fishbot运动控制程序MicroROS版本
GNU General Public License v3.0
20 stars 10 forks source link

serial模式长时间运行出现重启现象 #2

Open fishros opened 1 year ago

fishros commented 1 year ago

使用树莓派USB连接板子进行通信,长时间运行出现不间断重启现象,可复现

ros2 run micro_ros_agent micro_ros_agent serial -b 921600 --dev /dev/ttyUSB0 -v
[1683016094.173260] info     | TermiosAgentLinux.cpp | init                     | running...             | fd: 3
[1683016094.174135] info     | Root.cpp           | set_verbose_level        | logger setup           | verbose_level: 4
[1683016094.839491] info     | Root.cpp           | create_client            | create                 | client_key: 0x62115390, session_id: 0x81
[1683016094.839691] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x62115390, address: 0
[1683016094.890615] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x62115390, participant_id: 0x000(1)
[1683016094.896452] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x62115390, topic_id: 0x000(2), participant_id: 0x000(1)
[1683016094.900964] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x62115390, publisher_id: 0x000(3), participant_id: 0x000(1)
[1683016094.906975] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x62115390, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1683016094.912525] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x62115390, topic_id: 0x001(2), participant_id: 0x000(1)
[1683016094.916633] info     | ProxyClient.cpp    | create_subscriber        | subscriber created     | client_key: 0x62115390, subscriber_id: 0x000(4), participant_id: 0x000(1)
[1683016094.922770] info     | ProxyClient.cpp    | create_datareader        | datareader created     | client_key: 0x62115390, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[1683016094.933798] info     | ProxyClient.cpp    | create_replier           | replier created        | client_key: 0x62115390, requester_id: 0x000(7), participant_id: 0x000(1)
[1683016594.965537] info     | Root.cpp           | delete_client            | delete                 | client_key: 0x62115390
[1683016594.965685] info     | SessionManager.hpp | destroy_session          | session closed         | client_key: 0x62115390, address: 0
[1683016594.965776] info     | Root.cpp           | create_client            | create                 | client_key: 0x69FA4240, session_id: 0x81
[1683016594.965813] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x69FA4240, address: 0
[1683016594.991838] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x69FA4240, participant_id: 0x000(1)
[1683016594.996944] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x69FA4240, topic_id: 0x000(2), participant_id: 0x000(1)
[1683016595.001000] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x69FA4240, publisher_id: 0x000(3), participant_id: 0x000(1)
[1683016595.006052] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x69FA4240, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1683016595.011155] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x69FA4240, topic_id: 0x001(2), participant_id: 0x000(1)
[1683016595.015202] info     | ProxyClient.cpp    | create_subscriber        | subscriber created     | client_key: 0x69FA4240, subscriber_id: 0x000(4), participant_id: 0x000(1)
[1683016595.020885] info     | ProxyClient.cpp    | create_datareader        | datareader created     | client_key: 0x69FA4240, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[1683016595.030782] info     | ProxyClient.cpp    | create_replier           | replier created        | client_key: 0x69FA4240, requester_id: 0x000(7), participant_id: 0x000(1)
[1683017488.827490] info     | Root.cpp           | delete_client            | delete                 | client_key: 0x69FA4240
[1683017488.827623] info     | SessionManager.hpp | destroy_session          | session closed         | client_key: 0x69FA4240, address: 0
[1683017488.827722] info     | Root.cpp           | create_client            | create                 | client_key: 0x40E70100, session_id: 0x81
[1683017488.827758] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x40E70100, address: 0
[1683017488.847194] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x40E70100, participant_id: 0x000(1)
[1683017488.852869] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x40E70100, topic_id: 0x000(2), participant_id: 0x000(1)
[1683017488.856887] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x40E70100, publisher_id: 0x000(3), participant_id: 0x000(1)
[1683017488.861828] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x40E70100, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1683017488.866982] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x40E70100, topic_id: 0x001(2), participant_id: 0x000(1)
[1683017488.871130] info     | ProxyClient.cpp    | create_subscriber        | subscriber created     | client_key: 0x40E70100, subscriber_id: 0x000(4), participant_id: 0x000(1)
[1683017488.876222] info     | ProxyClient.cpp    | create_datareader        | datareader created     | client_key: 0x40E70100, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[1683017488.886061] info     | ProxyClient.cpp    | create_replier           | replier created        | client_key: 0x40E70100, requester_id: 0x000(7), participant_id: 0x000(1)
[1683018264.832423] info     | Root.cpp           | delete_client            | delete                 | client_key: 0x40E70100
[1683018264.832556] info     | SessionManager.hpp | destroy_session          | session closed         | client_key: 0x40E70100, address: 0
[1683018264.832659] info     | Root.cpp           | create_client            | create                 | client_key: 0x47DEF502, session_id: 0x81
[1683018264.832697] info     | SessionManager.hpp | establish_session        | session established    | client_key: 0x47DEF502, address: 0
[1683018264.853344] info     | ProxyClient.cpp    | create_participant       | participant created    | client_key: 0x47DEF502, participant_id: 0x000(1)
[1683018264.858711] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x47DEF502, topic_id: 0x000(2), participant_id: 0x000(1)
[1683018264.862851] info     | ProxyClient.cpp    | create_publisher         | publisher created      | client_key: 0x47DEF502, publisher_id: 0x000(3), participant_id: 0x000(1)
[1683018264.867820] info     | ProxyClient.cpp    | create_datawriter        | datawriter created     | client_key: 0x47DEF502, datawriter_id: 0x000(5), publisher_id: 0x000(3)
[1683018264.873452] info     | ProxyClient.cpp    | create_topic             | topic created          | client_key: 0x47DEF502, topic_id: 0x001(2), participant_id: 0x000(1)
[1683018264.877656] info     | ProxyClient.cpp    | create_subscriber        | subscriber created     | client_key: 0x47DEF502, subscriber_id: 0x000(4), participant_id: 0x000(1)
[1683018264.883426] info     | ProxyClient.cpp    | create_datareader        | datareader created     | client_key: 0x47DEF502, datareader_id: 0x000(6), subscriber_id: 0x000(4)
[1683018264.893259] info     | ProxyClient.cpp    | create_replier           | replier created        | client_key: 0x47DEF502, requester_id: 0x000(7), participant_id: 0x000(1)
d4nk3n commented 1 year ago

我也遇到了这个情况,有没有试过调用 esp_reset_reason()看看芯片复位的原因? https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/misc_system_api.html#id2

如果结果是ESP_RST_PANIC的话,这个项目里启用了故障时核心转储吗?可以分析一下核心转储文件。 https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/core_dump.html

d4nk3n commented 1 year ago

可以在项目目录下看看Coredump显示的结果: espcoredump.py --chip esp32 --port /dev/ttyUSB0 info_corefile .pio/build/featheresp32/firmware.elf

d4nk3n commented 1 year ago

在波特率921600下能隔一段时间能复现,但是在更低的波特率,比如115200下几乎100%复现。

可以看一下我在115200波特率测试的时候收集的Core Dump,提示是LoadProhibitedCause,说明取了非法地址,excvaddr = 0xe050113,根据手册 https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/fatal-errors.html#loadprohibited-storeprohibited,不在0x3fxx_xxxx - 0x6xxx_xxxx的正常范围内,说明指针可能问题:

===============================================================
==================== ESP32 CORE DUMP START ====================

Crashed task handle: 0x3ffbd560, name: 'loopTask', GDB name: 'process 1073468768'

================== CURRENT THREAD REGISTERS ===================
exccause       0x1c (LoadProhibitedCause)
excvaddr       0xe050113
epc1           0x40199f95
epc2           0x0
epc3           0x0
epc4           0x0
epc5           0x40082bf7
epc6           0x0
eps2           0x0
eps3           0x0
eps4           0x0
eps5           0x60120
eps6           0x0
pc             0x400d7a4b          0x400d7a4b <MPU6050::fetchData()+23>
lbeg           0x400849a5          1074284965
lend           0x400849ad          1074284973
lcount         0x26                38
sar            0xa                 10
ps             0x60820             395296
threadptr      <unavailable>
br             <unavailable>
scompare1      <unavailable>
acclo          <unavailable>
acchi          <unavailable>
m0             <unavailable>
m1             <unavailable>
m2             <unavailable>
m3             <unavailable>
expstate       <unavailable>
f64r_lo        <unavailable>
f64r_hi        <unavailable>
f64s           <unavailable>
fcr            <unavailable>
fsr            <unavailable>
a0             0x800d7cc1          -2146599743
a1             0x3ffd7cc0          1073577152
a2             0x3ffc57e0          1073502176
a3             0xe05010b           235208971
a4             0x3ffd7cd2          1073577170
a5             0xad80              44416
a6             0x3ffd7ce0          1073577184
a7             0x3ffbdd0c          1073470732
a8             0x800d7a42          -2146600382
a9             0x3ffd7ca0          1073577120
a10            0x3ffc64a4          1073505444
a11            0x3b                59
a12            0x90c6              37062
a13            0xafc0              44992
a14            0x0                 0
a15            0x0                 0

==================== CURRENT THREAD STACK =====================
#0  0x400d7a4b in TwoWire::write (n=59, this=0x3ffc64a4 <Wire>) at /home/kun/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src/Wire.h:154
#1  MPU6050::fetchData (this=0x3ffc57e0 <mpu>) at .pio/libdeps/featheresp32/MPU6050_light/src/MPU6050_light.cpp:171
#2  0x400d7cc1 in MPU6050::update (this=0x3ffc57e0 <mpu>) at .pio/libdeps/featheresp32/MPU6050_light/src/MPU6050_light.cpp:193
#3  0x400dc585 in ImuDriver::update (this=0x3ffc57d8 <imu>) at lib/Imu/ImuDriver.cpp:55
#4  0x400d4648 in loop_fishbot_control () at src/fishbot.cpp:347
#5  0x400d6017 in loop () at src/main.cpp:32
#6  0x400e0124 in loopTask (pvParameters=<optimized out>) at /home/kun/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:50

======================== THREADS INFO =========================
  Id   Target Id          Frame 
* 1    process 1073468768 0x400d7a4b in TwoWire::write (n=59, this=0x3ffc64a4 <Wire>) at /home/kun/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src/Wire.h:154
  2    process 1073466888 0x4020286a in esp_pm_impl_waiti () at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_pm/pm_impl.c:839
  3    process 1073465488 0x4020286a in esp_pm_impl_waiti () at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_pm/pm_impl.c:839
  4    process 1073443760 0x40083a64 in esp_crosscore_int_send (core_id=<optimized out>, reason_mask=1) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:140
  5    process 1073591936 0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
  6    process 1073635420 0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
  7    process 1073647740 0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
  8    process 1073626000 0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
  9    process 1073445460 0x40083a7c in esp_crosscore_int_send_yield (core_id=1) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
  10   process 1073446340 0x4000bff0 in ?? ()
  11   process 1073609320 0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
  12   process 1073462956 0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145

==================== THREAD 1 (TCB: 0x3ffbd560, name: 'loopTask') =====================
#0  0x400d7a4b in TwoWire::write (n=59, this=0x3ffc64a4 <Wire>) at /home/kun/.platformio/packages/framework-arduinoespressif32/libraries/Wire/src/Wire.h:154
#1  MPU6050::fetchData (this=0x3ffc57e0 <mpu>) at .pio/libdeps/featheresp32/MPU6050_light/src/MPU6050_light.cpp:171
#2  0x400d7cc1 in MPU6050::update (this=0x3ffc57e0 <mpu>) at .pio/libdeps/featheresp32/MPU6050_light/src/MPU6050_light.cpp:193
#3  0x400dc585 in ImuDriver::update (this=0x3ffc57d8 <imu>) at lib/Imu/ImuDriver.cpp:55
#4  0x400d4648 in loop_fishbot_control () at src/fishbot.cpp:347
#5  0x400d6017 in loop () at src/main.cpp:32
#6  0x400e0124 in loopTask (pvParameters=<optimized out>) at /home/kun/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:50

==================== THREAD 2 (TCB: 0x3ffbce08, name: 'IDLE') =====================
#0  0x4020286a in esp_pm_impl_waiti () at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_pm/pm_impl.c:839
#1  0x400ec5c4 in esp_vApplicationIdleHook () at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/freertos_hooks.c:63
#2  0x40094d5f in prvIdleTask (pvParameters=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/tasks.c:3987

==================== THREAD 3 (TCB: 0x3ffbc890, name: 'IDLE') =====================
#0  0x4020286a in esp_pm_impl_waiti () at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_pm/pm_impl.c:839
#1  0x400ec5c4 in esp_vApplicationIdleHook () at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/freertos_hooks.c:63
#2  0x40094d5f in prvIdleTask (pvParameters=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/tasks.c:3987

==================== THREAD 4 (TCB: 0x3ffb73b0, name: 'ipc0') =====================
#0  0x40083a64 in esp_crosscore_int_send (core_id=<optimized out>, reason_mask=1) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:140
#1  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:144
#2  0x4009484c in xQueueSemaphoreTake (xQueue=0x3ffb6f3c, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#3  0x4008ca97 in ipc_task (arg=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_ipc/src/esp_ipc.c:54

==================== THREAD 5 (TCB: 0x3ffdb680, name: 'spp_tx') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x400946e6 in xQueueReceive (xQueue=0x3ffbc2e0, pvBuffer=0x3ffdb5dc, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x400da9ff in _spp_tx_task (arg=<optimized out>) at /home/kun/.platformio/packages/framework-arduinoespressif32/libraries/BluetoothSerial/src/BluetoothSerial.cpp:210

==================== THREAD 6 (TCB: 0x3ffe605c, name: 'hciT') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x4009484c in xQueueSemaphoreTake (xQueue=0x3ffe5520, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x4012c1c4 in osi_sem_take (sem=0x3ffe53e8, timeout=4294967295) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/common/osi/semaphore.c:60
#3  0x4012bcf9 in osi_thread_run (arg=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/common/osi/thread.c:156

==================== THREAD 7 (TCB: 0x3ffe907c, name: 'BTU_TASK') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x4009484c in xQueueSemaphoreTake (xQueue=0x3ffe6d40, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x4012c1c4 in osi_sem_take (sem=0x3ffe6978, timeout=4294967295) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/common/osi/semaphore.c:60
#3  0x4012bcf9 in osi_thread_run (arg=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/common/osi/thread.c:156

==================== THREAD 8 (TCB: 0x3ffe3b90, name: 'BTC_TASK') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x4009484c in xQueueSemaphoreTake (xQueue=0x3ffdfe1c, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x4012c1c4 in osi_sem_take (sem=0x3ffdfd30, timeout=4294967295) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/common/osi/semaphore.c:60
#3  0x4012bcf9 in osi_thread_run (arg=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/common/osi/thread.c:156

==================== THREAD 9 (TCB: 0x3ffb7a54, name: 'ipc1') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=1) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x4009484c in xQueueSemaphoreTake (xQueue=0x3ffb75e0, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x4008ca97 in ipc_task (arg=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_ipc/src/esp_ipc.c:54

==================== THREAD 10 (TCB: 0x3ffb7dc4, name: 'esp_timer') =====================
#0  0x4000bff0 in ?? ()
#1  0x40096c90 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/port/xtensa/port.c:332
#3  0x400963cd in ulTaskGenericNotifyTake (uxIndexToWait=<optimized out>, xClearCountOnExit=1, xTicksToWait=4294967295) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/freertos/tasks.c:5401
#4  0x4010b765 in timer_task (arg=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_timer/src/esp_timer.c:384

==================== THREAD 11 (TCB: 0x3ffdfa68, name: 'btController') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x400946e6 in xQueueReceive (xQueue=0x3ffdf87c, pvBuffer=0x3ffe1550, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x400854e8 in queue_recv_hlevel_wrapper (queue=<optimized out>, item=0x3ffe1550, block_time_ms=4294967295) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/bt/controller/esp32/bt.c:814
#3  0x40184fc5 in btdm_controller_task ()

==================== THREAD 12 (TCB: 0x3ffbbeac, name: 'fishbot_loop_tr') =====================
#0  0x40083a7c in esp_crosscore_int_send_yield (core_id=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/crosscore_int.c:145
#1  0x4009484c in xQueueSemaphoreTake (xQueue=0x3ffbb344, xTicksToWait=<optimized out>) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x400e50b8 in uart_tx_all (uart_num=0, src=<optimized out>, size=11, brk_en=<optimized out>, brk_len=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/driver/uart.c:1220
#3  0x400e5848 in uart_tx_all (brk_len=0, brk_en=false, size=42, src=0x3ffcbabe <custom_sessions+1102> "", uart_num=0) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/driver/uart.c:1190
#4  uart_write_bytes (uart_num=0, src=0x3ffcbabe <custom_sessions+1102>, size=42) at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/driver/uart.c:1249
#5  0x400dfc6b in uartWriteBuf (uart=0x3ffbdc38 <_uart_bus_array>, data=0x3ffcbabe <custom_sessions+1102> "", len=42) at /home/kun/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-uart.c:436
#6  0x400dd2ec in HardwareSerial::write (this=0x3ffc6960 <Serial>, buffer=0x3ffcbabe <custom_sessions+1102> "", size=42) at /home/kun/.platformio/packages/framework-arduinoespressif32/cores/esp32/HardwareSerial.cpp:534
#7  0x401fe5dc in platformio_transport_write_serial (transport=0x3ffcb680 <custom_sessions+16>, buf=0x3ffcbabe <custom_sessions+1102> "", len=42, errcode=0x3ffda32f "") at lib/MicroRosRwm/micro_ros_transport_serial.cpp:29
#8  0x401e2899 in uxr_framing_write_transport (errcode=<optimized out>, cb_arg=<optimized out>, write_cb=<optimized out>, framing_io=<optimized out>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/Micro-XRCE-DDS-Client/src/c/profile/transport/stream_framing/stream_framing_protocol.c:136
#9  uxr_write_framed_msg (framing_io=0x3ffcba84 <custom_sessions+1044>, write_cb=0x401fe5c8 <platformio_transport_write_serial(uxrCustomTransport*, uint8_t const*, size_t, uint8_t*)>, cb_arg=0x3ffcb680 <custom_sessions+16>, buf=0x3ffcdc0c <custom_sessions+9628> "", len=732, remote_addr=<optimized out>, errcode=errcode@entry=0x3ffda32f "") at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/Micro-XRCE-DDS-Client/src/c/profile/transport/stream_framing/stream_framing_protocol.c:182
#10 0x401e0c64 in send_custom_msg (instance=0x3ffcb680 <custom_sessions+16>, buf=0x3ffcdc0c <custom_sessions+9628> "", len=732) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/Micro-XRCE-DDS-Client/src/c/profile/transport/custom/custom_transport.c:31
#11 0x401e159a in send_message (session=0x3ffcbb18 <custom_sessions+1192>, length=<optimized out>, buffer=<optimized out>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/Micro-XRCE-DDS-Client/src/c/core/session/session.c:770
#12 uxr_flash_output_streams (session=0x3ffcbb18 <custom_sessions+1192>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/Micro-XRCE-DDS-Client/src/c/core/session/session.c:614
#13 0x401ddb3b in rmw_publish (publisher=<optimized out>, ros_message=<optimized out>, allocation=<optimized out>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rmw-microxrcedds/rmw_microxrcedds_c/src/rmw_publish.c:81
#14 0x401daa19 in rcl_publish (publisher=<optimized out>, ros_message=0x3ffc5d38 <odom_msg>, allocation=0x0) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rcl/rcl/src/rcl/publisher.c:249
#15 0x400d37cb in callback_sensor_publisher_timer_ (timer=<optimized out>, last_call_time=<optimized out>) at src/fishbot.cpp:524
#16 callback_sensor_publisher_timer_ (timer=<optimized out>, last_call_time=<optimized out>) at src/fishbot.cpp:500
#17 0x401db904 in rcl_timer_call (timer=0x3ffc5ad8 <timer>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rcl/rcl/src/rcl/timer.c:289
#18 0x401d91aa in _rclc_execute (handle=0x3fff3240) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rclc/rclc/src/rclc/executor.c:1435
#19 0x401d98bf in _rclc_execute (handle=<optimized out>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rclc/rclc/src/rclc/executor.c:1406
#20 _rclc_default_scheduling (executor=<optimized out>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rclc/rclc/src/rclc/executor.c:1707
#21 rclc_executor_spin_some (executor=0x3ffc5b30 <executor>, timeout_ns=<optimized out>) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rclc/rclc/src/rclc/executor.c:1963
#22 0x401d998c in rclc_executor_spin_some (executor=0x3ffc5b30 <executor>, timeout_ns=100000000) at /home/fishros/pio/fishbot_motion_control_microros/.pio/libdeps/featheresp32/micro_ros_platformio/build/mcu/src/rclc/rclc/src/rclc/executor.c:1808
#23 0x400d4f6c in loop_fishbot_transport () at src/fishbot.cpp:418
#24 0x400d5fe9 in fishbot_loop_transport_task (param=0x0) at src/main.cpp:19

======================= ALL MEMORY REGIONS ========================
Name   Address   Size   Attrs
.rtc.text 0x400c0000 0x0 RW  
.rtc.dummy 0x3ff80000 0x0 RW  
.rtc.force_fast 0x3ff80000 0x0 RW  
.rtc.force_slow 0x50000210 0x0 RW  
.iram0.vectors 0x40080000 0x403 R XA
.iram0.text 0x40080404 0x1a9d7 R XA
.dram0.data 0x3ffbdb60 0x7ae0 RW A
.ext_ram_noinit 0x3f800000 0x0 RW  
.noinit 0x3ffc5640 0x0 RW  
.ext_ram.bss 0x3f800000 0x0 RW  
.flash.appdesc 0x3f400020 0x100 R  A
.flash.rodata 0x3f400120 0x2eddc RW A
.flash.text 0x400d0020 0x13b3db R XA
.phyiram.20 0x4020b3fc 0x61 R XA
.phyiram.18 0x4020b460 0x10e R XA
.phyiram.19 0x4020b570 0x90 R XA
.phyiram.17 0x4020b600 0x2d7 R XA
.phyiram.0 0x4020b8d8 0x2b R XA
.phyiram.1 0x4020b904 0x7d R XA
.phyiram.2 0x4020b984 0x21e R XA
.phyiram.3 0x4020bba4 0xab R XA
.phyiram.4 0x4020bc50 0xff R XA
.phyiram.6 0x4020bd50 0x83 R XA
.phyiram.7 0x4020bdd4 0x1ff R XA
.phyiram.8 0x4020bfd4 0x177 R XA
.phyiram.9 0x4020c14c 0x8e R XA
.phyiram.13 0x4020c1dc 0xba R XA
.phyiram.12 0x4020c298 0xeb R XA
.phyiram.14 0x4020c384 0x1cb R XA
.phyiram.16 0x4020c550 0x72 R XA
.phyiram.11 0x4020c5c4 0x78 R XA
.phyiram.15 0x4020c63c 0xba R XA
.phyiram.21 0x4020c6f8 0x4a R XA
.phyiram.22 0x4020c744 0x31 R XA
.phyiram.23 0x4020c778 0x103 R XA
.phyiram.24 0x4020c87c 0x87 R XA
.iram0.data 0x4009addc 0x0 RW  
.iram0.bss 0x4009addc 0x0 RW  
.dram0.heap_start 0x3ffd5b20 0x0 RW  
.coredump.tasks.data 0x3ffbd560 0x158 RW 
.coredump.tasks.data 0x3ffd7c00 0x240 RW 
.coredump.tasks.data 0x3ffbce08 0x158 RW 
.coredump.tasks.data 0x3ffbcc70 0x180 RW 
.coredump.tasks.data 0x3ffbc890 0x158 RW 
.coredump.tasks.data 0x3ffbc6f0 0x180 RW 
.coredump.tasks.data 0x3ffb73b0 0x158 RW 
.coredump.tasks.data 0x3ffb71d0 0x1c0 RW 
.coredump.tasks.data 0x3ffdb680 0x158 RW 
.coredump.tasks.data 0x3ffdb4a0 0x1c0 RW 
.coredump.tasks.data 0x3ffe605c 0x158 RW 
.coredump.tasks.data 0x3ffe5e70 0x1d0 RW 
.coredump.tasks.data 0x3ffe907c 0x158 RW 
.coredump.tasks.data 0x3ffe8e90 0x1d0 RW 
.coredump.tasks.data 0x3ffe3b90 0x158 RW 
.coredump.tasks.data 0x3ffe39a0 0x1d0 RW 
.coredump.tasks.data 0x3ffb7a54 0x158 RW 
.coredump.tasks.data 0x3ffb78a0 0x1a0 RW 
.coredump.tasks.data 0x3ffb7dc4 0x158 RW 
.coredump.tasks.data 0x3ffbad60 0x1a0 RW 
.coredump.tasks.data 0x3ffdfa68 0x158 RW 
.coredump.tasks.data 0x3ffe1410 0x1d0 RW 
.coredump.tasks.data 0x3ffbbeac 0x158 RW 
.coredump.tasks.data 0x3ffda0d0 0x580 RW 

===================== ESP32 CORE DUMP END =====================
===============================================================