Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iceoryx subscriber - TOO_MANY_CHUNKS_HELD_IN_PARALLEL error when flooding a receiver with messages #484

Open
tobiasstarkwayve opened this issue Mar 1, 2024 · 0 comments

Comments

@tobiasstarkwayve
Copy link

Bug report

Required Info:

  • Operating System:
    • Ubuntu 20.04.1
  • Installation type:
    • from source
  • Version or commit hash:
    • 1.3.4
  • DDS implementation:
    • Cyclone DDS 0.9.1 (w/ iceoryx 2.0.3)
  • Client library (if applicable):
    • rclcpp

Steps to reproduce issue

Build the two example programs in the attached archive
bug_reproducer_cpp.tar.gz

These reproducers are just one sender that sends as fast as it can and one receiver that slowly processes those messages (and will therefore quickly get overloaded). However, the limited KEEP_LAST capacity should mean that most of the incoming messages should just get dropped

Run RouDi, then both bug_reproducer and bug_reproducer_rcv together with the provided cyclonedds.xml (which enables shared-memory communication and nothing else

Expected behavior

Nothing to see, or maybe errors on the sender side that the receiver was unable to receive messages

Actual behavior

An unending stream of

DDS reader with topic rt/reproducer_topic : iceoryx subscriber - TOO_MANY_CHUNKS_HELD_IN_PARALLEL - could not take sample

on the receiver side.

Additional information

If I understand it correctly, the error message states that the receiver is holding on to too many samples (>256, I believe). Which is strange, considering that the KEEP_LAST policy should limit the reader to at most 10 samples, we should never even get near 256.

Is it possible that the iceoryx samples don't get freed properly if they are dropped from the input queue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant