Bug 472748 - plasmashell crashed when task tooltip is dismissed before thumbnails are available
Summary: plasmashell crashed when task tooltip is dismissed before thumbnails are avai...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager (show other bugs)
Version: master
Platform: Other Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, qt6, wayland
Depends on:
Blocks: 479302
  Show dependency treegraph
 
Reported: 2023-07-28 14:25 UTC by Fushan Wen
Modified: 2024-01-02 14:41 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
qydwhotmail: Wayland+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fushan Wen 2023-07-28 14:25:20 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Open several Konsole windows, and move mouse cursor to the Konsole group in the task manager
2. Before all thumbnails are loaded, move mouse cursor away from the task to dismiss the tooltip

OBSERVED RESULT
Crash

EXPECTED RESULT
No crash

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.27.80
KDE Frameworks Version: 5.240
Qt Version: 6.5.1

ADDITIONAL INFORMATION
(gdb) bt
#0  std::__atomic_base<int>::fetch_sub(int, std::memory_order)
    (__m=std::memory_order_acq_rel, __i=1, this=0x86e0000086e, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/13/bits/atomic_base.h:643
#1  QAtomicOps<int>::deref<int>(std::atomic<int>&)
    (_q_value=<error reading variable: Cannot access memory at address 0x86e0000086e>, _q_value=<optimized out>)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/build/include/QtCore/../../../src/corelib/thread/qatomic_cxx11.h:265
#2  QBasicAtomicInteger<int>::deref() (this=0x86e0000086e)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/build/include/QtCore/../../../src/corelib/thread/qbasicatomic.h:52
#3  QThreadData::deref() (this=0x86e0000086e)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/corelib/thread/qthread.cpp:107
#4  QObjectPrivate::~QObjectPrivate() (this=0x6a5b760, this=<optimized out>)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/corelib/kernel/qobject.cpp:204
#5  0x00007fb06a1b5bd2 in QtWaylandClient::QWaylandWindow::createDecoration() (this=0x297e0d0)
    at /usr/src/debug/qtwayland-everywhere-src-6.5.1/src/client/qwaylandwindow.cpp:961
#6  0x00007fb0649f8e34 in QtWaylandClient::QWaylandGLContext::makeCurrent(QPlatformSurface*) ()
    at /lib64/libQt6WaylandEglClientHwIntegration.so.6
#7  0x00007fb0696bd64a in QOpenGLContext::makeCurrent(QSurface*) (this=0x7faf78001ff0, surface=0x2b75150)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/gui/kernel/qopenglcontext.cpp:655
#8  0x00007fb0696cfd1c in QRhiGles2::ensureContext(QSurface*) const
    (this=this@entry=0x7faf780018e0, surface=0x2b75150)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/gui/rhi/qrhigles2.cpp:563
#9  0x00007fb0696d0d09 in QRhiGles2::beginFrame(QRhiSwapChain*, QFlags<QRhi::BeginFrameFlag>)
    (this=0x7faf780018e0, swapChain=0x7faf781bc000)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/gui/rhi/qrhigles2.cpp:1957
#10 0x00007fb0695b02b2 in QRhi::beginFrame(QRhiSwapChain*, QFlags<QRhi::BeginFrameFlag>)
    (this=0x7faf780018c0, swapChain=0x7faf781bc000, flags=..., flags@entry=...)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/gui/rhi/qrhi.cpp:7576
#11 0x00007fb06b631b34 in QSGRenderThread::syncAndRender() (this=<optimized out>)
    at /usr/include/qt6/QtCore/qflags.h:73
#12 QSGRenderThread::run() (this=0x615e350)
    at /usr/src/debug/qtdeclarative-everywhere-src-6.5.1/src/quick/scenegraph/qsgthreadedrenderloop.cpp:938
#13 0x00007fb068e9435f in operator() (__closure=<optimized out>)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/corelib/thread/qthread_unix.cpp:321
#14 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=<optimized out>)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/corelib/thread/qthread_unix.cpp:257
#15 QThreadPrivate::start(void*) (arg=0x615e350)
    at /usr/src/debug/qtbase-everywhere-src-6.5.1/src/corelib/thread/qthread_unix.cpp:280
#16 0x00007fb068690c24 in start_thread () at /lib64/libc.so.6
#17 0x00007fb068718510 in clone3 () at /lib64/libc.so.6
Comment 1 Bug Janitor Service 2023-07-28 14:52:51 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kpipewire/-/merge_requests/78
Comment 2 Fushan Wen 2023-07-28 15:02:19 UTC
Git commit c42fd89d512de970ee5078d0f5b5fa14279764a0 by Fushan Wen.
Committed on 28/07/2023 at 16:51.
Pushed by fusionfuture into branch 'master'.

PipeWireSourceItem: proceed itemChange in QQuickItem

It's recommended in Qt docs, and not calling it can potentially cause
crashes like https://invent.kde.org/frameworks/kirigami/-/merge_requests/857

M  +2    -0    src/pipewiresourceitem.cpp

https://invent.kde.org/plasma/kpipewire/-/commit/c42fd89d512de970ee5078d0f5b5fa14279764a0
Comment 3 Bug Janitor Service 2023-07-28 15:07:01 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kpipewire/-/merge_requests/79
Comment 4 Fushan Wen 2023-07-28 15:10:15 UTC
Git commit 4212e7a45b789560244074097b80edb4e7334328 by Fushan Wen.
Committed on 28/07/2023 at 17:06.
Pushed by fusionfuture into branch 'Plasma/5.27'.

PipeWireSourceItem: proceed itemChange in QQuickItem

It's recommended in Qt docs, and not calling it can potentially cause
crashes like https://invent.kde.org/frameworks/kirigami/-/merge_requests/857


(cherry picked from commit c42fd89d512de970ee5078d0f5b5fa14279764a0)

M  +2    -0    src/pipewiresourceitem.cpp

https://invent.kde.org/plasma/kpipewire/-/commit/4212e7a45b789560244074097b80edb4e7334328
Comment 5 Nate Graham 2023-08-01 18:47:07 UTC
Could reproduce before that commit went in; cannot reproduce after it. Looks like you fixed it!
Comment 6 Bug Janitor Service 2023-08-14 11:58:51 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/1198
Comment 7 Bug Janitor Service 2023-08-14 11:58:53 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/848
Comment 8 Fushan Wen 2023-08-14 12:29:07 UTC
Git commit 25f9a6aa98f6ac6a5ed907ebae7dc3e5dfa7644e by Fushan Wen.
Committed on 14/08/2023 at 13:56.
Pushed by davidedmundson into branch 'master'.

WindowThumbnail: proceed itemChange in QQuickItem

It's recommended in Qt docs, and not calling it can potentially cause
crashes like https://invent.kde.org/frameworks/kirigami/-/merge_requests/857

M  +2    -0    src/declarativeimports/core/windowthumbnail.cpp

https://invent.kde.org/frameworks/plasma-framework/-/commit/25f9a6aa98f6ac6a5ed907ebae7dc3e5dfa7644e
Comment 9 Bug Janitor Service 2023-08-14 12:49:12 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/plasma-framework/-/merge_requests/849
Comment 10 Fushan Wen 2023-08-14 12:54:45 UTC
Git commit 1b61cc6fd6a2143ce7ab4b54a2e31a9a0ff12c5c by Fushan Wen.
Committed on 14/08/2023 at 14:48.
Pushed by fusionfuture into branch 'kf5'.

WindowThumbnail: proceed itemChange in QQuickItem

It's recommended in Qt docs, and not calling it can potentially cause
crashes like https://invent.kde.org/frameworks/kirigami/-/merge_requests/857


(cherry picked from commit 25f9a6aa98f6ac6a5ed907ebae7dc3e5dfa7644e)

M  +2    -0    src/declarativeimports/core/windowthumbnail.cpp

https://invent.kde.org/frameworks/plasma-framework/-/commit/1b61cc6fd6a2143ce7ab4b54a2e31a9a0ff12c5c
Comment 11 Fushan Wen 2023-08-14 12:55:55 UTC
Git commit a978a88d5d273d3203cf61577cdff8078a399b5a by Fushan Wen.
Committed on 14/08/2023 at 14:51.
Pushed by fusionfuture into branch 'master'.

ShadowedRectangle: proceed itemChange in QQuickItem

It's recommended in Qt docs, and not calling it can potentially cause
crashes like https://invent.kde.org/frameworks/kirigami/-/merge_requests/857

M  +2    -0    src/shadowedrectangle.cpp

https://invent.kde.org/frameworks/kirigami/-/commit/a978a88d5d273d3203cf61577cdff8078a399b5a
Comment 12 Fushan Wen 2023-08-14 13:48:14 UTC
Git commit 087e6d8a4cc9bbd16e6e39d6dfdc1a2e2bd36bee by Fushan Wen.
Committed on 14/08/2023 at 15:48.
Pushed by fusionfuture into branch 'kf5'.

ShadowedRectangle: proceed itemChange in QQuickItem

It's recommended in Qt docs, and not calling it can potentially cause
crashes like https://invent.kde.org/frameworks/kirigami/-/merge_requests/857


(cherry picked from commit a978a88d5d273d3203cf61577cdff8078a399b5a)

M  +2    -0    src/shadowedrectangle.cpp

https://invent.kde.org/frameworks/kirigami/-/commit/087e6d8a4cc9bbd16e6e39d6dfdc1a2e2bd36bee