0
$\begingroup$

Rosanswers logo

I am using ROS Kinetic on Ubuntu 16.04. After updating my system this morning (which included a lot of ROS packages), rosout and other nodes are crashing with the following exception:

terminate called after throwing an instance of 'std::runtime_error'
  what():  Time is out of dual 32-bit range

Minimal example to reproduce the issue:

  1. Run roscore in a terminal

  2. In another terminal run the following Python script:

     import rospy
    
     rospy.init_node("foo")
     rospy.sleep(1)
    

When the script terminates rosout crash with the exception given above (in the roscore terminal)

If running more stuff, several other nodes crash with the same error.

Since everything was well yesterday, I suspect that this is caused by the update. Is anybody else having the same issue and/or knows how to fix it (apart from trying to roll back the update)?


Originally posted by Felix Widmaier on ROS Answers with karma: 382 on 2018-09-07

Post score: 2


Original comments

Comment by Felix Widmaier on 2018-09-07:
I tried to rollback the update but it seems that ROS packages of older versions are not kept in the apt repository, so apt-get is not able to install the old version.

Comment by Felix Widmaier on 2018-09-07:
I figured out it is not related to gazebo (apparently not even sim time). I updated the question with more minimal reproduction steps.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

It turned out I had some outdated clone of ros_comm in my workspace that apparently is incompatible with the latest update. Removing it from the workspace fixed the issue.


Originally posted by Felix Widmaier with karma: 382 on 2018-09-07

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by gvdhoorn on 2018-09-09:
This was most likely an ABI compatibility issue.

Did you rebuild your workspace after installing updates?

Technically, you should. Most of the times it works without doing it, but if the updates changed the ABI, strange things like this may happen.

Comment by Felix Widmaier on 2018-09-10:
I did a complete clean & rebuild which did not help. The state of ros_comm I had in my workspace was pretty old, I think it just became incompatible with some other core package. I anyway don't need it anymore, though, so I am good with simply removing it from the workspace.

Comment by gvdhoorn on 2018-09-10:
My "rebuild the workspace" statement was a bit ambiguous. What I meant to say is that after upgrading, rebuilding the workspace is essentially required.

Orthogonal to that: when ABI incompatibilities are introduced (either upstream or downstream), these sort of things can happen.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.