Bug 168668 - plasma crash on startup (every time)
Summary: plasma crash on startup (every time)
Status: RESOLVED FIXED
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-07 22:13 UTC by Alexander Vodomerov
Modified: 2008-08-11 19:00 UTC (History)
0 users

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 Alexander Vodomerov 2008-08-07 22:13:18 UTC
Version:            (using KDE 4.1.0)
Installed from:    Debian testing/unstable Packages
Compiler:          4.3.1 Installed from Debian unstable package
OS:                Linux

Every time I try to start Plasma (either by logging in via KDM or manually), it crashes with the following error message:

$ /usr/bin/plasma
<unknown program name>(4753)/ checkComposite: Plasma has an argb visual 0x251f210 46137345
<unknown program name>(4753)/ checkComposite: Plasma is COMPOSITE-less on 0x2516990
Plasma crashed, attempting to automatically recover
KCrash: Application 'plasma' crashing...
..... bla-bla ...

Here is the stack trace:

$ gdb /usr/bin/plasma
GNU gdb 6.8-debian                  
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.           
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"   
and "show warranty" for details.                                             
This GDB was configured as "x86_64-linux-gnu"...                             
(gdb) set follow-fork-mode child
(gdb) run --nocrashhandler --sync
Starting program: /usr/bin/plasma --nocrashhandler --sync
[Thread debugging using libthread_db enabled]            
[New Thread 0x7f30733fc7c0 (LWP 4770)]                   
<unknown program name>(4770)/ checkComposite: Plasma has an argb visual 0x1597210 46137345
<unknown program name>(4770)/ checkComposite: Plasma is COMPOSITE-less on 0x158e990       
[Thread debugging using libthread_db enabled]                                             
[New Thread 0x7f30733fc7c0 (LWP 4771)]                                                    

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f30733fc7c0 (LWP 4771)]     
QAction::setVisible (this=0x0, b=true) at kernel/qaction.h:68
68      kernel/qaction.h: No such file or directory.         
        in kernel/qaction.h                                  
(gdb) bt
#0  QAction::setVisible (this=0x0, b=true) at kernel/qaction.h:68
#1  0x00007f306cf8610c in MenuLauncherApplet::constraintsEvent (this=0x16e4df0, constraints={i = -2039224944})
    at /tmp/buildd/kdebase-workspace-4.1.0/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp:225           
#2  0x00007f307dc81a82 in Plasma::Applet::flushPendingConstraintsEvents (this=0x16e4df0)                      
    at /tmp/buildd/kdebase-workspace-4.1.0/libs/plasma/applet.cpp:850                                         
#3  0x00007f307bbf4073 in QObject::event (this=0x16e4df0, e=0x1) at kernel/qobject.cpp:1105                   
#4  0x00007f307c85896b in QGraphicsWidget::event (this=0x16e4df0, event=0x7fff8673ed80)                       
    at graphicsview/qgraphicswidget.cpp:1229                                                                  
#5  0x00007f307c304e5d in QApplicationPrivate::notify_helper (this=0x15ba950, receiver=0x16e4df0, e=0x7fff8673ed80)
    at kernel/qapplication.cpp:3772                                                                                
#6  0x00007f307c30cb2a in QApplication::notify (this=0x1599630, receiver=0x16e4df0, e=0x7fff8673ed80)              
    at kernel/qapplication.cpp:3739
#7  0x00007f307d808bfb in KApplication::notify (this=0x1599630, receiver=0x16e4df0, event=0x7fff8673ed80)
    at /tmp/buildd/kde4libs-4.1.0/kdeui/kernel/kapplication.cpp:311
#8  0x00007f307bbe5411 in QCoreApplication::notifyInternal (this=0x1599630, receiver=0x16e4df0, event=0x7fff8673ed80)
    at kernel/qcoreapplication.cpp:587
