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

Messages (and svcs and action goals) larger than a certain size seem to 'disappear'

Aberta
#143 10 comentários 0 reações 2 responsáveis Ver no GitHub

@Acuadros95 já está trabalhando nisso.

Desde 24/5/2022.

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

Descrição

**Describe the bug**

Agents do not appear to forward messages coming in from the "ROS 2 side" that are larger than a certain size.

Increasing the verboseness of the Agent, DDS messages with `len: 67776` for instance just *disappear*. There are no warnings or errors printed by the Agent, and the Client doesn't appear to receive anything, nor does it notify the Agent of any error.

For reference, this was also discussed in https://github.com/micro-ROS/rmw_microxrcedds/issues/258.

**To Reproduce**
Steps to reproduce the behaviour:

Not *exactly* steps, but at a high level:

1. implement a Client capable of subscribing to a message with a variable sized payload
2. create a `rclcpp` or `rclpy` publisher which publishes instances of this message
3. gradually increase size of the payload from something small to 'something large'
4. notice how at a certain point, the Client no longer receives any messages

Alternatively: create a server service and client, or an action server and client, which exchange the described message (as one of the fields fi).

Service invocations and action goal submissions will silently start to fail for messages "too large".

**Expected behaviour**
Ideally: messages of all sizes (even large ones) get forwarded successfully.

Realistically (as unlimited memory doesn't exist): the Agent prints a warning or error, clearly showing it's impossible to forward a message.

If possible: in case of svcs and actions: notify the client the invocation failed -- due to RMW-level failures (so not the invocation itself, but the request didn't even arrive at the server).

**System information (please complete the following information):**
- OS: observed under Ubuntu `20.04`, but same happens on other OS
- ROS 2 Foxy, Galactic and Rolling
- Version: using the "most recent" Docker image (`microros/micro-ros-agent` / `5e93b1fa5608`)

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.

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

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