https://bugs.kde.org/show_bug.cgi?id=460480
Matt Fagnani <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #3 from Matt Fagnani <[email protected]> --- I've seen two kwin_wayland crashes in KWin::WindowQuadList::makeInterleavedArrays with the same type of trace while I was using Plasma 5.26.2-5.26.3 on Wayland in a Fedora 37 KDE Plasma installation. I started Firefox Nightly 108.0a1 20221029095010 or 109.0a1 (2022-11-18). I had previously enabled the menu bar in Firefox. I clicked on Bookmarks in the menu bar. I moved the cursor over the bookmarks menu the first time. The crash happened right after I clicked on Bookmarks in the menu bar before the menu popup was shown in the second crash. Plasma froze, then the screen went black. Plasma restarted. kwin_wayland crashed in KWin::WindowQuadList::makeInterleavedArrays as shown in coredumpctl gdb. vertices=vertices@entry=0x0 in KWin::WindowQuadList::makeInterleavedArrays's arguments might be related to the problem since vertices was incremented then treated as a pointer in *(vertex++) = v; A race condition in which vertices was infrequently freed before it was used or not might be involved in this problem. Core was generated by `/usr/bin/kwin_wayland --wayland-fd 7 --socket wayland-0 --xwayland-fd 8 --xwayl'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0x00007f53e9efee46 in KWin::WindowQuadList::makeInterleavedArrays (this=this@entry=0x55a91e3f1620, type=type@entry=7, vertices=vertices@entry=0x0, textureMatrix=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/libkwineffects/kwineffects.cpp:1084 1084 *(vertex++) = v; [Current thread is 1 (Thread 0x7f53e8a9d980 (LWP 1415))] (gdb) bt #0 0x00007f53e9efee46 in KWin::WindowQuadList::makeInterleavedArrays(unsigned int, KWin::GLVertex2D*, QMatrix4x4 const&) const (this=this@entry=0x55a91e3f1620, type=type@entry=7, vertices=vertices@entry=0x0, textureMatrix=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/libkwineffects/kwineffects.cpp:1084 #1 0x00007f53e9badb34 in KWin::SceneOpenGL::render(KWin::Item*, int, QRegion const&, KWin::WindowPaintData const&) (this=0x55a91d046090, item=<optimized out>, mask=<optimized out>, region=..., data=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scenes/opengl/scene_opengl.cpp:477 #2 0x00007f53e9a1e0b4 in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55a91dc33ae0, w=<optimized out>, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/effects.cpp:454 #3 0x00007f53e9a8871d in KWin::EffectsHandlerImpl::drawWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (data=<optimized out>, region=<optimized out>, mask=<optimized out>, w=<optimized out>, this=0x55a91dc33ae0) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/effects.cpp:454 #4 KWin::Scene::finalPaintWindow(KWin::EffectWindowImpl*, int, QRegion const&, KWin::WindowPaintData&) (this=<optimized out>, w=<optimized out>, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scene.cpp:589 #5 0x00007f53e9a1dffb in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55a91dc33ae0, w=0x55a91e5fb4f0, mask=0, region=<optimized out>, data=...) --Type <RET> for more, q to quit, c to continue without paging--c at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/effects.cpp:425 #6 0x00007f53e9a1dffb in KWin::EffectsHandlerImpl::paintWindow(KWin::EffectWindow*, int, QRegion const&, KWin::WindowPaintData&) (this=0x55a91dc33ae0, w=0x55a91e5fb4f0, mask=0, region=<optimized out>, data=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/effects.cpp:425 #7 0x00007f53e9a8b35a in KWin::Scene::paintWindow(KWin::WindowItem*, int, QRegion const&) (region=..., mask=0, item=0x55a91e25b500, this=0x55a91e25b500) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/window.h:2256 #8 KWin::Scene::paintWindow(KWin::WindowItem*, int, QRegion const&) (this=this@entry=0x55a91d046090, item=0x55a91e25b500, mask=0, region=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scene.cpp:576 #9 0x00007f53e9a8b606 in KWin::Scene::paintSimpleScreen(int, QRegion const&) (this=0x55a91d046090, region=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scene.cpp:537 #10 0x00007f53e9a1df4b in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x55a91dc33ae0, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/effects.cpp:397 #11 0x00007f53e9a1df4b in KWin::EffectsHandlerImpl::paintScreen(int, QRegion const&, KWin::ScreenPaintData&) (this=0x55a91dc33ae0, mask=<optimized out>, region=<optimized out>, data=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/effects.cpp:397 #12 0x00007f53e9a88583 in KWin::Scene::paintScreen(QRegion const&) (this=0x55a91d046090, region=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scene.cpp:480 #13 0x00007f53e9ba7468 in KWin::SceneOpenGL::paint(KWin::RenderTarget*, QRegion const&) (this=0x55a91d046090, renderTarget=<optimized out>, region=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scenes/opengl/scene_opengl.cpp:90 #14 0x00007f53e9a8a2d3 in KWin::SceneDelegate::paint(KWin::RenderTarget*, QRegion const&) (this=<optimized out>, renderTarget=0x7fff1479b960, region=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/scene.cpp:121 #15 0x00007f53e99dfc08 in KWin::Compositor::paintPass(KWin::RenderLayer*, KWin::RenderTarget*, QRegion const&) (this=this@entry=0x55a91d084e00, layer=layer@entry=0x55a91dc34b70, target=target@entry=0x7fff1479b960, region=...) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/composite.cpp:713 #16 0x00007f53e99e3e3e in KWin::Compositor::composite(KWin::RenderLoop*) (this=0x55a91d084e00, renderLoop=0x55a91d1d2d60) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/composite.cpp:656 #17 0x00007f53e80dbc26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff1479bab0, r=<optimized out>, this=0x55a91dc3aa90) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #18 doActivate<false>(QObject*, int, void**) (sender=0x55a91d1d2d60, signal_index=5, argv=0x7fff1479bab0) at kernel/qobject.cpp:3919 #19 0x00007f53e80d6bb7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f53e9daa780 <KWin::RenderLoop::staticMetaObject>, local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7fff1479bab0) at kernel/qobject.cpp:3979 #20 0x00007f53e9995816 in KWin::RenderLoop::frameRequested(KWin::RenderLoop*) (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/redhat-linux-build/src/kwin_autogen/TAC5DWH4SE/moc_renderloop.cpp:206 #21 0x00007f53e99e8247 in KWin::RenderLoopPrivate::dispatch() (this=0x55a91d1d4b00) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/core/renderloop.cpp:151 #22 0x00007f53e80dbc26 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff1479bbd0, r=<optimized out>, this=0x55a91d1d4ee0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #23 doActivate<false>(QObject*, int, void**) (sender=0x55a91d1d4b18, signal_index=3, argv=0x7fff1479bbd0) at kernel/qobject.cpp:3919 #24 0x00007f53e80d6bb7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f53e836d580 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff1479bbd0) at kernel/qobject.cpp:3979 #25 0x00007f53e80defae in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205 #26 0x00007f53e80d2d55 in QObject::event(QEvent*) (this=0x55a91d1d4b18, e=0x7fff1479bd30) at kernel/qobject.cpp:1369 #27 0x00007f53e75aed12 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x55a91d1d4b18, e=0x7fff1479bd30) at kernel/qapplication.cpp:3637 #28 0x00007f53e80a8278 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x55a91d1d4b18, event=0x7fff1479bd30) at kernel/qcoreapplication.cpp:1064 #29 0x00007f53e80f8711 in QTimerInfoList::activateTimers() (this=this@entry=0x55a91cdd7e98) at kernel/qtimerinfo_unix.cpp:643 #30 0x00007f53e80f5e70 in QEventDispatcherUNIXPrivate::activateTimers() (this=this@entry=0x55a91cdd7e10) at kernel/qeventdispatcher_unix.cpp:249 #31 0x00007f53e80f6cc0 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:516 #32 0x000055a91be18b51 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () #33 0x00007f53e80a6cca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff1479beb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #34 0x00007f53e80aed92 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #35 0x00007f53e855fbe0 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1863 #36 0x00007f53e75aec89 in QApplication::exec() () at kernel/qapplication.cpp:2829 #37 0x000055a91bd3dd88 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-5.26.3-1.fc37.x86_64/src/main_wayland.cpp:613 The journal at the time of the crashes showed some errors including kwin_wayland[1403]: libkwinglutils: Wait failed Oct 29 13:59:50 systemd[1334]: Started app-Firefox\x20Nightly\x20on\x20Wayland-d5a0a538e21f4d5dbaea387253d8a18a.scope - Firefox Nightly on Wayland. Oct 29 13:59:51 plasmashell[2500]: [GFX1-]: glxtest: VA-API test failed: no supported VAAPI profile found. Oct 29 13:59:53 rtkit-daemon[875]: Successfully made thread 2628 of process 2500 (/home/matt/programs/firefox/firefox-bin) owned by '1000' RT at priority 10. Oct 29 13:59:56 kwin_wayland[1403]: libkwinglutils: Wait failed Oct 29 13:59:56 kernel: show_signal_msg: 1 callbacks suppressed Oct 29 13:59:56 kernel: kwin_wayland[1403]: segfault at 10 ip 00007f2c204e0e46 sp 00007ffe70257918 error 6 in libkwineffects.so.5.26.2[7f2c204cf000+27000] Oct 29 13:59:56 kernel: Code: 58 e3 f3 44 0f 58 ca 41 0f 14 e0 66 45 0f ef c0 0f 16 f4 66 0f ef e4 f2 44 0f 5a 40 80 45 0f 14 c2 f2 0f 5a 60 90 f3 0f 59 e1 <0f> 11 6a d0 0f 11 7a e0 0f 11 72 f0 f3 0f 58 e3 41 0f 14 e1 44 0f Oct 29 13:59:56 audit[1403]: ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 pid=1403 comm="kwin_wayland" exe="/usr/bin/kwin_wayland" sig=11 res=1 This problem didn't usually happen. After the crashes and Plasma restarted, when I clicked on Shut Down or Restart in the Application Launcher menu Plasma froze for about a minute which was unusual. kwin_wayland also crashed with Plasma 5.26.1 on 2022-10-21 when I was using konsole with the same types of errors in the journal like "kwin_wayland[1403]: libkwinglutils: Wait failed". Plasma froze for about 5 minutes. systemd-coredump timed out after that long so I don't have a trace for that crash. drkonqi showed that akonadiserver had crashed after the kwin_wayland crashes. -- You are receiving this mail because: You are watching all bug changes.
