Bug 225191 - plasma-desktop crashes when changing plasma theme
Summary: plasma-desktop crashes when changing plasma theme
Status: RESOLVED DUPLICATE of bug 182026
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:
Depends on:
Blocks:
 
Reported: 2010-02-01 21:13 UTC by maarten
Modified: 2010-02-26 12:49 UTC (History)
2 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 maarten 2010-02-01 21:13:38 UTC
Version:            (using Devel)
Compiler:          GCC 4.4.1 gcc (SUSE Linux) 4.4.1 [gcc-4_4-branch revision 150839] 
OS:                Linux
Installed from:    Compiled sources

I installed the OpenSuse factory build of KDE 4.4 RC 3 (4.3.98 release 216) using the one click install on my OpenSuse 11.2.

When I try to change the Plasma theme and press the apply button the plasma-desktop crashes and turns everything but the open windows black. When I restart plasma-desktop from the terminal (Yakuake) it starts up correctly using the theme I just selected. I reproduced the issue a few times and managed to get the following output from plasma-desktop (from start to crash). The output seems to indicate the issue is the result of missing images but the theme works fine when plasma-desktop is restarted manually. 

plasma-desktop(8915)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(0,-34 1558x28) associated screen is 0                                     
plasma-desktop(8915)/plasma PanelView::pinchContainmentToCurrentScreen: pinching to current screen                                                                                                                   
plasma-desktop(8915)/plasma PanelView::pinchContainment: **************************** pinching QRect(0,0 1680x1050) 1680                                                                                             
plasma-desktop(8915)/plasma PanelView::updatePanelGeometry: New panel geometry is QRectF(0,-34 1558x28)                                                                                                              
plasma-desktop(8915)/plasma PanelView::updatePanelGeometry: PanelView(0xadd5d0) thinks its panel is at  QRect(68,1022 1558x28) was QRect(68,1022 1558x28)                                                            
plasma-desktop(8915)/plasma PanelView::pinchContainment: Done pinching, containement's geom QRectF(0,-34 1558x28) own geom QRect(68,1022 1558x28)                                                                    
plasma-desktop(8915)/libplasma Plasma::ViewPrivate::updateSceneRect: !!!!!!!!!!!!!!!!! setting the scene rect to QRectF(10045,-316 39x310) associated screen is 0                                                    
plasma-desktop(8915)/plasma PanelView::pinchContainmentToCurrentScreen: pinching to current screen                                                                                                                   
plasma-desktop(8915)/plasma PanelView::pinchContainment: **************************** pinching QRect(0,0 1680x1050) 1050                                                                                             
plasma-desktop(8915)/plasma PanelView::updatePanelGeometry: New panel geometry is QRectF(10045,-316 39x310)                                                                                                          
plasma-desktop(8915)/plasma PanelView::updatePanelGeometry: PanelView(0x7da710) thinks its panel is at  QRect(0,327 39x310) was QRect(0,327 39x310)                                                                  
plasma-desktop(8915)/plasma PanelView::pinchContainment: Done pinching, containement's geom QRectF(10045,-316 39x310) own geom QRect(0,327 39x310)                                                                   
plasma-desktop(8915)/plasma TaskManager::AbstractSortingStrategy::check: No parent group                                                                                                                             
plasma-desktop(8915)/plasma TaskManager::AbstractSortingStrategy::check: No parent group                                                                                                                             
plasma-desktop(8915)/plasma TaskItemLayout::addTaskItem: already in this layout                                                                                                                                      
plasma-desktop(8915)/plasma TaskItemLayout::addTaskItem: already in this layout                                                                                                                                      
plasma-desktop(8915)/plasma TaskItemLayout::addTaskItem: already in this layout
plasma-desktop(8915)/plasma TaskItemLayout::addTaskItem: already in this layout
plasma-desktop(8915)/plasma SystemTray::Manager::addTask: "kupdateapplet" ( "kupdateapplet" )
plasma-desktop(8915)/plasma SystemTray::TaskArea::addWidgetForTask: widget already exists, trying to reposition it
plasma-desktop(8915)/plasma Image::setSingleImage: "/home/mseg/work/personal/Backups/web/wp/wp-content/themes/default/images/background.JPG" "/home/mseg/work/personal/Backups/web/wp/wp-content/themes/default      /images/background.JPG"
plasma-desktop(8915)/plasma SystemTray::TaskArea::addWidgetForTask: task is not embeddable, so FAIL "org.kde.StatusNotifierItem-8780-1"
plasma-desktop(8915)/plasma SystemTray::TaskArea::addWidgetForTask: task is not embeddable, so FAIL "org.kde.StatusNotifierItem-8780-1"
plasma-desktop(8915)/plasma SystemTray::TaskArea::addWidgetForTask: widget already exists, trying to reposition it
plasma-desktop(8915)/plasma SystemTray::Manager::addTask: "amarok" ( "amarok" )
plasma-desktop(8915)/plasma SystemTray::TaskArea::addWidgetForTask: widget already exists, trying to reposition it
plasma-desktop(8915)/plasma PanelView::updateStruts: screen l/r/b/t offsets are: 0 0 0 0 4
plasma-desktop(8915)/plasma PanelView::updateStruts: screen l/r/b/t offsets are: 0 0 0 0 5
plasma-desktop(8915)/kdecore (services): Now parsing  "/opt/gnome/share/mime/magic"
plasma-desktop(8915)/kdecore (services): Now parsing  "/usr/share/mime/magic"
plasma-desktop(8915)/kdecore (services): Now parsing  "/home/mseg/.local/share/mime/magic"
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::slotResult: finished listing KUrl("file:///home/mseg")
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::slotResult: finished listing KUrl("trash:/")
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/scrollwidget"
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/slider"
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/slider"
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/action-overlays"
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::slotFileCreated: "/home/mseg/.kde4/share/config/plasmarc"
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::slotFilesAdded: KUrl("file:///home/mseg/.kde4/share/config")
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::updateDirectory: KUrl("file:///home/mseg/.kde4/share/config")
Couldn't find node center. Skipping rendering.
Couldn't find node center. Skipping rendering.
plasma-desktop(8915)/plasma TaskManager::AbstractSortingStrategy::check: No parent group
plasma-desktop(8915)/plasma TaskManager::AbstractSortingStrategy::check: No parent group
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/scrollwidget"
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/slider"
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/slider"
plasma-desktop(8915)/libplasma Plasma::Theme::imagePath: Theme says: bad image path  "widgets/action-overlays"
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::slotFileDirty: "/home/mseg/.kde4/share/config/plasmarc"
plasma-desktop(8915)/kio (KDirListerCache) KDirListerCache::updateDirectory: KUrl("file:///home/mseg/.kde4/share/config")
Comment 1 Dario Andres 2010-02-01 21:57:38 UTC
- Don't you get the Crash Handler dialog ? a backtrace is needed in order to identify the crash.
Regards
Comment 2 maarten 2010-02-02 08:17:59 UTC
There was no Crash handler dialog, is there some way I can get to the stacktrace directly on the file system? If so I'll try to reproduce the issue and send you the details.
Comment 3 Anne-Marie Mahfouf 2010-02-02 12:51:54 UTC
First please precise where you change the plasma theme, what is your current theme and what theme are you choosing.

