Bug 215776

Summary: plasma crashes when 'Quick Access' widget cannot find its directory, and has lost user focus
Product: [Unmaintained] plasma4 Reporter: Adam <armware>
Component: widget-miscAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DOWNSTREAM    
Severity: crash CC: andresbajotierra, asraniel
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Adam 2009-11-23 04:17:27 UTC
Application that crashed: plasma-desktop
Version of the application: 0.3
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.31-14-generic x86_64
Distribution: Ubuntu 9.10

What I was doing when the application crashed:
this happens every single time i click on the quick access widget, set to my home dir, and it cannot find the directory. the file/folder listing has nothing in it, yet it functions as its supposed to: hover over the current directory line, you can see 'Open:' slide in as always, you can change sorting options, but as soon as you click away to close it, plasma crashes. i believe the bug to lie in the widget, though i also believe plasma should handle this better.


 -- Backtrace:
Application: Plasma Workspace (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f3b3c204750 (LWP 10900))]

Thread 3 (Thread 0x7f3b1ba7d910 (LWP 10903)):
#0  0x00007f3b389c35a9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f3b3bc494fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xd23358, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xd23358, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007f3b3808078c in QHostInfoAgent::run (this=0xd23340) at kernel/qhostinfo.cpp:260
#4  0x00007f3b3bc48445 in QThreadPrivate::start (arg=0xd23340) at thread/qthread_unix.cpp:188
#5  0x00007f3b389bea04 in start_thread () from /lib/libpthread.so.0
#6  0x00007f3b3959e7bd in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f3b12e73910 (LWP 10910)):
#0  0x00007f3b389c382d in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f3b3bc47ed5 in thread_sleep (ti=0x7f3b12e72fa0) at thread/qthread_unix.cpp:297
#2  0x00007f3b3bc48040 in QThread::msleep (msecs=<value optimized out>) at thread/qthread_unix.cpp:323
#3  0x00007f3b1cd050af in ?? () from /usr/lib/kde4/plasma_applet_cwp.so
#4  0x00007f3b3bc48445 in QThreadPrivate::start (arg=0x186cf20) at thread/qthread_unix.cpp:188
#5  0x00007f3b389bea04 in start_thread () from /lib/libpthread.so.0
#6  0x00007f3b3959e7bd in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f3b3c204750 (LWP 10900)):
[KCrash Handler]
#5  QUrl (this=0x7fff455ee360, other=...) at io/qurl.cpp:3936
#6  0x00007f3b3b84afc9 in KUrl::KUrl(KUrl const&) () from /usr/lib/libkdecore.so.5
#7  0x00007f3b3ae51ec0 in KFileItem::url() const () from /usr/lib/libkio.so.5
#8  0x00007f3b1edddcde in ?? () from /usr/lib/kde4/plasma_applet_quickaccess.so
#9  0x00007f3b39d2d3c9 in QWidget::event (this=0x2080c10, event=0x7fff455ee940) at kernel/qwidget.cpp:7752
#10 0x00007f3b3385a710 in Plasma::Dialog::event(QEvent*) () from /usr/lib/libplasma.so.3
#11 0x00007f3b39cdeefc in QApplicationPrivate::notify_helper (this=0x8465f0, receiver=0x2080c10, e=0x7fff455ee940) at kernel/qapplication.cpp:4056
#12 0x00007f3b39ce61ce in QApplication::notify (this=0x83d3b0, receiver=0x2080c10, e=0x7fff455ee940) at kernel/qapplication.cpp:4021
#13 0x00007f3b3a915ab6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#14 0x00007f3b3bd2ec2c in QCoreApplication::notifyInternal (this=0x83d3b0, receiver=0x2080c10, event=0x7fff455ee940) at kernel/qcoreapplication.cpp:610
#15 0x00007f3b39d2c42a in QCoreApplication::sendEvent (this=0x1a52dd0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#16 QWidgetPrivate::hide_helper (this=0x1a52dd0) at kernel/qwidget.cpp:6842
#17 0x00007f3b39d33d80 in QWidget::setVisible (this=0x2080c10, visible=<value optimized out>) at kernel/qwidget.cpp:7012
#18 0x00007f3b39d32684 in QWidget::hide (this=0x1a52dd0, mode=QWidgetPrivate::CloseWithEvent) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:477
#19 QWidgetPrivate::close_helper (this=0x1a52dd0, mode=QWidgetPrivate::CloseWithEvent) at kernel/qwidget.cpp:7130
#20 0x00007f3b39d32956 in QWidget::mousePressEvent (this=0x2080c10, event=0x7fff455ef280) at kernel/qwidget.cpp:8068
#21 0x00007f3b3385c664 in Plasma::Dialog::mousePressEvent(QMouseEvent*) () from /usr/lib/libplasma.so.3
#22 0x00007f3b39d2d9a6 in QWidget::event (this=0x2080c10, event=0x7fff455ef280) at kernel/qwidget.cpp:7545
#23 0x00007f3b3385a710 in Plasma::Dialog::event(QEvent*) () from /usr/lib/libplasma.so.3
#24 0x00007f3b39cdeefc in QApplicationPrivate::notify_helper (this=0x8465f0, receiver=0x2080c10, e=0x7fff455ef280) at kernel/qapplication.cpp:4056
#25 0x00007f3b39ce6011 in QApplication::notify (this=<value optimized out>, receiver=0x2080c10, e=0x7fff455ef280) at kernel/qapplication.cpp:3758
#26 0x00007f3b3a915ab6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#27 0x00007f3b3bd2ec2c in QCoreApplication::notifyInternal (this=0x83d3b0, receiver=0x2080c10, event=0x7fff455ef280) at kernel/qcoreapplication.cpp:610
#28 0x00007f3b39ce58e0 in QCoreApplication::sendSpontaneousEvent (receiver=0x2080c10, event=0x7fff455ef280, alienWidget=0xc1c9c0, nativeWidget=0xe1c9b0, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#29 QApplicationPrivate::sendMouseEvent (receiver=0x2080c10, event=0x7fff455ef280, alienWidget=0xc1c9c0, nativeWidget=0xe1c9b0, buttonDown=<value optimized out>, 
    lastMouseReceiver=<value optimized out>) at kernel/qapplication.cpp:2924
