Bug 241298

Summary: Plasma crashes on startup
Product: [Unmaintained] plasma4 Reporter: Vit Pelcak <vit>
Component: widget-folderviewAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: asraniel, notmart
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Vit Pelcak 2010-06-10 14:37:27 UTC
Application: plasma-desktop (0.3)
KDE Platform Version: 4.4.85 (KDE 4.4.85 (KDE 4.5 Beta2)) "release 3"
Qt Version: 4.6.3
Operating System: Linux 2.6.31.12-0.2-default x86_64
Distribution: "openSUSE 11.2 (x86_64)"

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

Plasma-desktop crashes for me whenever it is started. Either on startup of KDE or when starting plasma-desktop manually.

The crash can be reproduced every time.

-- Backtrace:
Application: PracovnĂ­ plocha Plasma (plasma-desktop), signal: Segmentation fault
[KCrash Handler]
#6  IconView::setTextLineCount (this=0x0, count=2) at /usr/src/debug/kdebase-4.4.85/apps/plasma/applets/folderview/iconview.cpp:163
#7  0x00007f89aaf4a7cf in FolderView::updateListViewState (this=0xc38510) at /usr/src/debug/kdebase-4.4.85/apps/plasma/applets/folderview/folderview.cpp:886
#8  0x00007f89aaf53673 in FolderView::constraintsEvent (this=0xc38510, constraints=) at /usr/src/debug/kdebase-4.4.85/apps/plasma/applets/folderview/folderview.cpp:1146
#9  0x00007f89c77ad2f7 in Plasma::Applet::flushPendingConstraintsEvents (this=0xc38510) at /usr/src/debug/kdelibs-4.4.85/plasma/applet.cpp:1299
#10 0x00007f89c77c5c8e in Plasma::ContainmentPrivate::initApplets (this=<value optimized out>) at /usr/src/debug/kdelibs-4.4.85/plasma/containment.cpp:476
#11 0x00007f89c77d9bb4 in Plasma::CoronaPrivate::importLayout (this=0x6f1ac0, conf=<value optimized out>, mergeConfig=<value optimized out>) at /usr/src/debug/kdelibs-4.4.85/plasma/corona.cpp:515
#12 0x00007f89c77da857 in Plasma::Corona::loadLayout (this=0x7586d0, configName=<value optimized out>) at /usr/src/debug/kdelibs-4.4.85/plasma/corona.cpp:451
#13 0x00007f89c77dad12 in Plasma::Corona::initializeLayout (this=0x7586d0, configName=...) at /usr/src/debug/kdelibs-4.4.85/plasma/corona.cpp:353
#14 0x00007f89c7f65280 in PlasmaApp::corona (this=0x62c7d0) at /usr/src/debug/kdebase-workspace-4.4.85/plasma/desktop/shell/plasmaapp.cpp:782
#15 0x00007f89c7f65603 in PlasmaApp::setupDesktop (this=0x62c7d0) at /usr/src/debug/kdebase-workspace-4.4.85/plasma/desktop/shell/plasmaapp.cpp:287
#16 0x00007f89c7f667d0 in PlasmaApp::qt_metacall (this=0x62c7d0, _c=InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffa6f01ab0)
    at /usr/src/debug/kdebase-workspace-4.4.85/build/plasma/desktop/shell/plasmaapp.moc:148
#17 0x00007f89c532d916 in QMetaObject::activate (sender=0x6a2c30, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x3fefffffffffffff) at kernel/qobject.cpp:3287
#18 0x00007f89c5334d8f in QSingleShotTimer::timerEvent (this=0x6a2c30) at kernel/qtimer.cpp:308
#19 0x00007f89c532a1a3 in QObject::event (this=0x6a2c30, e=0x7fffa6f02250) at kernel/qobject.cpp:1204
#20 0x00007f89c44e135c in QApplicationPrivate::notify_helper (this=0x646aa0, receiver=0x6a2c30, e=0x7fffa6f02250) at kernel/qapplication.cpp:4302
#21 0x00007f89c44e793b in QApplication::notify (this=0x62c7d0, receiver=0x6a2c30, e=0x7fffa6f02250) at kernel/qapplication.cpp:4185
#22 0x00007f89c5fa3756 in KApplication::notify (this=0x62c7d0, receiver=0x6a2c30, event=0x7fffa6f02250) at /usr/src/debug/kdelibs-4.4.85/kdeui/kernel/kapplication.cpp:302
#23 0x00007f89c531a67c in QCoreApplication::notifyInternal (this=0x62c7d0, receiver=0x6a2c30, event=0x7fffa6f02250) at kernel/qcoreapplication.cpp:726
#24 0x00007f89c5347435 in sendEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.h:215
#25 QTimerInfoList::activateTimers (event=<value optimized out>, receiver=<value optimized out>) at kernel/qeventdispatcher_unix.cpp:617
#26 0x00007f89c5343fe4 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#27 0x00007f89bd016dee in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#28 0x00007f89bd01a7b8 in ?? () from /usr/lib64/libglib-2.0.so.0
#29 0x00007f89bd01a8e0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#30 0x00007f89c5343cd3 in QEventDispatcherGlib::processEvents (this=0x6107a0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#31 0x00007f89c458fb2e in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#32 0x00007f89c5318f92 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#33 0x00007f89c531936c in QEventLoop::exec (this=0x7fffa6f025a0, flags=) at kernel/qeventloop.cpp:201
#34 0x00007f89c531e01b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#35 0x00007f89c7f4c016 in kdemain (argc=<value optimized out>, argv=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.4.85/plasma/desktop/shell/main.cpp:118
#36 0x00007f89c7bd3a7d in __libc_start_main () from /lib64/libc.so.6
#37 0x0000000000400699 in _start () at ../sysdeps/x86_64/elf/start.S:113

Reported using DrKonqi
Comment 1 Nicolas L. 2010-06-10 15:32:56 UTC
Marco is it ok to commit ?

Index: plasma/applets/folderview/folderview.cpp
===================================================================
--- plasma/applets/folderview/folderview.cpp    (révision 1136104)
+++ plasma/applets/folderview/folderview.cpp    (copie de travail)
@@ -883,7 +883,9 @@
     m_listView->setDrawShadows(m_drawShadows);
     m_listView->setIconSize(iconSize());
     m_listView->setWordWrap(m_numTextLines > 1);
-    m_iconView->setTextLineCount(m_numTextLines);
+    if ( m_iconView ) {
+        m_iconView->setTextLineCount(m_numTextLines);
+    }
 }
 
 void FolderView::updateIconViewState()
Comment 2 Marco Martin 2010-06-10 15:44:42 UTC
 Nicolas:
the patch seems ok. did you check if it actually fixes the issue? were you able to reproduce? (if m_iconview was instead a dangling pointer this isn't going to resolve it)
anyways, i think you should commit. maybe still check with fredrik
Comment 3 Aaron J. Seigo 2010-06-10 19:00:57 UTC
SVN commit 1136767 by aseigo:

when initializing the applets, restore from config, then init, then flush the containment's constraints, then flush the applet's constraints. ensures that constraint events always happen after both restoration and initialization of the applet
BUG:241298


 M  +8 -2      containment.cpp  
 M  +0 -1      corona.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1136767