micro-ROS / micro-ROS/micro-ROS-Agent

Deserializing error for string type

Aberta
#234 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C++
Estrelas
201
Forks
111
Merge médio
1d 6h
PRs com merge (30d)
10

Descrição

**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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Reproduza a chamada de serviço no STM32F767ZI com um campo string usando ROS 2 Humble e, em seguida, inspecione a falha do executor em ucdr_deserialize_sequence_header ao analisar o tipo de mensagem aninhado. O issue estará concluído quando o MCU aceitar e tratar a chamada de serviço sem um erro de desserialização, enquanto as chamadas de serviço sem string continuarem funcionando.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
cpp
Domínio
embedded-iot, robotics
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.