Summary: | Moving non-center-aligned panel from left screen edge to bottom screen edge fails and crashes plasmashell in PlasmaQuick::ContainmentView::formFactorChanged() after you close edit mode | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Nate Graham <nate> |
Component: | Panel | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | akselmo, bruhzakahmed420666, niccolo.venerandi, notmart |
Priority: | NOR | Keywords: | regression |
Version: | git-stable-Plasma/6.1 | ||
Target Milestone: | 1.0 | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/69d12b716d3cdb06a3cf23630ea4493f0e13a30c | Version Fixed In: | 6.1.1 |
Sentry Crash Report: | |||
Attachments: | How I reproduce the issue |
Description
Nate Graham
2024-06-07 18:43:41 UTC
I am unable to reproduce this :/ Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.80 KDE Frameworks Version: 6.4.0 Qt Version: 6.7.1 Kernel Version: 6.8.11-300.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 3600 6-Core Processor Memory: 15.5 GiB of RAM Graphics Processor: AMD Radeon RX 6600 Created attachment 170347 [details]
How I reproduce the issue
I'm attaching a screen recording that shows me reproducing the issue so you can be sure you're testing the same way.
It's also not CatWalk causing it; I removed that widget and the problem still reproduces. I managed to reproduce it! I had to make sure the panel alignment is not center, but its left. I think when its moving the panel, the alignment changing might be causing the crash. Adding my backtrace too for good measure #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 44 return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0; [Current thread is 1 (Thread 0x7fc7dce71b80 (LWP 10211))] Missing separate debuginfos, use: dnf debuginfo-install ffmpeg-libs-6.1.1-11.fc40.x86_64 x264-libs-0.164-13.20231001git31e19f92.fc40.x86_64 x265-libs-3.6-2.fc40.x86_64 (gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44 #1 0x00007fc7e22ab1b3 in __pthread_kill_internal (threadid=<optimized out>, signo=11) at pthread_kill.c:78 #2 0x00007fc7e225365e in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26 #3 0x00007fc7e5ecc9eb in KCrash::defaultCrashHandler (sig=11) at /home/akseli/Repositories/kde/src/kcrash/src/kcrash.cpp:597 #4 0x00007fc7e2253710 in <signal handler called> () at /lib64/libc.so.6 #5 0x00007fc7e627744e in std::__uniq_ptr_impl<PlasmaQuick::PopupPlasmaWindowPrivate, std::default_delete<PlasmaQuick::PopupPlasmaWindowPrivate> >::_M_ptr (this=0x30) at /usr/include/c++/14/bits/unique_ptr.h:193 #6 std::unique_ptr<PlasmaQuick::PopupPlasmaWindowPrivate, std::default_delete<PlasmaQuick::PopupPlasmaWindowPrivate> >::get (this=0x30) at /usr/include/c++/14/bits/unique_ptr.h:464 #7 std::unique_ptr<PlasmaQuick::PopupPlasmaWindowPrivate, std::default_delete<PlasmaQuick::PopupPlasmaWindowPrivate> >::operator-> (this=0x30) at /usr/include/c++/14/bits/unique_ptr.h:457 #8 PlasmaQuick::PopupPlasmaWindow::setVisualParent (this=0x0, item=0x409e660) at /home/akseli/Repositories/kde/src/libplasma/src/plasmaquick/popupplasmawindow.cpp:250 #9 0x00007fc7e29fa752 in QtPrivate::QSlotObjectBase::call (this=0x51e9b00, r=<optimized out>, a=0x7ffe443a3e10) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469 #10 doActivate<false> (sender=0x2ad0970, signal_index=45, argv=0x7ffe443a3e10) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086 #11 0x00007fc7e29f0b47 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7fc7e62bcfe0, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffe443a3e10) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146 #12 0x00007fc7e62636c1 in PlasmaQuick::ContainmentView::formFactorChanged (this=<optimized out>, _t1=<optimized out>) at /home/akseli/Repositories/kde/build/libplasma/src/plasmaquick/PlasmaQuick_autogen/include/moc_containmentview.cpp:264 #13 0x00007fc7e29fa752 in QtPrivate::QSlotObjectBase::call (this=0x2ecc2f0, r=<optimized out>, a=0x7ffe443a3f20) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469 #14 doActivate<false> (sender=0x21e6760, signal_index=41, argv=0x7ffe443a3f20) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086 #15 0x00007fc7e29f0b47 in QMetaObject::activate (sender=sender@entry=0x21e6760, m=m@entry=0x7fc7e59fbde0, local_signal_index=local_signal_index@entry=14, --Type <RET> for more, q to quit, c to continue without paging--c argv=argv@entry=0x7ffe443a3f20) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146 #16 0x00007fc7e59befe1 in Plasma::Containment::formFactorChanged (this=this@entry=0x21e6760, _t1=<optimized out>, _t1@entry=Plasma::Types::Horizontal) at /home/akseli/Repositories/kde/build/libplasma/src/plasma/Plasma_autogen/include/moc_containment.cpp:825 #17 0x00007fc7e59c1a47 in Plasma::Containment::setFormFactor (this=0x21e6760, formFactor=formFactor@entry=Plasma::Types::Horizontal) at /home/akseli/Repositories/kde/src/libplasma/src/plasma/containment.cpp:321 #18 0x0000000000445752 in PanelView::slideLocation (this=this@entry=0x2ad0970) at /home/akseli/Repositories/kde/src/plasma-workspace/shell/panelview.cpp:572 #19 0x0000000000445d74 in PanelView::positionAndResizePanel (this=0x2ad0970) at /home/akseli/Repositories/kde/src/plasma-workspace/shell/panelview.cpp:715 #20 0x00007fc7e29fa752 in QtPrivate::QSlotObjectBase::call (this=0x2ed9620, r=<optimized out>, a=0x7ffe443a40d0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobjectdefs_impl.h:469 #21 doActivate<false> (sender=0x2ad09d8, signal_index=7, argv=0x7ffe443a40d0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4086 #22 0x00007fc7e29f0b47 in QMetaObject::activate (sender=sender@entry=0x2ad09d8, m=m@entry=0x7fc7e2e83da0, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffe443a40d0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qobject.cpp:4146 #23 0x00007fc7e2b3bd79 in QVariantAnimation::valueChanged (this=this@entry=0x2ad09d8, _t1=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qvariantanimation.cpp:202 #24 0x00007fc7e2b3cbc3 in QVariantAnimationPrivate::setCurrentValueForProgress (this=0x2c573c0, progress=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/animation/qvariantanimation.cpp:261 #25 0x00007fc7e2b2b5f5 in QAbstractAnimation::setCurrentTime (this=0x2ad09d8, msecs=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/animation/qabstractanimation.cpp:1338 #26 0x00007fc7e2b2b7fe in QAnimationTimer::updateAnimationsTime (this=0x7fc768805dc0, delta=6) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/animation/qabstractanimation.cpp:575 #27 0x00007fc7e2b26939 in QUnifiedTimer::updateAnimationTimers (this=this@entry=0x25c6220) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/animation/qabstractanimation.cpp:288 #28 0x00007fc7e2b2958d in QAnimationDriver::advanceAnimation (this=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/animation/qabstractanimation.cpp:755 #29 0x00007fc7e48d5347 in QSGThreadedRenderLoop::event (e=<optimized out>, this=0x260bda0) at /home/akseli/Repositories/kde/src/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1713 #30 QSGThreadedRenderLoop::event (this=0x260bda0, e=<optimized out>) at /home/akseli/Repositories/kde/src/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1704 #31 0x00007fc7e518b168 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x260bda0, e=0x7ffe443a43a0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/widgets/kernel/qapplication.cpp:3287 #32 0x00007fc7e2995b18 in QCoreApplication::notifyInternal2 (receiver=0x260bda0, event=0x7ffe443a43a0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1134 #33 0x00007fc7e2995d7d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1575 #34 0x00007fc7e2b4e097 in QTimerInfoList::activateTimers (this=0x17aa330) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qtimerinfo_unix.cpp:434 #35 0x00007fc7e2c7c989 in timerSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:150 #36 0x00007fc7e1d2e6ac in g_main_dispatch (context=0x7fc7c8000f00) at ../glib/gmain.c:3344 #37 g_main_context_dispatch_unlocked (context=0x7fc7c8000f00) at ../glib/gmain.c:4152 #38 0x00007fc7e1d8f708 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7fc7c8000f00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4217 #39 0x00007fc7e1d2fb23 in g_main_context_iteration (context=0x7fc7c8000f00, may_block=1) at ../glib/gmain.c:4282 #40 0x00007fc7e2c7cb53 in QEventDispatcherGlib::processEvents (this=0x1742e50, flags=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:394 #41 0x00007fc7e29a2713 in QEventLoop::exec (this=this@entry=0x7ffe443a4670, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/global/qflags.h:34 #42 0x00007fc7e299e69c in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/global/qflags.h:74 #43 0x00007fc7e33d53dd in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:1926 #44 0x00007fc7e518b0d9 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/widgets/kernel/qapplication.cpp:2555 #45 0x0000000000427a86 in main (argc=<optimized out>, argv=<optimized out>) at /home/akseli/Repositories/kde/src/plasma-workspace/shell/main.cpp:188 *** Bug 488561 has been marked as a duplicate of this bug. *** A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2319 Git commit 5c5a51679b4fe11b63a410a8350931d4bcd34940 by Marco Martin. Committed on 18/06/2024 at 12:58. Pushed by mart into branch 'master'. Enforce formfactor when changing location Enforce horizontal for top and bottom locations and vertical for left and right M +12 -1 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/5c5a51679b4fe11b63a410a8350931d4bcd34940 Git commit 69d12b716d3cdb06a3cf23630ea4493f0e13a30c by Marco Martin. Committed on 18/06/2024 at 12:59. Pushed by mart into branch 'Plasma/6.1'. Enforce formfactor when changing location Enforce horizontal for top and bottom locations and vertical for left and right (cherry picked from commit 5c5a51679b4fe11b63a410a8350931d4bcd34940) 8093f914 Enforce formfactor when changing location Co-authored-by: Marco Martin <notmart@gmail.com> M +12 -1 shell/panelview.cpp https://invent.kde.org/plasma/plasma-workspace/-/commit/69d12b716d3cdb06a3cf23630ea4493f0e13a30c |