Page 1 of 1

Coppelia chrashes in Docker on Ubuntu Focal

Posted: 12 Aug 2020, 06:40
by mechatheo
Hello,

first of all thank you very much for the product you provide, it is a great
enabler for our project.

We used to run the simulation in a docker container, which worked out with
Ubuntu Bionic and previous Versions of Coppelia/VREP. However now as we
started transitioning to Ubuntu Focal we realized that the usual setup does
no longer work.

To run the simulation in a container we used the typical xserver forwarding
trick, where you do:
xhost +local:docker
before launching the container

and then add the following to the docker run command line arguments:
-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix

Now with the new Ubuntu Focal Based Image and CoppeliaSim V4.0.0 and V4.1.0
(tested both), we get the following error, when we are trying to start the
simulation:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
[CoppeliaSim:error] failed creating an offscreen QOpenGLContext.
Switching to a hidden QGLWidget.


Error: signal 11:

/opt/coppeliasim/libcoppeliaSim.so(_segHandler(int)+0x2b)[0x7fef5df408db]
/lib/x86_64-linux-gnu/libc.so.6(+0x46210)[0x7fef60ff0210]
/lib/x86_64-linux-gnu/libc.so.6(+0x18b4e5)[0x7fef611354e5]
/opt/coppeliasim/libcoppeliaSim.so(initGl_ifNeeded()+0x116)[0x7fef5e0c3986]

/opt/coppeliasim/libcoppeliaSim.so(COffscreenGlContext::COffscreenGlContext(int,
int, int, QGLWidget*, int, int)+0x15d)[0x7fef5e12659d]

/opt/coppeliasim/libcoppeliaSim.so(CVisionSensorGlStuff::CVisionSensorGlStuff(int,
int, int, bool, QGLWidget*, bool, bool, int, int)+0x74)[0x7fef5e128104]

/opt/coppeliasim/libcoppeliaSim.so(CVisionSensor::createGlContextAndFboAndTextureObjectIfNeeded(bool)+0x1a7)[0x7fef5de17ad7]
/opt/coppeliasim/libcoppeliaSim.so(CVisionSensor::detectEntity2(int, bool,
bool, bool, bool)+0x1f6)[0x7fef5de1c2a6]

/opt/coppeliasim/libcoppeliaSim.so(CVisionSensor::detectVisionSensorEntity_executedViaUiThread(int,
bool, bool, bool, bool)+0x7f)[0x7fef5de1c59f]

/opt/coppeliasim/libcoppeliaSim.so(CUiThread::__executeCommandViaUiThread(SUIThreadCommand*,
SUIThreadCommand*)+0xeb5)[0x7fef5e0811d5]
QMutex: destroying locked mutex

and this is regardless of whether we use headless or non headless mode.

Can you provide some help with that?
Is there something which can be done about the qt platform plugins?
are some special packages needed?
Is there a better way to run coppelia in a docker?

For us the visual components is actually nice to have, if there is a way to
run coppelia in the docker without any visuals and hence xserver
dependencies, this also would be great.

Thank you very much in advance.

The help would be realy needed, we enjoy your product very much, however
the integration into our CI pipeline is a crutial feature we cannot loose
just because of the Ubuntu update (which is also mandatory for us).

Kind Regards

Fedor Vlasov

Re: Coppelia chrashes in Docker on Ubuntu Focal

Posted: 13 Aug 2020, 10:36
by fferri
mechatheo wrote: 12 Aug 2020, 06:40 libGL error: failed to load driver: swrast
a quick google search reveals this error is not specific to CoppeliaSim

it could rather be related to your graphic drivers

Re: Coppelia chrashes in Docker on Ubuntu Focal

Posted: 04 Sep 2020, 07:13
by avena_robotics
Hello, I am struggling with the same problem. Have you found a solution?

Cheers

Re: Coppelia chrashes in Docker on Ubuntu Focal

Posted: 15 Oct 2020, 18:14
by mechatheo
no i didn't find a solution yet sadly.
also i know saw that other ui based applications launched in docker on Ubuntu 20.04 will report this

Code: Select all

libGL error: failed to load driver: swrast
error and still manage to run just fine. I feel like the more important issue is the locked mutex and this is sth. Coppelia should look into.

Re: Coppelia chrashes in Docker on Ubuntu Focal

Posted: 12 Nov 2020, 14:33
by coppelia
Hello,

please try our CoppeliaSim docker image that should work fine.

Cheers