Bug 180650 - Plasma crashes due to folder view
Summary: Plasma crashes due to folder view
Status: RESOLVED FIXED
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: triaged
: 181132 182188 183132 183331 183675 183712 184120 184286 184623 184889 185361 185456 185480 185735 186895 187059 188304 188314 188517 189233 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-01-14 12:48 UTC by Jimmy Arndt
Modified: 2016-11-17 12:22 UTC (History)
26 users (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 Jimmy Arndt 2009-01-14 12:48:19 UTC
Version:            (using Devel)
Compiler:          Adept Package Manager 2.0 Beta 4 
OS:                Linux
Installed from:    Compiled sources

When starting my computer(Kubuntu 8.10 KDE 4.2 RC1) the desktop folder does not show icons, and when I pass my mouse over the folder view, plasma crashes instantly.  Only the first boot with KDE 4.2 RC1 actually showed the icons.  If it makes a difference, the programs loaded on start up are Firefox, Dolphin, Kate, and Amarok 2.
Comment 1 Jimmy Arndt 2009-01-14 12:55:05 UTC
Update: I unlocked widgets(I had to right click the desktop, select unlock widgets, ctrl L was not working), and was able to fix the problem.  If I resize my folder view, the icons will appear, and plasma does not crash.  However, I had a folder with "(" as a name, which appears in Dolphin, but does not appear on the folder view.  The folder was created by Amarok 2(sorting songs by artist name, name began with "(" ).  
Comment 2 Beat Wolf 2009-01-14 16:12:55 UTC
Do you have a valid backtrace? (with debug symbols)
Comment 3 Aaron J. Seigo 2009-01-15 09:16:39 UTC
and provide the name of the problematic folder so we can reproduce that as well. thanks.
Comment 4 Jimmy Arndt 2009-01-15 09:23:37 UTC
I'm no Linux expert, but I believe this is what you mean Beat Wolf:

Application: Plasma Workspace (plasma), signal SIGSEGV
[Current thread is 0 (LWP 7795)]

Thread 3 (Thread 0xa8e59b90 (LWP 7798)):
#0  0xb7f97430 in __kernel_vsyscall ()
#1  0xb57ba075 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb63ce9ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb65b96f2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xb7939532 in ?? () from /usr/lib/libQtNetwork.so.4
#5  0xb65b86ae in ?? () from /usr/lib/libQtCore.so.4
#6  0xb57b650f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb63c07ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread 0xa861eb90 (LWP 7799)):
#0  0xb7f97430 in __kernel_vsyscall ()
#1  0xb57ba075 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb63ce9ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb65b96f2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4
#4  0xa9023422 in ?? () from /usr/lib/kde4/plasma_wallpaper_image.so
#5  0xb65b86ae in ?? () from /usr/lib/libQtCore.so.4
#6  0xb57b650f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb63c07ee in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb4604900 (LWP 7795)):
[KCrash Handler]
#6  0xb7ae1f36 in KFileItemDelegate::Private::labelRectangle () from /usr/lib/libkio.so.5
#7  0xb7ae55b6 in KFileItemDelegate::Private::layoutTextItems () from /usr/lib/libkio.so.5
#8  0xb7ae6549 in KFileItemDelegate::shape () from /usr/lib/libkio.so.5
#9  0xb7ae6bab in KFileItemDelegate::qt_metacall () from /usr/lib/libkio.so.5
#10 0xb66b1a7a in QMetaObject::invokeMethod () from /usr/lib/libQtCore.so.4
#11 0xa8f7cbc9 in ?? () from /usr/lib/kde4/plasma_applet_folderview.so
#12 0xa8f7ced4 in ?? () from /usr/lib/kde4/plasma_applet_folderview.so
#13 0xa8f795fd in ?? () from /usr/lib/kde4/plasma_applet_folderview.so
#14 0xb6eb504c in QGraphicsItem::sceneEvent () from /usr/lib/libQtGui.so.4
#15 0xb6ef87af in QGraphicsWidget::sceneEvent () from /usr/lib/libQtGui.so.4
#16 0xb6ed354c in ?? () from /usr/lib/libQtGui.so.4
#17 0xb6ed4a2a in ?? () from /usr/lib/libQtGui.so.4
#18 0xb6edc2d1 in ?? () from /usr/lib/libQtGui.so.4
#19 0xb6edc5af in QGraphicsScene::mouseMoveEvent () from /usr/lib/libQtGui.so.4
#20 0xb6edc7c7 in QGraphicsScene::event () from /usr/lib/libQtGui.so.4
#21 0xb69388ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#22 0xb694072e in QApplication::notify () from /usr/lib/libQtGui.so.4
#23 0xb76b904d in KApplication::notify () from /usr/lib/libkdeui.so.5
#24 0xb66a8e61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#25 0xb6ee9d88 in ?? () from /usr/lib/libQtGui.so.4
#26 0xb6ef2316 in QGraphicsView::mouseMoveEvent () from /usr/lib/libQtGui.so.4
#27 0xb69907cb in QWidget::event () from /usr/lib/libQtGui.so.4
#28 0xb6cc7fd3 in QFrame::event () from /usr/lib/libQtGui.so.4
#29 0xb6d5e7df in QAbstractScrollArea::viewportEvent () from /usr/lib/libQtGui.so.4
#30 0xb6eebd0f in QGraphicsView::viewportEvent () from /usr/lib/libQtGui.so.4
#31 0xb6d60d85 in ?? () from /usr/lib/libQtGui.so.4
#32 0xb66a804a in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/lib/libQtCore.so.4
#33 0xb69388ca in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#34 0xb69410e1 in QApplication::notify () from /usr/lib/libQtGui.so.4
#35 0xb76b904d in KApplication::notify () from /usr/lib/libkdeui.so.5
#36 0xb66a8e61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#37 0xb694036e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#38 0xb69aa656 in ?? () from /usr/lib/libQtGui.so.4
#39 0xb69a99e5 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#40 0xb69d37aa in ?? () from /usr/lib/libQtGui.so.4
#41 0xb55fb6f8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0xb55feda3 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0xb55fef61 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#44 0xb66d3478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#45 0xb69d2ea5 in ?? () from /usr/lib/libQtGui.so.4
#46 0xb66a752a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#47 0xb66a76ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#48 0xb66a9da5 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#49 0xb6938767 in QApplication::exec () from /usr/lib/libQtGui.so.4
#50 0xb7f27d86 in kdemain () from /usr/lib/libkdeinit4_plasma.so
#51 0x08048712 in _start ()



Aaron, as I said in my first reply, '(' is the name of the folder.  Just an open parenthesise.  I know it's a stupid name, but it was created by Amarok because it was set to sort in folders by artist first letter, and in this case, the name of the band is (hed) pe.
Comment 5 Aaron J. Seigo 2009-01-15 19:02:18 UTC
ah, the whole name is '('. i figured there must be more to it. apparently not ;) ok.. great, and yes the backtrace provided is useful, thanks =)
Comment 6 Andre Wisplinghoff 2009-01-28 22:16:40 UTC
confirming, my plasma also crashed on opening a folder view and trying to do sth with it, backtrace of Thread 1 looked very similar
Comment 7 Aaron J. Seigo 2009-02-24 19:58:56 UTC
*** Bug 185456 has been marked as a duplicate of this bug. ***
Comment 8 Aaron J. Seigo 2009-02-24 19:59:14 UTC
*** Bug 185361 has been marked as a duplicate of this bug. ***
Comment 9 Aaron J. Seigo 2009-02-24 19:59:28 UTC
*** Bug 184889 has been marked as a duplicate of this bug. ***
Comment 10 Aaron J. Seigo 2009-02-24 19:59:43 UTC
*** Bug 184623 has been marked as a duplicate of this bug. ***
Comment 11 Aaron J. Seigo 2009-02-24 19:59:55 UTC
*** Bug 184286 has been marked as a duplicate of this bug. ***
Comment 12 Aaron J. Seigo 2009-02-24 20:00:11 UTC
*** Bug 184120 has been marked as a duplicate of this bug. ***
Comment 13 Aaron J. Seigo 2009-02-24 20:00:25 UTC
*** Bug 183712 has been marked as a duplicate of this bug. ***
Comment 14 Aaron J. Seigo 2009-02-24 20:01:13 UTC
*** Bug 183675 has been marked as a duplicate of this bug. ***
Comment 15 Aaron J. Seigo 2009-02-24 20:01:49 UTC
*** Bug 183331 has been marked as a duplicate of this bug. ***
Comment 16 Aaron J. Seigo 2009-02-24 20:02:05 UTC
*** Bug 183132 has been marked as a duplicate of this bug. ***
Comment 17 Aaron J. Seigo 2009-02-24 20:02:40 UTC
*** Bug 182188 has been marked as a duplicate of this bug. ***
Comment 18 Aaron J. Seigo 2009-02-24 20:12:56 UTC
*** Bug 181132 has been marked as a duplicate of this bug. ***
Comment 19 Aaron J. Seigo 2009-02-24 20:19:14 UTC
ok, so here's what appears to be happening ... 

