| Summary: | Plasmashell crashes in X11Plugin::createWindowInfo() when using the close button in the Icons Only Task Manager tool tip | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Synthetic451 <bugs.kde.org.facelift226> |
| Component: | Task Manager and Icons-Only Task Manager widgets | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | bugs.kde.org.facelift226, cakiroglu.mert, inb-bugzilla-1e1cff, kde, ltrelpublic, nate, nekonexus, qydwhotmail, redgriefer89, shamalox |
| Priority: | HI | Keywords: | regression |
| Version First Reported In: | 5.26.5 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/frameworks/plasma-framework/commit/f1b572b3c03c2651bc3f11f26283f7dda8d1ecb1 | Version Fixed/Implemented In: | 5.104 |
| Sentry Crash Report: | |||
| Attachments: |
Plasmashell crash trace logs
Video of crash behavior Backtrace with symbols |
||
Created attachment 155230 [details]
Video of crash behavior
Forgot to mention that this is with Xorg 21.1.6 So this is 100% reproducible for me? I can't manage to make it happen. If it is for you, can you install or compile with debug symbols and then bet a backtrace from your stack trace? Then we can tell what exactly is happening. Thanks! Created attachment 155252 [details]
Backtrace with symbols
Hi Nate, I used debuginfod to get the debug symbols. Here's the full trace.
Regarding reproducibility, today I noticed that I wasn't able to replicate the issue with Dolphin, but I've pretty consistently been able to reproduce the issue with Steam Windows. Can you try: 1. Launching Steam 2. Opening the Steam Friends list 3. Close the Steam Friends list using the window thumbnail tooltip close button Thanks, that's very helpful. Pasting it inline for searchability:
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {0}}
ret = <optimized out>
#1 0x00007f54406a16b3 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2 0x00007f5440651958 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#3 0x00007f5442f40868 in KCrash::defaultCrashHandler(int) (sig=11) at /usr/src/debug/kcrash/kcrash-5.101.0/src/kcrash.cpp:633
crashRecursionCounter = 3
#4 0x00007f5440651a00 in <signal handler called> () at /usr/lib/libc.so.6
#5 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
tid = <optimized out>
ret = 0
pd = <optimized out>
old_mask = {__val = {140732685002288}}
ret = <optimized out>
#6 0x00007f54406a16b3 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#7 0x00007f5440651958 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
ret = <optimized out>
#8 0x00007f5440651a00 in <signal handler called> () at /usr/lib/libc.so.6
#9 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:37
#10 0x00007f5440ce057c in QtLinuxFutex::_q_futex(int*, int, int, unsigned long long, int*, int)
(val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>, addr=<optimized out>, op=<optimized out>, val=<optimized out>, val2=<optimized out>, addr2=<optimized out>, val3=<optimized out>) at thread/qfutex_p.h:114
ptr = <optimized out>
n = 1
nn = 8589934593
curValue = <optimized out>
#11 QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> >(QBasicAtomicInteger<unsigned int>&, QBasicAtomicInteger<unsigned int>::Type) (expectedValue=<optimized out>, futex=<optimized out>) at thread/qfutex_p.h:133
ptr = <optimized out>
n = 1
nn = 8589934593
curValue = <optimized out>
#12 futexSemaphoreTryAcquire_loop<false>(QBasicAtomicInteger<unsigned long long>&, unsigned long long, unsigned long long, int) (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219
ptr = <optimized out>
n = 1
nn = 8589934593
curValue = <optimized out>
#13 futexSemaphoreTryAcquire<false>(QBasicAtomicInteger<unsigned long long>&, int, int) (timeout=-1, n=<optimized out>, u=...) at thread/qsemaphore.cpp:262
nn = 8589934593
curValue = <optimized out>
#14 QSemaphore::acquire(int) (this=0x7ffee1b2abf0, n=<optimized out>) at thread/qsemaphore.cpp:326
#15 0x00007f5440ebdb94 in doActivate<false>(QObject*, int, void**) (sender=0x55c217975eb0, signal_index=0, argv=0x7ffee1b2ac70) at kernel/qobject.cpp:3904
semaphore = {{d = 0x100000000, u = {_q_value = std::atomic<unsigned long long> = { 4294967296 }}}}
receiver = 0x7f5434001c00
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x100000000, receiver = 0xffffffffffffff10, sender = 0x9, signal = 0}
c = 0x7f543405cd20
connections = {d = 0x7f543405cb90}
list = <optimized out>
inSenderThread = true
highestConnectionId = 2
signalVector = 0x7f543405cd80
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#16 0x00007f5440ebde34 in QObject::destroyed(QObject*) (this=<optimized out>, _t1=<optimized out>) at .moc/moc_qobject.cpp:219
_a = {0x0, 0x7ffee1b2ac68}
#17 0x00007f5440eb439c in QObject::~QObject() (this=0x55c217975eb0, this=<optimized out>) at kernel/qobject.cpp:1010
d = 0x55c21797b020
sharedRefcount = 0x0
cd = <optimized out>
#18 0x00007f54421d7cee in QDBusServiceWatcher::~QDBusServiceWatcher() (this=0x55c217975eb0, this=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/dbus/qdbusservicewatcher.cpp:260
#19 0x00007f5440eb3bc5 in QObjectPrivate::deleteChildren() (this=this@entry=0x55c21797ab70) at kernel/qobject.cpp:2137
i = <optimized out>
#20 0x00007f5440eb4389 in QObject::~QObject() (this=<optimized out>, this=<optimized out>) at kernel/qobject.cpp:1115
d = <optimized out>
sharedRefcount = <optimized out>
cd = 0x55c21797b0a0
#21 0x00007f54380778ca in (anonymous namespace)::Q_QGS_privateStatusNotifierItemHostSelf::innerFunction()::Holder::~Holder() [clone .lto_priv.0] () at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/applets/systemtray/statusnotifieritemhost.cpp:37
#22 0x00007f5440653fa5 in __run_exit_handlers (status=status@entry=1, listp=0x7f54407f1760 <__exit_funcs>, run_list_atexit=run_list_atexit@entry=true, run_dtors=run_dtors@entry=true) at exit.c:113
atfct = <optimized out>
onfct = <optimized out>
cxafct = <optimized out>
arg = 0x7f543809f0c0 <(anonymous namespace)::Q_QGS_privateStatusNotifierItemHostSelf::innerFunction()::holder>
f = <optimized out>
cur = 0x7f54288fee70
#23 0x00007f5440654120 in __GI_exit (status=status@entry=1) at exit.c:143
#24 0x00007f544022fe16 in _XDefaultIOError (dpy=0x55c215e25c40) at /usr/src/debug/libx11/libX11-1.8.3/src/XlibInt.c:1317
killed = <optimized out>
#25 0x00007f5440232693 in _XIOError (dpy=dpy@entry=0x55c215e25c40) at /usr/src/debug/libx11/libX11-1.8.3/src/XlibInt.c:1548
exit_handler = 0x7f544022fd90 <_XDefaultIOErrorExit>
exit_handler_data = 0x0
#26 0x00007f5440232769 in require_socket (dpy=0x55c215e25c40) at /usr/src/debug/libx11/libX11-1.8.3/src/xcb_io.c:74
sent = 94292079172672
flags = <optimized out>
#27 0x00007f544021c973 in _XNextRequest (dpy=0x55c215e25c40) at /usr/src/debug/libx11/libX11-1.8.3/src/xcb_io.c:883
next_request = <optimized out>
#28 XNextRequest (dpy=0x55c215e25c40) at /usr/src/debug/libx11/libX11-1.8.3/src/Macros.c:149
next_request = <optimized out>
#29 0x00007f5439ebaab7 in KXErrorHandlerPrivate::KXErrorHandlerPrivate(_XDisplay*) (dpy=0x55c215e25c40, this=0x55c21aa915d0) at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/platforms/xcb/kxerrorhandler.cpp:22
handler = {user_handler1 = 0x0, user_handler2 = 0x0, old_handler = 0x7f543bfbfda0 <nullErrorHandler(Display*, XErrorEvent*)>, d = 0x7ffee1b2b040}
#30 KXErrorHandler::KXErrorHandler(_XDisplay*) (dpy=0x55c215e25c40, this=0x7ffee1b2afb0) at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/platforms/xcb/kxerrorhandler.cpp:42
handler = {user_handler1 = 0x0, user_handler2 = 0x0, old_handler = 0x7f543bfbfda0 <nullErrorHandler(Display*, XErrorEvent*)>, d = 0x7ffee1b2b040}
#31 KWindowInfoPrivateX11::KWindowInfoPrivateX11(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (properties2=..., properties=..., _win=100663329, this=0x55c218410670)
at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/platforms/xcb/kwindowinfo.cpp:54
handler = {user_handler1 = 0x0, user_handler2 = 0x0, old_handler = 0x7f543bfbfda0 <nullErrorHandler(Display*, XErrorEvent*)>, d = 0x7ffee1b2b040}
#32 X11Plugin::createWindowInfo(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (this=<optimized out>, window=100663329, properties=..., properties2=...)
at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/platforms/xcb/plugin.cpp:34
#33 0x00007f54427d336b in KWindowSystemPluginWrapper::createWindowInfo(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) const
(properties2=..., properties=..., window=100663329, this=0x7f54427ff420 <_ZZN12_GLOBAL__N_121Q_QGS_s_pluginWrapper13innerFunctionEvE6holder.lto_priv.0>) at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/pluginwrapper.cpp:140
p = 0x0
#34 KWindowInfoPrivate::create(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (window=100663329, properties=..., properties2=...) at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/kwindowinfo.cpp:25
#35 0x00007f54427d34e5 in KWindowInfo::KWindowInfo(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (this=this@entry=0x55c21a05ffa0, window=<optimized out>, properties=..., properties@entry=..., properties2=...,
properties2@entry=..., this=<optimized out>, window=<optimized out>, properties=..., properties2=...) at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/kwindowinfo.cpp:258
#36 0x00007f543814eb08 in TaskManager::XWindowTasksModel::Private::windowInfo(unsigned long long) (this=this@entry=0x55c21707d8c0, window=<optimized out>, window@entry=100663329)
at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/xwindowtasksmodel.cpp:426
info = <optimized out>
#37 0x00007f54381564ae in TaskManager::XWindowTasksModel::data(QModelIndex const&, int) const (this=this@entry=0x55c21707d6f0, index=..., role=role@entry=293)
at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/xwindowtasksmodel.cpp:684
info = <optimized out>
window = 100663329
#38 0x00007f5440e5a796 in QAbstractProxyModel::data(QModelIndex const&, int) const (this=<optimized out>, proxyIndex=<optimized out>, role=293) at itemmodels/qabstractproxymodel.cpp:245
#39 0x00007f5440e5e4d1 in QModelIndex::data(int) const (arole=293, this=0x7ffee1b2b210, this=<optimized out>, arole=<optimized out>) at ../../include/QtCore/../../src/corelib/itemmodels/qabstractitemmodel.h:460
sourceIndex = {r = 2, c = 0, i = 0, m = 0x55c21707d560}
#40 QConcatenateTablesProxyModel::data(QModelIndex const&, int) const (this=<optimized out>, index=<optimized out>, role=293) at itemmodels/qconcatenatetablesproxymodel.cpp:195
sourceIndex = {r = 2, c = 0, i = 0, m = 0x55c21707d560}
#41 0x00007f5438126064 in QModelIndex::data(int) const (arole=293, this=0x7ffee1b2b2a0) at /usr/include/qt/QtCore/qabstractitemmodel.h:460
sourceIdx = @0x7ffee1b2b2a0: {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}
#42 TaskManager::TaskFilterProxyModel::acceptsRow(int) const (this=0x55c21707f7e0, sourceRow=2) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/taskfilterproxymodel.cpp:270
sourceIdx = @0x7ffee1b2b2a0: {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}
#43 0x00007f5440e6c0e1 in QSortFilterProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=0x55c217086850, source_top_left=<optimized out>, source_bottom_right=<optimized out>, roles=...)
at itemmodels/qsortfilterproxymodel.cpp:1471
source_row = 2
source_bottom_right = @0x55c217ae41d8: {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}
m = 0x55c217083b70
source_rows_resort = {d = 0x7f5440f75ec0 <QArrayData::shared_null>}
source_top_left = @0x55c217ae41c0: {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}
source_parent = {r = -1, c = -1, i = 0, m = 0x0}
change_in_unmapped_parent = false
source_rows_remove = {d = 0x7f5440f75ec0 <QArrayData::shared_null>}
it = {i = <optimized out>}
source_rows_insert = {d = 0x7f5440f75ec0 <QArrayData::shared_null>}
source_rows_change = {d = 0x7f5440f75ec0 <QArrayData::shared_null>}
data_changed = @0x55c217ae41c0: {topLeft = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}, bottomRight = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}}
__for_range = std::vector of length 1, capacity 1 = {{topLeft = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}, bottomRight = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}}}
q = 0x55c21707f7e0
data_changed_list = std::vector of length 1, capacity 1 = {{topLeft = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}, bottomRight = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}}}
#44 0x00007f5440ebdc40 in doActivate<false>(QObject*, int, void**) (sender=0x55c21707c9d0, signal_index=3, argv=0x7ffee1b2b5b0) at kernel/qobject.cpp:3935
method_relative = <optimized out>
callFunction = <optimized out>
methodIndex = 0
receiver = 0x55c21707f7e0
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707f7e0, sender = 0x55c21707c9d0, signal = 3}
c = 0x55c217086cd0
connections = {d = 0x55c21707fad0}
list = <optimized out>
inSenderThread = true
highestConnectionId = 22
signalVector = 0x55c217087510
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#45 0x00007f5440e45da1 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557
_a = {0x0, 0x7ffee1b2b630, 0x7ffee1b2b650, 0x7ffee1b2ba78}
#46 0x00007f5440e6289e in QConcatenateTablesProxyModelPrivate::_q_slotDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, roles=..., to=<optimized out>, from=<optimized out>)
at itemmodels/qconcatenatetablesproxymodel.cpp:634
q = 0x55c21707c9d0
adjustedTo = {r = 2, c = 0, i = 0, m = 0x55c21707d560}
myFrom = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}
myTo = {r = 2, c = 0, i = 0, m = 0x55c21707c9d0}
_t = <optimized out>
#47 QConcatenateTablesProxyModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qconcatenatetablesproxymodel.cpp:155
_t = <optimized out>
#48 0x00007f5440ebdc40 in doActivate<false>(QObject*, int, void**) (sender=0x55c21707d560, signal_index=3, argv=0x7ffee1b2b7a0) at kernel/qobject.cpp:3935
method_relative = <optimized out>
callFunction = <optimized out>
methodIndex = 0
receiver = 0x55c21707c9d0
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707c9d0, sender = 0x55c21707d560, signal = 3}
c = 0x55c217081e30
connections = {d = 0x55c21707d6c0}
list = <optimized out>
inSenderThread = true
highestConnectionId = 64
signalVector = 0x55c217082250
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#49 0x00007f5440e45da1 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at .moc/moc_qabstractitemmodel.cpp:557
_a = {0x0, 0x7ffee1b2b830, 0x7ffee1b2b810, 0x7ffee1b2ba78}
#50 0x00007f5440e638b1 in QIdentityProxyModelPrivate::_q_sourceDataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, roles=..., bottomRight=<optimized out>, topLeft=...) at itemmodels/qidentityproxymodel.cpp:507
q = 0x55c21707d560
_t = <optimized out>
#51 QIdentityProxyModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at .moc/moc_qidentityproxymodel.cpp:164
_t = <optimized out>
#52 0x00007f5440ebdc40 in doActivate<false>(QObject*, int, void**) (sender=0x55c21707d6f0, signal_index=3, argv=0x7ffee1b2b960) at kernel/qobject.cpp:3935
method_relative = <optimized out>
callFunction = <optimized out>
methodIndex = 0
receiver = 0x55c21707d560
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707d560, sender = 0x55c21707d6f0, signal = 3}
c = 0x55c217080bf0
connections = {d = 0x55c21707d810}
list = <optimized out>
inSenderThread = true
highestConnectionId = 38
signalVector = 0x55c2170b6140
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#53 0x00007f5440e45da1 in QAbstractItemModel::dataChanged(QModelIndex const&, QModelIndex const&, QVector<int> const&) (this=<optimized out>, _t1=..., _t2=..., _t3=...) at .moc/moc_qabstractitemmodel.cpp:557
_a = {0x0, 0x7ffee1b2b9a0, 0x7ffee1b2b9a0, 0x7ffee1b2ba78}
#54 0x00007f543814db5f in TaskManager::XWindowTasksModel::Private::dataChanged(unsigned long long, QVector<int> const&) (this=this@entry=0x55c21707d8c0, window=window@entry=100663329, roles=...)
at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/xwindowtasksmodel.cpp:415
i = <optimized out>
idx = {r = 2, c = 0, i = 0, m = 0x55c21707d6f0}
#55 0x00007f5438152812 in TaskManager::XWindowTasksModel::Private::windowChanged(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (properties2=..., properties=..., window=<optimized out>, this=0x55c21707d8c0)
at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/xwindowtasksmodel.cpp:402
wipeInfoCache = true
wipeAppDataCache = false
changedRoles = {d = 0x55c219056b20}
#56 operator() (properties2=..., properties=..., window=100663329, __closure=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/xwindowtasksmodel.cpp:163
#57 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void, TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)> >::call (f=<optimized out>, arg=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#58 QtPrivate::Functor<TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)>, 3>::call<QtPrivate::List<unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2> >, void>
(arg=<optimized out>, f=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#59 QtPrivate::QFunctorSlotObject<TaskManager::XWindowTasksModel::Private::init()::<lambda(WId, NET::Properties, NET::Properties2)>, 3, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#60 0x00007f5440ebda91 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffee1b2bbe0, r=<optimized out>, this=0x55c21707f070, this=<optimized out>, r=<optimized out>, a=<optimized out>)
at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
receiver = <optimized out>
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707d6f0, sender = 0x55c21707def0, signal = 5}
c = 0x55c21707f090
connections = {d = 0x55c21708e210}
list = <optimized out>
inSenderThread = true
highestConnectionId = 3
signalVector = 0x55c21707ef40
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#61 doActivate<false>(QObject*, int, void**) (sender=0x55c21707def0, signal_index=5, argv=0x7ffee1b2bbe0) at kernel/qobject.cpp:3923
receiver = <optimized out>
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707d6f0, sender = 0x55c21707def0, signal = 5}
c = 0x55c21707f090
connections = {d = 0x55c21708e210}
list = <optimized out>
inSenderThread = true
highestConnectionId = 3
signalVector = 0x55c21707ef40
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#62 0x00007f5438149d88 in XWindowSystemEventBatcher::windowChanged(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (_t3=..., _t2=..., _t1=<optimized out>, this=<optimized out>)
at /usr/src/debug/plasma-workspace/build/libtaskmanager/taskmanager_autogen/EWIEGA46WW/moc_xwindowsystemeventbatcher.cpp:176
_a = {0x0, 0x7ffee1b2bbd8, 0x7ffee1b2bbc8, 0x7ffee1b2bbcc}
this = 0x55c21707def0
#63 operator() (properties2=..., properties=..., window=<optimized out>, __closure=0x55c21707ee50) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/libtaskmanager/xwindowsystemeventbatcher.cpp:45
this = 0x55c21707def0
#64 QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1, 2>, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void, XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)> >::call (arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#65 QtPrivate::Functor<XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)>, 3>::call<QtPrivate::List<unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2> >, void>
(arg=<optimized out>, f=...) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#66 QtPrivate::QFunctorSlotObject<XWindowSystemEventBatcher::XWindowSystemEventBatcher(QObject*)::<lambda(WId, NET::Properties, NET::Properties2)>, 3, QtPrivate::List<long long unsigned int, QFlags<NET::Property>, QFlags<NET::Property2> >, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=0x55c21707ee40, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
#67 0x00007f5440ebda91 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffee1b2bd30, r=<optimized out>, this=0x55c21707ee40, this=<optimized out>, r=<optimized out>, a=<optimized out>)
at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
receiver = <optimized out>
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707def0, sender = 0x7f54427ff500 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, signal = 12}
c = 0x55c21707ee60
connections = {d = 0x55c216433eb0}
list = <optimized out>
inSenderThread = true
highestConnectionId = 22
signalVector = 0x55c2164bb360
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#68 doActivate<false>(QObject*, int, void**) (sender=0x7f54427ff500 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, signal_index=12, argv=0x7ffee1b2bd30) at kernel/qobject.cpp:3923
receiver = <optimized out>
td = <optimized out>
receiverInSameThread = <optimized out>
senderData = {previous = 0x0, receiver = 0x55c21707def0, sender = 0x7f54427ff500 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, signal = 12}
c = 0x55c21707ee60
connections = {d = 0x55c216433eb0}
list = <optimized out>
inSenderThread = true
highestConnectionId = 22
signalVector = 0x55c2164bb360
currentThreadId = 0x7f543c0c9ac0
sp = <optimized out>
signal_spy_set = 0x0
empty_argv = {0x0}
senderDeleted = false
#69 0x00007f54427c68f9 in KWindowSystem::windowChanged(unsigned long long, QFlags<NET::Property>, QFlags<NET::Property2>) (this=this@entry=0x7f54427ff500 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>, _t1=<optimized out>,
_t1@entry=100663329, _t2=..., _t3=...) at /usr/src/debug/kwindowsystem/build/src/KF5WindowSystem_autogen/EWIEGA46WW/moc_kwindowsystem.cpp:461
_a = {0x0, 0x7ffee1b2bd28, 0x7ffee1b2bd24, 0x7ffee1b2bd20}
#70 0x00007f5439eb664b in NETEventFilter::nativeEventFilter(xcb_generic_event_t*) (this=0x55c2168df9f0, ev=0x7f542c00d190) at /usr/src/debug/kwindowsystem/kwindowsystem-5.101.0/src/platforms/xcb/kwindowsystem.cpp:342
dirty = {0, 139999626416144}
ni = {<NET> = {<No data fields>}, _vptr.NETWinInfo = 0x7f54427fd5c8 <vtable for NETWinInfo+16>, static OnAllDesktops = -1, p = 0x55c219054130}
dirtyProperties = {i = 524288}
dirtyProperties2 = {i = 0}
s_q = 0x7f54427ff500 <(anonymous namespace)::Q_QGS_g_kwmInstanceContainer::innerFunction()::holder>
eventType = 28 '\034'
eventWindow = 100663329
#71 0x00007f5440e838af in QAbstractEventDispatcher::filterNativeEvent(QByteArray const&, void*, long*) (this=<optimized out>, eventType=..., message=message@entry=0x7f542c00d190, result=result@entry=0x7ffee1b2bec0)
at kernel/qabstracteventdispatcher.cpp:495
filter = <optimized out>
i = 7
scopeLevelCounter = {threadData = 0x55c215e0bed0}
d = 0x55c215ed3ba0
#72 0x00007f543bf9af11 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=this@entry=0x55c215e25820, event=event@entry=0x7f542c00d190) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:579
dispatcher = <optimized out>
result = 0
response_type = <optimized out>
handled = <optimized out>
#73 0x00007f543bf9f4c0 in QXcbConnection::processXcbEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55c215e25820, flags=...) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1065
event = 0x7f542c00d190
eventGuard = {d = 0x7f542c00d190}
connection_error = <optimized out>
#74 0x00007f543bfc37e8 in xcbSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at /usr/src/debug/qt5-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:103
xcbEventSource = <optimized out>
flags = {i = 36}
#75 0x00007f543f51687b in g_main_dispatch (context=0x7f5434005010) at ../glib/glib/gmain.c:3454
dispatch = 0x7f543bfc37d0 <xcbSourceDispatch(GSource*, GSourceFunc, gpointer)>
prev_source = 0x0
begin_time_nsec = 856134881895
was_in_call = 0
user_data = 0x0
callback = 0x0
cb_funcs = 0x0
cb_data = 0x0
need_destroy = <optimized out>
source = 0x55c215ece960
current = 0x55c216634440
i = 1
#76 g_main_context_dispatch (context=0x7f5434005010) at ../glib/glib/gmain.c:4172
#77 0x00007f543f56dc89 in g_main_context_iterate.constprop.0 (context=0x7f5434005010, block=1, dispatch=1, self=<optimized out>) at ../glib/glib/gmain.c:4248
max_priority = 2147483647
timeout = 4
some_ready = 1
nfds = 12
allocated_nfds = <optimized out>
fds = <optimized out>
begin_time_nsec = 856134607111
#78 0x00007f543f515132 in g_main_context_iteration (context=0x7f5434005010, may_block=1) at ../glib/glib/gmain.c:4313
retval = <optimized out>
#79 0x00007f5440ed7c8c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x55c215ed35a0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
d = 0x55c215ed3ba0
canWait = true
savedFlags = {i = 0}
result = <optimized out>
#80 0x00007f5440e8574c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7ffee1b2c240, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
d = 0x55c2165ba620
threadData = <optimized out>
locker = {val = 94292079067048}
app = <optimized out>
#81 0x00007f5440e90269 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
threadData = 0x55c215e0bed0
eventLoop = {<QObject> = {_vptr.QObject = 0x7f5441111730 <vtable for QEventLoop+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f5440f74920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f5440f74800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f5440ebdec0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55c2165ba620}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f5440f9b500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f5440f98680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f544110a560 <QObject::staticMetaObject>}, stringdata = 0x7f5440f702e0 <_ZL29qt_meta_stringdata_QEventLoop.lto_priv.0>, data = 0x7f5440f70280 <_ZL23qt_meta_data_QEventLoop.lto_priv.0>, static_metacall = 0x7f5440e83f90 <QEventLoop::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
returnCode = <optimized out>
#82 0x00007f5441339fe2 in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1870
#83 0x00007f5441b76f2a in QApplication::exec() () at kernel/qapplication.cpp:2832
#84 0x000055c214edb1ef in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-5.26.5/shell/main.cpp:233
format = {d = 0x55c215e16450}
qpaVariable = <optimized out>
app = {<QGuiApplication> = {<QCoreApplication> = {<QObject> = {_vptr.QObject = 0x7f5442083660 <vtable for QApplication+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f5440f74920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f5440f74800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f5440ebdec0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55c215e164a0}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f5440f9b500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f5440f98680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f544110a560 <QObject::staticMetaObject>}, stringdata = 0x7f5440f70060 <_ZL35qt_meta_stringdata_QCoreApplication.lto_priv.0>, data = 0x7f5440f6ff40 <_ZL29qt_meta_data_QCoreApplication.lto_priv.0>, static_metacall = 0x7f5440e8f870 <QCoreApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, static self = 0x7ffee1b2c3c0}, static staticMetaObject = {d = {superdata = {direct = 0x7f544110f380 <QCoreApplication::staticMetaObject>}, stringdata = 0x7f544175b720 <_ZL34qt_meta_stringdata_QGuiApplication.lto_priv.0>, data = 0x7f544175b4a0 <_ZL28qt_meta_data_QGuiApplication.lto_priv.0>, static_metacall = 0x7f544134b660 <QGuiApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f5441848e80 <QGuiApplication::staticMetaObject>}, stringdata = 0x7f5441f468e0 <_ZL31qt_meta_stringdata_QApplication.lto_priv.0>, data = 0x7f5441f46760 <_ZL25qt_meta_data_QApplication.lto_priv.0>, static_metacall = 0x7f5441b7a430 <QApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}}
aboutData = {d = std::unique_ptr<class KAboutDataPrivate> = {get() = 0x55c216433950}}
replace = <optimized out>
corona = <optimized out>
service = {<QObject> = {_vptr.QObject = 0x7f5442dc6290 <vtable for KDBusService+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f5440f74920 <_ZL26qt_meta_stringdata_QObject.lto_priv.0>, data = 0x7f5440f74800 <_ZL20qt_meta_data_QObject.lto_priv.0>, static_metacall = 0x7f5440ebdec0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d_ptr = {d = 0x55c216434630}, static staticQtMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7f5440f9b500 <_ZL21qt_meta_stringdata_Qt.lto_priv.0>, data = 0x7f5440f98680 <_ZL15qt_meta_data_Qt.lto_priv.0>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}}, static staticMetaObject = {d = {superdata = {direct = 0x7f544110a560 <QObject::staticMetaObject>}, stringdata = 0x7f5442dc16c0 <qt_meta_stringdata_KDBusService>, data = 0x7f5442dc0700 <qt_meta_data_KDBusService>, static_metacall = 0x7f5442db6430 <KDBusService::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = std::unique_ptr<class KDBusServicePrivate> = {get() = 0x55c216434100}}
Can't reproduce by closing my Steam friends list from the tooltip close button while the main window is also open, FWIW. You're on X11, right? I'm on Wayland and I can't reproduce this. From the backtrace I suspect it's an X11-only crash. Can you try Wayland and see if there's no crash there for you? Yes this is X11 only. I can not reproduce in Wayland. *** Bug 464781 has been marked as a duplicate of this bug. *** *** Bug 466976 has been marked as a duplicate of this bug. *** Git commit 0ad9576f29a3fcc41cec283ad13d3e654508ce1f by Fushan Wen. Committed on 07/03/2023 at 14:59. Pushed by fusionfuture into branch 'kf5'. WindowThumbnail: postpone texture deletion to avoid crash The culprit was the texture that was delete as soon as the item was delete while they may be used a bit longer by the render thread. See also: https://github.com/sailfishos/sailfish-office/pull/85 Related: bug 446874 FIXED-IN: 5.104 M +1 -1 src/declarativeimports/core/windowthumbnail.cpp https://invent.kde.org/frameworks/plasma-framework/commit/0ad9576f29a3fcc41cec283ad13d3e654508ce1f Git commit f1b572b3c03c2651bc3f11f26283f7dda8d1ecb1 by Fushan Wen. Committed on 11/03/2023 at 04:20. Pushed by fusionfuture into branch 'master'. WindowThumbnail: postpone texture deletion to avoid crash The culprit was the texture that was delete as soon as the item was delete while they may be used a bit longer by the render thread. See also: https://github.com/sailfishos/sailfish-office/pull/85 Related: bug 446874 FIXED-IN: 5.104 (cherry picked from commit 0ad9576f29a3fcc41cec283ad13d3e654508ce1f) M +1 -1 src/declarativeimports/core/windowthumbnail.cpp https://invent.kde.org/frameworks/plasma-framework/commit/f1b572b3c03c2651bc3f11f26283f7dda8d1ecb1 *** Bug 466983 has been marked as a duplicate of this bug. *** *** Bug 467113 has been marked as a duplicate of this bug. *** *** Bug 467187 has been marked as a duplicate of this bug. *** |
Created attachment 155229 [details] Plasmashell crash trace logs SUMMARY Plasmashell crashes when I use the close button in the Icons-Only Task Manager's window thumbnail tooltip. STEPS TO REPRODUCE 1. Launch two windows of the same application. I used Dolphin for my testing 2. Hover over the application icon in the task manager until the window thumbnail tooltip pops up 3. Close the second window using the X button OBSERVED RESULT Plasmashell crashes immediately after closing the window EXPECTED RESULT Plasmashell does not crash SOFTWARE/OS VERSIONS Arch Linux, Kernel 6.1.4 Nvidia 3090 w/ 525.78.01 drivers KDE Plasma Version: 5.26.5 KDE Frameworks Version: 5.101.0 Qt Version: 5.15.8 ADDITIONAL INFORMATION