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

Reply via email to