Bug 365206 - Plasma crashed while moving an icon
Summary: Plasma crashed while moving an icon
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Desktop icons & Folder View widget (show other bugs)
Version: 5.5.5
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 1.0
Assignee: Eike Hein
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2016-07-07 18:17 UTC by Umut Özdemir
Modified: 2017-01-11 18:07 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Umut Özdemir 2016-07-07 18:17:05 UTC
Application: plasmashell (5.5.5)

Qt Version: 5.5.1
Operating System: Linux 4.4.0-28-generic x86_64
Distribution: Ubuntu 16.04 LTS

-- Information about the crash:
- What I was doing when the application crashed:

I was trying to move an icon at my desktop. I had just opened the system. 

- May be a bit unrelated: 

Also I see Trash symbol changes it's position sometimes when I start my system. I found it at top part of my desktop.

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma (plasmashell), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa93567e8c0 (LWP 1527))]

Thread 9 (Thread 0x7fa86aab4700 (LWP 1673)):
#0  0x00007fa93064fb6e in QTimerInfoList::timerWait(timespec&) (val=...) at kernel/qtimerinfo_unix.cpp:203
#1  0x00007fa93064fb6e in QTimerInfoList::timerWait(timespec&) (this=0x7fa864002cd0, tm=...) at kernel/qtimerinfo_unix.cpp:398
#2  0x00007fa930650e7e in timerSourcePrepare(GSource*, gint*) (timeout=0x7fa86aab3b04, src=<optimized out>) at kernel/qeventdispatcher_glib.cpp:127
#3  0x00007fa930650e7e in timerSourcePrepare(GSource*, gint*) (source=<optimized out>, timeout=timeout@entry=0x7fa86aab3b04) at kernel/qeventdispatcher_glib.cpp:160
#4  0x00007fa92ca3e92d in g_main_context_prepare (context=context@entry=0x7fa864000990, priority=priority@entry=0x7fa86aab3b90) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3442
#5  0x00007fa92ca3f2cb in g_main_context_iterate (context=context@entry=0x7fa864000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3820
#6  0x00007fa92ca3f4ac in g_main_context_iteration (context=0x7fa864000990, may_block=may_block@entry=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
#7  0x00007fa930651a9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fa8640008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#8  0x00007fa9305f8dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fa86aab3cc0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#9  0x00007fa9304158a4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#10 0x00007fa86cfcc7d7 in KCupsConnection::run() () at /usr/lib/x86_64-linux-gnu/libkcupslib.so
#11 0x00007fa93041a84e in QThreadPrivate::start(void*) (arg=0x204b250) at thread/qthread_unix.cpp:331
#12 0x00007fa92f4ec6fa in start_thread (arg=0x7fa86aab4700) at pthread_create.c:333
#13 0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 8 (Thread 0x7fa87bdf4700 (LWP 1586)):
#0  0x00007fa92ca83ae4 in g_mutex_unlock (mutex=0x7fa874000990) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gthread-posix.c:1347
#1  0x00007fa92ca3f391 in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fa874003120, timeout=<optimized out>, context=0x7fa874000990) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:4134
#2  0x00007fa92ca3f391 in g_main_context_iterate (context=context@entry=0x7fa874000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3835
#3  0x00007fa92ca3f4ac in g_main_context_iteration (context=0x7fa874000990, may_block=may_block@entry=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007fa930651a9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fa8740008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007fa9305f8dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fa87bdf3c90, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fa9304158a4 in QThread::exec() (this=<optimized out>) at thread/qthread.cpp:503
#7  0x00007fa933675ed6 in  () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#8  0x00007fa93041a84e in QThreadPrivate::start(void*) (arg=0xf3fe80) at thread/qthread_unix.cpp:331
#9  0x00007fa92f4ec6fa in start_thread (arg=0x7fa87bdf4700) at pthread_create.c:333
#10 0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 7 (Thread 0x7fa9031cc700 (LWP 1567)):
#0  0x00007fa92f4f23a0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fa9350b9bd4 in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#2  0x00007fa9350b9c19 in  () at /usr/lib/x86_64-linux-gnu/libQt5Script.so.5
#3  0x00007fa92f4ec6fa in start_thread (arg=0x7fa9031cc700) at pthread_create.c:333
#4  0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 6 (Thread 0x7fa908b6c700 (LWP 1566)):
#0  0x00007fa92fd17e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fa92ca3f39c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fa8fc003070, timeout=<optimized out>, context=0x7fa8fc000990) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:4135
#2  0x00007fa92ca3f39c in g_main_context_iterate (context=context@entry=0x7fa8fc000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3835
#3  0x00007fa92ca3f4ac in g_main_context_iteration (context=0x7fa8fc000990, may_block=may_block@entry=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007fa930651a9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fa8fc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007fa9305f8dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fa908b6bce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fa9304158a4 in QThread::exec() (this=this@entry=0xdc2b80) at thread/qthread.cpp:503
#7  0x00007fa932cde3c5 in QQmlThreadPrivate::run() (this=0xdc2b80) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fa93041a84e in QThreadPrivate::start(void*) (arg=0xdc2b80) at thread/qthread_unix.cpp:331
#9  0x00007fa92f4ec6fa in start_thread (arg=0x7fa908b6c700) at pthread_create.c:333
#10 0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 5 (Thread 0x7fa90a954700 (LWP 1563)):
#0  0x00007fa92fd17e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fa92ca3f39c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fa904002e70, timeout=<optimized out>, context=0x7fa904000990) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:4135
#2  0x00007fa92ca3f39c in g_main_context_iterate (context=context@entry=0x7fa904000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3835
#3  0x00007fa92ca3f4ac in g_main_context_iteration (context=0x7fa904000990, may_block=may_block@entry=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007fa930651a9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fa9040008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007fa9305f8dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fa90a953ce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fa9304158a4 in QThread::exec() (this=this@entry=0x9ec940) at thread/qthread.cpp:503
#7  0x00007fa932cde3c5 in QQmlThreadPrivate::run() (this=0x9ec940) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fa93041a84e in QThreadPrivate::start(void*) (arg=0x9ec940) at thread/qthread_unix.cpp:331
#9  0x00007fa92f4ec6fa in start_thread (arg=0x7fa90a954700) at pthread_create.c:333
#10 0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 4 (Thread 0x7fa915da4700 (LWP 1556)):
#0  0x00007fa92f4f23a0 in pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007fa91733f213 in  () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#2  0x00007fa91733e937 in  () at /usr/lib/x86_64-linux-gnu/dri/r600_dri.so
#3  0x00007fa92f4ec6fa in start_thread (arg=0x7fa915da4700) at pthread_create.c:333
#4  0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 3 (Thread 0x7fa91de04700 (LWP 1554)):
#0  0x00007fa92fd17e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fa92ca3f39c in g_main_context_iterate (priority=2147483647, n_fds=1, fds=0x7fa910003070, timeout=<optimized out>, context=0x7fa910000990) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:4135
#2  0x00007fa92ca3f39c in g_main_context_iterate (context=context@entry=0x7fa910000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3835
#3  0x00007fa92ca3f4ac in g_main_context_iteration (context=0x7fa910000990, may_block=may_block@entry=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
#4  0x00007fa930651a9b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fa9100008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:420
#5  0x00007fa9305f8dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fa91de03ce0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#6  0x00007fa9304158a4 in QThread::exec() (this=this@entry=0xa00720) at thread/qthread.cpp:503
#7  0x00007fa932cde3c5 in QQmlThreadPrivate::run() (this=0xa00720) at qml/ftw/qqmlthread.cpp:141
#8  0x00007fa93041a84e in QThreadPrivate::start(void*) (arg=0xa00720) at thread/qthread_unix.cpp:331
#9  0x00007fa92f4ec6fa in start_thread (arg=0x7fa91de04700) at pthread_create.c:333
#10 0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 2 (Thread 0x7fa920664700 (LWP 1534)):
#0  0x00007fa92fd17e8d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007fa933e26c62 in _xcb_conn_wait (__timeout=-1, __nfds=1, __fds=0x7fa920663c00) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
#2  0x00007fa933e26c62 in _xcb_conn_wait (c=c@entry=0x9121c0, cond=cond@entry=0x912200, vector=vector@entry=0x0, count=count@entry=0x0) at ../../src/xcb_conn.c:459
#3  0x00007fa933e288d7 in xcb_wait_for_event (c=0x9121c0) at ../../src/xcb_in.c:693
#4  0x00007fa9227de629 in QXcbEventReader::run() (this=0x9251d0) at qxcbconnection.cpp:1253
#5  0x00007fa93041a84e in QThreadPrivate::start(void*) (arg=0x9251d0) at thread/qthread_unix.cpp:331
#6  0x00007fa92f4ec6fa in start_thread (arg=0x7fa920664700) at pthread_create.c:333
#7  0x00007fa92fd23b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7fa93567e8c0 (LWP 1527)):
[KCrash Handler]
#6  0x00007fa900f18148 in FolderModel::dragSelectedInternal(int, int) (this=0xfdc110, x=<optimized out>, y=<optimized out>) at /build/plasma-desktop-Bvo2Ad/plasma-desktop-5.5.5/containments/desktop/plugins/folder/foldermodel.cpp:718
#7  0x00007fa900f3b30b in FolderModel::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0xfdc110, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /build/plasma-desktop-Bvo2Ad/plasma-desktop-5.5.5/obj-x86_64-linux-gnu/containments/desktop/plugins/folder/moc_foldermodel.cpp:477
#8  0x00007fa93062aea1 in QObject::event(QEvent*) (this=0xfdc110, e=<optimized out>) at kernel/qobject.cpp:1239
#9  0x00007fa93110005c in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x905680, receiver=receiver@entry=0xfdc110, e=e@entry=0x22c4d20) at kernel/qapplication.cpp:3716
#10 0x00007fa931105516 in QApplication::notify(QObject*, QEvent*) (this=0x7ffe7a823a80, receiver=0xfdc110, e=0x22c4d20) at kernel/qapplication.cpp:3499
#11 0x00007fa9305fb62b in QCoreApplication::notifyInternal(QObject*, QEvent*) (this=0x7ffe7a823a80, receiver=0xfdc110, event=event@entry=0x22c4d20) at kernel/qcoreapplication.cpp:965
#12 0x00007fa9305fda26 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (event=0x22c4d20, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:224
#13 0x00007fa9305fda26 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x8fb600) at kernel/qcoreapplication.cpp:1593
#14 0x00007fa9305fdf08 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1451
#15 0x00007fa930651673 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x8fb4a0) at kernel/qeventdispatcher_glib.cpp:271
#16 0x00007fa92ca3f1a7 in g_main_context_dispatch (context=0x7fa9180016f0) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3154
#17 0x00007fa92ca3f1a7 in g_main_context_dispatch (context=context@entry=0x7fa9180016f0) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3769
#18 0x00007fa92ca3f400 in g_main_context_iterate (context=context@entry=0x7fa9180016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3840
#19 0x00007fa92ca3f4ac in g_main_context_iteration (context=0x7fa9180016f0, may_block=may_block@entry=1) at /build/glib2.0-7IO_Yw/glib2.0-2.48.1/./glib/gmain.c:3901
#20 0x00007fa930651a7f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x94fd80, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#21 0x00007fa9305f8dea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe7a823920, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#22 0x00007fa930600e8c in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1229
#23 0x00007fa930936c3c in QGuiApplication::exec() () at kernel/qguiapplication.cpp:1542
#24 0x00007fa9310fc495 in QApplication::exec() () at kernel/qapplication.cpp:2976
#25 0x0000000000432d4a in main(int, char**) (argc=2, argv=<optimized out>) at /build/plasma-workspace-kxRFE_/plasma-workspace-5.5.5.2/shell/main.cpp:181

