-
Notifications
You must be signed in to change notification settings - Fork 94
Open
Description
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:
- On MCU, init service with service type that has a string type
- 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
Metadata
Metadata
Assignees
Labels
No labels