ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Error when deserializing message, buffer overrun, publisher in labview, subscriber in ubuntu machine.

asked 2017-02-15 03:00:11 -0500

highWaters gravatar image

updated 2017-02-15 03:05:19 -0500

gvdhoorn gravatar image

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.

edit retag flag offensive close merge delete

Comments

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?

gvdhoorn gravatar image gvdhoorn  ( 2017-02-15 04:17:30 -0500 )edit

Yes that is the one. This tutorial was followed to set up the publisher http://sine.ni.com/cs/app/doc/p/id/cs...

highWaters gravatar image highWaters  ( 2017-02-15 06:33:14 -0500 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2017-02-15 06:47:54 -0500 )edit

I did as you say. Thanks for the effort. https://github.com/tuftsBaxter/ROS-fo...

highWaters gravatar image highWaters  ( 2017-02-15 07:15:35 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-02-22 03:46:26 -0500

highWaters gravatar image

So, the following worked for me. First download the github version of the ros for LabVIEW, as it is the latest one. Then open a new vi and drag a publisher from Examples/Rosexamples folder on the vi. While the master is running on the ubuntu machine, run the vi. It will ask to provide the master's URI. You should then be able to see the messages on the ubuntu side.

For the subscriber on the labview it is the same procedure. You drag it into a new vi, run the vi, it will open up a window where the message should be shown, press run again. The publisher on the ubuntu should be running first.

Hope this helps!

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2017-02-15 03:00:11 -0500

Seen: 1,325 times

Last updated: Feb 22 '17