Bug 356321 - OpenSuse 42.1 plasma desktop crash
Summary: OpenSuse 42.1 plasma desktop crash
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 5.4.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: David Edmundson
URL:
Keywords: drkonqi
: 357094 357172 358182 358196 358825 359105 359391 359622 359623 362320 386230 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-12-05 19:39 UTC by RichT
Modified: 2017-10-27 09:44 UTC (History)
15 users (show)

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


Attachments
KIO versions (68.46 KB, image/png)
2015-12-16 14:11 UTC, RichT
Details
valgrind log when trying to reproduce the crash in dolphin (11.00 KB, text/plain)
2016-02-06 18:41 UTC, Wolfgang Bauer
Details
valgrind log with "--num-callers=50" (20.21 KB, text/plain)
2016-02-06 19:32 UTC, Wolfgang Bauer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description RichT 2015-12-05 19:39:23 UTC
Application: plasmashell (5.4.3)

Qt Version: 5.5.0
Operating System: Linux 4.1.12-1-default x86_64
Distribution: "openSUSE Leap 42.1 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
trying to create a link-to-application. 

- Unusual behavior I noticed:
when the create dlg appears, there are only 2 tabs (general and permissions). No place to specify the program. If cancel is used, that's OK.  But OK killed desktop.

Saw this message after OK clicked
The file or folder :/kio5/newfile-templates/.source/Program.desktop does not exist.

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

Thread 9 (Thread 0x7f9402055700 (LWP 2090)):
#0  0x00007f9411b57c1d in poll () at /lib64/libc.so.6
#1  0x00007f9416a7e422 in  () at /usr/lib64/libxcb.so.1
#2  0x00007f9416a8000f in xcb_wait_for_event () at /usr/lib64/libxcb.so.1
#3  0x00007f94041a5c29 in  () at /usr/lib64/libQt5XcbQpa.so.5
#4  0x00007f941224e55f in  () at /usr/lib64/libQt5Core.so.5
#5  0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#6  0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 8 (Thread 0x7f93fafca700 (LWP 2125)):
#0  0x00007ffed2795b26 in clock_gettime ()
#1  0x00007f9411b6cc9d in clock_gettime () at /lib64/libc.so.6
#2  0x00007f94122feb06 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007f941247e089 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007f941247e615 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f941247f82e in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007f940e2384ad in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f940e238d80 in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f940e238f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007f941247fa5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9412426a63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f941224984a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007f94155325f8 in  () at /usr/lib64/libQt5Qml.so.5
#13 0x00007f941224e55f in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 7 (Thread 0x7f93ed5bf700 (LWP 2129)):
#0  0x00007f941136505f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f93f39f8e53 in  () at /usr/lib64/dri/radeonsi_dri.so
#2  0x00007f93f39f85d7 in  () at /usr/lib64/dri/radeonsi_dri.so
#3  0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 6 (Thread 0x7f93e78ef700 (LWP 2130)):
#0  0x00007f9411b57c1d in poll () at /lib64/libc.so.6
#1  0x00007f940e238e64 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f940e238f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f941247fa5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f9412426a63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f941224984a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f94155325f8 in  () at /usr/lib64/libQt5Qml.so.5
#7  0x00007f941224e55f in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7f93e5ee9700 (LWP 2140)):
#0  0x00007ffed2795b26 in clock_gettime ()
#1  0x00007f9411b6cc9d in clock_gettime () at /lib64/libc.so.6
#2  0x00007f94122feb06 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007f941247e089 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007f941247e615 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f941247f82e in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007f940e2384ad in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f940e238d80 in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f940e238f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007f941247fa5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9412426a63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f941224984a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007f94155325f8 in  () at /usr/lib64/libQt5Qml.so.5
#13 0x00007f941224e55f in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7f93dffff700 (LWP 2141)):
#0  0x00007f941136505f in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007f9417ce57eb in  () at /usr/lib64/libQt5Script.so.5
#2  0x00007f9417ce5819 in  () at /usr/lib64/libQt5Script.so.5
#3  0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#4  0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7f93dd106700 (LWP 2148)):
#0  0x00007ffed2795b26 in clock_gettime ()
#1  0x00007f9411b6cc9d in clock_gettime () at /lib64/libc.so.6
#2  0x00007f94122feb06 in  () at /usr/lib64/libQt5Core.so.5
#3  0x00007f941247e089 in QTimerInfoList::updateCurrentTime() () at /usr/lib64/libQt5Core.so.5
#4  0x00007f941247e615 in QTimerInfoList::timerWait(timespec&) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f941247f82e in  () at /usr/lib64/libQt5Core.so.5
#6  0x00007f940e2384ad in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f940e238d80 in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f940e238f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007f941247fa5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f9412426a63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f941224984a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#12 0x00007f94160c5f82 in  () at /usr/lib64/libQt5Quick.so.5
#13 0x00007f941224e55f in  () at /usr/lib64/libQt5Core.so.5
#14 0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#15 0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f9349368700 (LWP 2205)):
#0  0x00007f9411b57c1d in poll () at /lib64/libc.so.6
#1  0x00007f940e238e64 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f940e238f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f941247fa5b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#4  0x00007f9412426a63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#5  0x00007f941224984a in QThread::exec() () at /usr/lib64/libQt5Core.so.5
#6  0x00007f934a9b5cf7 in KCupsConnection::run() () at /usr/lib64/libkcupslib.so
#7  0x00007f941224e55f in  () at /usr/lib64/libQt5Core.so.5
#8  0x00007f94113610a4 in start_thread () at /lib64/libpthread.so.0
#9  0x00007f9411b6004d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f94185fc7c0 (LWP 2089)):
[KCrash Handler]
#6  0x00007f94165785d0 in  () at /usr/lib64/libQt5Quick.so.5
#7  0x00007f94124391ed in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) () at /usr/lib64/libQt5Core.so.5
#8  0x00007f940b7d3304 in KDialogJobUiDelegate::Private::next() () at /usr/lib64/libKF5JobWidgets.so.5
#9  0x00007f9412459796 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#10 0x00007f94137a1e8c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#11 0x00007f94137a6cd8 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#12 0x00007f9412428ba5 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#13 0x00007f941242ad67 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#14 0x00007f94124805c3 in  () at /usr/lib64/libQt5Core.so.5
#15 0x00007f940e238c84 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#16 0x00007f940e238ed8 in  () at /usr/lib64/libglib-2.0.so.0
#17 0x00007f940e238f7c in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#18 0x00007f941247fa3c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#19 0x00007f9412426a63 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#20 0x00007f941242e5d6 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#21 0x000000000043467b in main ()