Reported using DrKonqi
Comment 1 Marco Martin 2016-12-30 15:10:30 UTC
update on this: the code the backtrace is pointing to is still identical as of Plasma 5.9, line 718 became line 770
Comment 2 Kai Uwe Broulik 2017-01-01 21:11:11 UTC
I can also reproduce the issue, have FolderView as containment, start plasmashell and keep repeatedly dragging on a spot where a file will apear. It will eventually crash with the same backtrace.
Comment 3 Eike Hein 2017-01-09 07:45:04 UTC
Kai, can you elaborate on these steps to reproduce? I don't get "keep repeatedly dragging on a spot where a file will apear".
Comment 4 Eike Hein 2017-01-11 18:07:45 UTC
Git commit fc8ce43ac026d1b9769d8bfe98b42d74a74bc8db by Eike Hein.
Committed on 11/01/2017 at 17:44.
Pushed by hein into branch 'Plasma/5.8'.

Fix crash during crash acrobatics.

Summary:
Mark drag in progress earlier and use it to avoid queuing two drags,
avoid nesting QDrag::exec.

Reviewers: davidedmundson

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D4085

M  +7    -1    containments/desktop/plugins/folder/foldermodel.cpp

https://commits.kde.org/plasma-desktop/fc8ce43ac026d1b9769d8bfe98b42d74a74bc8db