Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Recent ros:kinetic-ros-base-xenial causes some ROS packages to crash #198

Closed
Axel13fr opened this issue Oct 9, 2018 · 3 comments
Closed

Comments

@Axel13fr
Copy link

Axel13fr commented Oct 9, 2018

Hi,
I have had the following problem about a bit more than a month ago: latest kinetic docker images causes crash at start of at least the following nodes: diagnostic aggregator and static tf transformer. When I compile them from source using the docker image, problem is solved. It really looks like a binary / lib compatibility problem.

By the way, these packages did not crash in previous versions of the docker image (sorry, do not have the exact history of when it started to happen) and it doesn't crash on my current Ubuntu 16.04.

To reproduce the issue:

FROM ros:kinetic-ros-base-xenial

RUN apt-get update && apt-get install -y --no-install-recommends apt-utils && rm -rf /var/lib/apt/lists/*
ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends libgeographic-dev python-catkin-tools && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y --no-install-recommends \
											ros-kinetic-diagnostic-aggregator \
											ros-kinetic-diagnostic-updater \ 
											&& rm -rf /var/lib/apt/lists/*

Then run the image with
docker run -it --entrypoint /bin/bash YOU_IMAGE_NAME
and after sourcing, try to roslaunch an aggregator node (diagnostic_aggregator / aggregator_node).
Same thing for tf / static_transform_publisher.

Do you have any idea ? I will try to rebuild the whole composition of docker files from scratch without cache.

@Axel13fr
Copy link
Author

So I managed to solve the issue by updating (docker pull) the ubuntu:xenial used in the ros-core docker.
I then built the ros:kinetic-ros-core-xenial image with no-cache option and finally build the ros:kinetic-ros-core-base image again with no-cache option. When rebuilding the example I gave above, the problem is not there anymore.

But it is STILL THERE if one just docker pull ros:kinetic-ros-base-xenial. Could you trigger a complete rebuild ?

@sloretz
Copy link
Contributor

sloretz commented Oct 10, 2018

It looks like there might have been an ABI break in one of diagnostic_aggregator's dependencies. If I understand correctly the docker images are rebuilt only when the base (ubuntu) image changes. Having a way to rebuild these more often is tracked in #112.

A workaround is to upgrade all packages in your dockerfile.

FROM ros:kinetic-ros-base-xenial

RUN apt-get update && apt-get upgrade -y && rm -rf /var/lib/apt/lists/*

There's a bit more info in #182.

@ruffsl
Copy link
Member

ruffsl commented Nov 16, 2018

Given this ABI break wasn't reflected in the semantic versioning of the released package, this is mainly an upstream issue for the package maintainer. So I'm closing this as its not specific to these docker images.

However to mitigate this, I've started #204 to help keep the images more in sync with upstream.

@ruffsl ruffsl closed this as completed Nov 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants