micro-ROS / micro-ROS/micro_ros_setup
micro-ros-agent: [ros2run]: Segmentation fault when trying to set
- Ngôn ngữ chính
- Shell
- Star
- 509
- Fork
- 183
- Merge trung bình
- 22 giờ 26 phút
- Pull request đã merge (30 ngày)
- 7
Mô tả
## 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?
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện lỗi bằng `ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyAMA1 -b 921600 -v 6` trên Raspberry Pi CM4, sử dụng các thông báo đã ghi về việc tạo client và kết nối nối tiếp làm điểm bắt đầu. Xác định lý do agent bị segmentation fault sau khi client kết nối, đồng thời ghi lại nguyên nhân đã được xác nhận và một bản sửa có thể tái hiện hoặc kết quả gỡ lỗi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- raspberry-pi
- Lĩnh vực
- embedded-iot, robotics
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 30/100