Bug 478099

Summary: [Desktop grid] Sometimes when moving windows between desktops I get a KWin crash in KWin::Window::setDesktops()
Product: [Plasma] kwin Reporter: Жора Змейкин <katze_942>
Component: effects-overviewAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: kde, nate
Priority: NOR Keywords: qt6
Version First Reported In: 5.90.0   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Stack tracing after a failure
Stack trace obtained via coredumpctl gdb command
Correct stack tracing

Description Жора Змейкин 2023-12-05 08:41:10 UTC
I use Desktop Grid to move windows and sometimes I get a crash when moving a window. I can't replicate this bug intentionally, it happens randomly and it's not yet clear from what.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: KDE Neon (Unstable), Wayland
KDE Plasma Version: 5.90.0
KDE Frameworks Version: 5.246.0
Qt Version: 6.6.0
Comment 1 David Edmundson 2023-12-05 10:09:05 UTC
Unfortunately crashes need a backtrace to be actionable. 

Please check `coredumpctl dump kwin_wayland`
Comment 2 Жора Змейкин 2023-12-05 19:06:08 UTC
I caught this crash again, I'm attaching a stack trace.
Comment 3 Жора Змейкин 2023-12-05 19:06:26 UTC
Created attachment 163916 [details]
Stack tracing after a failure
Comment 5 Жора Змейкин 2023-12-09 22:31:35 UTC
(In reply to Nate Graham from comment #4)
> can you get a backtrace from that dump? See
> https://community.kde.org/Guidelines_and_HOWTOs/Debugging/
> How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl

I got a stack trace via the coredumpctl gdb command, but it's not different from what I've discounted to you above :(
I may have misunderstood you, but I'll attach the new stack trace anyway.
Comment 6 Жора Змейкин 2023-12-09 22:32:15 UTC
Created attachment 164053 [details]
Stack trace obtained via coredumpctl gdb command
Comment 7 Жора Змейкин 2023-12-09 22:38:25 UTC
(In reply to Zhora Zmeikin from comment #6)
> Created attachment 164053 [details]
> Stack trace obtained via coredumpctl gdb command

Uh-oh. Sorry, I forgot to run it as root. Okay, here's the correct stack trace after the crash. Well, I hope it's correct.
Comment 8 Жора Змейкин 2023-12-09 22:39:18 UTC
Created attachment 164054 [details]
Correct stack tracing
Comment 9 Bug Janitor Service 2023-12-24 03:46:13 UTC Comment hidden (spam)
Comment 10 Nate Graham 2024-01-09 23:58:55 UTC
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140543122571200) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140543122571200) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140543122571200, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007fd2c3042476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007fd2c30287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007fd2c3cd6fb7 in qAbort() () at ./src/corelib/global/qglobal.cpp:161
#6  0x00007fd2c3cd2465 in qt_message_fatal<QString&> (message=..., context=<optimized out>)
    at ./src/corelib/global/qlogging.cpp:2003
#7  qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *)
    (msgType=msgType@entry=QtFatalMsg, context=<optimized out>, msg=<optimized out>, ap=ap@entry=0x7ffdca3b9f20)
    at ./src/corelib/global/qlogging.cpp:378
#8  0x00007fd2c3cd79e3 in QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, msg=<optimized out>)
    at ./src/corelib/global/qlogging.cpp:901
#9  0x00007fd2c3ca5908 in qt_assert(char const*, char const*, int)
    (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at ./src/corelib/global/qassert.cpp:68
#10 0x00007fd2c61b157d in  () at /lib/x86_64-linux-gnu/libkwin.so.6
#11 0x00007fd2c61b1a83 in  () at /lib/x86_64-linux-gnu/libkwin.so.6
#12 0x00007fd2c63e27f3 in KWin::Window::setDesktops(QList<KWin::VirtualDesktop*>) () at /lib/x86_64-linux-gnu/libkwin.so.6
#13 0x00007fd2c625cd41 in KWin::EffectsHandler::windowToDesktops(KWin::EffectWindow*, QList<KWin::VirtualDesktop*> const&) ()
    at /lib/x86_64-linux-gnu/libkwin.so.6
#14 0x000056092f40a9cd in  ()
#15 0x000056092f40acf0 in  ()
#16 0x00007fd2c5449613 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const
    (this=0x7ffdca3ba7f0, type=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=<optimized out>)
    at ./src/qml/qml/qqmlobjectorgadget.cpp:14
#17 0x00007fd2c5540713 in QV4::CallMethod
    (callType=<optimized out>, callArgs=<optimized out>, engine=<optimized out>, argTypes=<optimized out>, argCount=<optimized out>, returnType=..., index=<optimized out>, object=<optimized out>)
    at /usr/include/x86_64-linux-gnu/qt6/QtCore/qvarlengtharray.h:84
--Type <RET> for more, q to quit, c to continue without paging--
#18 QV4::CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) (object=..., data=<optimized out>, engine=<optimized out>, engine@entry=0x56092fa58400, callArgs=<optimized out>,
    callArgs@entry=0x7fd2acbbb668, callType=callType@entry=QMetaObject::InvokeMetaMethod)
    at ./src/qml/jsruntime/qv4qobjectwrapper.cpp:1830
#19 0x00007fd2c5541da1 in operator() (__closure=<optimized out>) at ./src/qml/jsruntime/qv4qobjectwrapper.cpp:2733
#20 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> >
    (call=<optimized out>, __closure=<synthetic pointer>) at ./src/qml/jsruntime/qv4qobjectwrapper.cpp:2710
#21 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const
    (this=0x7ffdca3ba8b0, thisObject=<optimized out>, argv=0x7fd2acbbb628, argc=2)
    at ./src/qml/jsruntime/qv4qobjectwrapper.cpp:2733
#22 0x00007fd2c554e9f1 in QV4::Runtime::CallPropertyLookup::call(QV4::ExecutionEngine*, QV4::Value const&, unsigned int, QV4::Value*, int) (engine=0x56092fa58400, base=..., index=<optimized out>, argv=0x7fd2acbbb628, argc=2)
    at ./src/qml/jsruntime/qv4runtime.cpp:1511
#23 0x00007fd27e44b7e7 in  ()
#24 0x0000000000000008 in  ()
#25 0x000000000000000d in  ()
#26 0x0000560932a3ed70 in  ()
#27 0x0000000000000000 in  ()
Comment 11 Vlad Zahorodnii 2024-01-10 08:59:05 UTC
Can you provide a backtrace with debug symbols? You will need to install a debug package for kwin
Comment 12 Nate Graham 2024-03-25 21:52:45 UTC
If you're still able to reproduce it in the released Plasma 6, can you get that symbolicated backtrace?
Comment 13 Bug Janitor Service 2024-04-09 03:48:18 UTC
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!
Comment 14 Bug Janitor Service 2024-04-24 03:47:29 UTC
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!