Then in your terminal please do:
kquitapp plasma-desktop
then: gdb plasma-desktop
type "run" at the prompt. Change the plasma theme and make it crash. When it crashes, in the terminal type: "bt" at the gdb prompt in order to get a backtrace that you can paste here as a comment.
Comment 4 Anne-Marie Mahfouf 2010-02-03 08:39:42 UTC
maarten, any additional info you can provide please as asked? We need to be fast to fix RC3 bugs!
Comment 5 maarten 2010-02-03 09:00:41 UTC
Hi, sorry for the delay I have been testing a few hours yesterday evening and this morning to provide you with some useful feedback

First of all I am changing the plasma theme using  systemsettings > Appearance > workspace (tab). The problem does not occur every time I change a theme and it does not matter which theme I am switching from or to (cyling between oxygen, air netbook and air opensuse). Sometimes it occurs immediately sometimes after changing the theme a few times (Sorry I know how hard it is to debug a problem that you can't reproduce exactly but that's what is happening).

When I tried to launch plasma-desktop in gdb I was getting no errors from it but after changing the theme a few times it was kwin that started crashing. Since I couldn't access the yakuake anymore once kwin crashed I restarted the flow and hooked a gdb session in the plasma-desktop process (using its pid) from tty1 and another in the kwin prosess on tty2. 
I reproduced the error and was able to get the following backtrace from kwin.
So this bug may have to be reassigned to kwin. 
I have reproduced the issue both with composing on and off


