Unable to start Jenkins due to /tmp directory mounted with noexec option

Issue

  • /tmp directory is mounted with noexec
...
Caused by: java.lang.UnsatisfiedLinkError: /tmp/jna
...
failed to map segment from shared object: Operation not permitted

Environment

  • CloudBees Jenkins Enterprise

Resolution

Any of the below solutions can be used.

  • Permanently Remove noexec from /tmp mount
# 1. Edit /etc/fstab
# Remove noexec from line containing /tmp mount
vi /etc/fstab
# 2. Restart
shutdown -r now
# 3. Confirm /tmp now allows executing
# /tmp should not include noexec
mount -l
# 4. Confirm Jenkins starts correctly
service jenkins start
  • Change java.io.tmpdir
# 1. Edit Jenkins config file
# Add -Djava.io.tmpdir=$JENKINS_HOME/tmp to JENKINS_JAVA_OPTIONS
# Eg. JENKINS_JAVA_OPTIONS="-Djava.io.tmpdir=$JENKINS_HOME/tmp"
vi /etc/sysconfig/jenkins
# 2. Create tmp directory
mkdir $JENKINS_HOME/tmp
# 3. Make sure Jenkins is the owner
chown MY_JENKINS_USER:MY_JENKINS_GROUP $JENKINS_HOME/tmp
# 4. Restart Jenkins
service jenkins restart

Have more questions?

0 Comments

Please sign in to leave a comment.