Deserializing error for string type

Đang mở
#234 3 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
cpp
Lĩnh vực
embedded-iot, robotics

Hướng nghiên cứu

Tái hiện lệnh gọi service trên STM32F767ZI với một trường string bằng ROS 2 Humble, sau đó kiểm tra lỗi của executor tại ucdr_deserialize_sequence_header khi phân tích kiểu message lồng nhau. Issue được hoàn tất khi MCU chấp nhận và xử lý lệnh gọi service mà không có lỗi giải tuần tự hóa, trong khi các lệnh gọi service không có string vẫn tiếp tục hoạt động.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Describe the bug
String types in service types cause microROS on the MCU side to fail in the executor due to a deserializing error. Running it through a debugger it fails in ucdr_deserialize_sequence_header when parsing the nested message type.

Service calls with non-string types work as expected. I've verified it's not a buffer overflow since the buffer size >> bytes received. There is also no packet corruption in UDP traffic, the dest packet and src packet match 1:1.

To Reproduce
Steps to reproduce the behaviour:

  1. On MCU, init service with service type that has a string type
  2. On host side, call service

Expected behaviour
The MCU accepts the service call and handles accordingly.

Actual behaviour
Executor fails due to deserialization error.

System information (please complete the following information):

  • OS: Ubuntu 22.04
  • ROS 2 Humble
  • MCU: STM32F767ZI
Ngôn ngữ chính
C++
Star
201
Fork
111
Merge trung bình
1 ngày 6 giờ
Pull request đã merge (30 ngày)
10

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của micro-ROS/micro-ROS-Agent

Tất cả issue của micro-ROS/micro-ROS-Agent

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.