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

retepvan's profile - activity

2019-05-20 02:21:43 -0500 marked best answer Rosserial error: "Buffer overrun when attempting to parse setup message."

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.

2018-09-17 08:31:08 -0500 commented question [MoveIt!] Cannot update robot's state

In my case, the issue was that the system time on the command-sending computer was different to Baxter's system time. I

2018-02-09 10:22:34 -0500 received badge  Famous Question (source)
2017-12-20 08:45:25 -0500 received badge  Famous Question (source)
2017-09-13 13:00:27 -0500 received badge  Notable Question (source)
2017-09-03 08:05:06 -0500 commented answer Rosserial error: "Buffer overrun when attempting to parse setup message."

Cheers, I will do that.

2017-09-02 14:26:13 -0500 received badge  Popular Question (source)
2017-09-02 14:23:41 -0500 answered a question Rosserial error: "Buffer overrun when attempting to parse setup message."

I discovered what the issue was. Optimisation set in the Release Configuration in Visual Studio of my Rosserial Windows

2017-08-28 13:35:32 -0500 edited question Rosserial error: "Buffer overrun when attempting to parse setup message."

Rosserial error: "Buffer overrun when attempting to parse setup message." I am creating an application to control the Ba

2017-08-28 13:35:09 -0500 received badge  Notable Question (source)
2017-08-28 13:34:56 -0500 edited question Rosserial error: "Buffer overrun when attempting to parse setup message."

Rosserial error: "Buffer overrun when attempting to parse setup message." I am creating an application to control the Ba

2017-08-28 13:34:24 -0500 edited question Rosserial error: "Buffer overrun when attempting to parse setup message."

Rosserial error: "Buffer overrun when attempting to parse setup message." I am creating an application to control the Ba

2017-08-28 13:33:51 -0500 edited question Rosserial error: "Buffer overrun when attempting to parse setup message."

Rosserial error: "Buffer overrun when attempting to parse setup message." I am creating an application to control the Ba

2017-08-28 13:29:14 -0500 asked a question Rosserial error: "Buffer overrun when attempting to parse setup message."

Rosserial error: "Buffer overrun when attempting to parse setup message." I am creating an application to control the Ba

2017-07-20 11:10:19 -0500 commented question [MoveIt!] Cannot update robot's state

Hi, have you managed to fix the problem, and if so, how? I'm running into the same issue. Thanks!

2017-07-20 11:09:45 -0500 received badge  Enthusiast
2017-07-10 02:11:42 -0500 received badge  Popular Question (source)
2017-07-09 17:45:46 -0500 commented answer Rosserial_windows /message_info fail and other errors

Actually, I can make the echo work by restarting the rostopic echo terminals every time I run the windows program. Rosto

2017-07-09 12:24:41 -0500 commented answer Rosserial_windows /message_info fail and other errors

On the ROS side. Right now I terminate the loop of the windows application with ctrl+c and when I re-run it without rest

2017-07-09 11:55:59 -0500 commented answer Rosserial_windows /message_info fail and other errors

Thank you, that worked! However, I have to shutdown the socket manually every time I want to re-run the application, oth

2017-07-09 11:40:41 -0500 marked best answer Rosserial_windows /message_info fail and other errors

I've got Windows 10 and Ubuntu 16.04 machines connected via crossover cable - good connection with 0% data loss (ping test).

I ran the rosserial_windows tutorial code (also with a string and float message), but the rostopic echo terminal prints the test values only ~1 in every 20 runs of the application, meaning that most of the time the publishing doesn't work. Even when it prints, most values are lost (e.g. only last 20 out of 100 published float values are printed). And sometimes, the echo terminal does nothing and 10 seconds later suddenly prints a couple of values.

The above happens randomly, keeping the same code and same settings. I have tried restarting terminals and roscore as well as various combinations of Sleep() values at various points in the code without success.

Furthermore, the socket_node terminal throws these errors every time I run the application:

me@me-Latitude-E6320:~$ rosrun rosserial_server socket_node
[ INFO] [1499599015.241172592]: Listening for rosserial TCP connections on port 11411
[ INFO] [1499603182.806853843]: waitForService: Service [/message_info] has not been advertised, waiting...
[ WARN] [1499603187.808410969]: Timed out waiting for message_info service to become available.
[ WARN] [1499603187.810210617]: Failed to call message_info service. Proceeding without full message definition.
[ WARN] [1499603187.810350448]: Advertising on topic [/float] with an empty message definition. Some tools (e.g. rosbag) may not work correctly.
[ WARN] [1499603187.815449686]: Failed to call message_info service. Proceeding without full message definition.
[ WARN] [1499603187.815541812]: Advertising on topic [/chatter] with an empty message definition. Some tools (e.g. rosbag) may not work correctly.
[ WARN] [1499603193.034867068]: Socket asio error, closing socket: system:104

Here is the application code for a simple float publish:

#include "tchar.h"
#include <iostream>

#include "ros.h"
#include "duration.cpp"
#include "time.cpp"
#include "WindowsSocket.h"
#include "WindowsSocket.cpp"

#include <sstream>
#include <std_msgs\String.h>
#include <std_msgs\Float64.h>

using std::string;

int _tmain(int argc, _TCHAR * argv[])
{
    ros::NodeHandle nh;
    char *ros_master = "192.168.1.2:11411";

    printf("Connecting to server at %s\n", ros_master);
    nh.initNode(ros_master);

    printf("Advertising message\n");
    std_msgs::Float64 float_msg;
    ros::Publisher chpub("chatter", &float_msg);
    nh.advertise(chpub);

    printf("Go robot go!\n");
    for (int i=0; i<100; i++)
    {
        float_msg.data = (float) 1.503;
        chpub.publish(&float_msg);
        printf("printing number : %f\n", float_msg.data);
        nh.spinOnce();
        Sleep(100);
    }
    printf("All done!\n");
    return 0;
}

Do you know how I could resolve these issues and make the publishing work reliably? I need to transfer position and orientation float values at a fast rate from a sensor to move a ROS-controlled robot.

I would appreciate any help. Thanks.

2017-07-09 11:40:41 -0500 received badge  Scholar (source)
2017-07-09 11:25:53 -0500 edited question Rosserial_windows /message_info fail and other errors

Rosserial_windows /message_info fail and other errors I've got Windows 10 and Ubuntu 16.04 machines connected via crosso

2017-07-09 11:25:53 -0500 received badge  Editor (source)
2017-07-09 11:12:07 -0500 edited question Rosserial_windows /message_info fail and other errors

Rosserial_windows /message_info fail and other errors I've got Windows 10 and Ubuntu 16.04 machines connected via crosso

2017-07-09 11:09:50 -0500 asked a question Rosserial_windows /message_info fail and other errors

Rosserial_windows /message_info fail and other errors I've got Windows 10 and Ubuntu 16.04 machines connected via crosso

2017-06-14 05:51:48 -0500 commented question ROS support for Oculus Rift and Touch

Hi Lucas, have you managed to find a Touch-ROS package? Thanks!

2017-06-14 05:37:03 -0500 received badge  Supporter (source)