Bug 320393 - Plasma crashed when the computer is shutting down
Summary: Plasma crashed when the computer is shutting down
Status: RESOLVED DOWNSTREAM
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: 4.10.3
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-28 16:39 UTC by kroz
Modified: 2013-05-30 13:44 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description kroz 2013-05-28 16:39:13 UTC
Application: plasma-desktop (4.10.3)
KDE Platform Version: 4.10.3 (Compiled from sources)
Qt Version: 4.8.4
Operating System: Linux 3.6.2-gentoo-lix-k03 i686
Distribution (Platform): Gentoo Packages

-- Information about the crash:
This happens from time to time. Actions during session (before shutting down the computer) are different, but usually they are one of several of:
- doing something in Konsole (autorun)
- browsing Internet in Opera (flash plugin is off by default)
- watching video of smplayer
- browsing files in Dolphin

The crash can be reproduced sometimes.

-- Backtrace:
Application: Plasma Desktop Shell (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0xb534f740 (LWP 3298))]

Thread 4 (Thread 0xacc9fb40 (LWP 3345)):
#0  0xb76e7424 in __kernel_vsyscall ()
#1  0xb6b4ca6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb1257a0d in ?? () from /usr/lib/qt4/libQtScript.so.4
#3  0xb1257a3f in ?? () from /usr/lib/qt4/libQtScript.so.4
#4  0xb02d1101 in ?? () from /usr/lib/libGL.so.1
#5  0x5c8b0824 in ?? ()
#6  0xbab80424 in ?? ()
#7  0x65000000 in ?? ()
#8  0x001015ff in ?? ()
#9  0xd3890000 in ?? ()
#10 0xfff0013d in ?? ()
#11 0xc30173ff in ?? ()
#12 0x0fb4b2e8 in ?? ()
#13 0x0bc18100 in ?? ()
#14 0x8b00178b in ?? ()
#15 0xffff2089 in ?? ()
#16 0x65d8f7ff in ?? ()
#17 0xc8830189 in ?? ()
#18 0x9066c3ff in ?? ()
#19 0x90669066 in ?? ()
#20 0x00acec81 in ?? ()
#21 0x9c890000 in ?? ()
#22 0x0000a024 in ?? ()
#23 0xb481e800 in icudt51_dat () from /usr/lib/libicudata.so.51
#24 0xc381000f in ?? ()
#25 0x00178ade in ?? ()
#26 0xa424b489 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 3 (Thread 0xa5ac3b40 (LWP 3460)):
#0  0xb76e7424 in __kernel_vsyscall ()
#1  0xb5ee008b in poll () from /lib/libc.so.6
#2  0xb58c0ccb in g_poll () from /usr/lib/libglib-2.0.so.0
#3  0xb58b20c0 in ?? () from /usr/lib/libglib-2.0.so.0
#4  0xb58b2221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#5  0xb6d1252f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt4/libQtCore.so.4
#6  0xb6cdebbc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt4/libQtCore.so.4
#7  0xb6cdeeb9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt4/libQtCore.so.4
#8  0xb6bc7a4c in QThread::exec() () from /usr/lib/qt4/libQtCore.so.4
#9  0xb6cbcedd in ?? () from /usr/lib/qt4/libQtCore.so.4
#10 0xb6bcae68 in ?? () from /usr/lib/qt4/libQtCore.so.4
#11 0xb02d1101 in ?? () from /usr/lib/libGL.so.1
#12 0x5c8b0824 in ?? ()
#13 0xbab80424 in ?? ()
#14 0x65000000 in ?? ()
#15 0x001015ff in ?? ()
#16 0xd3890000 in ?? ()
#17 0xfff0013d in ?? ()
#18 0xc30173ff in ?? ()
#19 0x0fb4b2e8 in ?? ()
#20 0x0bc18100 in ?? ()
#21 0x8b00178b in ?? ()
#22 0xffff2089 in ?? ()
#23 0x65d8f7ff in ?? ()
#24 0xc8830189 in ?? ()
#25 0x9066c3ff in ?? ()
#26 0x90669066 in ?? ()
#27 0x00acec81 in ?? ()
#28 0x9c890000 in ?? ()
#29 0x0000a024 in ?? ()
#30 0xb481e800 in icudt51_dat () from /usr/lib/libicudata.so.51
#31 0xc381000f in ?? ()
#32 0x00178ade in ?? ()
#33 0xa424b489 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 2 (Thread 0xa4fd2b40 (LWP 3461)):
#0  0xb5ee008f in poll () from /lib/libc.so.6
#1  0xb58c0ccb in g_poll () from /usr/lib/libglib-2.0.so.0
#2  0xb58b20c0 in ?? () from /usr/lib/libglib-2.0.so.0
#3  0xb58b2221 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#4  0xb6d1252f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt4/libQtCore.so.4
#5  0xb6cdebbc in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt4/libQtCore.so.4
#6  0xb6cdeeb9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/qt4/libQtCore.so.4
#7  0xb6bc7a4c in QThread::exec() () from /usr/lib/qt4/libQtCore.so.4
#8  0xb6cbcedd in ?? () from /usr/lib/qt4/libQtCore.so.4
#9  0xb6bcae68 in ?? () from /usr/lib/qt4/libQtCore.so.4
#10 0xb02d1101 in ?? () from /usr/lib/libGL.so.1
#11 0x5c8b0824 in ?? ()
#12 0xbab80424 in ?? ()
#13 0x65000000 in ?? ()
#14 0x001015ff in ?? ()
#15 0xd3890000 in ?? ()
#16 0xfff0013d in ?? ()
#17 0xc30173ff in ?? ()
#18 0x0fb4b2e8 in ?? ()
#19 0x0bc18100 in ?? ()
#20 0x8b00178b in ?? ()
#21 0xffff2089 in ?? ()
#22 0x65d8f7ff in ?? ()
#23 0xc8830189 in ?? ()
#24 0x9066c3ff in ?? ()
#25 0x90669066 in ?? ()
#26 0x00acec81 in ?? ()
#27 0x9c890000 in ?? ()
#28 0x0000a024 in ?? ()
#29 0xb481e800 in icudt51_dat () from /usr/lib/libicudata.so.51
#30 0xc381000f in ?? ()
#31 0x00178ade in ?? ()
#32 0xa424b489 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Thread 1 (Thread 0xb534f740 (LWP 3298)):
[KCrash Handler]
#6  0xacf16fa7 in PlasmaYasdp::~PlasmaYasdp (this=0x9122b18, __in_chrg=<optimized out>) at /home/kroz/tmp/plasmoid/yaSDP/plasma-yasdp.cpp:41
#7  0xacf171e2 in PlasmaYasdp::~PlasmaYasdp (this=0x9122b18, __in_chrg=<optimized out>) at /home/kroz/tmp/plasmoid/yaSDP/plasma-yasdp.cpp:43
#8  0xb2bbfe58 in Plasma::Containment::~Containment() () from /usr/lib/libplasma.so.3
#9  0xacffb2a5 in DefaultDesktop::~DefaultDesktop (this=0x904a550, __in_chrg=<optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/containments/desktop/desktop.cpp:59
#10 0xacffb2f2 in DefaultDesktop::~DefaultDesktop (this=0x904a550, __in_chrg=<optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/containments/desktop/desktop.cpp:61
#11 0xb2bd1857 in ?? () from /usr/lib/libplasma.so.3
#12 0xb2bd1a4b in Plasma::Corona::~Corona() () from /usr/lib/libplasma.so.3
#13 0xae445f4c in DesktopCorona::~DesktopCorona (this=0x8f28118, __in_chrg=<optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/shell/desktopcorona.cpp:72
#14 0xae445f82 in DesktopCorona::~DesktopCorona (this=0x8f28118, __in_chrg=<optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/shell/desktopcorona.cpp:75
#15 0xae4704b2 in cleanup (this=0x8ead398) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/shell/plasmaapp.cpp:383
#16 PlasmaApp::cleanup (this=0x8ead398) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/shell/plasmaapp.cpp:349
#17 0xae470b3a in qt_static_metacall (_a=0xbfef8aac, _id=18, _o=0x8ead398, _c=<optimized out>) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3_build/plasma/desktop/shell/plasmaapp.moc:130
#18 PlasmaApp::qt_static_metacall (_o=0x8ead398, _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0xbfef8aac) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3_build/plasma/desktop/shell/plasmaapp.moc:103
#19 0xb6cf880e in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/qt4/libQtCore.so.4
#20 0xb6d49795 in QCoreApplication::aboutToQuit() () from /usr/lib/qt4/libQtCore.so.4
#21 0xb6ce42a8 in QCoreApplication::exec() () from /usr/lib/qt4/libQtCore.so.4
#22 0xb61dc754 in QApplication::exec() () from /usr/lib/qt4/libQtGui.so.4
#23 0xae453401 in kdemain (argc=1, argv=0x8e3f090) at /var/tmp/portage/kde-base/plasma-workspace-4.10.3/work/plasma-workspace-4.10.3/plasma/desktop/shell/main.cpp:126
#24 0x0804fb0b in _start ()

