Bug 157437 - plasma crashed on closing an applet
Summary: plasma crashed on closing an applet
Status: RESOLVED DUPLICATE of bug 157647
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 157158 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-02-08 17:43 UTC by christopher v
Modified: 2008-02-13 00:02 UTC (History)
1 user (show)

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 christopher v 2008-02-08 17:43:00 UTC
Version:            (using Devel)
Installed from:    Compiled sources
OS:                Linux

crash tracking by KDE:

------------------------------------------------
[?1034h(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0xb57246f0 (LWP 3555)]
[New Thread 0xb2978b90 (LWP 4332)]
[New Thread 0xb3a72b90 (LWP 3557)]
0xffffe410 in __kernel_vsyscall ()
[Current thread is 0 (LWP 3555)]

Thread 3 (Thread 0xb3a72b90 (LWP 3557)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb7234566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb728a9e8 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3  0xb3f2f5f4 in ?? () from /usr/lib/kde4/plasma_containment_desktop.so
#4  0x08104ebc in ?? ()
#5  0x08104eb8 in ?? ()
#6  0xffffffff in ?? ()
#7  0xb3a72250 in ?? ()
#8  0xb3a7230c in ?? ()
#9  0xb7422788 in ?? ()
#10 0xb7f5cff4 in ?? () from /lib/ld-linux.so.2
#11 0xb7ab5040 in ?? () from /usr/lib/libkdeui.so.5
#12 0xb3f32a58 in ?? () from /usr/lib/kde4/plasma_containment_desktop.so
#13 0xb3f32a5f in ?? () from /usr/lib/kde4/plasma_containment_desktop.so
#14 0xb7f4b82f in ?? () from /lib/ld-linux.so.2
#15 0xb728a417 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4
#16 0xb7230192 in start_thread () from /lib/libpthread.so.0
#17 0xb66df02e in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb2978b90 (LWP 4332)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb66d8591 in select () from /lib/libc.so.6
#2  0xb73166c5 in QProcessManager::run () from /usr/lib/libQtCore.so.4
#3  0xb728a417 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4
#4  0xb7230192 in start_thread () from /lib/libpthread.so.0
#5  0xb66df02e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb57246f0 (LWP 3555)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb66aa8d6 in nanosleep () from /lib/libc.so.6
#2  0xb66aa6b7 in sleep () from /lib/libc.so.6
#3  0xb79c0849 in ?? () from /usr/lib/libkdeui.so.5
#4  0x00000001 in ?? ()
#5  0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()

---------------------------------------------------

i enlarged the trashbin icon and the plasma desktop started being really slow as i tried to close the icon with The close button(x) on the side of the plasma, the whole plasma desktop crashed. it build up new by itself and showed the bug track by KDE.
Comment 1 christopher v 2008-02-08 17:43:51 UTC
I'm using KDE 4.0.1 from official openSUSE 10.3 package repository.
Comment 2 Aaron J. Seigo 2008-02-08 20:40:23 UTC
can you install the debug packages and try this again so we get a full backtrace? thanks! =)
Comment 3 christopher v 2008-02-09 15:32:34 UTC
you can reproduce it by enlarging one icon as big as the screen is and then move it a bit around and then try to close it and your desktop will crash too. i dont know how to install the debug system
Comment 4 Sebastian Sauer 2008-02-10 18:51:26 UTC
*** Bug 157158 has been marked as a duplicate of this bug. ***
Comment 5 Sebastian Sauer 2008-02-10 18:57:52 UTC
changed summary to reflect the prob.
Comment 6 Sebastian Sauer 2008-02-10 19:25:12 UTC
According to the backtrace from bug #157158 the reason may the assert in;

bool Containment::sceneEventFilter(QGraphicsItem *watched, QEvent *event)
{
    ...
    Q_ASSERT(applet!=0);
    ...
}

and if final aka non-debug packages are installed and the assert fails, it may also result in a crash.
Comment 7 Sebastian Sauer 2008-02-10 19:30:03 UTC
So, maybe a fix may look like;

Index: containment.cpp
===================================================================
--- containment.cpp     (revision 773254)
+++ containment.cpp     (working copy)
@@ -819,7 +819,7 @@
     // Otherwise we're watching something we shouldn't be...
     //kDebug() << "got sceneEvent";
     Q_ASSERT(applet!=0);
-    if (!d->applets.contains(applet)) {
+    if (!applet || !d->applets.contains(applet)) {
         return false;
     }

Though I've no idea why a (!d->applets.contains(NULL)) shouldn't work...
Comment 8 Sebastian Sauer 2008-02-11 08:15:53 UTC
maybe bug #157476 is related though it seems we have at least 2 independent crash-cases here :-/

Christoph: since you compiled from sources, I would suggest to use the -DCMAKE_BUILD_TYPE switch here to build at least kdelibs and kdebase with debug enabled what allows to produce more useful backtraces.
So, something like e.g.
cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR -DCMAKE_BUILD_TYPE=debugfull /path/to/source

For a quit intro how to do it using packages provided by a distributor you may also like to see http://bugs.kde.org/show_bug.cgi?id=157599#c4 

Thanks in advance :)
Comment 9 christopher v 2008-02-11 15:20:36 UTC
thx sebastian, im using official packages from openSUSE 10.3 actually. It just says compiled by source because this is another bug from this bug report machine,-) i choosed suse rpms but it dont work when you choose recent KDE version as well,-)
anyway, ill try my best to get some backtrace or something.
Comment 10 christopher v 2008-02-11 15:46:44 UTC
i installed some debug packages, reproduced the crash and i hope this helps you:

