Bug 444077

Summary: Kwin Crashing when using Java application
Product: [Plasma] kwin Reporter: Pulse <ausaitis>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: kde.org, nate, vah1976
Priority: NOR Keywords: drkonqi
Version: 5.23.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: kwin support info
New crash information added by DrKonqi

Description Pulse 2021-10-20 03:04:12 UTC
Application: kwin_x11 (5.23.0)

Qt Version: 5.15.2
Frameworks Version: 5.86.0
Operating System: Linux 5.14.11-1-default x86_64
Windowing System: X11
Distribution: openSUSE Tumbleweed
DrKonqi: 5.23.0 [KCrashBackend]

-- Information about the crash:
I play Minecraft and use an application called ATLauncher to manage the Mods I use when creating a pack. I was in the process of adding mods, which is basically selecting from a list of available mods on curseforge, when Kwin crashed. It did this several times during the aforementioned process. It hasn't happened outside of this, yet.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: KWin (kwin_x11), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007f0049975980 in QSGOpenGLAtlasTexture::AtlasBase::bind (this=0x564f0e7d96f0, filtering=QSGTexture::Linear) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/util/qsgopenglatlastexture.cpp:249
#7  0x00007f0049971b00 in QSGOpaqueTextureMaterialShader::updateState (this=0x564f0e84ba70, state=..., newEffect=<optimized out>, oldEffect=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/util/qsgtexturematerial.cpp:112
#8  0x00007f00499589b4 in QSGBatchRenderer::Renderer::renderMergedBatch (batch=<optimized out>, this=0x564f0e8dfa60) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:3097
#9  QSGBatchRenderer::Renderer::renderMergedBatch (this=0x564f0e8dfa60, batch=0x564f0e41a0a0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:3026
#10 0x00007f004995df85 in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x564f0e8dfa60) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:4051
#11 0x00007f004995e972 in QSGBatchRenderer::Renderer::render (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:4363
#12 0x00007f0049945f60 in QSGRenderer::renderScene (bindable=..., this=0x564f0e8dfa60) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:264
#13 QSGRenderer::renderScene (this=0x564f0e8dfa60, bindable=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:220
#14 0x00007f004994641b in QSGRenderer::renderScene (fboId=<optimized out>, this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:205
#15 QSGRenderer::renderScene (this=<optimized out>, fboId=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/coreapi/qsgrenderer.cpp:192
#16 0x00007f00499aae83 in QSGDefaultRenderContext::renderNextFrame (this=0x564f0e6193f0, renderer=0x564f0e8dfa60, fboId=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/scenegraph/qsgdefaultrendercontext.cpp:228
#17 0x00007f0049a18c89 in QQuickWindowPrivate::renderSceneGraph (this=0x564f0ead5720, size=..., surfaceSize=...) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/items/qquickwindow.cpp:617
#18 0x00007f0049aa5377 in QQuickRenderControl::render (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/items/qquickrendercontrol.cpp:355
#19 0x00007f004a4288a3 in KWin::EffectQuickView::update (this=0x564f0e9ea9c0) at /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/libkwineffects/kwineffectquickview.cpp:238
#20 KWin::EffectQuickView::update (this=0x564f0e9ea9c0) at /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/libkwineffects/kwineffectquickview.cpp:205
#21 0x00007f004b501013 in QtPrivate::QSlotObjectBase::call (a=0x7ffeb28324d0, r=0x564f0e9ea9c0, this=0x7f004002bd90) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#22 doActivate<false> (sender=0x7f0040045fc0, signal_index=3, argv=0x7ffeb28324d0) at kernel/qobject.cpp:3886
#23 0x00007f004b4fa4df in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f004b7a0c00 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffeb28324d0) at kernel/qobject.cpp:3946
#24 0x00007f004b504eca in QTimer::timeout (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#25 0x00007f004b4f6edf in QObject::event (this=0x7f0040045fc0, e=0x7ffeb2832650) at kernel/qobject.cpp:1336
#26 0x00007f004ab15a7f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x7f0040045fc0, e=0x7ffeb2832650) at kernel/qapplication.cpp:3632
#27 0x00007f004b4ca9ca in QCoreApplication::notifyInternal2 (receiver=0x7f0040045fc0, event=0x7ffeb2832650) at kernel/qcoreapplication.cpp:1064
#28 0x00007f004b52123b in QTimerInfoList::activateTimers (this=this@entry=0x564f0b34e608) at kernel/qtimerinfo_unix.cpp:643
#29 0x00007f004b51e9fc in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x564f0b34e580) at kernel/qeventdispatcher_unix.cpp:249
#30 0x00007f004b51f747 in QEventDispatcherUNIX::processEvents (this=this@entry=0x564f0b40cdd0, flags=...) at kernel/qeventdispatcher_unix.cpp:516
#31 0x00007f00449440ae in QXcbUnixEventDispatcher::processEvents (this=0x564f0b40cdd0, flags=...) at qxcbeventdispatcher.cpp:60
#32 0x00007f004b4c93cb in QEventLoop::exec (this=this@entry=0x7ffeb28327f0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#33 0x00007f004b4d16b0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#34 0x00007f004b91d19c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#35 0x00007f004ab159f5 in QApplication::exec () at kernel/qapplication.cpp:2824
#36 0x0000564f09708009 in main (argc=<optimized out>, argv=0x7ffeb2832ad8) at /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/main_x11.cpp:483
[Inferior 1 (process 3077) detached]