#9  0x00007f307bc113b6 in QTimerInfoList::activateTimers (this=0x15bdd10)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#10 0x00007f307bc0d8dd in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:166
#11 0x00007f30773f2892 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#12 0x00007f30773f601d in ?? () from /usr/lib/libglib-2.0.so.0
#13 0x00007f30773f61db in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#14 0x00007f307bc0d83f in QEventDispatcherGlib::processEvents (this=0x15b9d50, flags=<value optimized out>)
    at kernel/qeventdispatcher_glib.cpp:325
#15 0x00007f307c39616f in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#16 0x00007f307bbe3d22 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -2039222288})
    at kernel/qeventloop.cpp:149
#17 0x00007f307bbe3ead in QEventLoop::exec (this=0x7fff8673f030, flags={i = -2039222208}) at kernel/qeventloop.cpp:200
#18 0x00007f307b43da7c in KIO::NetAccess::enter_loop (this=0x7fff8673f0b0)
    at /tmp/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:494
#19 0x00007f307b43dc65 in KIO::NetAccess::statInternal (this=0x7fff8673f0b0, url=<value optimized out>,
    details=<value optimized out>, side=KIO::NetAccess::SourceSide, window=0x0)
    at /tmp/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:347
#20 0x00007f307b43e93e in KIO::NetAccess::stat (url=@0x7fff8673f2b0, entry=@0x7fff8673f120, window=0x0)
    at /tmp/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:221
#21 0x00007f307b43e9cc in KIO::NetAccess::mostLocalUrl (url=@0x7fff8673f2b0, window=0x0)
    at /tmp/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:235
#22 0x00007f306d3ad7e8 in IconApplet::setUrl (this=0x173a7e0, url=@0x1)
    at /tmp/buildd/kdebase-workspace-4.1.0/plasma/applets/icon/icon.cpp:109
#23 0x00007f306d3adf3d in IconApplet::init (this=0x173a7e0)
    at /tmp/buildd/kdebase-workspace-4.1.0/plasma/applets/icon/icon.cpp:78
#24 0x00007f307dcaf716 in Plasma::Corona::loadLayout (this=0x1696890, configName=<value optimized out>)
    at /tmp/buildd/kdebase-workspace-4.1.0/libs/plasma/corona.cpp:288
#25 0x00007f307dcb0422 in Plasma::Corona::initializeLayout (this=0x1696890, configName=@0x7fff8673f5c0)
---Type <return> to continue, or q <return> to quit---
    at /tmp/buildd/kdebase-workspace-4.1.0/libs/plasma/corona.cpp:234
#26 0x00007f307e3157e8 in PlasmaApp::corona (this=0x1599630)
    at /tmp/buildd/kdebase-workspace-4.1.0/plasma/plasma/plasmaapp.cpp:389
#27 0x00007f307e316d74 in PlasmaApp (this=0x1599630, display=<value optimized out>, visual=<value optimized out>,
    colormap=<value optimized out>) at /tmp/buildd/kdebase-workspace-4.1.0/plasma/plasma/plasmaapp.cpp:213
#28 0x00007f307e318cdf in PlasmaApp::self () at /tmp/buildd/kdebase-workspace-4.1.0/plasma/plasma/plasmaapp.cpp:109
#29 0x00007f307e30c36c in kdemain (argc=3, argv=0x7fff8673fad8)
    at /tmp/buildd/kdebase-workspace-4.1.0/plasma/plasma/main.cpp:51
#30 0x00007f307dfbb1a6 in __libc_start_main () from /lib/libc.so.6
#31 0x0000000000400629 in _start ()
(gdb)

If you need additional information, feel free to ask.

I'm running Debian unstable on x86_64. KDE 4.1 is installed from experimental packages. See also original bug report at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=492947
Comment 1 Aaron J. Seigo 2008-08-07 22:52:14 UTC
*** Bug has been marked as fixed ***.
Comment 2 Alexander Vodomerov 2008-08-08 05:43:14 UTC
Hi, Aaron!

I've found similar bug reports in KDE 4.0.x, but I'm using KDE 4.1.0.
Can you provide a link showing that this is fixed after 4.1.0 release?