for whatever reason folderview isn't painting the icons.
on hover, it asks for some information about its bounding rect that ends up going via KFileItemDelegate::Private::labelRectangle. that in turn asks for some margin information and that fails hard.

the reason for this is that the activeMargins member is only set when sizeHint or paint is called; of course, if the item is never actually shown neither method is called on the KFileItemDelegate, meaning that activeMargins is never set, but it is accessed and we get this wonderful crash.

so... we probably want to do two things with this report:

* fix folderview so it paints things always ;)
* make KFileItemDelegate a bit more robust against this scenario
Comment 20 Dario Andres 2009-02-24 23:35:45 UTC
*** Bug 185480 has been marked as a duplicate of this bug. ***
Comment 21 Fredrik Höglund 2009-02-25 00:44:24 UTC
SVN commit 931212 by fredrik:

Make sure the active margins are initialized in all functions that
need to do layout computations.

CCBUG: 180650


 M  +8 -1      kfileitemdelegate.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=931212
Comment 22 Dario Andres 2009-03-02 01:16:43 UTC
*** Bug 185735 has been marked as a duplicate of this bug. ***
Comment 23 Dario Andres 2009-03-11 23:28:47 UTC
*** Bug 186895 has been marked as a duplicate of this bug. ***
Comment 24 Dario Andres 2009-03-14 00:26:30 UTC
*** Bug 187059 has been marked as a duplicate of this bug. ***
Comment 25 Dario Andres 2009-03-28 22:38:41 UTC
*** Bug 188304 has been marked as a duplicate of this bug. ***
Comment 26 Dario Andres 2009-03-28 22:40:34 UTC
*** Bug 188314 has been marked as a duplicate of this bug. ***
Comment 27 Dario Andres 2009-03-28 22:41:14 UTC
Bug 188314 is reporting this crash on KDE4.2.1 . Shouldn't this be fixed yet or it's another issue ?
Comment 28 Dario Andres 2009-04-10 03:21:55 UTC
*** Bug 189233 has been marked as a duplicate of this bug. ***
Comment 29 FiNeX 2009-04-26 15:53:53 UTC
I'm not able to crash plasma hovering a directory called "(" on the plasma folder view. Is this bug still reproducible in some other ways?
Comment 30 Aaron J. Seigo 2009-04-27 03:40:23 UTC
it was fixed by the commit in comment #21, but frederikh only CCBUG:'d it :)
Comment 31 Dario Andres 2009-05-22 16:19:06 UTC
*** Bug 188517 has been marked as a duplicate of this bug. ***