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

Rosserial error: "Buffer overrun when attempting to parse setup message."

asked 2017-08-28 13:29:14 -0600

retepvan gravatar image

updated 2017-08-28 13:35:32 -0600

I am creating an application to control the Baxter robot with the Oculus Rift. Everything worked fine but after simply copying the program to another computer and running it from there, I am getting the error "Buffer overrun when attempting to parse setup message" at initialisation.

I am using two computers, obtaining and publishing data (using Rosserial Windows) on a Windows PC and creating ROS subscribers + processing the data on an Ubuntu PC. I migrated the code from my Windows laptop onto a Windows desktop, but haven't changed it otherwise. The error occurs immediately as the Windows node attempts to connect.

I am not sure what triggered the error, since I haven't changed my code. Apparently, it is caused by the StreamOverrun exception. More specifically, Rosserial's Session.h shows when the exception is triggered - I am also getting that ROS_ERRROR_ONCE message, which suggests topic_id < 100. I don't understand how that could be the case:

try {
          callbacks_[topic_id](stream);
        } catch(ros::serialization::StreamOverrunException e) {
          if (topic_id < 100) {
            ROS_ERROR("Buffer overrun when attempting to parse setup message.");
            ROS_ERROR_ONCE("Is this firmware from a pre-Groovy rosserial?");
          } else {
            ROS_WARN("Buffer overrun when attempting to parse user message.");
          }
        }

For reference, my code can be found on my github.

I would appreciate any help. Thanks.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2017-09-02 14:23:41 -0600

retepvan gravatar image

I discovered what the issue was. Optimisation set in the Release Configuration in Visual Studio of my Rosserial Windows application was causing problems. The solution was to disable optimisation.

edit flag offensive delete link more

Comments

If changing the optimalisation levels really works-around / resolves this, then I think that would be something to report at rosserial/issues, as it would seem to point to a serious issue.

gvdhoorn gravatar image gvdhoorn  ( 2017-09-03 01:22:48 -0600 )edit

Cheers, I will do that.

retepvan gravatar image retepvan  ( 2017-09-03 08:05:06 -0600 )edit

Question Tools

2 followers

Stats

Asked: 2017-08-28 13:29:14 -0600

Seen: 1,000 times

Last updated: Sep 02 '17