Thanks,
   Alex.

2008/8/8 Aaron J. Seigo <aseigo@kde.org>:
[bugs.kde.org quoted mail]
Comment 3 Alex Merry 2008-08-08 16:26:20 UTC
Bug 167312
Comment 4 Alexander Vodomerov 2008-08-09 07:20:29 UTC
The previous comments about duplicate bug are wrong. The bug 167312 are similar, but different bug. I've applied commit 839848, it didn't change anything.
There are (at least) two places where this crash might happen. You fixed one, but not other.
Compare:
http://websvn.kde.org/branches/KDE/4.1/kdebase/workspace/plasma/applets/kickoff/applet/applet.cpp?r1=829867&r2=839848&pathrev=839848
This commit patches plasma/applets/kickoff/applet/applet.cpp, but not plasma/applets/kickoff/simpleapplet/simpleapplet.cpp, it still has this bug:
http://websvn.kde.org/trunk/KDE/kdebase/workspace/plasma/applets/kickoff/simpleapplet/simpleapplet.cpp?view=markup
I've applied the same change and this crash is now gone. Please fix the simpleapplet.cpp too.

However, new crash happened. Please reopen this bug.
Here is the backtrace:

$ gdb /usr/bin/plasma
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu"...
(gdb) set follow-fork-mode child
(gdb) run --nocrashhandler --sync
Starting program: /usr/bin/plasma --nocrashhandler --sync
[Thread debugging using libthread_db enabled]
[New Thread 0x7f96d351e7c0 (LWP 31999)]
[Thread debugging using libthread_db enabled]
[New Thread 0x7f96d351e7c0 (LWP 32003)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f96d351e7c0 (LWP 32003)]
QGraphicsLinearLayout::setOrientation (this=0x7f96dbff2820, orientation=Qt::Horizontal)
    at graphicsview/qgraphicslinearlayout.cpp:223
	in graphicsview/qgraphicslinearlayout.cpp
(gdb) bt
#0  QGraphicsLinearLayout::setOrientation (this=0x7f96dbff2820, orientation=Qt::Horizontal)
    at graphicsview/qgraphicslinearlayout.cpp:223
#1  0x00007f96ccc32184 in Tasks::constraintsEvent (this=0x11187f0, constraints={i = -427407680})
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/applets/tasks/tasks.cpp:240
#2  0x00007f96ddda7a82 in Plasma::Applet::flushPendingConstraintsEvents (this=0x11187f0)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/libs/plasma/applet.cpp:850
#3  0x00007f96dbd1a073 in QObject::event (this=0x11187f0, e=0x1) at kernel/qobject.cpp:1105
#4  0x00007f96dc97e96b in QGraphicsWidget::event (this=0x11187f0, event=0x7fffe6864eb0)
    at graphicsview/qgraphicswidget.cpp:1229
#5  0x00007f96dc42ae5d in QApplicationPrivate::notify_helper (this=0xf5a950, receiver=0x11187f0, e=0x7fffe6864eb0)
    at kernel/qapplication.cpp:3772
#6  0x00007f96dc432b2a in QApplication::notify (this=0xf39630, receiver=0x11187f0, e=0x7fffe6864eb0)
    at kernel/qapplication.cpp:3739
#7  0x00007f96dd92ec0b in KApplication::notify (this=0xf39630, receiver=0x11187f0, event=0x7fffe6864eb0)
    at /build/buildd/kde4libs-4.1.0/kdeui/kernel/kapplication.cpp:311
#8  0x00007f96dbd0b411 in QCoreApplication::notifyInternal (this=0xf39630, receiver=0x11187f0, event=0x7fffe6864eb0)
    at kernel/qcoreapplication.cpp:587
