Bug 315024 - plasma-desktop crashed after moving notification widget
Summary: plasma-desktop crashed after moving notification widget
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: widget-systemtray (show other bugs)
Version: 4.10.0
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
: 317852 318270 (view as bug list)
Depends on:
Blocks:
 
Reported: 2013-02-12 22:08 UTC by Dennis Schridde
Modified: 2013-04-13 01:44 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.10.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dennis Schridde 2013-02-12 22:08:42 UTC
Application: plasma-desktop (0.4)
KDE Platform Version: 4.10.00
Qt Version: 4.8.4
Operating System: Linux 3.7.6-gentoo x86_64
Distribution: "Gentoo Base System release 2.2"

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

I received a chat message via Telepathy/KDE, which resulted in a plasma notification being displayed. I tried to move that widget (because it currently is stuck half outside the screen and thus badly visible), preferrably to attach it to the lower right corner. This does not work - it does not move at all. Instead the whole graphical interface hangs. I switch to a VT and back to X. After a while of hanging, plasma-desktop crashed.

Sometimes (not this time) it happens that I am able to move the widget, but it immediately moves back to the stuck-half-outside-the-screen position - creating flickering while moving back and forth between the mouse cursor position and the stuck position.

I am using plasma-workspace-4.10.0-r1 which includes the QML crash workaround.

The crash can be reproduced some of the time.

-- Backtrace:
Application: Plasma-Desktop-Umgebung (plasma-desktop), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2b2ea35780 (LWP 12421))]

Thread 5 (Thread 0x7f2b2326d700 (LWP 12422)):
#0  0x00000030220d651d in read () from /lib64/libc.so.6
#1  0x000000381b681eb7 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x000000381b646c8c in g_main_context_check () from /usr/lib64/libglib-2.0.so.0
#3  0x000000381b6470a2 in ?? () from /usr/lib64/libglib-2.0.so.0
#4  0x000000381b647224 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#5  0x0000003bfbda07ce in QEventDispatcherGlib::processEvents (this=0x7f2b1c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#6  0x0000003bfbd71c9f in QEventLoop::processEvents (this=this@entry=0x7f2b2326ce40, flags=...) at kernel/qeventloop.cpp:149
#7  0x0000003bfbd71f20 in QEventLoop::exec (this=0x7f2b2326ce40, flags=...) at kernel/qeventloop.cpp:204
#8  0x0000003bfbc78440 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#9  0x0000003bfbd52d0f in QInotifyFileSystemWatcherEngine::run (this=0x1109900) at io/qfilesystemwatcher_inotify.cpp:256
#10 0x0000003bfbc7b33c in QThreadPrivate::start (arg=0x1109900) at thread/qthread_unix.cpp:338
#11 0x0000003022807dff in start_thread () from /lib64/libpthread.so.0
#12 0x00000030220e228d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f2b22185700 (LWP 12424)):
#0  0x000000302280b8a4 in pthread_cond_wait () from /lib64/libpthread.so.0
#1  0x0000003c067430c7 in ?? () from /usr/lib64/qt4/libQtScript.so.4
#2  0x0000003c067430f9 in ?? () from /usr/lib64/qt4/libQtScript.so.4
#3  0x0000003022807dff in start_thread () from /lib64/libpthread.so.0
#4  0x00000030220e228d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f2b15bb0700 (LWP 12441)):
#0  0x000000302280ad70 in __pthread_mutex_unlock_usercnt () from /lib64/libpthread.so.0
#1  0x000000381b682b11 in g_mutex_unlock () from /usr/lib64/libglib-2.0.so.0
#2  0x000000381b646fcc in ?? () from /usr/lib64/libglib-2.0.so.0
#3  0x000000381b64755a in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
#4  0x00007f2b1bb588e6 in ?? () from /usr/lib64/libgio-2.0.so.0
#5  0x000000381b669be5 in ?? () from /usr/lib64/libglib-2.0.so.0
#6  0x0000003022807dff in start_thread () from /lib64/libpthread.so.0
#7  0x00000030220e228d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f2b149a5700 (LWP 12444)):
#0  0x00007fffea3ff847 in clock_gettime ()
#1  0x0000003023403f2d in clock_gettime () from /lib64/librt.so.1
#2  0x0000003bfbccf744 in do_gettime (frac=0x7f2b149a4b78, sec=0x7f2b149a4b70) at tools/qelapsedtimer_unix.cpp:123
#3  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#4  0x0000003bfbda10ad in QTimerInfoList::updateCurrentTime (this=this@entry=0x7f2b00002660) at kernel/qeventdispatcher_unix.cpp:354
#5  0x0000003bfbda13f3 in QTimerInfoList::timerWait (this=0x7f2b00002660, tm=...) at kernel/qeventdispatcher_unix.cpp:461
#6  0x0000003bfbd9fe9c in timerSourcePrepareHelper (src=<optimized out>, timeout=0x7f2b149a4c64) at kernel/qeventdispatcher_glib.cpp:136
#7  0x0000003bfbd9ff3d in timerSourcePrepare (source=<optimized out>, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#8  0x000000381b64699f in g_main_context_prepare () from /usr/lib64/libglib-2.0.so.0
#9  0x000000381b64702b in ?? () from /usr/lib64/libglib-2.0.so.0
#10 0x000000381b647224 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#11 0x0000003bfbda07ce in QEventDispatcherGlib::processEvents (this=0x7f2b000008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#12 0x0000003bfbd71c9f in QEventLoop::processEvents (this=this@entry=0x7f2b149a4e40, flags=...) at kernel/qeventloop.cpp:149
#13 0x0000003bfbd71f20 in QEventLoop::exec (this=0x7f2b149a4e40, flags=...) at kernel/qeventloop.cpp:204
#14 0x0000003bfbc78440 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#15 0x0000003bfbd52d0f in QInotifyFileSystemWatcherEngine::run (this=0x17e3090) at io/qfilesystemwatcher_inotify.cpp:256
#16 0x0000003bfbc7b33c in QThreadPrivate::start (arg=0x17e3090) at thread/qthread_unix.cpp:338
#17 0x0000003022807dff in start_thread () from /lib64/libpthread.so.0
#18 0x00000030220e228d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f2b2ea35780 (LWP 12421)):
[KCrash Handler]
#6  SystemTray::Task::widget (this=0x0, host=0x1276060, createIfNecessary=true) at /var/tmp/portage/kde-base/plasma-workspace-4.10.0-r1/work/plasma-workspace-4.10.0/plasma/generic/applets/systemtray/core/task.cpp:73
#7  0x00007f2b2285dfbc in SystemTray::WidgetItem::afterHeightChanged (this=0x13573b0) at /var/tmp/portage/kde-base/plasma-workspace-4.10.0-r1/work/plasma-workspace-4.10.0/plasma/generic/applets/systemtray/ui/widgetitem.cpp:124
#8  0x0000003bfbd87346 in QObject::event (this=0x13573b0, e=<optimized out>) at kernel/qobject.cpp:1194
#9  0x00000030d2dcb66c in QApplicationPrivate::notify_helper (this=this@entry=0xe73f00, receiver=receiver@entry=0x13573b0, e=e@entry=0x28c6f10) at kernel/qapplication.cpp:4562
#10 0x00000030d2dcfa2a in QApplication::notify (this=0xe647e0, receiver=0x13573b0, e=0x28c6f10) at kernel/qapplication.cpp:4423
#11 0x00000030d4441f46 in KApplication::notify (this=0xe647e0, receiver=0x13573b0, event=0x28c6f10) at /var/tmp/portage/kde-base/kdelibs-4.10.0/work/kdelibs-4.10.0/kdeui/kernel/kapplication.cpp:311
#12 0x0000003bfbd72f0d in QCoreApplication::notifyInternal (this=0xe647e0, receiver=receiver@entry=0x13573b0, event=event@entry=0x28c6f10) at kernel/qcoreapplication.cpp:946
#13 0x0000003bfbd767a0 in sendEvent (event=0x28c6f10, receiver=0x13573b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#14 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xdc51f0) at kernel/qcoreapplication.cpp:1570
#15 0x0000003bfbda0633 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#16 postEventSourceDispatch (s=0xe74750) at kernel/qeventdispatcher_glib.cpp:279
#17 0x000000381b646e1c in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#18 0x000000381b647174 in ?? () from /usr/lib64/libglib-2.0.so.0
#19 0x000000381b647224 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#20 0x0000003bfbda07b4 in QEventDispatcherGlib::processEvents (this=0xdc6ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#21 0x00000030d2e6944e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#22 0x0000003bfbd71c9f in QEventLoop::processEvents (this=this@entry=0x7fffea3d2ff0, flags=...) at kernel/qeventloop.cpp:149
#23 0x0000003bfbd71f20 in QEventLoop::exec (this=0x7fffea3d2ff0, flags=...) at kernel/qeventloop.cpp:204
#24 0x0000003bfbd76a88 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#25 0x00000030dce3cdb7 in kdemain (argc=1, argv=0x7fffea3d32f8) at /var/tmp/portage/kde-base/plasma-workspace-4.10.0-r1/work/plasma-workspace-4.10.0/plasma/desktop/shell/main.cpp:126
#26 0x00000030220216f5 in __libc_start_main () from /lib64/libc.so.6
#27 0x0000000000400791 in _start ()

