Bug 415423

Summary: Plasma crashes after dragging file to virtual desktop switcher
Product: [Plasma] plasmashell Reporter: Arseniy <kdeuser>
Component: generalAssignee: David Edmundson <kde>
Status: RESOLVED FIXED    
Severity: crash CC: franz.trischberger, matsjoyce, plasma-bugs
Priority: NOR Keywords: drkonqi
Version: 5.17.4   
Target Milestone: 1.0   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.17.5
Sentry Crash Report:

Description Arseniy 2019-12-21 08:25:19 UTC
Application: plasmashell (5.17.4)

Qt Version: 5.13.1
Frameworks Version: 5.64.0
Operating System: Linux 5.3.12-1-default x86_64
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
- What I was doing when the application crashed:
Drag a file from Dolphin to a virtual desktop switcher widget on the taskbar. Do not drop or release the mouse button, wait 2 seconds until Plasma crashes.
- Custom settings of the application:
Two virtual desktops are configured

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f6a29298800 (LWP 2448))]

Thread 8 (Thread 0x7f6a0332e700 (LWP 5269)):
#0  0x00007f6a15586db4 in pa_mainloop_poll () at /usr/lib64/libpulse.so.0
#1  0x00007f6a155874bf in pa_mainloop_iterate () at /usr/lib64/libpulse.so.0
#2  0x00007f6a15587570 in pa_mainloop_run () at /usr/lib64/libpulse.so.0
#3  0x00007f6a15595439 in  () at /usr/lib64/libpulse.so.0
#4  0x00007f6a1427ac78 in  () at /usr/lib64/pulseaudio/libpulsecommon-13.0.so
#5  0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#6  0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f6a0d338700 (LWP 2635)):
#0  0x00007f6a2da7cbdf in poll () at /lib64/libc.so.6
#1  0x00007f6a29dc027e in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f6a29dc039f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f6a2b66a98b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f6a2b6130cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f6a2b44b021 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f6a0db32698 in QIcon::QIcon()@plt () at /usr/lib64/libkcupslib.so
#7  0x0000556c59fe1e20 in  ()
#8  0x00007f6a2b449f77 in QThread::started(QThread::QPrivateSignal) () at /usr/lib64/libQt5Core.so.5
#9  0x00007f6a2b44c1a2 in  () at /usr/lib64/libQt5Core.so.5
#10 0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#11 0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f6a0ffff700 (LWP 2621)):
#0  0x00007f6a29dbfcaa in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#1  0x00007f6a29dc0222 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f6a29dc039f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f6a2b66a98b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f6a2b6130cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f6a2b44b021 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f6a2d0cb0c6 in  () at /usr/lib64/libQt5Quick.so.5
#7  0x00007f6a2b44c1a2 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#9  0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f6a1708e700 (LWP 2605)):
#0  0x00007f6a2aafb6a5 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f6a177110db in  () at /usr/lib64/dri/i965_dri.so
#2  0x00007f6a17710fd7 in  () at /usr/lib64/dri/i965_dri.so
#3  0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#4  0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f6a2536a700 (LWP 2598)):
#0  0x00007f6a2da7cbdf in poll () at /lib64/libc.so.6
#1  0x00007f6a29dc027e in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f6a29dc039f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f6a2b66a98b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f6a2b6130cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f6a2b44b021 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f6a2cddc3b5 in  () at /usr/lib64/libQt5Qml.so.5
#7  0x00007f6a2b44c1a2 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#9  0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f6a2662d700 (LWP 2466)):
#0  0x00007f6a2da7cbdf in poll () at /lib64/libc.so.6
#1  0x00007f6a29dc027e in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f6a29dc039f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f6a2b66a98b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f6a2b6130cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f6a2b44b021 in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f6a2bf424f6 in  () at /usr/lib64/libQt5DBus.so.5
#7  0x00007f6a2b44c1a2 in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#9  0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f6a271df700 (LWP 2453)):
#0  0x00007f6a2da7cbdf in poll () at /lib64/libc.so.6
#1  0x00007f6a2d564742 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f6a2d5653fa in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f6a273bef90 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f6a2b44c1a2 in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f6a2aaf4f2a in start_thread () at /lib64/libpthread.so.0
#6  0x00007f6a2da874af in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f6a29298800 (LWP 2448)):
[KCrash Handler]
#6  0x00007f6a2b6535c6 in QVariant::toInt(bool*) const () at /usr/lib64/libQt5Core.so.5
#7  0x00007f6a24075157 in  () at /usr/lib64/libtaskmanager.so.6
#8  0x00007f6a155c8ab1 in  () at /usr/lib64/qt5/qml/org/kde/plasma/private/pager/libpagerplugin.so
#9  0x00007f6a155c9323 in  () at /usr/lib64/qt5/qml/org/kde/plasma/private/pager/libpagerplugin.so
#10 0x00007f6a2cd815fd in  () at /usr/lib64/libQt5Qml.so.5
#11 0x00007f6a2cc74d6d in  () at /usr/lib64/libQt5Qml.so.5
#12 0x00007f6a2cc771a4 in  () at /usr/lib64/libQt5Qml.so.5
#13 0x00007f6a2cc77f8e in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /usr/lib64/libQt5Qml.so.5
#14 0x00007f6a2cc94a36 in  () at /usr/lib64/libQt5Qml.so.5
#15 0x00007f6a2cc96a0f in  () at /usr/lib64/libQt5Qml.so.5
#16 0x00007f6a2cc2462f in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /usr/lib64/libQt5Qml.so.5
#17 0x00007f6a2cda9687 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () at /usr/lib64/libQt5Qml.so.5
#18 0x00007f6a2cd4b04c in QQmlBoundSignalExpression::evaluate(void**) () at /usr/lib64/libQt5Qml.so.5
#19 0x00007f6a2cd4c208 in  () at /usr/lib64/libQt5Qml.so.5
#20 0x00007f6a2cd8cebd in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /usr/lib64/libQt5Qml.so.5
#21 0x00007f6a2cd2bbad in QQmlData::signalEmitted(QAbstractDeclarativeData*, QObject*, int, void**) () at /usr/lib64/libQt5Qml.so.5
#22 0x00007f6a2b63edcb in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib64/libQt5Core.so.5
#23 0x00007f6a2ce3791d in QQmlTimer::event(QEvent*) () at /usr/lib64/libQt5Qml.so.5
#24 0x00007f6a2c1d3c62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#25 0x00007f6a2c1dd1e0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#26 0x00007f6a2b614562 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#27 0x00007f6a2b6171f8 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#28 0x00007f6a2b66b333 in  () at /usr/lib64/libQt5Core.so.5
#29 0x00007f6a29dbff88 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#30 0x00007f6a29dc0310 in  () at /usr/lib64/libglib-2.0.so.0
#31 0x00007f6a29dc039f in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#32 0x00007f6a2b66a971 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#33 0x00007f6a2b6130cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#34 0x00007f6a2b61ad32 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#35 0x0000556c55e8a69b in  ()
#36 0x00007f6a2d9aee0b in __libc_start_main () at /lib64/libc.so.6
#37 0x0000556c55e8b2da in _start ()
[Inferior 1 (process 2448) detached]

Possible duplicates by query: bug 415394, bug 415386, bug 415370, bug 415356, bug 415351.

Reported using DrKonqi
Comment 1 Kai Uwe Broulik 2020-01-07 10:13:09 UTC
Git commit f5d1675a0dc1a1a0098eb5b1c727b5fe197e9930 by Kai Uwe Broulik.
Committed on 07/01/2020 at 10:08.
Pushed by broulik into branch 'Plasma/5.17'.

[Pager] Fix switching pages on drag

The code was clearly intending to use the index,
as indicated by a comparison with currentPage (which is an int) and changePage taking an int.
FIXED-IN: 5.17.5

Differential Revision:

M  +6    -6    applets/pager/package/contents/ui/main.qml

https://commits.kde.org/plasma-desktop/f5d1675a0dc1a1a0098eb5b1c727b5fe197e9930
Comment 2 Patrick Silva 2020-01-28 18:20:07 UTC
*** Bug 405921 has been marked as a duplicate of this bug. ***
Comment 3 Patrick Silva 2020-01-28 18:24:35 UTC
*** Bug 404909 has been marked as a duplicate of this bug. ***