Xvfb crashes in `xephyr-glamor-piglit.sh` hanging build process during `make check`
Since 1.20.8, make check
hangs on our build server.
root 2029 0.0 0.0 17404 2716 pts/7 S+ 16:16 0:00 \_ make check
root 2030 0.0 0.0 17404 2808 pts/7 S+ 16:16 0:00 \_ make check-recursive
root 2031 0.0 0.0 20088 3352 pts/7 S+ 16:16 0:00 \_ /bin/sh -c fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if { if test -z '2'; then false; elif test -n 'x86_64-unknown-linux-gnu'; then true; elif test -n '4.2.1' && test -n '/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/test'; then true; else false; fi; }; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \?]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs?]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo check-recursive | sed s/-recursive//`; \ case "check-recursive" in \ distclean-* | maintainer-clean-*) list='.' ;; \ *) list='.' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail"
root 2036 0.0 0.0 20088 2324 pts/7 S+ 16:16 0:00 \_ /bin/sh -c fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if { if test -z '2'; then false; elif test -n 'x86_64-unknown-linux-gnu'; then true; elif test -n '4.2.1' && test -n '/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/test'; then true; else false; fi; }; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \?]*) bs=\\; sane_makeflags=`printf '%s\n' "$MAKEFLAGS" | sed "s/$bs$bs[$bs $bs?]*//g"`;; esac; fi; skip_next=no; strip_trailopt () { flg=`printf '%s\n' "$flg" | sed "s/$1.*$//"`; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo check-recursive | sed s/-recursive//`; \ case "check-recursive" in \ distclean-* | maintainer-clean-*) list='.' ;; \ *) list='.' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail"
root 2037 0.0 0.0 18328 3884 pts/7 S+ 16:16 0:00 \_ make check-am
root 2038 0.0 0.0 17404 2712 pts/7 S+ 16:16 0:00 \_ make check-TESTS
root 2045 0.0 0.0 20088 3192 pts/7 S+ 16:16 0:00 \_ /bin/sh -c set +e; bases='tests.log scripts/xvfb-piglit.sh.log scripts/xephyr-glamor-piglit.sh.log'; bases=`for i in $bases; do echo $i; done | sed 's/\.log$//'`; bases=`echo $bases`; \ log_list=`for i in $bases; do echo $i.log; done`; \ trs_list=`for i in $bases; do echo $i.trs; done`; \ log_list=`echo $log_list`; trs_list=`echo $trs_list`; \ make test-suite.log TEST_LOGS="$log_list"; \ exit $?;
root 2054 0.0 0.0 18360 3976 pts/7 S+ 16:16 0:00 \_ make test-suite.log TEST_LOGS=tests.log scripts/xvfb-piglit.sh.log scripts/xephyr-glamor-piglit.sh.log
root 2111 0.0 0.0 20088 3328 pts/7 S+ 16:17 0:00 \_ /bin/sh -c p='scripts/xephyr-glamor-piglit.sh'; \ b='scripts/xephyr-glamor-piglit.sh'; \ case $- in *e*) set +e;; esac; srcdirstrip=`echo "/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test" | sed 's|.|.|g'`; case $p in /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test/*) f=`echo "$p" | sed "s|^$srcdirstrip/||"`;; *) f=$p;; esac; { mgn= red= grn= lgn= blu= brg= std=; am__color_tests=no; if test "X" = Xno; then am__color_tests=no; elif test "X" = Xalways; then am__color_tests=yes; elif test "X$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then am__color_tests=yes; fi; if test $am__color_tests = yes; then red='?[0;31m'; grn='?[0;32m'; lgn='?[1;32m'; blu='?[1;34m'; mgn='?[0;35m'; brg='?[1m'; std='?[m'; fi; }; srcdir=/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test; export srcdir; case "scripts/xephyr-glamor-piglit.sh.log" in */*) am__odir=`echo "./scripts/xephyr-glamor-piglit.sh.log" | sed 's|/[^/]*$||'`;; *) am__odir=.;; esac; test "x$am__odir" = x"." || test -d "$am__odir" || /bin/mkdir -p "$am__odir" || exit $?; if test -f "./$f"; then dir=./; elif test -f "$f"; then dir=; else dir="/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test/"; fi; tst=$dir$f; log='scripts/xephyr-glamor-piglit.sh.log'; if test -n ''; then am__enable_hard_errors=no; else am__enable_hard_errors=yes; fi; case " " in *[\ \?]$f[\ \?]* | *[\ \?]$dir$f[\ \?]*) am__expect_failure=yes;; *) am__expect_failure=no;; esac; XSERVER_DIR=/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source XSERVER_BUILDDIR=/dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build MALLOC_PERTURB_=15 /bin/sh /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test-driver --test-name "$f" \ --log-file $b.log --trs-file $b.trs \ --color-tests "$am__color_tests" --enable-hard-errors "$am__enable_hard_errors" --expect-failure "$am__expect_failure" -- \ "$tst"
root 2118 0.0 0.0 20088 3012 pts/7 S+ 16:17 0:00 \_ /bin/sh /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test-driver --test-name scripts/xephyr-glamor-piglit.sh --log-file scripts/xephyr-glamor-piglit.sh.log --trs-file scripts/xephyr-glamor-piglit.sh.trs --color-tests yes --enable-hard-errors yes --expect-failure no -- /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test/scripts/xephyr-glamor-piglit.sh
root 2119 0.0 0.0 20088 2948 pts/7 S+ 16:17 0:00 \_ /bin/sh /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test/scripts/xephyr-glamor-piglit.sh
root 2120 0.0 0.0 12288 1184 pts/7 S+ 16:17 0:00 \_ /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/test/simple-xinit /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/source/test/scripts/run-piglit.sh -- /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb -screen scrn 1280x1024x24
root 2121 0.0 0.0 0 0 pts/7 Z+ 16:17 0:00 \_ [Xvfb] <defunct>
The log contains:
$ more /xorg-server/xorg-server-1.20.9-0/build/test/scripts/xephyr-glamor-piglit.sh.log
(EE)
(EE) Backtrace:
(EE) 0: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (xorg_backtrace+0x40) [0x54f7a0]
(EE) 1: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (0x400000+0x152e39) [0x552e39]
(EE) 2: /lib/libpthread.so.0 (0x7f31a5194000+0x11ec0) [0x7f31a51a5ec0]
(EE) 3: /usr/lib/dri/swrast_dri.so (0x7f31a13e6000+0x5c6218) [0x7f31a19ac218]
(EE) 4: /usr/lib/dri/swrast_dri.so (0x7f31a13e6000+0xecdb8) [0x7f31a14d2db8]
(EE) 5: /lib64/ld-linux-x86-64.so.2 (0x7f31a6488000+0xf02a) [0x7f31a649702a]
(EE) 6: /lib64/ld-linux-x86-64.so.2 (0x7f31a6488000+0xf13b) [0x7f31a649713b]
(EE) 7: /lib64/ld-linux-x86-64.so.2 (0x7f31a6488000+0x130a4) [0x7f31a649b0a4]
(EE) 8: /lib/libc.so.6 (_dl_catch_exception+0x5c) [0x7f31a4f0938c]
(EE) 9: /lib64/ld-linux-x86-64.so.2 (0x7f31a6488000+0x12a37) [0x7f31a649aa37]
(EE) 10: /lib/libdl.so.2 (0x7f31a604e000+0xf76) [0x7f31a604ef76]
(EE) 11: /lib/libc.so.6 (_dl_catch_exception+0x5c) [0x7f31a4f0938c]
(EE) 12: /lib/libc.so.6 (_dl_catch_error+0x1f) [0x7f31a4f0940f]
(EE) 13: /lib/libdl.so.2 (0x7f31a604e000+0x15d9) [0x7f31a604f5d9]
(EE) 14: /lib/libdl.so.2 (dlopen+0x36) [0x7f31a604f006]
(EE) 15: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (0x400000+0x615eb) [0x4615eb]
(EE) 16: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (0x400000+0x60f67) [0x460f67]
(EE) 17: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (0x400000+0x603e0) [0x4603e0]
(EE) 18: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (_CallCallbacks+0x34) [0x504694]
(EE) 19: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (0x400000+0x7e03f) [0x47e03f]
(EE) 20: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (InitExtensions+0x5b) [0x42b6db]
(EE) 21: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (0x400000+0x103199) [0x503199]
(EE) 22: /lib/libc.so.6 (__libc_start_main+0xee) [0x7f31a4e00b5e]
(EE) 23: /dev/shm/bee-root/xorg-server/xorg-server-1.20.9-0/build/hw/vfb/Xvfb (_start+0x2a) [0x4298da]
(EE)
(EE) Illegal instruction at address 0x7f31a19ac218
(EE)
Fatal server error:
(EE) Caught signal 4 (Illegal instruction). Server aborting
(EE)