Bug 264844

Summary: plasma-desktop crash when closing empty notification bubble
Product: [Unmaintained] plasma4 Reporter: ancow <bugs>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: howard_b_golden
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description ancow 2011-01-30 14:37:57 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.6.00 (4.6.0)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-25-generic x86_64
Distribution: Ubuntu 10.10

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

 - dragged a notification popup to the desktop
 - closed the notification inside the widget
 - used the title bar to drag the notification to a different position
   => the notification widget is empty
 - trigger a new notification which pops up in the system tray
 - close the now empty notification widget
   => crash

I've only had this crash occur once so far, so it might not be directly related to my actions (two attempts to reproduce it failed).

The crash can be reproduced some of the time.

-- Backtrace:
Application: Plasma-Desktop-Umgebung (plasma-desktop), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fe72e886780 (LWP 22621))]

Thread 5 (Thread 0x7fe7112ba700 (LWP 22622)):
#0  0x00007fe723695c9d in __pthread_mutex_unlock_usercnt (mutex=0x1c310d8) at pthread_mutex_unlock.c:52
#1  __pthread_mutex_unlock (mutex=0x1c310d8) at pthread_mutex_unlock.c:290
#2  0x00007fe722fe010a in g_main_context_iterate (context=0x1c310d0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2758
#3  0x00007fe722fe045c in g_main_context_iteration (context=0x1c310d0, may_block=1) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2843
#4  0x00007fe72b50f1e6 in QEventDispatcherGlib::processEvents (this=0x1c30ac0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007fe72b4e1a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fe72b4e1dec in QEventLoop::exec (this=0x7fe7112b9d90, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fe72b3ec2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007fe72b4c15f8 in QInotifyFileSystemWatcherEngine::run (this=0x1ba8e50) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007fe72b3ef27e in QThreadPrivate::start (arg=0x1ba8e50) at thread/qthread_unix.cpp:266
#10 0x00007fe723692971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#11 0x00007fe72e19a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fe700ec0700 (LWP 22641)):
#0  0x00007fe72e18e203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fe722fe0009 in g_main_context_poll (context=0x228f3f0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:3093
#2  g_main_context_iterate (context=0x228f3f0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2775
#3  0x00007fe722fe045c in g_main_context_iteration (context=0x228f3f0, may_block=1) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2843
#4  0x00007fe72b50f1e6 in QEventDispatcherGlib::processEvents (this=0x225c920, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417
#5  0x00007fe72b4e1a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fe72b4e1dec in QEventLoop::exec (this=0x7fe700ebfd90, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fe72b3ec2fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490
#8  0x00007fe72b4c15f8 in QInotifyFileSystemWatcherEngine::run (this=0x22991f0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007fe72b3ef27e in QThreadPrivate::start (arg=0x22991f0) at thread/qthread_unix.cpp:266
#10 0x00007fe723692971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#11 0x00007fe72e19a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fe6ffe4e700 (LWP 22713)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe729bbf20e in WTF::TCMalloc_PageHeap::scavengerThread (this=<value optimized out>) at wtf/FastMalloc.cpp:2378
#2  0x00007fe729bbf329 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fe72a376f14) at wtf/FastMalloc.cpp:1497
#3  0x00007fe723692971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#4  0x00007fe72e19a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fe6fbd74700 (LWP 22723)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fe728a52334 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fe728d5d160) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fe728a52369 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fe728d6b234) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fe723692971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#4  0x00007fe72e19a92d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fe72e886780 (LWP 22621)):
[KCrash Handler]
#6  Plasma::Corona::config (this=0x0) at ../../plasma/corona.cpp:619
#7  0x00007fe72dcdd905 in Plasma::ExtenderItem::setExtender (this=0x5c5abd0, extender=<value optimized out>, pos=...) at ../../plasma/extenders/extenderitem.cpp:401
#8  0x00007fe72dcde061 in Plasma::ExtenderItem::returnToSource (this=0x5c5abd0) at ../../plasma/extenders/extenderitem.cpp:631
#9  0x00007fe72dd02715 in Plasma::ExtenderApplet::~ExtenderApplet (this=0x5a6fe80, __in_chrg=<value optimized out>) at ../../plasma/private/extenderapplet.cpp:42
#10 0x00007fe72b4f4c08 in QObject::event (this=0x5a6fe80, e=0x0) at kernel/qobject.cpp:1202
#11 0x00007fe72aec514b in QGraphicsWidget::event (this=0x5a6fe80, event=0x526afd0) at graphicsview/qgraphicswidget.cpp:1405
#12 0x00007fe72a849fdc in QApplicationPrivate::notify_helper (this=0x14f8e40, receiver=0x5a6fe80, e=0x526afd0) at kernel/qapplication.cpp:4396
#13 0x00007fe72a84faed in QApplication::notify (this=0x14e9290, receiver=0x5a6fe80, e=0x526afd0) at kernel/qapplication.cpp:4277
#14 0x00007fe72c1e7a36 in KApplication::notify (this=0x14e9290, receiver=0x5a6fe80, event=0x526afd0) at ../../kdeui/kernel/kapplication.cpp:311
#15 0x00007fe72b4e2cdc in QCoreApplication::notifyInternal (this=0x14e9290, receiver=0x5a6fe80, event=0x526afd0) at kernel/qcoreapplication.cpp:732
#16 0x00007fe72b4e5c22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x14a5530) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#17 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x14a5530) at kernel/qcoreapplication.cpp:1373
#18 0x00007fe72b50f653 in sendPostedEvents (s=0x14fc580) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#19 postEventSourceDispatch (s=0x14fc580) at kernel/qeventdispatcher_glib.cpp:277
#20 0x00007fe722fdc342 in g_main_dispatch (context=0x14fb520) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2149
#21 g_main_context_dispatch (context=0x14fb520) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2702
#22 0x00007fe722fe02a8 in g_main_context_iterate (context=0x14fb520, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2780
#23 0x00007fe722fe045c in g_main_context_iteration (context=0x14fb520, may_block=1) at /build/buildd/glib2.0-2.26.1/glib/gmain.c:2843
#24 0x00007fe72b50f193 in QEventDispatcherGlib::processEvents (this=0x14a4c20, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#25 0x00007fe72a8fca4e in QGuiEventDispatcherGlib::processEvents (this=0x7fffa7e0a700, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#26 0x00007fe72b4e1a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#27 0x00007fe72b4e1dec in QEventLoop::exec (this=0x7fffa7e0b250, flags=) at kernel/qeventloop.cpp:201
#28 0x00007fe72b4e5ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#29 0x00007fe72e478d23 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at ../../../../plasma/desktop/shell/main.cpp:118
#30 0x00007fe72e0d2d8e in __libc_start_main (main=<value optimized out>, argc=<value optimized out>, ubp_av=<value optimized out>, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffa7e0b628) at libc-start.c:226
#31 0x0000000000400669 in _start ()

Reported using DrKonqi
Comment 1 Nicolas L. 2011-05-22 20:29:44 UTC
*** Bug 273880 has been marked as a duplicate of this bug. ***
Comment 2 Nicolas L. 2011-05-22 22:20:25 UTC
Git commit 143a2d7b8e3f720a8535191a50c520268a8f3195 by Nicolas Lécureuil.
Committed on 22/05/2011 at 22:19.
Pushed by nlecureuil into branch 'KDE/4.6'.

Add check on corona to avoid crash
BUG: 264844

M  +5    -0    plasma/extenders/extenderitem.cpp     

http://commits.kde.org/kdelibs/143a2d7b8e3f720a8535191a50c520268a8f3195
Comment 3 Nicolas L. 2011-05-22 22:33:23 UTC
Git commit 61016ccce80281adbe210c0e86f52a18718db861 by Nicolas Lécureuil.
Committed on 22/05/2011 at 22:33.
Pushed by nlecureuil into branch 'master'.

Add check on corona to avoid crash
CCBUG: 264844

M  +5    -0    plasma/extenders/extenderitem.cpp     

http://commits.kde.org/kdelibs/61016ccce80281adbe210c0e86f52a18718db861