#30 0x00007f3b39d4be2e in QETWidget::translateMouseEvent (this=0xe1c9b0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4343
#31 0x00007f3b39d4aaa9 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff455f0db0) at kernel/qapplication_x11.cpp:3550
#32 0x00007f3b39d73d0c in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#33 0x00007f3b38c0fbbe in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#34 0x00007f3b38c13588 in ?? () from /lib/libglib-2.0.so.0
#35 0x00007f3b38c136b0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#36 0x00007f3b3bd571a6 in QEventDispatcherGlib::processEvents (this=0x7ae040, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#37 0x00007f3b39d734be in QGuiEventDispatcherGlib::processEvents (this=0x7fff455ee360, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#38 0x00007f3b3bd2d532 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#39 0x00007f3b3bd2d904 in QEventLoop::exec (this=0x7fff455f10e0, flags=) at kernel/qeventloop.cpp:201
#40 0x00007f3b3bd2fab9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#41 0x00007f3b300b04cf in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so
#42 0x0000000000406da8 in _start ()

This bug may be a duplicate of or related to bug 215515

Reported using DrKonqi
Comment 1 Dario Andres 2009-11-23 13:33:29 UTC
This have been reported a couple of times.
It is a bug in the QuickAccess widget, which is not developed by KDE nor supported in this bugtracker:

Thread 1 (Thread 0x7f3b3c204750 (LWP 10900)):
[KCrash Handler]
#5  QUrl (this=0x7fff455ee360, other=...) at io/qurl.cpp:3936
#6  0x00007f3b3b84afc9 in KUrl::KUrl(KUrl const&) () from
/usr/lib/libkdecore.so.5
#7  0x00007f3b3ae51ec0 in KFileItem::url() const () from /usr/lib/libkio.so.5
#8  0x00007f3b1edddcde in ?? () from /usr/lib/kde4/plasma_applet_quickaccess.so

You can report it to its maintainer (in the kde-look page?)
Regards
Comment 2 Adam 2009-11-23 15:29:09 UTC
i see two bugs here. the first one causes quick access to go wonky, the second causes plasma to crash because of it.

certainly you don't think plasma should be crashable through a widget. as stated above, "i believe the bug to lie in the widget, though i also believe plasma should handle this better."
Comment 3 Dario Andres 2009-11-23 15:32:19 UTC
About the second issue, check:
http://forum.kde.org/viewtopic.php?f=15&t=83712
http://www.freehackers.org/thomas/2009/11/10/wonders-from-a-kde-fan-and-developer-about-some-kde-design-choices/ (and its comments)
and bug 199754

Regards
BTW, I'm not a Plasma dev, just a bug triager.