Reported using DrKonqi
Comment 1 Jekyll Wu 2013-05-28 17:05:15 UTC
> #6  0xacf16fa7 in PlasmaYasdp::~PlasmaYasdp (this=0x9122b18, __in_chrg=<optimized out>) at /home/kroz/tmp/plasmoid/yaSDP/plasma-yasdp.cpp:41
> #7  0xacf171e2 in PlasmaYasdp::~PlasmaYasdp (this=0x9122b18, __in_chrg=<optimized out>) at /home/kroz/tmp/plasmoid/yaSDP/plasma-yasdp.cpp:43

As you can see in the backtrace, the crash is due to that 3rd party plasmoid.  Nothing can be done here. Please report the problem to its author.
Comment 2 kroz 2013-05-30 13:44:12 UTC
Please, clarify/comment the following:

1. Can 3rd party software (plasmoid) affect normal operation of KDE components? If yes - that is a security problem. Analogy: JS script or Flash plugin, if crashed, shall not (and does not) kill browser.

I guess, that the answer for previous problem is "No", since fault of that plasmoid was correctly intercepted by KDE, and KDE shown me a dialog with the notification. So:
2. If fault of other program (plasmoid) was correctly intercepted, why dialog informs me that "_Plasma_ was crashed"? Let it show name of that program. or at least "Other software" or "Software PID=". A user shall not be forced to analyze backtrace to find out exactly program that actually crashed.

I think this item shall be of interest for KDE developers: nowadays "Plasma crashes" is considered being something common. If actual reason of "Plasma crashes" is not KDE components but 3rd party plasmoids or other software, it should be of interest for KDE developers to inform users/public about it; and the best way to do this is through messages in Crash dialog.

3. If fault of other program (plasmoid) can be correctly intercepted, there should be a way to avoid KDE interrupting shutdown process because of this. The "Crash dialog" is interesting and useful to generate backtrace, post a bug (BTW, very good feature, thats for that), investigate the problem; but when the problem is known, accepted to be, it is very annoying to wait each time near the computer "whether KDE will interrupt shutdown process this time" and then press Ok. "Ok, I know about this problem, stop reminding about it again and again!". I am taking about some checkbox in System Settings (or at least option if config files) to allow/forbid KDE to interrupt shutdown process in case of errors.

Thanks.