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

Offen
#143 10 Kommentare 0 Reaktionen 2 zugewiesene Personen Auf GitHub ansehen

@Acuadros95 arbeitet bereits daran.

Seit 24.5.2022.

Bewertung

Dieses Issue wurde noch nicht bewertet.

Beschreibung

bug

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)
Vorherrschende Sprache
C++
Sterne
201
Forks
111
Ø Merge
1 T. 6 Std.
Gemergte PRs (30 T.)
10

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus micro-ROS/micro-ROS-Agent

Alle Issues in micro-ROS/micro-ROS-Agent

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.