Description
Hi there!
for a while now I was sometimes getting these kinds of error messages from nodes that subscribe to topics on which I publish messages with ROSIntegration.
Most of the time it's something like this
[ERROR] [1552475202.508205515]: a message of over a gigabyte was predicted in tcpros. that seems highly unlikely, so I'll assume protocol synchronization is lost.
[ERROR] [1552475202.508506874]: Exception thrown when deserializing message of length [0] from [/rosbridge_tcp]: Buffer Overrun
[ERROR] [1552475202.508568769]: Exception thrown when deserializing message of length [19] from [/rosbridge_tcp]: Buffer Overrun
Sometimes something like this happens
[ERROR] [1552418004.467198903]: Exception thrown when deserializing message of length [0] from [/rosbridge_tcp]: Buffer Overrun
[ERROR] [1552418004.467337097]: Exception thrown when deserializing message of length [6] from [/rosbridge_tcp]: Buffer Overrun
[ERROR] [1552418004.475854]: [Client 0] [id: publish:/ugv_0/odometry:43] publish: integer out of range for 'I' format code
And sometimes a mixture of both.
Because of that last error I already tried to find an integer in the header of nav_msgs/Odometry that is maybe out of bounds. But the only integers there are in the timestamp which I can guarantee is not out of bounds and the sequence ID which, as I learned today is discarded and refilled by ROS anyway (ros2/common_interfaces#1 (comment)).
The errors mostly happen in the first few seconds of the nodes execution and crash the node. If it runs for about 5 seconds without crash it doesn't crash afterward as far as I can tell.
I have tried to run a node that throws these errors in gdb to debug it, but the exceptions are caught somewhere else and I don't get a chance to see where they come from. I also can't find anything relevant when googling for the error messages.
Do you have any idea where this comes from or where to start debugging?
Thanks in advance!