Program received signal SIGBUS, Bus error.
0x00007f16607f4e62 in KPixmapCache::Private::mmapFile(QString const&, KPixmapCache::Private::MmapInfo*, int) () from /usr/lib64/libkdeui.so.5
(gdb) bt
#0  0x00007f16607f4e62 in KPixmapCache::Private::mmapFile(QString const&, KPixmapCache::Private::MmapInfo*, int) () from /usr/lib64/libkdeui.so.5
#1  0x00007f166081fbb4 in KPixmapCache::Private::mmapFiles() () from /usr/lib64/libkdeui.so.5
#2  0x00007f166081f863 in KPixmapCache::Private::init() () from /usr/lib64/libkdeui.so.5
#3  0x00007f16608216ed in KPixmapCache::discard() () from /usr/lib64/libkdeui.so.5
#4  0x00007f1660821dc8 in KPixmapCache::deleteCache(QString const&) () from /usr/lib64/libkdeui.so.5
#5  0x00007f166021739d in ?? () from /usr/lib64/libplasma.so.3
#6  0x00007f166021aabb in ?? () from /usr/lib64/libplasma.so.3
#7  0x00007f166021c41b in Plasma::Theme::settingsChanged() () from /usr/lib64/libplasma.so.3
#8  0x00007f166021d338 in ?? () from /usr/lib64/libplasma.so.3
#9  0x00007f166021d6c6 in Plasma::Theme::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libplasma.so.3
#10 0x00007f165cb07bff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#11 0x00007f165b4711f2 in KDirWatch::dirty(QString const&) () from /usr/lib64/libkio.so.5
#12 0x00007f165b4caf09 in ?? () from /usr/lib64/libkio.so.5
#13 0x00007f165b5cfc38 in ?? () from /usr/lib64/libkio.so.5
#14 0x00007f165b5d01f4 in ?? () from /usr/lib64/libkio.so.5
#15 0x00007f165cb07bff in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#16 0x00007f165cb04853 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#17 0x00007f165d23ec9c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#18 0x00007f165d24527b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x00007f1660704ba6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#20 0x00007f165caf4dfc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#21 0x00007f165cb21ac5 in ?? () from /usr/lib64/libQtCore.so.4
#22 0x00007f165cb1e658 in ?? () from /usr/lib64/libQtCore.so.4
#23 0x00007f1657730dde in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#24 0x00007f16577347a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#25 0x00007f16577348d0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#26 0x00007f165cb1e323 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#27 0x00007f165d2ecdce in ?? () from /usr/lib64/libQtGui.so.4
#28 0x00007f165caf3712 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#29 0x00007f165caf3aec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#30 0x00007f165caf783b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#31 0x00007f1660f85cfa in kdemain () from /usr/lib64/libkdeinit4_kwin.so
#32 0x00007f1660b85a7d in __libc_start_main () from /lib64/libc.so.6
#33 0x0000000000400699 in _start ()
Comment 6 maarten 2010-02-05 08:35:49 UTC
Is the backtrace I have pasted enough to help you diagnose the problem?
Let me know if there is anything else I can do to help.
Comment 7 Dario Andres 2010-02-05 23:27:44 UTC
This issue is being tracked at bug 182026. Merging
Thanks!
Comment 8 Dario Andres 2010-02-26 12:49:29 UTC

*** This bug has been marked as a duplicate of bug 182026 ***