Bug#1082659: libunwind8: 1.7 regression: Xvfb segfaults on armhf
Package: libunwind8
Version: 1.7.2-1
Severity: serious
Justification: results in FTBFS in unrelated packages
X-Debbugs-Cc: debian-arm@lists.debian.org
User: debian-arm@lists.debian.org
Usertags: armhf
The test suite for the libportal package, like many packages that use
GUI libraries, is run under Xvfb:
xvfb-run -a -s "-noreset" dh_auto_test -- $(options)
In a recent upload this failed on armhf, and only armhf: the actual
tests appear to have all succeeded, but then xvfb-run exited with status
1 anyway. I am able to reproduce this on the armhf porterbox amdahl.
A simplified reproducer is:
xvfb-run -e /dev/stderr -a -s "-noreset" true
which should exit 0, or
Xvfb :42 -noreset -nolisten tcp
which should start and wait until terminated (assuming the socket for :42
is available).
Running `gdb --args Xvfb :42 -noreset -nolisten tcp` produces this
backtrace inside libunwind:
#0 _ULarm_step (cursor=cursor@entry=0xfffe68f0) at arm/Gstep.c:175
#1 0xf7ea5596 in trace_init_addr (f=<optimized out>, cursor=0xfffe68f0, cfa=<optimized out>, pc=<optimized out>,
r7=<optimized out>, sp=<optimized out>) at ../include/tdep-arm/libunwind_i.h:144
#2 trace_lookup (cursor=0xfffe68f0, cache=<optimized out>, cfa=<optimized out>, pc=<optimized out>,
r7=<optimized out>, sp=<optimized out>) at arm/Gtrace.c:334
#3 _ULarm_tdep_trace (cursor=cursor@entry=0xfffe68f0, buffer=buffer@entry=0xfffee918, size=size@entry=0xfffe6828)
at arm/Gtrace.c:452
#4 0xf7ea3692 in unw_backtrace (buffer=buffer@entry=0xfffee918, size=size@entry=1) at mi/backtrace.c:70
#5 0x0050d9f2 in OsInit () at ../../../../os/osinit.c:217
#6 0x004d24c4 in dix_main (argc=5, argv=0xfffefc74, envp=<optimized out>) at ../../../../dix/main.c:151
#7 0xf7b374fa in __libc_start_call_main (main=main@entry=0x4277d5 <main>, argc=argc@entry=5, argv=0xfffefc74,
argv@entry=0xf7c27e44) at ../sysdeps/nptl/libc_start_call_main.h:58
#8 0xf7b3759e in __libc_start_main_impl (main=0x4277d5 <main>, argc=5, argv=0xf7c27e44, init=<optimized out>,
fini=0x0, rtld_fini=0xf7fd399d <_dl_fini>, stack_end=0xfffefc74) at libc-start.c:360
#9 0x00427800 in _start ()
This appears to be a regression between trixie (where xvfb-run and Xvfb
work as I had expected) and sid (where Xvfb crashes).
For whatever reason, if I run xvfb-run with arguments that include
`-s "-screen 0 1280x1024x24 -noreset"` instead of just `-s "-noreset"`,
Xvfb doesn't crash.
The system information below is from an armhf chroot on amdahl where I
could reproduce this.
-- System Information:
Debian Release: trixie/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable')
Architecture: armhf (armv8l)
Kernel: Linux 6.1.0-25-arm64 (SMP w/8 CPU threads)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
Versions of packages libunwind8 depends on:
ii libc6 2.40-2
ii libgcc-s1 14.2.0-5
ii liblzma5 5.6.2-2
libunwind8 recommends no packages.
libunwind8 suggests no packages.
-- no debconf information
Reply to: