[Docker ursim_e-series] library initialization failed - unable to allocate file descriptor table - out of memory

I had difficulties running the Docker image universalrobots/ursim_e-series. At the end I solved the problem by increasing the number of maximum open file descriptors. Here I share my logs that may help others. I have also some improvement ideas.

First I manually started the container using:

docker run --rm -it -p 30004:30004 -p 5900:5900 -p 6080:6080 --entrypoint /bin/bash universalrobots/ursim_e-series

Then activated messages to stdout by removing the redirections in /entrypoint.sh and putting set -x to see all shell commands which were executed, also in the scripts which were called by the entrypoint script. Then I got the following logs for /entrypoint.sh

URControl: no process found
Checking Robot Root Certificate
readlink: missing operand
Try 'readlink --help' for more information.
dirname: missing operand
Try 'dirname --help' for more information.
/ursim/ursim-certificate-check.sh: line 19: keytool: command not found
Installing ur_robot_root_certificate into Java  keystore
/ursim/ursim-certificate-check.sh: line 6: keytool: command not found
+ pushd GUI
~/GUI ~ /
+ HOME=/ursim
+ java -Duser.home=/ursim -Dconfig.path=/ursim/.urcontrol -DmockCybersecurityBackend=true -Djava.library.path=/usr/lib/jni -jar bin/felix.jar
library initialization failed - unable to allocate file descriptor table - out of memory/ursim/start-ursim.sh: line 50:    70 Aborted                 (core dumped) HOME=$URSIM_ROOT java -Duser.home=$URSIM_ROOT -Dconfig.path=$URSIM_ROOT/.urcontrol -DmockCybersecurityBackend=true -Djava.library.path=/usr/lib/jni -jar bin/*.jar
+ popd
~ /
+ rm -f /ursim/.urcontrol/urcontrol.conf
+ rm -f /ursim/ur-serial
+ rm -f /ursim/.urcontrol/safety.conf
+ rm -f /ursim/programs
+ popd
  1. The certificate related readlink errors made debugging more difficult. Providing meaningful error messages or using readlink only if the file really exists would be better.
  2. I changed the limits using the solution here: apache kafka - Docker - library initialization failed - unable to allocate file descriptor table - out of memory - Stack Overflow
1 Like

I forgot to add:

It would be great if 2) could be mentioned on the Docker image page https://hub.docker.com/r/universalrobots/ursim_e-series

1 Like

Hi @geko,

Welcome to the UR community🦾 And thank you for sharing🙏 I will forward the message to the URSim Docker team. Maybe we can make sure there is a refernce to yours and other post?

Ebbe

1 Like

If this is easier for you, then please :slightly_smiling_face: