After some debugging (thanks to access to a VM provided by Santiago), I
found the probably cause here: The test command that fails is
tests/C/test-cairo-xw.c
and this is the first program that requires X11. This code here:
XW.display = XOpenDisplay (NULL);
XW.screennum = DefaultScreen (XW.display);
What happens is that xfvb-run does not really wait until the X server is
able to be connected. From its sources:
wait || :
if kill -0 $XVFBPID 2>/dev/null; then
break
which means that it just waits until the X server can answer a signal,
which may be too early. So, the XOpenDisplay() in test-cairo-xw.c
will fail and return NULL, which is then taken unconditionally used as
parameter for DefaultScreen(), which then produces the segfault.
So, I think the reason is a buggy xvfb-run in combination with a slow
machine.
Therefore, my proposal would be to re-assign this to xvfb and lower the
importance to "important". Introducing artificial sleeps in the giza
build would seem fishy to me.
Better ideas anyone?
Best
Ole