Reported using DrKonqi
Comment 1 André Verwijs 2015-12-06 09:16:55 UTC
getting the same when creating a new shortcut to program/file, no backtrace.....
Comment 2 David Edmundson 2015-12-07 00:44:07 UTC
Can you give full steps to reproduce the problem.

What exactly were you dragging? and from and to where?
Comment 3 RichT 2015-12-07 04:46:24 UTC
I right-clicked on desktop and picked 'create new' -> 'link to application'.  The dlg appeared but had 2 tabs - no tab to enter a program name.  If I cancel, then its OK.  If I said OK, to see what happened, that's when crash occurred.
Comment 4 David Edmundson 2015-12-07 10:25:10 UTC
Thanks
Comment 5 David Edmundson 2015-12-13 20:20:40 UTC
Can you tell me what verison of frameworks-kio you have?
Comment 6 iaivier 2015-12-16 14:04:40 UTC
Same problem.

KIO Version: 5.16.0-3.2 / x86_64
Comment 7 RichT 2015-12-16 14:11:59 UTC
Created attachment 96126 [details]
KIO versions

hopefully this is what you were asking for
Comment 8 David Edmundson 2015-12-27 15:01:51 UTC
*** Bug 357172 has been marked as a duplicate of this bug. ***
Comment 9 David Edmundson 2015-12-27 15:01:54 UTC
*** Bug 357094 has been marked as a duplicate of this bug. ***
Comment 10 David Edmundson 2016-01-19 11:51:10 UTC
*** Bug 358182 has been marked as a duplicate of this bug. ***
Comment 11 David Edmundson 2016-01-19 11:51:36 UTC
*** Bug 358196 has been marked as a duplicate of this bug. ***
Comment 12 David Edmundson 2016-02-01 18:51:59 UTC
*** Bug 358825 has been marked as a duplicate of this bug. ***
Comment 13 Wolfgang Bauer 2016-02-06 13:57:22 UTC
I don't think this is a specific problem in plasmashell.

Dolphin crashes as well when creating a new "link to application", with a different backtrace though of course.
Comment 14 David Edmundson 2016-02-06 15:22:37 UTC
Wolfgang, can you get me a valgrind trace of the crash in dolphin?
Comment 15 Wolfgang Bauer 2016-02-06 18:41:31 UTC
Created attachment 97054 [details]
valgrind log when trying to reproduce the crash in dolphin

