micro-ROS / micro-ROS/micro-ROS-Agent
Deserializing error for string type
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 201
- Forks
- 111
- Merge medio
- 1 d 6 h
- PR fusionados (30 d)
- 10
Descripción
**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
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Reproduce la llamada al servicio en el STM32F767ZI con un campo de tipo string usando ROS 2 Humble y, a continuación, inspecciona el fallo del executor en ucdr_deserialize_sequence_header al analizar el tipo de mensaje anidado. El issue estará terminado cuando el MCU acepte y gestione la llamada al servicio sin un error de deserialización, mientras las llamadas al servicio que no usan strings continúan funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp
- Área
- embedded-iot, robotics
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100