Bug 201003

Summary: plasma crash starting konqueror
Product: [Unmaintained] plasma4 Reporter: Paul Fee <paul.f.fee>
Component: generalAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: andresbajotierra, aseigo
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Paul Fee 2009-07-21 17:01:59 UTC
Application that crashed: plasma-desktop
Version of the application: 0.3
KDE Version: 4.2.96 (KDE 4.2.96 (KDE 4.3 RC2))
Qt Version: 4.5.0
Operating System: Linux 2.6.28-13-generic x86_64
Distribution: Ubuntu 9.04

What I was doing when the application crashed:
Started an instance of konqueror, which started as expected.  However at around the same time plasma-desktop crashed.

 -- Backtrace:
Application: Plasma Workspace (plasma-desktop), signal: Segmentation fault
[Current thread is 0 (LWP 6234)]

Thread 2 (Thread 0x7f400f45a950 (LWP 6237)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007f402986e939 in QWaitCondition::wait (this=0x268f670, mutex=0x268f668, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  0x00007f402ce334cc in QHostInfoAgent::run (this=0x268f650) at kernel/qhostinfo.cpp:260
#3  0x00007f402986d952 in QThreadPrivate::start (arg=0x268f650) at thread/qthread_unix.cpp:189
#4  0x00007f4025f6e3ba in start_thread (arg=<value optimized out>) at pthread_create.c:297
#5  0x00007f4028dcafcd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f402e535760 (LWP 6234)):
[KCrash Handler]
#5  0x00007f402a6ac284 in QGraphicsLayoutItem::isLayout (this=0x26d96f0) at graphicsview/qgraphicslayoutitem.cpp:782
#6  0x00007f402a6aaff2 in QGraphicsLayoutPrivate::activateRecursive (this=0x27c9ba0, item=0x26d96f0) at graphicsview/qgraphicslayout_p.cpp:181
#7  0x00007f402a6ab030 in QGraphicsLayoutPrivate::activateRecursive (this=0x27c9ba0, item=0x27c9e90) at graphicsview/qgraphicslayout_p.cpp:189
#8  0x00007f402a6ab030 in QGraphicsLayoutPrivate::activateRecursive (this=0x27c9ba0, item=0x27c9b80) at graphicsview/qgraphicslayout_p.cpp:189
#9  0x00007f402a6aa9a3 in QGraphicsLayout::activate (this=0x27c9b80) at graphicsview/qgraphicslayout.cpp:258
#10 0x00007f402a6aaa51 in QGraphicsLayout::widgetEvent (this=0x27c9b80, e=0x26d96f0) at graphicsview/qgraphicslayout.cpp:366
#11 0x00007f402a6b0709 in QGraphicsWidget::event (this=0x27c76f0, event=0x2e19bf0) at graphicsview/qgraphicswidget.cpp:1241
#12 0x00007f402a09b78d in QApplicationPrivate::notify_helper (this=0x1f4be40, receiver=0x27c76f0, e=0x2e19bf0) at kernel/qapplication.cpp:4084
#13 0x00007f402a0a397a in QApplication::notify (this=0x1f3a6a0, receiver=0x27c76f0, e=0x2e19bf0) at kernel/qapplication.cpp:4049
#14 0x00007f402c76b63b in KApplication::notify (this=0x1f3a6a0, receiver=0x27c76f0, event=0x2e19bf0) at /build/buildd/kde4libs-4.2.96/kdeui/kernel/kapplication.cpp:302
#15 0x00007f402995675c in QCoreApplication::notifyInternal (this=0x1f3a6a0, receiver=0x27c76f0, event=0x2e19bf0) at kernel/qcoreapplication.cpp:602
#16 0x00007f40299573ca in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1f22a60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#17 0x00007f40299801e3 in postEventSourceDispatch (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#18 0x00007f402433e20a in IA__g_main_context_dispatch (context=0x1f4e520) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:1814
#19 0x00007f40243418e0 in g_main_context_iterate (context=0x1f4e520, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2448
#20 0x00007f4024341a7c in IA__g_main_context_iteration (context=0x1f4e520, may_block=1) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2511
#21 0x00007f402997fe6f in QEventDispatcherGlib::processEvents (this=0x1f227e0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:323
#22 0x00007f402a133bef in QGuiEventDispatcherGlib::processEvents (this=0x26d96f0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#23 0x00007f4029955002 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 911659472}) at kernel/qeventloop.cpp:149
#24 0x00007f40299553cd in QEventLoop::exec (this=0x7fff3656d210, flags={i = 911659552}) at kernel/qeventloop.cpp:200
#25 0x00007f4029957694 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#26 0x00007f402e1066bb in kdemain () from /usr/lib/libkdeinit4_plasma-desktop.so
#27 0x00007f4028d035a6 in __libc_start_main (main=0x400890 <_start+240>, argc=1, ubp_av=0x7fff3656d518, init=0x4008c0 <__libc_csu_init>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fff3656d508) at libc-start.c:220
#28 0x00000000004007c9 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-07-21 17:08:29 UTC
This could be a Qt bug.
- Do you think you would be able to reproduce the crash at will again ?
Thanks
Comment 2 Paul Fee 2009-07-22 00:15:12 UTC
Hi Dario,

I get a few KDE4.3 plasma crashes a day, but unfortunately I don't think I could trigger them on demand.

They seem to be more likely when new windows are appearing, however I don't have a precise record of what triggered the bug.

Incidentally, my desktop often seems unresponsive, but that may not be entirely KDE's fault.  I'm also running VirtualBox which eats 70% CPU (despite the guest OS being idle).  KWin occasionally disables compositing (using Intel GMA graphics, Lenovo T400), which may also indicate high load.

I'm not sure if high CPU load is a relevant factor with this bug, but race conditions can often be triggered by unrelated load.

Let me know if I can provide more info.

Thanks,
Paul
Comment 3 Dario Andres 2009-07-24 18:29:27 UTC
There are still a few of taskbar-entry related crashes in Plasma. 
About the VirtualBox, I think you can reduce the load if you install the VirtualBox additions in the guest OS (if it supports the additions). I don't think the issue is related to the plasma crash.
Try updating your Qt package to Qt4.5.2.

Thanks
Comment 4 Paul Fee 2009-07-27 15:43:00 UTC
Updated to KDE 4.2.98, same plasma crash occured (well, at list the same few lines in the stack trace).

Thread 1 (Thread 0x7f1441a48750 (LWP 19384)):
[KCrash Handler]
#5  0x00007f143f0fe284 in QGraphicsLayoutItem::isLayout (this=0x169c1d0) at graphicsview/qgraphicslayoutitem.cpp:782
#6  0x00007f143f0fcff2 in QGraphicsLayoutPrivate::activateRecursive (this=0x1b31f10, item=0x169c1d0) at graphicsview/qgraphicslayout_p.cpp:181
#7  0x00007f143f0fd030 in QGraphicsLayoutPrivate::activateRecursive (this=0x1b31f10, item=0x1b32200) at graphicsview/qgraphicslayout_p.cpp:189
#8  0x00007f143f0fd030 in QGraphicsLayoutPrivate::activateRecursive (this=0x1b31f10, item=0x1b31ef0) at graphicsview/qgraphicslayout_p.cpp:189
#9  0x00007f143f0fc9a3 in QGraphicsLayout::activate (this=0x1b31ef0) at graphicsview/qgraphicslayout.cpp:258

Still using Qt 4.5.0, I wasn't expecting KDE 4.3 RC3 to fix the bug, but thought I'd update this bug to show it's still active with RC3.

Is there a recommended kubuntu PPA with Qt 4.5.2 packages which I can install?

Thanks.
Comment 5 Dario Andres 2009-08-01 18:30:54 UTC
Unfortunatelly I couldn't find any Qt4.5.2 package; only for karmic: http://ns2.canonical.com/cs/source/karmic/qt4-x11
I wonder why Ubuntu is not pushing Qt4.5.2...
Comment 6 Paul Fee 2009-08-02 01:09:17 UTC
Hi,

The best I could find was: https://launchpad.net/~mapopa/+archive/arora-stable

If Qt 4.5.2 is a requirement of KDE 4.3 and kubuntu place KDE 4.3 in jaunty-backports, then that would imply that Qt 4.5.2 is also required in jaunty-backports.

It seems like Qt 4.5.2 has some important bug fixes to avoid plasma-desktop crashes.  Are the kubuntu folks aware that 4.5.2 is needed in order to get a good KDE 4.3 experience?

The packaging of Qt 4.5.2 is up to the individual distros, but KDE 4.3's dependency on it needs to be highlighted so distros are aware that Qt 4.5.0 isn't good enough.

Is that fair and accurate?  Is so, then what's the channel for communicating this new dependency?  I presume the KDE source tarballs don't include dependency details.  Packages (e.g. .deb or .rpm) contain dependencies, but I expect that data is gathered and maintained by the distros themselves.

Should the KDE 4.3 release notes document that the minimum required version of Qt is 4.5.2?

Thanks.
Comment 7 Aaron J. Seigo 2009-08-02 19:33:47 UTC
"Are the kubuntu folks aware that 4.5.2 is needed in order to get a
good KDE 4.3 experience?"

i don't know; you'd have to ask the kubuntu team.

"KDE 4.3's dependency on it needs to be highlighted so distros are aware that Qt 4.5.0 isn't good enough."

yes, we could probably make more noise about this. on the other hand, this is really true of all our upstream dependencies (which is a bit of a pandora's box). it's really the distro's job to ensure that key dependencies are up to date, particularly with bug fix releases.
Comment 8 Paul Fee 2009-08-02 23:58:33 UTC
Hi Aaron,

Agreed, it's the distro's role to provide the dependencies that KDE 4.3 requires.  I've emailed kubuntu folks to see if they can provide Qt 4.5.2.

Good to know that Qt 4.5.2 will fix the issue.  KDE can only publicise its dependencies, hopefully the distros can provide them.  Without it, KDE 4.3's plasma crashes more than KDE 4.2.x, hence an up to date version of Qt is important.

Thanks,
Paul
Comment 9 Paul Fee 2009-08-05 21:33:29 UTC
By the way, the nice people at Kubuntu have included Qt 4.5.2 for Jaunty in the same PPA used to release KDE 4.3.0.

So this bug is fixed for that slice of the Linux user population.

https://launchpad.net/~kubuntu-ppa/+archive/backports