Bug 2253115 - obs crashed in QtWaylandClient::QWaylandWindow::decoration when closing
Summary: obs crashed in QtWaylandClient::QWaylandWindow::decoration when closing
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: obs-studio
Version: 40
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Neal Gompa
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-12-06 05:44 UTC by Matt Fagnani
Modified: 2024-08-04 02:18 UTC (History)
5 users (show)

Fixed In Version: obs-studio-30.2.2-1.fc40
Clone Of:
Environment:
Last Closed: 2024-08-04 02:18:16 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Matt Fagnani 2023-12-06 05:44:52 UTC
I booted the Fedora Rawhide/40 KDE Plasma live image Fedora-KDE-Live-x86_64-Rawhide-20231204.n.0.iso in GNOME Boxes QEMU/KVM VMs with 3D acceleration disabled using the llvmpipe mesa 23.3.0 driver in a Fedora 39 KDE Plasma host. To work around the VM getting stuck on the Plasma 5.90.0 on Wayland splash screen as I reported at https://bugs.kde.org/show_bug.cgi?id=477643 I changed to VT2 using the keyboard menu in the top bar of GNOME Boxes and selecting Ctrl+Alt+F2. When I changed back to VT1, Plasma was shown with the Plasma Welcome program open. I started Konsole. I installed obs-studio 30.0.0. I started obs in Konsole. I clicked cancel on the wizard. I added a Screen Capture (Pipewire) source with QEMU screen. I closed obs. A crash notification was shown. drkonqi appeared which was unexpected since I didn't think obs-studio was a KDE program. obs crashed in QtWaylandClient::QWaylandWindow::decoration when closing 3 different times. Since this=0x0 for QtWaylandClient::QWaylandWindow::decoration, the crash might've been a null pointer dereference.

Application: obs (obs), signal: Segmentation fault

[KCrash Handler]
#4  0x00007fe143da72f6 in QtWaylandClient::QWaylandWindow::decoration (this=0x0) at /usr/src/debug/qt6-qtwayland-6.6.1-1.fc40.x86_64/src/client/qwaylandwindow.cpp:1104
#5  0x00007fe143da22cd in QtWaylandClient::QWaylandShmBackingStore::resize (this=this@entry=0x5588370f2a80, size=...) at /usr/src/debug/qt6-qtwayland-6.6.1-1.fc40.x86_64/src/client/qwaylandshmbackingstore.cpp:297
#6  0x00007fe143da23ed in QtWaylandClient::QWaylandShmBackingStore::ensureSize (this=this@entry=0x5588370f2a80) at /usr/src/debug/qt6-qtwayland-6.6.1-1.fc40.x86_64/src/client/qwaylandshmbackingstore.cpp:194
#7  0x00007fe143da26d1 in QtWaylandClient::QWaylandShmBackingStore::beginPaint (this=0x5588370f2a80, region=...) at /usr/src/debug/qt6-qtwayland-6.6.1-1.fc40.x86_64/src/client/qwaylandshmbackingstore.cpp:172
#8  0x00007fe15c0846b1 in QBackingStore::beginPaint(QRegion const&) () from /lib64/libQt6Gui.so.6
#9  0x00007fe15cc2a596 in QWidgetRepaintManager::paintAndFlush() () from /lib64/libQt6Widgets.so.6
#10 0x00007fe15cc1e758 in QWidget::event(QEvent*) () from /lib64/libQt6Widgets.so.6
#11 0x00007fe15cbc3168 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt6Widgets.so.6
#12 0x00007fe15b7a0e08 in QCoreApplication::notifyInternal2 (receiver=0x55883492d4c0, event=0x558836fc4970) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1121
#13 0x00007fe15b7a100d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1539
#14 0x00007fe15b7a4d05 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x558832c8dca0) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1901
#15 0x00007fe15b7a507d in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1760
#16 0x00007fe15ba6daef in postEventSourceDispatch (s=0x558832d49220) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:243
#17 0x00007fe15a320e5c in g_main_context_dispatch_unlocked.lto_priv () from /lib64/libglib-2.0.so.0
#18 0x00007fe15a37bdd8 in g_main_context_iterate_unlocked.isra () from /lib64/libglib-2.0.so.0
#19 0x00007fe15a31ead3 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#20 0x00007fe15ba6d39f in QEventDispatcherGlib::processEvents (this=0x558832c8c820, flags=...) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:393
#21 0x00007fe15b7adbcb in QEventLoop::exec (this=this@entry=0x7fff9d0d3bd0, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/global/qflags.h:34
#22 0x00007fe15b7a99cd in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.6.1-1.fc40.x86_64/src/corelib/global/qflags.h:74
#23 0x00005588324f0073 in main ()
[Inferior 1 (process 3339) detached]


Reproducible: Always


Steps to Reproduce:
1. Boot a Fedora 39 KDE Plasma installation updated to 2023-12-6 with updates-testing enabled
2. Log in to Plasma 5.27.9 on Wayland
3. Start Konsole
4. Install GNOME Boxes if it isn't already with sudo dnf install gnome-boxes
5. Download Fedora-KDE-Live-x86_64-Rawhide-20231204.n.0.iso from https://koji.fedoraproject.org/koji/buildinfo?buildID=2327615
6. Start GNOME Boxes
7. Boot Fedora-KDE-Live-x86_64-Rawhide-20231204.n.0.iso in a GNOME Boxes QEMU/KVM VM with 3 GiB RAM, UEFI enabled, and 3D acceleration disabled 
8. To work around https://bugs.kde.org/show_bug.cgi?id=477643, switch to VT2 in GNOME boxes via the keyboard menu Ctrl+Alt+F2 and back to VT1 with Ctrl+Alt+F1 when the Plasma 5.90.0 splash screen is shown
9. Start Konsole in the VM 
10. In Konsole, Install obs-studio with sudo dnf install obs-studio
11. Start obs in Konsole
12. Click Cancel in the wizard in obs
13. Click + to add a source in the Sources box
14. Select Screen capture (Pipewire)
15. Click OK
16. Select QEMU screen and OK
17. Close obs

Actual Results:  
obs crashed when closing

Expected Results:  
obs shouldn't have crashed

Linux/KDE Plasma: Fedora Rawhide/40
(available in About System)
KDE Plasma Version: 5.90.0
KDE Frameworks Version: 5.246.0
Qt Version: 6.6.1

The problem didn't seem to happen when I booted the same image on bare metal. The problem might have something to do with running in a VM.

Comment 1 Aoife Moloney 2024-02-15 23:07:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle.
Changing version to 40.

Comment 2 Fedora Update System 2024-08-01 02:34:50 UTC
FEDORA-2024-a2b5f3b2a1 (obs-studio-30.2.2-1.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-a2b5f3b2a1

Comment 3 Fedora Update System 2024-08-02 03:39:45 UTC
FEDORA-2024-a2b5f3b2a1 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-a2b5f3b2a1`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-a2b5f3b2a1

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

Comment 4 Fedora Update System 2024-08-04 02:18:16 UTC
FEDORA-2024-a2b5f3b2a1 (obs-studio-30.2.2-1.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


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