[?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb575a6f0 (LWP 5827)]
[New Thread 0xb3aa7b90 (LWP 5830)]
0xffffe410 in __kernel_vsyscall ()
[Current thread is 0 (LWP 5827)]

Thread 2 (Thread 0xb3aa7b90 (LWP 5830)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb726d566 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb72c39e8 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#3  0xb3f645f4 in RenderThread::run ()
   from /usr/lib/kde4/plasma_containment_desktop.so
#4  0xb72c3417 in QThreadPrivate::start () from /usr/lib/libQtCore.so.4
#5  0xb7269192 in start_thread () from /lib/libpthread.so.0
#6  0xb671802e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb575a6f0 (LWP 5827)):
#0  0xffffe410 in __kernel_vsyscall ()
#1  0xb66e38d6 in nanosleep () from /lib/libc.so.6
#2  0xb66e36b7 in sleep () from /lib/libc.so.6
#3  0xb79f9849 in ?? () from /usr/lib/libkdeui.so.5
#4  0x00000001 in ?? ()
#5  0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 11 christopher v 2008-02-11 16:51:51 UTC
same bug:

[?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb577a6f0 (LWP 7549)]
[New Thread 0xb3ac7b90 (LWP 7550)]
[KCrash handler]
#6  0xb689544e in __dynamic_cast () from /usr/lib/libstdc++.so.6
#7  0xb7ee8bd8 in Plasma::Phase::timerEvent () from /usr/lib/libplasma.so.1
#8  0xb73964d4 in QObject::event () from /usr/lib/libQtCore.so.4
#9  0xb6c5e09d in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#10 0xb6c64239 in QApplication::notify () from /usr/lib/libQtGui.so.4
#11 0xb79bc65d in KApplication::notify () from /usr/lib/libkdeui.so.5
#12 0xb738790b in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#13 0xb73abad4 in QTimerInfoList::activateTimers ()
   from /usr/lib/libQtCore.so.4
#14 0xb73a9110 in timerSourceDispatch () from /usr/lib/libQtCore.so.4
#15 0xb64a55d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0xb64a8972 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0x0806a898 in ?? ()
#18 0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 12 christopher v 2008-02-11 16:59:49 UTC
same bug again:

[?1034hUsing host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb57606f0 (LWP 8564)]
[New Thread 0xb3aadb90 (LWP 8565)]
[KCrash handler]
#6  0xb687b44e in __dynamic_cast () from /usr/lib/libstdc++.so.6
#7  0xb7ecebd8 in Plasma::Phase::timerEvent () from /usr/lib/libplasma.so.1
#8  0xb737c4d4 in QObject::event () from /usr/lib/libQtCore.so.4
#9  0xb6c4409d in QApplicationPrivate::notify_helper ()
   from /usr/lib/libQtGui.so.4
#10 0xb6c4a239 in QApplication::notify () from /usr/lib/libQtGui.so.4
#11 0xb79a265d in KApplication::notify () from /usr/lib/libkdeui.so.5
#12 0xb736d90b in QCoreApplication::notifyInternal ()
   from /usr/lib/libQtCore.so.4
#13 0xb7391ad4 in QTimerInfoList::activateTimers ()
   from /usr/lib/libQtCore.so.4
#14 0xb738f110 in timerSourceDispatch () from /usr/lib/libQtCore.so.4
#15 0xb648b5d6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#16 0xb648e972 in ?? () from /usr/lib/libglib-2.0.so.0
#17 0x0806a898 in ?? ()
#18 0x00000000 in ?? ()
#0  0xffffe410 in __kernel_vsyscall ()
Comment 13 Sebastian Sauer 2008-02-12 20:20:01 UTC
Thanks for the additional input christopher :)

So let's go step by step;

* comment #c10 is imho a duplicate of bug #156944 or the related case discovered during a code-review where we did run into a div-by-zero. Both cases are fixed with 4.0.2

* comment #c11 and comment #c12 are imho related to bug #157476 which is a duplicate of bug #157647 . Also the crash happens on a similar situation, that is if an applet got removed what somehow increases the possibility that this report is a duplicate of #157647 by even more percent.

So, all in all, let's mark this report as duplicate of the other then even if this report was created before the other since the other report contains an even more detailed backtrace.

Now I wouldn't wonder if all the crashes are at the end a duplicate of bug #156944 and therefore already fixed in trunk and in the upcoming 4.0.2. Well, let's wait an see :) Thank you very much for the feedback!

p.s. if you don't agree about the duplicate-factor, please reopen. Thanks in advance.


*** This bug has been marked as a duplicate of 157647 ***
Comment 14 Aaron J. Seigo 2008-02-13 00:02:23 UTC
nothing much to add here other than: great work Sebastian to get this one sorted out. always tricky when it's multiple bugs, fixed in trunk and backtraces that don't have full debug symbols =)