https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119607
Bug ID: 119607 Summary: [15 regression] glib miscompiled since r15-7895-gb191e8bdecf881 Product: gcc Version: 15.0 Status: UNCONFIRMED Keywords: needs-source, wrong-code Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org Target Milestone: --- Created attachment 60970 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60970&action=edit meson.i686-pc-linux-gnu.x86.ini All the failing tests involve threads which is a pain. It also only fails with -m32 so can't use Valgrind, and sanitizers make things work. I'm going to do the basic bits (comparing objects, getting dumps) but likely need some help to finish it then, not comfortable debugging threaded applications yet when the threads are relevant to the problem. I'll say when I'm at that point. -- ``` $ mkdir ~/bugs/glib && cd ~/bugs/glib $ wget https://download.gnome.org/sources/glib/2.84/glib-2.84.0.tar.xz $ tar xvf glib-2.84.0.tar.xz $ mkdir build && cd build $ meson setup --native-file ~/scripts/meson/meson.i686-pc-linux-gnu.x86.ini ~/bugs/glib/glib-2.84.0 $ ninja test [...] Summary of Failures: 165/384 glib:gobject / signals-refcount4 ERROR 1.22s killed by signal 6 SIGABRT 194/384 glib:gobject / properties-refcount1 ERROR 1.63s killed by signal 11 SIGSEGV 175/384 glib:gobject / signals-refcount2 ERROR 1.67s killed by signal 5 SIGTRAP 210/384 glib:gobject+slow / closure-refcount ERROR 3.78s killed by signal 6 SIGABRT 321/384 glib:gio / gsettings ERROR 0.56s killed by signal 5 SIGTRAP 300/384 glib:gio+slow / actions ERROR 3.59s killed by signal 5 SIGTRAP Ok: 372 Fail: 6 Skipped: 6 ``` An example failure: ``` $ MESON_TEST_ITERATION=1 MALLOC_PERTURB_=117 G_TEST_BUILDDIR=/home/sam/bugs/glib/build/gobject/tests MALLOC_CHECK_=2 LD_LIBRARY_PATH=/home/sam/bugs/glib/build/gobject:/home/sam/bugs/glib/build/glib G_DEBUG=gc-friendly G_TEST_SRCDIR=/home/sam/bugs/glib/glib-2.84.0/gobject/tests G_ENABLE_DIAGNOSTIC=1 /home/sam/bugs/glib/build/gobject/tests/properties-refcount1 TAP version 14 # random seed: R02S95fc5335f798bde46c993a52cc355a49 1..1 # Start of gobject tests # Start of refcount tests # .b # .e # .c not ok /gobject/refcount/properties-1 - GLib-GObject-FATAL-CRITICAL: g_closure_ref: assertion 'closure->ref_count > 0' failed Bail out! Segmentation fault (core dumped) MESON_TEST_ITERATION=1 MALLOC_PERTURB_=117 G_TEST_BUILDDIR=/home/sam/bugs/glib/build/gobject/tests MALLOC_CHECK_=2 LD_LIBRARY_PATH=/home/sam/bugs/glib/build/gobject:/home/sam/bugs/glib/build/glib G_DEBUG=gc-friendly G_TEST_SRCDIR=/home/sam/bugs/glib/glib-2.84.0/gobject/tests G_ENABLE_DIAGNOSTIC=1 /home/sam/bugs/glib/build/gobject/tests/properties-refcount1 ``` The failures aren't stable (sometimes segfault, sometimes trap, rarely passes too). The reliance on threading means it can't be reproduced under rr record either.