Error when deserializing message, buffer overrun, publisher in labview, subscriber in ubuntu machine.
Hello,
I have the following setup. There are two machines, one arm device with Ubuntu in which I run the ros master and a subscriber, and one labview system which connects to that master and runs a publisher. The subscriber and publisher node are the basic ones from the ros tutorials.
When publishing, I get the following error on the subscriber's side:
[ERROR] []: Exception thrown when deserializing message of length [] from []: Buffer Overrun
if I have sent an empty message (empty string) or
[ERROR] []: Exception thrown when deserializing message of length [] from []: basic_string::_S_create
in case it is not empty.
I was able to find one related post here: #q42336. As I understand it might be an endianness problem and in fact the arm device is little endian while the other is big endian.
I think that the problem lies on the publisher's side, in which the length of the ros message is written big endian, as such a crash is produced on the subscriber which reads it little endian. How can this be solved?
Thank you for your time.
You mention Labview, but you don't tell us what you are using to allow Labview to communicate with a ROS node graph. Are you using ROS for LabVIEW by Tufts?
Yes that is the one. This tutorial was followed to set up the publisher http://sine.ni.com/cs/app/doc/p/id/cs...
I cannot find any of the Tuft developers on ROS Answers, so you might want to post an issue over at tuftsBaxter/ROS-for-LabVIEW-Software and see if that gets some attention. Do please link us here to that issue.
I did as you say. Thanks for the effort. https://github.com/tuftsBaxter/ROS-fo...