Bug 1936339 - glib2 crashes in libgobject since 2.67.3-1.fc34 because of an implicitly enabled debugging code
Summary: glib2 crashes in libgobject since 2.67.3-1.fc34 because of an implicitly enab...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: glib2
Version: 34
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1940388
TreeView+ depends on / blocked
 
Reported: 2021-03-08 09:01 UTC by Petr Pisar
Modified: 2021-03-22 14:37 UTC (History)
8 users (show)

Fixed In Version: glib2-2.67.6-2.fc35 glib2-2.67.6-2.fc34
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-20 00:17:21 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Petr Pisar 2021-03-08 09:01:01 UTC
After upgrading glib2 from 2.67.1 to 2.67.3, gscan2pdf tests segfault on exiting perl <https://sourceforge.net/p/gscan2pdf/bugs/381/>:

$ xvfb-run -d perl -Ilib t/0601_Dialog_Scan.t:
[...]
#0  0x00007ffff57fd732 in gtk_widget_dispose (object=0x555559c97880) at /usr/src/debug/gtk3-3.24.25-3.fc35.x86_64/gtk/gtkwidget.c:12156
#1  0x00007ffff74e0d84 in g_object_unref () from /lib64/libgobject-2.0.so.0
#2  0x00007ffff75484aa in XS_Glib__Object_DESTROY () from /usr/lib64/perl5/vendor_perl/auto/Glib/Glib.so
#3  0x00007ffff7d34d47 in Perl_pp_entersub () from /lib64/libperl.so.5.32
#4  0x00007ffff7ca825a in Perl_call_sv () from /lib64/libperl.so.5.32
#5  0x00007ffff7d3d230 in S_curse.lto_priv.0 () from /lib64/libperl.so.5.32
#6  0x00007ffff7d3d978 in Perl_sv_clear () from /lib64/libperl.so.5.32
#7  0x00007ffff7d3c862 in Perl_sv_free2 () from /lib64/libperl.so.5.32
#8  0x00007ffff7d368f8 in Perl_sv_clean_objs () from /lib64/libperl.so.5.32
#9  0x00007ffff7ca9722 in perl_destruct () from /lib64/libperl.so.5.32
#10 0x0000555555555324 in main ()

It used to print warnings before:

ok 14 - selecting reverse should automatically limit the max number of pages to scan
GLib-GObject-WARNING **: instance with invalid (NULL) class pointer during global destruction.
GLib-GObject-CRITICAL **: g_signal_emit_valist: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed during global destruction.
GLib-GObject-CRITICAL **: g_object_set_qdata: assertion 'G_IS_OBJECT (object)' failed during global destruction.

I bisected glib2 to "build: Add glib_debug option" commit <https://gitlab.gnome.org/GNOME/glib/-/commit/670b84ca3068eb4ec584812fad2cdcb8dc35683b> introduced between 2.67.2 and 2.67.3. That commit added a new option which enables debugging code with -DG_ENABLE_DEBUG compiler flag. That macro enables an internal glib debugging code which makes the library more strict and results into a crash instead of a warning (about Gtk misuses Glib references in signal callbacks.)

Now the Fedora part: Because Fedora's %meson macro passes --auto-features=enabled to meson, the new glib_debug option becomes enabled. As a result the gscan2pdf code crashes now.

I recommend disabling the debugging explicitly with -Dglib_debug=disabled option. I believe that the debugging code is not suitable for a production. The latest glib2-2.67.5-1.fc35 also suffer from this.

If you don't have time, I can commit this trivial fix instead of you.

Comment 1 Petr Pisar 2021-03-18 08:07:18 UTC
I see now reaction. I will apply this change.

Comment 2 Fedora Update System 2021-03-18 08:55:36 UTC
FEDORA-2021-303f6623fa has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-303f6623fa

Comment 3 Kalev Lember 2021-03-18 08:56:20 UTC
Thanks, Petr! I went ahead and edited the pending F34 GNOME mega-update to include your new build.

Comment 4 Fedora Update System 2021-03-18 21:45:30 UTC
FEDORA-2021-303f6623fa has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-303f6623fa`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-303f6623fa

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2021-03-18 22:37:39 UTC
FEDORA-2021-303f6623fa has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-303f6623fa

Comment 6 Fedora Update System 2021-03-19 18:45:19 UTC
FEDORA-2021-303f6623fa has been pushed to the Fedora 34 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-303f6623fa`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-303f6623fa

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2021-03-20 00:17:21 UTC
FEDORA-2021-303f6623fa has been pushed to the Fedora 34 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 Fedora Update System 2021-03-22 14:37:32 UTC
FEDORA-2021-68db1d7b13 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-68db1d7b13


Note You need to log in before you can comment on or make changes to this bug.