Bug 459350 - [crash] - latte crashes while switching virtual desktop and opening the app menu
Summary: [crash] - latte crashes while switching virtual desktop and opening the app menu
Status: RESOLVED DUPLICATE of bug 446874
Alias: None
Product: lattedock
Classification: Plasma
Component: application (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-09-18 20:17 UTC by Etienne Maheu
Modified: 2023-07-26 16:32 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Etienne Maheu 2022-09-18 20:17:49 UTC
Application: latte-dock (0.10.77)

Qt Version: 5.15.6
Frameworks Version: 5.98.0
Operating System: Linux 5.19.6-zen1-1-zen x86_64
Windowing System: X11
Distribution: Garuda Linux
DrKonqi: 5.25.5 [KCrashBackend]

-- Information about the crash:
On a configuration with three different virtual desktops, trying to switch desktop with a shortcut and opening the app's menu by pressing the <super> key during the transition animation will cause Latte Dock to become unstable. Sometimes, the panel containing the app's menu will disapear on some of the virtual desktops but not all. Usually, Latte Dock will crash entirely seconds after, but I have seen it recover on its own after a minute or two.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Latte Dock (latte-dock), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f9aa7025444 in QSGTexture::setFiltering(QSGTexture::Filtering) () at /usr/lib/libQt5Quick.so.5
#5  0x00007f9aa70552d0 in QSGOpaqueTextureMaterialShader::updateState(QSGMaterialShader::RenderState const&, QSGMaterial*, QSGMaterial*) () at /usr/lib/libQt5Quick.so.5
#6  0x00007f9aa703e34e in QSGBatchRenderer::Renderer::renderMergedBatch(QSGBatchRenderer::Batch const*) () at /usr/lib/libQt5Quick.so.5
#7  0x00007f9aa7041b7e in QSGBatchRenderer::Renderer::renderBatches() () at /usr/lib/libQt5Quick.so.5
#8  0x00007f9aa70465d1 in QSGBatchRenderer::Renderer::render() () at /usr/lib/libQt5Quick.so.5
#9  0x00007f9aa702e085 in QSGRenderer::renderScene(QSGBindable const&) () at /usr/lib/libQt5Quick.so.5
#10 0x00007f9aa709675c in QSGOpenGLLayer::grab() () at /usr/lib/libQt5Quick.so.5
#11 0x00007f9aa708d52e in QSGOpenGLLayer::updateTexture() () at /usr/lib/libQt5Quick.so.5
#12 0x00007f9aa71e4af7 in QQuickOpenGLShaderEffectMaterial::updateTextures() const () at /usr/lib/libQt5Quick.so.5
#13 0x00007f9aa702e789 in QSGRenderer::preprocess() () at /usr/lib/libQt5Quick.so.5
#14 0x00007f9aa702e04c in QSGRenderer::renderScene(QSGBindable const&) () at /usr/lib/libQt5Quick.so.5
#15 0x00007f9aa709675c in QSGOpenGLLayer::grab() () at /usr/lib/libQt5Quick.so.5
#16 0x00007f9aa708d52e in QSGOpenGLLayer::updateTexture() () at /usr/lib/libQt5Quick.so.5
#17 0x00007f9aa71e4af7 in QQuickOpenGLShaderEffectMaterial::updateTextures() const () at /usr/lib/libQt5Quick.so.5
#18 0x00007f9aa702e789 in QSGRenderer::preprocess() () at /usr/lib/libQt5Quick.so.5
#19 0x00007f9aa702e04c in QSGRenderer::renderScene(QSGBindable const&) () at /usr/lib/libQt5Quick.so.5
#20 0x00007f9aa702e524 in QSGRenderer::renderScene(unsigned int) () at /usr/lib/libQt5Quick.so.5
#21 0x00007f9aa7087935 in QSGDefaultRenderContext::renderNextFrame(QSGRenderer*, unsigned int) () at /usr/lib/libQt5Quick.so.5
#22 0x00007f9aa70e1e51 in QQuickWindowPrivate::renderSceneGraph(QSize const&, QSize const&) () at /usr/lib/libQt5Quick.so.5
#23 0x00007f9aa7091f06 in  () at /usr/lib/libQt5Quick.so.5
#24 0x00007f9aa7096e14 in  () at /usr/lib/libQt5Quick.so.5
#25 0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#26 0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#27 0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 9 (Thread 0x7f9a5ac4a6c0 (LWP 978167) "CPMMListener"):
#1  0x00007f9a958bdb4c in  () at /usr/lib/libnvidia-glcore.so.515.65.01
#2  0x00007f9a958bde2a in  () at /usr/lib/libnvidia-glcore.so.515.65.01
#3  0x00007f9a958bb72a in  () at /usr/lib/libnvidia-glcore.so.515.65.01
#4  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#5  0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 8 (Thread 0x7f9a5b7fe6c0 (LWP 978166) "QSGRenderThread"):
#1  0x00007f9aa4beab20 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007f9aa5156744 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#3  0x00007f9aa7097203 in  () at /usr/lib/libQt5Quick.so.5
#4  0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#5  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#6  0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 7 (Thread 0x7f9a5bfff6c0 (LWP 978158) "KCupsConnection"):
#1  0x00007f9aa3633ddf in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9aa35db252 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9aa534250f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f9aa52f030c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9aa515249f in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9a60614bee in KCupsConnection::run() () at /usr/lib/libkcupslib.so
#7  0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#9  0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 6 (Thread 0x7f9a637fe6c0 (LWP 978151) "QQmlThread"):
#1  0x00007f9aa3633ddf in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9aa35db252 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9aa534250f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f9aa52f030c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9aa515249f in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9aa6d56300 in  () at /usr/lib/libQt5Qml.so.5
#7  0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#9  0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 5 (Thread 0x7f9a63fff6c0 (LWP 978139) "latte-dock"):
#1  0x00007f9aa0b20524 in  () at /usr/lib/libusbmuxd-2.0.so.6
#2  0x00007f9aa0b218a9 in  () at /usr/lib/libusbmuxd-2.0.so.6
#3  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#4  0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 4 (Thread 0x7f9a76ffd6c0 (LWP 978132) "QQmlThread"):
#1  0x00007f9aa35dd79c in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9aa3633c4e in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9aa35db252 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f9aa534250f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9aa52f030c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f9aa515249f in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f9aa6d56300 in  () at /usr/lib/libQt5Qml.so.5
#8  0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#10 0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 3 (Thread 0x7f9a948ff6c0 (LWP 978127) "QQmlThread"):
#1  0x00007f9aa35de193 in g_main_context_check () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9aa3633cd8 in  () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9aa35db252 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#4  0x00007f9aa534250f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9aa52f030c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#6  0x00007f9aa515249f in QThread::exec() () at /usr/lib/libQt5Core.so.5
#7  0x00007f9aa6d56300 in  () at /usr/lib/libQt5Qml.so.5
#8  0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#9  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#10 0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 2 (Thread 0x7f9a9fe246c0 (LWP 978119) "QDBusConnection"):
#1  0x00007f9aa3633ddf in  () at /usr/lib/libglib-2.0.so.0
#2  0x00007f9aa35db252 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3  0x00007f9aa534250f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#4  0x00007f9aa52f030c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#5  0x00007f9aa515249f in QThread::exec() () at /usr/lib/libQt5Core.so.5
#6  0x00007f9aa55b1cba in  () at /usr/lib/libQt5DBus.so.5
#7  0x00007f9aa514f2ba in  () at /usr/lib/libQt5Core.so.5
#8  0x00007f9aa4beb74d in  () at /usr/lib/libc.so.6
#9  0x00007f9aa4c6d700 in  () at /usr/lib/libc.so.6

Thread 1 (Thread 0x7f9aa0595a80 (LWP 978114) "latte-dock"):
#1  0x00007f9aa4beab20 in pthread_cond_wait () at /usr/lib/libc.so.6
#2  0x00007f9aa5156744 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#3  0x00007f9aa709c340 in  () at /usr/lib/libQt5Quick.so.5
#4  0x00007f9aa70ec3b9 in QQuickWindow::event(QEvent*) () at /usr/lib/libQt5Quick.so.5
#5  0x00007f9aa5ff8b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#6  0x00007f9aa52f7b68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#7  0x00007f9aa57f0588 in QPlatformWindow::windowEvent(QEvent*) () at /usr/lib/libQt5Gui.so.5
#8  0x00007f9aa5ffd001 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#9  0x00007f9aa52f7b68 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#10 0x00007f9aa5341d33 in QTimerInfoList::activateTimers() () at /usr/lib/libQt5Core.so.5
#11 0x00007f9aa5342372 in  () at /usr/lib/libQt5Core.so.5
#12 0x00007f9aa35ddb2b in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#13 0x00007f9aa3633e79 in  () at /usr/lib/libglib-2.0.so.0
#14 0x00007f9aa35db252 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#15 0x00007f9aa53424ec in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#16 0x00007f9aa52f030c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5
#17 0x00007f9aa52fae39 in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5
#18 0x0000564eab5b1fbe in  ()
#19 0x00007f9aa4b88290 in  () at /usr/lib/libc.so.6
#20 0x00007f9aa4b8834a in __libc_start_main () at /usr/lib/libc.so.6
#21 0x0000564eab5b98c5 in  ()
[Inferior 1 (process 978114) detached]

The reporter indicates this bug may be a duplicate of or related to bug 440657.

Reported using DrKonqi
Comment 1 Etienne Maheu 2022-09-18 21:27:06 UTC
I tried restarting my machine and almost immediately got a similar crash. However, the app's menu is a red-hearing. Just switching desktop causes crashes almost consistently now. I expect this must be related to a recent update I must have done. I am currently on 0.10.6.r276.gcd36798a-1
Comment 2 Etienne Maheu 2022-09-18 21:49:52 UTC
(In reply to Etienne Maheu from comment #1)
> I tried restarting my machine and almost immediately got a similar crash.
> However, the app's menu is a red-hearing. Just switching desktop causes
> crashes almost consistently now. I expect this must be related to a recent
> update I must have done. I am currently on 0.10.6.r276.gcd36798a-1

I believe it have something to do with either the Window Button, Window Title, or Window AppMenu applet. I have managed to get some relatively ok repro steps, but they require you to have: WebStorm 2022.2.2, at least two monitors, and two (potentially) git projects you can open in the IDE.

- Start an instance of WebStorm 2022.2.2 with a project opened.
- Wait for AppMenu to pickup the menu and display it. It shouldn't be visible in WebStorm anymore.
- Go to: File > Open, and open an other project.
- WebStorm will ask where it should open the project. Choose: "New Window".
- Wait for the project to finish loading.
- Maximize the first WebStorm window. It shouldn't show any window decoration.
- Place the second WebStorm window on a second monitor.
- Quickly cycle between virtual desktops, mines are vertical but I doubt it matters.

These steps will crash Latte Dock consistently after a couple of seconds. I haven't managed to reproduce the issue if both windows are on the same monitor, or if one of them isn't maximized, or even with a different application (including other JetBrains IDEs).
Comment 3 Etienne Maheu 2022-10-24 20:07:39 UTC
Since my last update to version 0.10.6.r287.ge6e50d71-1 on chaotic-aur, the problem has gotten worse.  When before I needed two instances of webstorm to cause issues, now latte will crash with just one instance running. I also tried to unload the top panel and keep only the dock to test my menu hypothesis. It still crashes.

Basically, the repro steps are now:
- Start WebStorm.
- Quickly cycle through virtual desktops (verticals).
- Crash.

This bug is now making my day to day pretty much unlivable as I have to manually restart latte at least 20 times a day.
Comment 4 Etienne Maheu 2022-10-31 21:08:12 UTC
New (and hopeful) update!

I have pinpointed what in my config is causing the SegFault. In my dock config, in the Tasks tab, when "Slide in and out single window" and "Grouped tasks slide out their closed window" are both checked, I get a seg fault. Disabling these two animations appears to fix the problem; or at least drastically reduce the amount of crashes to a point where I cannot reproduce them easily anymore. This explains why I needed to have multiple instances of the same app running to trigger the issue.
Comment 5 Fushan Wen 2023-07-26 16:32:43 UTC

*** This bug has been marked as a duplicate of bug 446874 ***