Bug#1111373: glib2.0: autopkgtest regression on i386 since 2.84.4-1: statically linked program segfaults
Simon McVittie
smcv at debian.org
Sun Aug 17 14:12:52 BST 2025
Source: glib2.0
Version: 2.84.4-1
Severity: serious
Justification: https://release.debian.org/testing/rc_policy.txt §6a
User: debian-qa at lists.debian.org
Usertags: i386
User: debian-ci at lists.debian.org
Usertags: regression
X-Debbugs-Cc: qemu at packages.debian.org
In glib2.0 since 2.84.4-1, the autopkgtest test-cases "libglib2.0-dev"
and "build-static" are failing on i386 only:
> 148s + pkg-config --static --cflags --libs glib-2.0
> 148s + gcc -static -o glib-static glib.c -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -pthread -lglib-2.0 -latomic -lm -pthread -lsysprof-capture-4 -pthread -lpcre2-8
> 148s /usr/bin/ld: /usr/lib/gcc/i686-linux-gnu/14/../../../i386-linux-gnu/libglib-2.0.a(gutils.c.o): in function `g_get_user_database_entry':
> 148s (.text+0xed): warning: Using 'getpwnam_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
> 148s /usr/bin/ld: (.text+0x2bc): warning: Using 'getpwuid' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
> 148s /usr/bin/ld: (.text+0x12c): warning: Using 'getpwuid_r' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
> 148s + echo build (glib, static): OK
> 148s + [ -x glib-static ]
> 148s + foo=bar ./glib-static
> 148s build (glib, static): OK
> 148s Segmentation fault
None of the upstream changes between 2.84.3 and 2.84.4 look like obvious
candidates for causing this, so I suspect it might be something more
like "GLib was recompiled with a new compiler and that made it regress".
I'm investigating.
If we can't easily address this within GLib, we might need to stop
treating static linking as something that we expect to work on i386. I
believe the main use-case is qemu-user static binaries, and qemu's
build log says:
Message: Support for 32-bit CPU host architecture x86 is going
Message: to be dropped in a future QEMU release.
so that package's days are numbered anyway. Interestingly, qemu built
successfully on i386 even with the new GLib - but I don't know whether
it has any build-time smoke-tests that prove that it actually works.
This is blocking the fixes for #1110640, #1110825, #1110696 from
migrating to forky.
smcv
More information about the pkg-gnome-maintainers
mailing list