Boxes 42.3 SIGSEGV crash on RHEL 9 - boxes_libvirt_machine_get_os_co.isra.0
I've installed Boxes 42.3 on RedHat Enterprise Linux 9 using source package from Fedora 36 and rebuilding it with rpmbuild --rebuild
.
App launches just fine, but when I try to create any VM in it, it crashes on a «Review and Create» window.
Here's the image of this windows I took after crash, while running it under gdb
:
gdb backtrace
(gdb) run
Starting program: /home/anton/rpmbuild/BUILD/gnome-boxes-42.3/redhat-linux-build/src/gnome-boxes
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffed2a9640 (LWP 19495)]
[New Thread 0x7fffecaa8640 (LWP 19496)]
[New Thread 0x7fffe7fff640 (LWP 19497)]
[New Thread 0x7fffe75ff640 (LWP 19498)]
[New Thread 0x7fffe6dfe640 (LWP 19499)]
[New Thread 0x7fffe63ff640 (LWP 19500)]
[Thread 0x7fffe6dfe640 (LWP 19499) exited]
[New Thread 0x7fffe6dfe640 (LWP 19501)]
[New Thread 0x7fffe5bfe640 (LWP 19502)]
[New Thread 0x7fffe53fd640 (LWP 19503)]
[New Thread 0x7fffe4bfc640 (LWP 19504)]
[Thread 0x7fffe53fd640 (LWP 19503) exited]
[Thread 0x7fffe4bfc640 (LWP 19504) exited]
(gnome-boxes:19486): Gtk-WARNING **: 18:23:51.581: GtkFlowBox with a model will ignore sort and filter functions
(gnome-boxes:19486): Gtk-WARNING **: 18:23:51.583: GtkListBox with a model will ignore sort and filter functions
[New Thread 0x7fffe4bfc640 (LWP 19505)]
[New Thread 0x7fffe53fd640 (LWP 19506)]
[Thread 0x7fffe4bfc640 (LWP 19505) exited]
[Thread 0x7fffe53fd640 (LWP 19506) exited]
[New Thread 0x7fffe53fd640 (LWP 19507)]
[New Thread 0x7fffe4bfc640 (LWP 19508)]
[Thread 0x7fffe53fd640 (LWP 19507) exited]
[Thread 0x7fffe4bfc640 (LWP 19508) exited]
[Detaching after fork from child process 19509]
[New Thread 0x7fffe4bfc640 (LWP 19553)]
[New Thread 0x7fffe53fd640 (LWP 19554)]
[Thread 0x7fffe4bfc640 (LWP 19553) exited]
[Thread 0x7fffe53fd640 (LWP 19554) exited]
[Thread 0x7fffe6dfe640 (LWP 19501) exited]
[New Thread 0x7fffe6dfe640 (LWP 19555)]
[New Thread 0x7fffe53fd640 (LWP 19556)]
[New Thread 0x7fffe4bfc640 (LWP 19557)]
[New Thread 0x7fff9210d640 (LWP 19558)]
[New Thread 0x7fff9190c640 (LWP 19559)]
[Thread 0x7fff9210d640 (LWP 19558) exited]
[Thread 0x7fff9190c640 (LWP 19559) exited]
[Thread 0x7fffe4bfc640 (LWP 19557) exited]
[New Thread 0x7fffe4bfc640 (LWP 19561)]
[New Thread 0x7fffe53fd640 (LWP 19562)]
[Thread 0x7fffe53fd640 (LWP 19556) exited]
[Thread 0x7fffe4bfc640 (LWP 19561) exited]
[Thread 0x7fffe53fd640 (LWP 19562) exited]
[Thread 0x7fffe6dfe640 (LWP 19555) exited]
(gnome-boxes:19486): Boxes-WARNING **: 18:23:53.603: util-app.vala:218: Failed to load http://opensuse.org/opensuse/15.4
(gnome-boxes:19486): Boxes-WARNING **: 18:23:53.603: util-app.vala:218: Failed to load http://opensuse.org/opensuse/15.4
[New Thread 0x7fffe6dfe640 (LWP 19563)]
[Thread 0x7fffe6dfe640 (LWP 19563) exited]
(gnome-boxes:19486): Boxes-WARNING **: 18:23:53.635: util-app.vala:218: Failed to load http://opensuse.org/opensuse/15.4
(gnome-boxes:19486): Boxes-WARNING **: 18:23:57.843: review-page.vala:44: Box setup failed: Failed to create domain: unsupported configuration: this QEMU binary lacks smartcard passthrough mode support
Missing separate debuginfos, use: dnf debuginfo-install PackageKit-gtk3-module-1.2.4-2.el9.x86_64 at-spi2-atk-2.38.0-4.el9.x86_64 at-spi2-core-2.40.3-1.el9.x86_64 atk-2.36.0-5.el9.x86_64 audit-libs-3.0.7-101.el9_0.2.x86_64 bzip2-libs-1.0.8-8.el9.x86_64 cairo-1.17.4-7.el9.x86_64 cairo-gobject-1.17.4-7.el9.x86_64 cyrus-sasl-lib-2.1.27-20.el9.x86_64 dbus-libs-1.12.20-5.el9.x86_64 dconf-0.40.0-6.el9.x86_64 enchant2-2.2.15-6.el9.x86_64 flac-libs-1.3.3-9.el9.x86_64 fontconfig-2.13.94-2.el9.x86_64 freetype-2.10.4-6.el9.x86_64 fribidi-1.0.10-6.el9.x86_64 gdk-pixbuf2-2.42.6-2.el9.x86_64 glib2-2.68.4-5.el9.x86_64 glibc-2.34-28.el9_0.x86_64 gmp-6.2.0-10.el9.x86_64 gnutls-3.7.3-9.el9.x86_64 gsm-1.0.19-6.el9.x86_64 gstreamer1-1.18.4-4.el9.x86_64 gstreamer1-plugins-base-1.18.4-5.el9.x86_64 gtk-vnc2-1.3.0-2.el9.x86_64 gtk3-3.24.31-2.el9.x86_64 gvfs-client-1.48.1-3.el9.x86_64 gvnc-1.3.0-2.el9.x86_64 gvncpulse-1.3.0-2.el9.x86_64 harfbuzz-2.7.4-5.el9.x86_64 harfbuzz-icu-2.7.4-5.el9.x86_64 hyphen-2.8.8-17.el9.x86_64 json-glib-1.6.6-1.el9.x86_64 keyutils-libs-1.6.1-4.el9.x86_64 krb5-libs-1.19.1-15.el9_0.x86_64 lcms2-2.12-3.el9.x86_64 libX11-1.7.0-7.el9.x86_64 libX11-xcb-1.7.0-7.el9.x86_64 libXau-1.0.9-8.el9.x86_64 libXcomposite-0.4.5-7.el9.x86_64 libXcursor-1.2.0-7.el9.x86_64 libXdamage-1.1.5-7.el9.x86_64 libXfixes-5.0.3-16.el9.x86_64 libXi-1.7.10-8.el9.x86_64 libXinerama-1.1.4-10.el9.x86_64 libXrender-0.9.10-16.el9.x86_64 libacl-2.3.1-3.el9.x86_64 libarchive-3.5.3-2.el9_0.x86_64 libblkid-2.37.4-3.el9.x86_64 libcanberra-0.30-26.el9.x86_64 libcanberra-gtk3-0.30-26.el9.x86_64 libcap-2.48-8.el9.x86_64 libepoxy-1.5.5-4.el9.x86_64 libffi-3.4.2-7.el9.x86_64 libgcc-11.2.1-9.4.el9.x86_64 libgcrypt-1.10.0-4.el9_0.x86_64 libglvnd-egl-1.3.4-1.el9.x86_64 libglvnd-opengl-1.3.4-1.el9.x86_64 libgudev-237-1.el9.x86_64 libhandy-1.6.1-1.el9.x86_64 libidn2-2.3.0-7.el9.x86_64 libjpeg-turbo-2.0.90-5.el9.x86_64 libmount-2.37.4-3.el9.x86_64 libnl3-3.5.0-10.el9.x86_64 libogg-1.3.4-6.el9.x86_64 libosinfo-1.10.0-1.el9.x86_64 libphodav-2.5-6.el9.x86_64 libpng-1.6.37-12.el9.x86_64 libpsl-0.21.1-5.el9.x86_64 libsecret-0.20.4-4.el9.x86_64 libselinux-3.3-2.el9.x86_64 libsoup-2.72.0-8.el9.x86_64 libstdc++-11.2.1-9.4.el9.x86_64 libstemmer-0-18.585svn.el9.x86_64 libtasn1-4.16.0-7.el9.x86_64 libtool-ltdl-2.4.6-45.el9.x86_64 libtracker-sparql-3.1.2-2.el9.x86_64 libusbx-1.0.24-4.el9.x86_64 libvirt-gobject-4.0.0-4.el9.x86_64 libvirt-libs-8.0.0-8.1.el9_0.x86_64 libvorbis-1.3.7-5.el9.x86_64 libwayland-client-1.19.0-4.el9.x86_64 libwayland-cursor-1.19.0-4.el9.x86_64 libwayland-egl-1.19.0-4.el9.x86_64 libwebp-1.2.0-3.el9.x86_64 libwpe-1.10.0-3.el9.x86_64 libxcrypt-4.4.18-3.el9.x86_64 libxml2-2.9.13-1.el9_0.1.x86_64 libxslt-1.1.34-9.el9.x86_64 libzstd-1.5.1-2.el9.x86_64 lz4-libs-1.9.3-5.el9.x86_64 openjpeg2-2.4.0-6.el9.x86_64 openssl-libs-3.0.1-23.el9_0.x86_64 pcre-8.44-3.el9.3.x86_64 spice-glib-0.40-1.el9.x86_64 spice-gtk3-0.40-1.el9.x86_64 sqlite-libs-3.34.1-5.el9.x86_64 systemd-libs-250-6.el9_0.x86_64 usbredir-0.12.0-2.el9.x86_64 webkit2gtk3-2.34.6-1.el9.x86_64 wpebackend-fdo-1.10.0-2.el9.x86_64 xz-libs-5.2.5-8.el9_0.x86_64 zlib-1.2.11-31.el9_0.1.x86_64
--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "gnome-boxes" received signal SIGSEGV, Segmentation fault.
boxes_libvirt_machine_get_os_co.isra.0 (_data_=0x55555591c0a0) at src/gnome-boxes.p/libvirt-machine.c:4237
4237 _data_->_tmp0_ = _data_->self->priv->_domain_config;
(gdb) bt full
#0 boxes_libvirt_machine_get_os_co.isra.0 (_data_=0x55555591c0a0) at src/gnome-boxes.p/libvirt-machine.c:4237
#1 0x00007ffff71be3ba in g_task_return_now () at /lib64/libgio-2.0.so.0
#2 0x00007ffff71be5bb in g_task_return () at /lib64/libgio-2.0.so.0
#3 0x00005555556055f1 in boxes_vm_creator_create_vm_co.isra.0 (_data_=0x555555da12e0) at src/gnome-boxes.p/vm-creator.c:1143
#4 0x00007ffff71be3ba in g_task_return_now () at /lib64/libgio-2.0.so.0
#5 0x00007ffff71be5bb in g_task_return () at /lib64/libgio-2.0.so.0
#6 0x0000555555604b5e in boxes_vm_creator_real_create_domain_config_co.isra.0 (_data_=0x555555fd9830) at src/gnome-boxes.p/vm-creator.c:1957
#7 0x00007ffff71be3ba in g_task_return_now () at /lib64/libgio-2.0.so.0
#8 0x00007ffff71be3fd in complete_in_idle_cb () at /lib64/libgio-2.0.so.0
#9 0x00007ffff7d8d11b in g_idle_dispatch () at /lib64/libglib-2.0.so.0
#10 0x00007ffff7d90d4f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#11 0x00007ffff7de5608 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#12 0x00007ffff7d8e5d3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#13 0x00007ffff71ec1ed in g_application_run () at /lib64/libgio-2.0.so.0
#14 0x000055555558a7e1 in _vala_main (args_length1=<optimized out>, args=<optimized out>) at src/gnome-boxes.p/main.c:504
app = 0x55555570a180
exit_status = 0
_tmp2_ = 0x55555570a180
_inner_error0_ = 0x0
result = 0
#15 main (argc=<optimized out>, argv=<optimized out>) at src/gnome-boxes.p/main.c:514
Quick debugging showed that _data_->self
is somehow NULL
and SIGSEGV
caused by dereferencing it. This can be easily proved by putting g_assert_nonnull()
into resulting C code:
Boxes:ERROR:src/gnome-boxes.p/libvirt-machine.c:4237:boxes_libvirt_machine_get_os_co: '_data_->self' should not be NULL
Bail out! Boxes:ERROR:src/gnome-boxes.p/libvirt-machine.c:4237:boxes_libvirt_machine_get_os_co: '_data_->self' should not be NULL
Aborted (core dumped)
Unfortunately, I can't help more in deep research of this, as I'm not a Vala expert. But I'll be glad to provide any additional information about this build or my system.
As a note, logs also contained this warning:
(gnome-boxes:19486): Boxes-WARNING **: 18:23:57.843: review-page.vala:44: Box setup failed: Failed to create domain: unsupported configuration: this QEMU binary lacks smartcard passthrough mode support
I don't know if it's relevant to this issue, is it another bug, or is it an issue at all, but I think it's worth noticing.
$ uname -a
Linux anton-RHEL 5.14.0-70.17.1.el9_0.x86_64 #1 SMP PREEMPT Tue Jun 14 11:32:10 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: RedHatEnterprise
Description: Red Hat Enterprise Linux release 9.0 (Plow)
Release: 9.0
Codename: Plow