Summary: | KDiff3 bugs trigger kwin crash in updateClientArea() | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Matthew Trescott <matthewtrescott> |
Component: | wayland-generic | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | bugseforuns, nate |
Priority: | NOR | ||
Version First Reported In: | 5.27.5 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | Backtrace via coredumpctl |
*** Bug 469745 has been marked as a duplicate of this bug. *** Pasting backtrace inline for searchability: #0 0x0000000000000000 in () #1 0x00007f1dbff1ce5d in KWin::Workspace::updateClientArea() (this=<optimized out>) at /usr/src/debug/kwin-5.27.5/src/workspace.cpp:2368 #2 0x00007f1dbff08af4 in KWin::Workspace::removeWindow(KWin::Window*) (this=0x558c78e1f590, window=<optimized out>) at /usr/src/debug/kwin-5.27.5/src/workspace.cpp:893 #3 0x00007f1dbe525232 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff4f784320, r=0x558c78e1f590, this=0x558c790a8ca0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #4 doActivate<false>(QObject*, int, void**) (sender=0x558c78b252f0, signal_index=4, argv=0x7fff4f784320) at kernel/qobject.cpp:3923 #5 0x00007f1dbe51de2f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f1dc01caf00 <KWin::WaylandServer::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff4f784320) at kernel/qobject.cpp:3983 #6 0x00007f1dbfda5442 in KWin::WaylandServer::windowRemoved(KWin::Window*) (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kwin-5.27.5/build/src/kwin_autogen/EWIEGA46WW/moc_wayland_server.cpp:189 #7 0x00007f1dbfee25e0 in KWin::WaylandServer::removeWindow(KWin::Window*) (this=0x558c78b252f0, c=<optimized out>) at /usr/src/debug/kwin-5.27.5/src/wayland_server.cpp:729 #8 0x00007f1dbff410ad in KWin::XdgSurfaceWindow::destroyWindow() (this=0x558c7a18f870) at /usr/src/debug/kwin-5.27.5/src/xdgshellwindow.cpp:309 #9 0x00007f1dbe525232 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff4f784440, r=0x558c7a18f870, this=0x558c7a1193a0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #10 doActivate<false>(QObject*, int, void**) (sender=0x558c7a1fa080, signal_index=3, argv=0x7fff4f784440) at kernel/qobject.cpp:3923 #11 0x00007f1dc000e297 in KWaylandServer::XdgPopupInterface::~XdgPopupInterface() (this=0x558c7a1fa080, this=<optimized out>) at /usr/src/debug/kwin-5.27.5/src/wayland/xdgshell_interface.cpp:687 #12 0x00007f1dc000e775 in non-virtual thunk to KWaylandServer::XdgPopupInterfacePrivate::xdg_popup_destroy_resource(QtWaylandServer::xdg_popup::Resource*) () at /usr/src/debug/kwin-5.27.5/src/wayland/xdgshell_interface_p.h:187 #13 0x00007f1dc00536a4 in QtWaylandServer::xdg_popup::destroy_func(wl_resource*) (client_resource=<optimized out>) at /usr/src/debug/kwin-5.27.5/build/src/wayland/qwayland-server-xdg-shell.cpp:1754 #14 0x00007f1dbcdaad27 in destroy_resource (element=0x558c7a433680, data=data@entry=0x0, flags=0) at ../src/wayland-server.c:732 #15 0x00007f1dbcdaca31 in wl_resource_destroy (resource=<optimized out>) at ../src/wayland-server.c:749 #16 0x00007f1dbb7048d2 in ffi_call_unix64 () at ../src/x86/unix64.S:104 #17 0x00007f1dbb70124f in ffi_call_int (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized out>) at ../src/x86/ffi64.c:673 #18 0x00007f1dbb703e96 in ffi_call (cif=cif@entry=0x7fff4f784720, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7fff4f7847f0) at ../src/x86/ffi64.c:710 #19 0x00007f1dbcda80a8 in wl_closure_invoke (closure=closure@entry=0x558c7a52eea0, target=<optimized out>, target@entry=0x558c7a433680, opcode=opcode@entry=0, data=<optimized out>, data@entry=0x558c79ecb140, flags=2) at ../src/connection.c:1025 #20 0x00007f1dbcdac408 in wl_client_connection_data (fd=<optimized out>, mask=<optimized out>, data=<optimized out>) at ../src/wayland-server.c:438 #21 0x00007f1dbcdaae62 in wl_event_loop_dispatch (loop=0x558c78b7adc0, timeout=<optimized out>) at ../src/event-loop.c:1027 #22 0x00007f1dbffbcac5 in KWaylandServer::Display::dispatchEvents() (this=<optimized out>) at /usr/src/debug/kwin-5.27.5/src/wayland/display.cpp:114 #23 0x00007f1dbe525232 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fff4f784e00, r=0x558c78b7aa80, this=0x558c790fef70) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #24 doActivate<false>(QObject*, int, void**) (sender=0x558c7923b440, signal_index=3, argv=0x7fff4f784e00) at kernel/qobject.cpp:3923 #25 0x00007f1dbe51de2f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x558c7923b440, m=m@entry=0x7f1dbe7c6860, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff4f784e00) at kernel/qobject.cpp:3983 #26 0x00007f1dbe52852f in QSocketNotifier::activated(QSocketDescriptor, QSocketNotifier::Type, QSocketNotifier::QPrivateSignal) (this=this@entry=0x558c7923b440, _t1=..., _t2=<optimized out>, _t3=...) at .moc/moc_qsocketnotifier.cpp:178 #27 0x00007f1dbe528d35 in QSocketNotifier::event(QEvent*) (this=0x558c7923b440, e=<optimized out>) at kernel/qsocketnotifier.cpp:302 #28 0x00007f1dbd9a51ae in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5 #29 0x00007f1dbe4ec978 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x558c7923b440, event=0x7fff4f784f00) at kernel/qcoreapplication.cpp:1064 #30 0x00007f1dbe5432c3 in QEventDispatcherUNIXPrivate::activateSocketNotifiers() (this=0x558c78b18200) at kernel/qeventdispatcher_unix.cpp:304 #31 0x00007f1dbe543787 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qeventdispatcher_unix.cpp:511 #32 0x0000558c788430dd in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at qunixeventdispatcher.cpp:63 #33 0x00007f1dbe4eb40b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff4f785090, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #34 0x00007f1dbe4f38a0 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #35 0x0000558c78766f6a in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-5.27.5/src/main_wayland.cpp:628 This bug is a crash report that is over a year old without any activity, as our software is always changing, the information in this ticket is unlikely to still be useful. If this issue is still reproducible in a newer version of kwin (5.27.5 or 6.0) please reopen this ticket with a bumped version number or it will be closed in 30 days. Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |
Created attachment 158912 [details] Backtrace via coredumpctl SUMMARY Some bugs in KDiff3 are able to crash KWin when attempting to close a KDiff3 dialog that is not showing up properly. STEPS TO REPRODUCE 1. Open KDiff3 2. Start a directory comparison. 3. Pop the "Directory merge" panel out into a separate window (<> icon in upper right corner) 4. Close KDiff3 5. Open KDiff3 6. Start a directory merge 7. The directory merge dialog appears in the Plasma taskbar/task-manager. 8. Hover the cursor over the taskbar entry for the directory merge. Observe that no preview appears. 9. Click the X button in the taskbar tooltip to close the (invisible) directory merge window. 10. Re-focus KDiff3 by clicking on its taskbar entry. 11. The taskbar entry for the directory merge reappears 12. Click the X button in the taskbar tooltip again. 13. If the taskbar entry for the directory merge did not reappear, click the X button in the taskbar tooltip for the merge info dialog. OBSERVED RESULT KWin crashes EXPECTED RESULT KWin does not crash SOFTWARE/OS VERSIONS Linux/KDE Plasma: openSUSE Tumbleweed (available in About System) KDE Plasma Version: 5.27.5 KDE Frameworks Version: 5.105.0 Qt Version: 5.15.9 ADDITIONAL INFORMATION KDiff3 version: 1.10.2