micro-ROS / micro-ROS/micro_ros_setup
micro-ros-agent: [ros2run]: Segmentation fault when trying to set
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Shell
- Sterne
- 509
- Forks
- 183
- Ø Merge
- 22 Std. 26 Min.
- Gemergte PRs (30 T.)
- 7
Beschreibung
## Segmentation Fault in micro-ros-agent
- Hardware description: The micro-ros-agent was compiled on a raspberry pi CM4 where ROS2 Humble is installed.
- RTOS: I'm trying to setup a connection between the raspberry pi and a PX4 flight controller running NuttX
- Installation type: I have used the [current main branch](https://github.com/PX4/PX4-Autopilot) of the px4-firmware and confirmed that the microdds_client works (I have connected my development computer running ubuntu 20.04 and ros2 galactic and ran the same ros2 testing nodes using the same serial connection).
- Version or commit hash: ros2 humble
#### Steps to reproduce the issue
I have compiled the micro-ros-agent according to the instructions found [here](https://github.com/micro-ROS/micro_ros_setup#building-micro-ros-agent). When running the agent it starts up just fine and as soon as the client side is launched I get the following error:
```
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyAMA1 -b 921600 -v 6
[1669365763.761759] info | TermiosAgentLinux.cpp | init | running... | fd: 3
[1669365763.762643] info | Root.cpp | set_verbose_level | logger setup | verbose_level: 6
[1669365794.016024] info | Root.cpp | create_client | create | client_key: 0xAAAABBBB, session_id: 0x81
[1669365794.017208] info | SessionManager.hpp | establish_session | session established | client_key: 0xAAAABBBB, address: 1
[1669365794.017602] debug | SerialAgentLinux.cpp | send_message | [** <> **] | client_key: 0xAAAABBBB, len: 19, data:
0000: 81 00 00 00 04 01 0B 00 00 00 58 52 43 45 01 00 01 0F 00
[1669365794.120910] debug | SerialAgentLinux.cpp | recv_message | [==>> SER <<==] | client_key: 0xAAAABBBB, len: 108, data:
0000: 81 80 00 00 01 05 62 00 00 0A 00 11 01 02 00 00 53 00 00 00 3C 64 64 73 3E 3C 70 61 72 74 69 63
0020: 69 70 61 6E 74 3E 3C 72 74 70 73 3E 3C 6E 61 6D 65 3E 70 78 34 5F 6D 69 63 72 6F 5F 78 72 63 65
0040: 5F 64 64 73 3C 2F 6E 61 6D 65 3E 3C 2F 72 74 70 73 3E 3C 2F 70 61 72 74 69 63 69 70 61 6E 74 3E
0060: 3C 2F 64 64 73 3E 00 00 00 00 00 00
[1669365794.121227] debug | SerialAgentLinux.cpp | recv_message | [==>> SER <<==] | client_key: 0xAAAABBBB, len: 13, data:
0000: 81 00 00 00 0B 01 05 00 00 00 00 00 80
[ros2run]: Segmentation fault
```
On the client side in the NuttX shell I get the following error:
```
ERROR [microdds_client] create entities failed: participant: 255
```
I have tested the client side with other agents where it worked like charm, so I believe that the problem is the agent running on my raspberry pi CM4. What are steps I can take to debug this problem?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Reproduziere den Fehler mit `ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyAMA1 -b 921600 -v 6` auf dem Raspberry Pi CM4, wobei die protokollierten Meldungen zur Client-Erstellung und zur seriellen Schnittstelle als Ausgangspunkt dienen. Ermittle, warum der Agent nach dem Verbinden des Clients einen Segmentation Fault verursacht, und dokumentiere eine bestätigte Ursache sowie eine reproduzierbare Lösung oder ein Ergebnis der Fehlersuche.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- raspberry-pi
- Bereich
- embedded-iot, robotics
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100