You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi all,
I'm new to Fast-DDS so please be nice if my mistakes seem obvious to you.
This is the setup:
I have four separate agents which each calculate a value and want to exchange it with each other. This should happen for many iterations, then the program stops. Each agent has its own participant with a publisher and a subscriber. In the UDP case, everything seems to work, but when using TCP I get two different errors: ERROR: AddressSanitizer: SEGV on unknown address and [RTCP Error] Cannot find an available logical port. -> Function prepare_send_check_logical_ports_req when one of the programs is done. This happens even if I let the thread sleep for a long time.
I'm wondering now if this happens because one agent, as he stops, closes the port which other agents are still trying to use. So my question is: How do I properly end a program in this case?
I've tried closing or deleting all DataWriters or DataReaders in different orders, using the Domain::stopAll() function or using nothing at all, nothing seems to work.
I'd be very very thankful if anyone could help me out with this. As far as I know there's no example for this case even though it seems pretty common to me.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi all,
I'm new to Fast-DDS so please be nice if my mistakes seem obvious to you.
This is the setup:
I have four separate agents which each calculate a value and want to exchange it with each other. This should happen for many iterations, then the program stops. Each agent has its own participant with a publisher and a subscriber. In the UDP case, everything seems to work, but when using TCP I get two different errors:
ERROR: AddressSanitizer: SEGV on unknown address
and[RTCP Error] Cannot find an available logical port. -> Function prepare_send_check_logical_ports_req
when one of the programs is done. This happens even if I let the thread sleep for a long time.I'm wondering now if this happens because one agent, as he stops, closes the port which other agents are still trying to use. So my question is: How do I properly end a program in this case?
I've tried closing or deleting all DataWriters or DataReaders in different orders, using the Domain::stopAll() function or using nothing at all, nothing seems to work.
I'd be very very thankful if anyone could help me out with this. As far as I know there's no example for this case even though it seems pretty common to me.
Beta Was this translation helpful? Give feedback.
All reactions