control: tag -1 confirmed

[CC'ing debian-mips@ in the hope that someone else can help in tracking
the root cause down.]

Running nbdkit --help under gdb on the porterbox (eberlin) shows that
the segfault happens inside libc's I/O code when called from printf:

,----
| Program received signal SIGSEGV, Segmentation fault.
| 0x000000fff7bf8208 in _IO_old_file_overflow (f=0xfff7c51748 <_IO_stdout_>, 
ch=10) at oldfileops.c:395
| warning: 395  oldfileops.c: No such file or directory
| (gdb) bt
| #0  0x000000fff7bf8208 in _IO_old_file_overflow (f=0xfff7c51748 
<_IO_stdout_>, ch=10) at oldfileops.c:395
| #1  0x000000fff7ae623c in __GI__IO_puts (
|     str=0xaaaaaca3f8 "nbdkit [-4|--ipv4-only] [-6|--ipv6-only]\n       
[-D|--debug PLUGIN|FILTER|nbdkit.FLAG=N]\n       [--exit-with-parent] 
[-e|--exportname EXPORTNAME]\n       [--filter=FILTER ...] [-f|--foreground]\n  
     "...) at ioputs.c:41
| #2  0x000000aaaaaba9d0 in printf (__fmt=<synthetic pointer>) at 
/usr/include/mips64el-linux-gnuabi64/bits/stdio2.h:118
| #3  usage () at main.c:152
| #4  0x000000aaaaaaf560 in main (argc=-138078392, argv=0xffffff3468) at 
main.c:556
`----

The argc parameter to main (#4) is strange, to me this looks like
something may have clobbered the stack (resolving argc in a trivial test
program works fine, so I'm ruling out a bug in gdb for now). But there's
not much in the way of initialization going on before printing the help
message, therefore my best guess at the moment is a bug in glibc.

According to the buildd logs, the last good build was with
nbdkit/1.40.2-2, using libc6-dev/2.39-7. The first basd build was with
nbdkit/1.40.3-1, using libc6-dev/2.40-2.

The segfault occurs when building nbdkit/1.40.2-2 in a sid chroot on
the porterbox.

The segfault does NOT occur when building nbdkit/1.40.4-3 in a bookworm
chroot – but it occurs when running the resulting binary in the sid
chroot.

Unfortunately I can't (or don't know how to) install old versions from
snapshots.d.o into the porterbox chroot. Do I really have to try to set
up a qemu-based mips64el environment to narrow this down further? Any
other suggestions are welcome.

Cheers,
-Hilko

Reply via email to