This bug may be a duplicate of or related to bug 311751.

Reported using DrKonqi
Comment 1 Dennis Schridde 2013-02-12 22:43:57 UTC
(In reply to comment #0)
> Sometimes (not this time) it happens that I am able to move the widget, but
> it immediately moves back to the stuck-half-outside-the-screen position -
> creating flickering while moving back and forth between the mouse cursor
> position and the stuck position.
P.S: When this happens, it also leads to the crash.
Comment 2 Gerald 2013-02-18 06:29:39 UTC
I can confirm this happens on Arch Linux also. To easily reproduce one can start a dialog with

kdialog --passivepopup "Test message"  10 

and move the popup dialog.
Comment 3 Jekyll Wu 2013-04-05 01:58:21 UTC
*** Bug 317852 has been marked as a duplicate of this bug. ***
Comment 4 Daniel Vrátil 2013-04-10 13:00:25 UTC
Git commit 73872f17a64e653b9f6a7647fd7e3717d2cdaa7a by Dan Vrátil.
Committed on 10/04/2013 at 14:58.
Pushed by dvratil into branch 'KDE/4.10'.

Add same crashguard as in afterWidthChanged()
FIXED-IN: 4.10.3

M  +1    -1    plasma/generic/applets/systemtray/ui/widgetitem.cpp

http://commits.kde.org/kde-workspace/73872f17a64e653b9f6a7647fd7e3717d2cdaa7a
Comment 5 Jekyll Wu 2013-04-13 01:44:26 UTC
*** Bug 318270 has been marked as a duplicate of this bug. ***