I'm trying to run a Docker image of a custom V-REP (version 3.5.0) scene in a Microsoft Azure virtual machine, but I always get an error signal 11.
In this virtual machine I have:
- OS Ubuntu 18.04
- NVIDIA driver 460.32.03 and CUDA version 11.2
- Docker version 20.10.2
- OpenGL version string: 1.4 (4.6.0 - Build 26.20.100.7325)
When I run the following command:
Code: Select all
docker run -it --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" --volume="/home/silviaRL/.Xauthority:/root/.Xauthority:rw" --runtime=nvidia --net=host vrep_ee_camera-reach
Code: Select all
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Using the default Lua library.
Add-on script 'vrepAddOnScript-addOnScriptDemo.lua' was loaded.
Simulator launched.
Plugin 'MeshCalc': loading...
Plugin 'MeshCalc': load succeeded.
Plugin 'BlueZero': loading...
Plugin 'BlueZero': warning: replaced variable 'simB0'
Plugin 'BlueZero': load succeeded.
Plugin 'BubbleRob': loading...
Plugin 'BubbleRob': load succeeded.
Plugin 'Bwf': loading...
Plugin 'Bwf': load succeeded.
Plugin 'Collada': loading...
V-REP runs in headless mode. Cannot start 'Collada' plugin.
Error with plugin 'Collada': load failed (failed initialization).
Plugin 'ConvexDecompose': loading...
Plugin 'ConvexDecompose': load succeeded.
Plugin 'CustomUI': loading...
Initialization failed, running in headless mode. Cannot start 'CustomUI' plugin.
Error with plugin 'CustomUI': load failed (failed initialization).
Plugin 'DynamicsBullet-2-78': loading...
Plugin 'DynamicsBullet-2-78': load succeeded.
Plugin 'DynamicsBullet-2-83': loading...
Plugin 'DynamicsBullet-2-83': load succeeded.
Plugin 'DynamicsNewton': loading...
Plugin 'DynamicsNewton': load succeeded.
Plugin 'DynamicsOde': loading...
Plugin 'DynamicsOde': load succeeded.
Plugin 'DynamicsVortex': loading...
Plugin 'DynamicsVortex': load succeeded.
Plugin 'ExternalRenderer': loading...
Plugin 'ExternalRenderer': load succeeded.
Plugin 'ICP': loading...
Plugin 'ICP': warning: replaced variable 'simICP'
Plugin 'ICP': load succeeded.
Plugin 'Image': loading...
Error with plugin 'Image': load failed (could not load). The plugin probably couldn't load dependency libraries. For additional infos, modify t he script 'libLoadErrorCheck.sh', run it and inspect the output.
Plugin 'K3': loading...
Plugin 'K3': load succeeded.
Plugin 'LuaCommander': loading...
LuaCommander: cannot find the statusbar widget
Error with plugin 'LuaCommander': load failed (failed initialization).
Plugin 'LuaRemoteApiClient': loading...
Plugin 'LuaRemoteApiClient': load succeeded.
Plugin 'Mtb': loading...
Plugin 'Mtb': load succeeded.
Plugin 'OMPL': loading...
Plugin 'OMPL': warning: replaced variable 'simOMPL'
Plugin 'OMPL': load succeeded.
Plugin 'OpenMesh': loading...
Plugin 'OpenMesh': load succeeded.
Plugin 'PovRay': loading...
Plugin 'PovRay': load succeeded.
Plugin 'Qhull': loading...
Plugin 'Qhull': load succeeded.
Plugin 'RRS1': loading...
Plugin 'RRS1': load succeeded.
Plugin 'ReflexxesTypeII': loading...
Plugin 'ReflexxesTypeII': load succeeded.
Plugin 'RemoteApi': loading...
Starting a remote API server on port 19997
Plugin 'RemoteApi': load succeeded.
Plugin 'RosInterface': loading...
Error with plugin 'RosInterface': load failed (could not load). The plugin probably couldn't load dependency libraries. For additional infos, m odify the script 'libLoadErrorCheck.sh', run it and inspect the output.
Plugin 'SDF': loading...
Plugin 'SDF': warning: replaced variable 'simSDF'
Plugin 'SDF': load succeeded.
Plugin 'SurfaceReconstruction': loading...
Plugin 'SurfaceReconstruction': warning: replaced variable 'simSurfRec'
Plugin 'SurfaceReconstruction': load succeeded.
Plugin 'Urdf': loading...
V-REP runs in headless mode. Cannot start 'Urdf' plugin.
Error with plugin 'Urdf': load failed (failed initialization).
Plugin 'Vision': loading...
Plugin 'Vision': load succeeded.
Using the 'MeshCalc' plugin.
Initializing the Bullet physics engine in plugin 'DynamicsBullet_2_78'...
Engine version: 2.78
Plugin version: 10
Initialization successful.
Error: signal 11:
/app/V-REP/libv_rep.so(_Z11_segHandleri+0x28)[0x7ff6052340c8]
/lib/x86_64-linux-gnu/libc.so.6(+0x354c0)[0x7ff6092b44c0]
/lib/x86_64-linux-gnu/libc.so.6(+0x3f8a4)[0x7ff6092be8a4]
/app/V-REP/libv_rep.so(_ZN6oglExt15_isFboAvailableERb+0x1d)[0x7ff605433a4d]
/app/V-REP/libv_rep.so(_ZN6oglExt25prepareExtensionFunctionsEb+0x1a)[0x7ff605433ada]
/app/V-REP/libv_rep.so(_Z15initGl_ifNeededv+0x59)[0x7ff6053db769]
/app/V-REP/libv_rep.so(_ZN19COffscreenGlContextC1EiiiP9QGLWidgetii+0x8b)[0x7ff60542933b]
/app/V-REP/libv_rep.so(_ZN20CVisionSensorGlStuffC1EiiibP9QGLWidgetbbii+0x74)[0x7ff60542a0c4]
/app/V-REP/libv_rep.so(_ZN13CVisionSensor45createGlContextAndFboAndTextureObjectIfNeededEb+0x153)[0x7ff605101083]
/app/V-REP/libv_rep.so(_ZN13CVisionSensor13detectEntity2Eibbbbb+0x1f9)[0x7ff6051012e9]
QMutex: destroying locked mutex
An even stranger thing is that if I install the same V-REP version app directly in the virtual machine, and I open my scene in headless mode, then no error occurs.
I thought that maybe my Dockerfile does not install all the needed packages, but I wouldn't know which others to add. Anyway, I post also this file for the sake of clarity
Code: Select all
FROM nvidia/opengl:1.0-glvnd-runtime-ubuntu16.04
WORKDIR /app
RUN apt-get -y update && apt-get -y install libglib2.0-0 \
libpng12-0 libgl1-mesa-dev libqscintilla2-dev liblua5.1-0-dev libqt5serialport5-dev libqt5opengl5-dev mesa-utils libgl1-mesa-glx wget xvfb \
libgl1-mesa-dri libglapi-mesa libglu1-mesa libglu1-mesa-dev
ENV NVIDIA_VISIBLE_DEVICES \
${NVIDIA_VISIBLE_DEVICES:-all}
ENV NVIDIA_DRIVER_CAPABILITIES \
${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics
RUN mkdir -p /app/ \
&& wget -SL http://coppeliarobotics.com/files/V-REP_PRO_EDU_V3_5_0_Linux.tar.gz \
&& tar -xzf /app/V-REP_PRO_EDU_V3_5_0_Linux.tar.gz -C /app/ \
&& mv /app/V-REP_PRO_EDU_V3_5_0_Linux /app/V-REP \
&& rm /app/V-REP_PRO_EDU_V3_5_0_Linux.tar.gz
EXPOSE 80
EXPOSE 19996
EXPOSE 19997
EXPOSE 19998
EXPOSE 19999
ADD dVRK-oneArm-reach-camera.ttt /app/scene.ttt
Many thanks in advance!
Silvia