Bug 438111

Summary: Starting Firefox in Wayland mode crashes kwin_wayland
Product: [Plasma] kwin Reporter: Lars Veldscholte <lars>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version First Reported In: 5.21.90   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Lars Veldscholte 2021-06-05 11:05:57 UTC
SUMMARY

With the latest version of Firefox Beta (90.0), the compositor crashes when Firefox is started in Wayland mode. This didn't happen with the previous version of Firefox, and it also doesn't happen with Firefox in XWayland mode.


STEPS TO REPRODUCE
1. Start Firefox 90.0

OBSERVED RESULT
The compositor crashes.

EXPECTED RESULT
The compositor doesn't crash ;)

SOFTWARE/OS VERSIONS

Operating System: Arch Linux
KDE Plasma Version: 5.21.90
KDE Frameworks Version: 5.82.0
Qt Version: 5.15.2
Kernel Version: 5.12.8-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Comment 1 Lars Veldscholte 2021-06-05 11:11:35 UTC
Backtrace:

Core was generated by `kwin_wayland --wayland_fd 4 --xwayland /usr/lib/startplasma-waylandsession'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f1e04c16b8e in ?? () from /usr/lib/libkwin.so.5
[Current thread is 1 (Thread 0x7f1dfdc31840 (LWP 10108))]
(gdb) bt
#0  0x00007f1e04c16b8e in  () at /usr/lib/libkwin.so.5
#1  0x00007f1e049dc83b in  () at /usr/lib/libkwin4_effect_builtins.so.1
#2  0x00007f1e049dcfea in  () at /usr/lib/libkwin4_effect_builtins.so.1
#3  0x00007f1e04c1356d in KWin::EffectsHandlerImpl::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) () at /usr/lib/libkwin.so.5
#4  0x00007f1e04a180fb in  () at /usr/lib/libkwin4_effect_builtins.so.1
#5  0x00007f1e04c1356d in KWin::EffectsHandlerImpl::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) () at /usr/lib/libkwin.so.5
#6  0x00007f1e04a1c88c in  () at /usr/lib/libkwin4_effect_builtins.so.1
#7  0x00007f1e04c1356d in KWin::EffectsHandlerImpl::prePaintWindow(KWin::EffectWindow*, KWin::WindowPrePaintData&, std::chrono::duration<long, std::ratio<1l, 1000l> >) () at /usr/lib/libkwin.so.5
#8  0x00007f1e04c8e40a in KWin::Scene::paintGenericScreen(int, KWin::ScreenPaintData const&) () at /usr/lib/libkwin.so.5
#9  0x00007f1dfc0b2c8e in  () at /usr/lib/qt/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#10 0x00007f1e04c8a52a in KWin::Scene::finalPaintScreen(int, QRegion const&, KWin::ScreenPaintData&) () at /usr/lib/libkwin.so.5
#11 0x00007f1e04c133fa in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) () at /usr/lib/libkwin.so.5
#12 0x00007f1e04c133fa in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) () at /usr/lib/libkwin.so.5
#13 0x00007f1e04c133fa in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) () at /usr/lib/libkwin.so.5
#14 0x00007f1e04c133fa in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) () at /usr/lib/libkwin.so.5
#15 0x00007f1e04c8f866 in KWin::Scene::paintScreen(int*, QRegion const&, QRegion const&, QRegion*, QRegion*, KWin::RenderLoop*, QMatrix4x4 const&) () at /usr/lib/libkwin.so.5
#16 0x00007f1dfc0b8024 in KWin::SceneOpenGL::paint(int, QRegion const&, QList<KWin::Toplevel*> const&, KWin::RenderLoop*) () at /usr/lib/qt/plugins/org.kde.kwin.scenes/KWinSceneOpenGL.so
#17 0x00007f1e04be60da in KWin::Compositor::composite(KWin::RenderLoop*) () at /usr/lib/libkwin.so.5
#18 0x00007f1e032963bb in  () at /usr/lib/libQt5Core.so.5
#19 0x00007f1e04b9e043 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) () at /usr/lib/libkwin.so.5
#20 0x00007f1e04c7dce4 in KWin::RenderLoopPrivate::dispatch() () at /usr/lib/libkwin.so.5
#21 0x00007f1e032963bb in  () at /usr/lib/libQt5Core.so.5
#22 0x00007f1e0329a38b in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/libQt5Core.so.5
#23 0x00007f1e0328c07f in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5
#24 0x00007f1e040cbd62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#25 0x00007f1e0325f00a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#26 0x00007f1e032b6fad in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5
#27 0x00007f1e032b5489 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#28 0x000056029ccb8bbe in  ()
#29 0x00007f1e0325d97c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#30 0x00007f1e03265ee4 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#31 0x000056029cc62f94 in  ()
#32 0x00007f1e029e1b25 in __libc_start_main () at /usr/lib/libc.so.6
#33 0x000056029cc63b4e in  ()
Comment 2 Vlad Zahorodnii 2021-06-07 06:43:06 UTC
Looks like a dup of bug 437115. Can you please get a backtrace of the crash with debug symbols?
Comment 3 Lars Veldscholte 2021-06-07 08:23:21 UTC
(In reply to Vlad Zahorodnii from comment #2)
> Looks like a dup of bug 437115. Can you please get a backtrace of the crash
> with debug symbols?

That indeed looks to be the same bug.

I'm running Arch, so I'd have to look into how to build KWin with debug symbols...
Comment 4 Vlad Zahorodnii 2021-06-07 08:26:16 UTC
Another option is to wait for 5.22 to be released. If kwin doesn't crash in 5.22, this bug report can be closed.
Comment 5 Lars Veldscholte 2021-06-09 21:46:45 UTC
(In reply to Vlad Zahorodnii from comment #4)
> Another option is to wait for 5.22 to be released. If kwin doesn't crash in
> 5.22, this bug report can be closed.

The problem is indeed gone in 5.22 :)
Comment 6 Vlad Zahorodnii 2021-06-10 06:33:38 UTC
Thanks for the confirmation.