#9  0x00007f96dbd373b6 in QTimerInfoList::activateTimers (this=0xf5dd10)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#10 0x00007f96dbd338dd in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:166
#11 0x00007f96d7518892 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#12 0x00007f96d751c01d in ?? () from /usr/lib/libglib-2.0.so.0
#13 0x00007f96d751c1db in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#14 0x00007f96dbd3383f in QEventDispatcherGlib::processEvents (this=0xf59d50, flags=<value optimized out>)
    at kernel/qeventdispatcher_glib.cpp:325
#15 0x00007f96dc4bc16f in QGuiEventDispatcherGlib::processEvents (this=0x7f96dbff2820, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#16 0x00007f96dbd09d22 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -427405024})
    at kernel/qeventloop.cpp:149
#17 0x00007f96dbd09ead in QEventLoop::exec (this=0x7fffe6865160, flags={i = -427404944}) at kernel/qeventloop.cpp:200
#18 0x00007f96db563a9c in KIO::NetAccess::enter_loop (this=0x7fffe68651e0)
    at /build/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:494
#19 0x00007f96db563c85 in KIO::NetAccess::statInternal (this=0x7fffe68651e0, url=<value optimized out>, 
    details=<value optimized out>, side=KIO::NetAccess::SourceSide, window=0x0)
    at /build/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:347
#20 0x00007f96db56495e in KIO::NetAccess::stat (url=@0x7fffe68653e0, entry=@0x7fffe6865250, window=0x0)
    at /build/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:221
#21 0x00007f96db5649ec in KIO::NetAccess::mostLocalUrl (url=@0x7fffe68653e0, window=0x0)
    at /build/buildd/kde4libs-4.1.0/kio/kio/netaccess.cpp:235
#22 0x00007f96cd4cc7e8 in IconApplet::setUrl (this=0x10b1cb0, url=@0x1)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/applets/icon/icon.cpp:109
#23 0x00007f96cd4ccf3d in IconApplet::init (this=0x10b1cb0)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/applets/icon/icon.cpp:78
#24 0x00007f96dddd5716 in Plasma::Corona::loadLayout (this=0x101d1b0, configName=<value optimized out>)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/libs/plasma/corona.cpp:288
#25 0x00007f96dddd6422 in Plasma::Corona::initializeLayout (this=0x101d1b0, configName=@0x7fffe68656f0)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/libs/plasma/corona.cpp:234
#26 0x00007f96de43b7e8 in PlasmaApp::corona (this=0xf39630)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/plasma/plasmaapp.cpp:389
#27 0x00007f96de43cd74 in PlasmaApp (this=0xf39630, display=<value optimized out>, visual=<value optimized out>, 
    colormap=<value optimized out>) at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/plasma/plasmaapp.cpp:213
#28 0x00007f96de43ecdf in PlasmaApp::self ()
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/plasma/plasmaapp.cpp:109
#29 0x00007f96de43236c in kdemain (argc=3, argv=0x7fffe6865c08)
    at /home/alex/build/kde4/kdebase-workspace-4.1.0/plasma/plasma/main.cpp:51
#30 0x00007f96de0e11a6 in __libc_start_main () from /lib/libc.so.6
#31 0x0000000000400629 in _start ()
(gdb) 

This time Tasks applet is crashing. It seems that you have some general problem with constraintEvent called before proper initialization. IMHO this is to be fixed generally, not by introducing hacks in each of applet separately.
Comment 5 Alexander Vodomerov 2008-08-09 07:21:18 UTC
Reopening bug, as new different crash is found.
Comment 6 Alex Merry 2008-08-11 17:32:15 UTC
SVN commit 845389 by alexmerry:

Don't crash if we get constraintsEvent before init.

BUG: 168668



 M  +6 -0      tasks.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=845389
Comment 7 Alex Merry 2008-08-11 17:32:58 UTC
SVN commit 845391 by alexmerry:

Don't crash if we get constraintsEvent before init.

CCBUG: 168668



 M  +6 -0      tasks.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=845391
Comment 8 Alexander Vodomerov 2008-08-11 19:00:45 UTC
This fixes the bug, plasma is working now. Thanks!

BTW, are you sure that it is not necessary to make such changes in ALL existing applets, not just these three?