0
votes

When running a build on a newly installed Jenkins server on centos7 The Xvfb fails with the following:

Xvfb starting$ /bin/Xvfb -displayfd 2 -screen 0 1024x768x8 -fbdir /var/lib/jenkins/xvfb-272-..fbdir6345857630426455925 FATAL: Cannot run program "/bin/Xvfb": error=2, No such file or directory java.io.IOException: error=2, No such file or directory

Compared to our original server, the name of the fmdir is different. I believe it should be in the format /var/lib/jenkins/xvfb-<build no.>-<unique number>.fmdir

How is the -fbdir name being generated and what creates the directory?

This is on Jenkins

2.176.1 with Xvfb plugin 1.1.3 on Centos 7.6.1810

1

1 Answers

0
votes
Xvfb starting$ /usr/bin/Xvfb -displayfd 2 -screen 0 
1920x1080x24 -fbdir /var/lib/jenkins/xvfb- 
 214-..fbdir17701667040157463918

How is the -fbdir name being generated?

It's unique & random and the format is

/var/lib/jenkins/xvfb-<build no.>-..fbdir<random unique no.>

what creates the directory?

When job is executed, Jenkins check the Directory in which to find Xvfb executable i.e./usr/bin and it creates it's copy for it's use ( at location where Jenkins is installed i.e./var/lib/jenkins/xvfb-214-..fbdir17701667040157463918) where the memory mapped files containing the framebuffer memory should be created to perform all GUI operations in virtual memory.

-fbdir framebuffer-directory

This option specifies the directory in which the memory mapped files containing the framebuffer memory should be created.This option only exists on machines that have the mmap and msync system calls.

Refer:https://docs.oracle.com/cd/E86824_01/html/E54763/xvfb-1.html