Possible duplicates by query: bug 408368, bug 405595, bug 400437, bug 397530, bug 397057.

Reported using DrKonqi
Comment 1 Vlad Zahorodnii 2021-10-20 11:17:34 UTC
#18 0x00007f0049aa5377 in QQuickRenderControl::render (this=<optimized out>) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/items/qquickrendercontrol.cpp:355
#19 0x00007f004a4288a3 in KWin::EffectQuickView::update (this=0x564f0e9ea9c0) at /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/libkwineffects/kwineffectquickview.cpp:238
#20 KWin::EffectQuickView::update (this=0x564f0e9ea9c0) at /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/libkwineffects/kwineffectquickview.cpp:205

otoh, do you use aurorae window decorations? can you post the output of `qdbus org.kde.KWin /KWin supportInformation`?
Comment 2 Pulse 2021-10-20 11:34:21 UTC
(In reply to Vlad Zahorodnii from comment #1)
> #18 0x00007f0049aa5377 in QQuickRenderControl::render (this=<optimized out>)
> at
> /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde29-1.5.x86_64/src/quick/items/
> qquickrendercontrol.cpp:355
> #19 0x00007f004a4288a3 in KWin::EffectQuickView::update
> (this=0x564f0e9ea9c0) at
> /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/libkwineffects/
> kwineffectquickview.cpp:238
> #20 KWin::EffectQuickView::update (this=0x564f0e9ea9c0) at
> /usr/src/debug/kwin5-5.23.0-1.1.x86_64/src/libkwineffects/
> kwineffectquickview.cpp:205
> 
> otoh, do you use aurorae window decorations? can you post the output of
> `qdbus org.kde.KWin /KWin supportInformation`?

This?

qdbus-qt5 org.kde.KWin 
/
/ColorCorrect
/ColorPicker
/Compositor
/Effects
/FTrace
/KWin
/Plugins
/Screenshot
/Scripting
/Session
/VirtualDesktopManager
/WindowsRunner
/org
/org/kde
/org/kde/KWin
/org/kde/KWin/HighlightWindow
/org/kde/KWin/PresentWindows
/org/kde/KWin/ScreenShot2


I'm using Mondrian window decorations.
Comment 3 Vlad Zahorodnii 2021-10-20 16:05:44 UTC
No, you ran an incomplete command

  qdbus org.kde.KWin /KWin supportInformation
Comment 4 Pulse 2021-10-20 22:16:39 UTC
(In reply to Vlad Zahorodnii from comment #3)
> No, you ran an incomplete command
> 
>   qdbus org.kde.KWin /KWin supportInformation

Apologies. Here's the full report - https://pastebin.com/v4AMnuvS
Comment 5 kde.org 2021-11-04 20:14:06 UTC
Created attachment 143216 [details]
kwin support info

Added attachment to avoid disappearing information in external links
Comment 6 vah1976 2021-11-18 15:28:28 UTC
Created attachment 143698 [details]
New crash information added by DrKonqi

kwin_x11 (5.23.2) using Qt 5.15.2

- What I was doing when the application crashed:

I was playing triplea. When a confirmation popup comes up (like skipping non combat moves) kwin has a 50% rate of crashing

-- Backtrace (Reduced):
#4  0x00007fdbb91e1a05 in QSGOpenGLAtlasTexture::AtlasBase::bind (this=0x55aadd77ea00, filtering=QSGTexture::Linear) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.1.x86_64/src/quick/scenegraph/util/qsgopenglatlastexture.cpp:263
#5  0x00007fdbb91ddb40 in QSGOpaqueTextureMaterialShader::updateState (this=0x55aadd1a6000, state=..., newEffect=<optimized out>, oldEffect=0x0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.1.x86_64/src/quick/scenegraph/util/qsgtexturematerial.cpp:112
#6  0x00007fdbb91c49f4 in QSGBatchRenderer::Renderer::renderMergedBatch (batch=<optimized out>, this=0x55aadda65bb0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.1.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:3097
#7  QSGBatchRenderer::Renderer::renderMergedBatch (this=0x55aadda65bb0, batch=0x55aaddbe9090) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.1.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:3026
#8  0x00007fdbb91c9fc5 in QSGBatchRenderer::Renderer::renderBatches (this=this@entry=0x55aadda65bb0) at /usr/src/debug/libqt5-qtdeclarative-5.15.2+kde36-1.1.x86_64/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:4051
Comment 7 Bug Janitor Service 2021-12-13 10:57:58 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1791
Comment 8 Vlad Zahorodnii 2021-12-13 13:49:11 UTC
Git commit 64f2cdf9ed290a1fb7c2bf41753613078eb023c4 by Vlad Zahorodnii.
Committed on 13/12/2021 at 13:29.
Pushed by vladz into branch 'master'.

Fix memory leak in some plasma components

A few plasma components cache QSGTexture. Those components rely on
texture references going away with QSGNode users. However, with the
current tear down logic, OffscreenQuickView won't destroy any paint
nodes.

Destroy QQuickRenderControl before QQuickWindow to ensure that are no
paint nodes left alive after OffscreenQuickView.
Related: bug 444429, bug 444381, bug 444306

M  +7    -4    src/libkwineffects/kwinoffscreenquickview.cpp

https://invent.kde.org/plasma/kwin/commit/64f2cdf9ed290a1fb7c2bf41753613078eb023c4
Comment 9 Vlad Zahorodnii 2021-12-13 15:36:40 UTC
Git commit 8accc777a5b3ab1e53341f1838ed636652dc1221 by Vlad Zahorodnii.
Committed on 13/12/2021 at 14:04.
Pushed by vladz into branch 'Plasma/5.23'.

Fix memory leak in some plasma components

A few plasma components cache QSGTexture. Those components rely on
texture references going away with QSGNode users. However, with the
current tear down logic, OffscreenQuickView won't destroy any paint
nodes.

Destroy QQuickRenderControl before QQuickWindow to ensure that are no
paint nodes left alive after OffscreenQuickView.
Related: bug 444429, bug 444381, bug 444306
(cherry picked from commit 64f2cdf9ed290a1fb7c2bf41753613078eb023c4)

M  +7    -5    src/libkwineffects/kwineffectquickview.cpp

https://invent.kde.org/plasma/kwin/commit/8accc777a5b3ab1e53341f1838ed636652dc1221