Package: xvfb
Version: 2:21.1.15-2
Severity: important
Control: affects -1 src:giza
Dear maintainer,
the build of the "giza" package currently fails in some environments due
to an issue with xvfb-run [1], which is used from debian/rules.
The problem is that the xvfb-run script only checks that Xvfb is running
(by signalling with signal 0), but not whether it is actually active
(and accepts X client calls):
wait || :
if kill -0 $XVFBPID 2>/dev/null; then
break
The test code in giza looks like this:
XW.display = XOpenDisplay (NULL);
XW.screennum = DefaultScreen (XW.display);
in some environments, the client command sometimes seems to run faster
than the server would be ready to take the X connection; then the
XOpenDisplay() returns a NULL, which in the case of giza leads to a
segmentation fault in the following line.
Having the display variable checked for NULL before using it would
certainly avoid the segfault, but still the code could not run properly
because of the missing X connection.
I think that xvfb needs to check for a properly initialized Xvfb instead
of just sending a signal to the server before running the command.
Best regards
Ole
[1] https://bugs.debian.org/1094102