(In reply to David Edmundson from comment #14)
> Wolfgang, can you get me a valgrind trace of the crash in dolphin?

Hm, dolphin did not crash when running it in valgrind.
I attached the log anyway, and hope it helps.

Note that the crash normally happens when "Create New"->"Link to application" fails, immediately after you press "OK" in the error dialog.
Comment 16 Wolfgang Bauer 2016-02-06 18:51:58 UTC
(In reply to Wolfgang Bauer from comment #15)
> Hm, dolphin did not crash when running it in valgrind.

PS: the crash is reliably reproducible otherwise.
I now let drkonqi search for duplicates and got 11 results, from dolphin *and* systemsettings...

And now that I look again at the backtrace in comment#0, it is actually similar:
Thread 1 (Thread 0x7f3d4e7b37c0 (LWP 26632)):
[KCrash Handler]
#5  0x00007f3d483aefab in QMetaObject::invokeMethod(QObject*, char const*, Qt::ConnectionType, QGenericReturnArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument, QGenericArgument) () at /usr/lib64/libQt5Core.so.5
#6  0x00007f3d4c6b5724 in KDialogJobUiDelegate::Private::next() () at /usr/lib64/libKF5JobWidgets.so.5
#7  0x00007f3d483cf4f6 in QObject::event(QEvent*) () at /usr/lib64/libQt5Core.so.5
#8  0x00007f3d49517eec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#9  0x00007f3d4951cd38 in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQt5Widgets.so.5
#10 0x00007f3d4839e935 in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQt5Core.so.5
#11 0x00007f3d483a0af7 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib64/libQt5Core.so.5
#12 0x00007f3d483f6303 in  () at /usr/lib64/libQt5Core.so.5
#13 0x00007f3d43374a04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#14 0x00007f3d43374c48 in  () at /usr/lib64/libglib-2.0.so.0
#15 0x00007f3d43374cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#16 0x00007f3d483f577c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#17 0x00007f3d4839c803 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt5Core.so.5
#18 0x00007f3d483a4396 in QCoreApplication::exec() () at /usr/lib64/libQt5Core.so.5
#19 0x00007f3d4e3d13f7 in kdemain(int, char**) (argc=1, argv=<optimized out>) at /usr/src/debug/dolphin-15.12.1/src/main.cpp:150
#20 0x00007f3d4dfebb05 in __libc_start_main () at /lib64/libc.so.6
#21 0x00000000004007be in _start () at ../sysdeps/x86_64/start.S:122
Comment 17 David Edmundson 2016-02-06 19:18:10 UTC
Valgrind trace is useful 
And I can definitely come up with two different guards that would fix this from that, but neither /should/ be needed. 

 but can I be a pain and ask you to re-run with
valgrind --num-callers=50 

so I can see the full trace of the initial delete.

(I did try myself, but I don't get the problem here)
Comment 18 Wolfgang Bauer 2016-02-06 19:32:43 UTC
Created attachment 97058 [details]
valgrind log with "--num-callers=50"

(In reply to David Edmundson from comment #17)
>  but can I be a pain and ask you to re-run with
> valgrind --num-callers=50 
> 
> so I can see the full trace of the initial delete.

Attached.

> (I did try myself, but I don't get the problem here)

The crash happens when reproducing Bug#356198.
If you have the corresponding template files in /usr/share/templates/, that doesn't happen. I had to remove that folder to even see that problem, as I have a git version of kde-baseapps installed that still has those files.
Comment 19 David Edmundson 2016-02-06 19:34:39 UTC
Thanks so much.
Comment 20 David Edmundson 2016-02-06 19:43:05 UTC
https://git.reviewboard.kde.org/r/126999/ if you're able to try patches.
Comment 21 Wolfgang Bauer 2016-02-06 20:12:30 UTC
(In reply to David Edmundson from comment #20)
> https://git.reviewboard.kde.org/r/126999/ if you're able to try patches.

Yes, it seems to fix the crash.

With that patch I am not able to reproduce it with neither plasmashell nor dolphin, while it did occur every single time without it.
Comment 22 David Edmundson 2016-02-07 22:28:06 UTC
*** Bug 359105 has been marked as a duplicate of this bug. ***
Comment 23 David Edmundson 2016-02-08 15:13:12 UTC
Git commit e984dab0a6cd9541ae178c104f0228ae264284a6 by David Edmundson.
Committed on 08/02/2016 at 15:13.
Pushed by davidedmundson into branch 'master'.

Fix crash in KJob dialogs.

Guard "this" being deleted whilst running new eventloop

KMessageBox spawns a new event loop, during which the parent kjob can be
completed and deleted, deleting the UIDelegate with it.
Related: bug 356964, bug 355052, bug 355525, bug 353462, bug 358954, bug 346215
REVIEW: 126999

M  +9    -0    src/kdialogjobuidelegate.cpp

http://commits.kde.org/kjobwidgets/e984dab0a6cd9541ae178c104f0228ae264284a6
Comment 24 David Faure 2016-02-08 20:16:07 UTC
Fix included in KF 5.19
Comment 25 David Edmundson 2016-02-15 16:51:25 UTC
*** Bug 359391 has been marked as a duplicate of this bug. ***
Comment 26 Frank Reininghaus 2016-02-22 23:35:13 UTC
*** Bug 359623 has been marked as a duplicate of this bug. ***
Comment 27 Frank Reininghaus 2016-02-22 23:35:16 UTC
*** Bug 359622 has been marked as a duplicate of this bug. ***
Comment 28 David Edmundson 2016-05-04 12:45:04 UTC
*** Bug 362320 has been marked as a duplicate of this bug. ***
Comment 29 Elvis Angelaccio 2017-10-27 09:44:48 UTC
*** Bug 386230 has been marked as a duplicate of this bug. ***