Bug 157105 - Plasma crashes on "configure desktop"
Summary: Plasma crashes on "configure desktop"
Status: RESOLVED DUPLICATE of bug 156944
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: 2008-02-01 22:54 UTC by Oliver Putz
Modified: 2008-02-03 01:20 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
testcase (573 bytes, patch)
2008-02-02 00:13 UTC, Sebastian Sauer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Putz 2008-02-01 22:55:00 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          gcc version 4.1.2 20070214 
OS:                Linux

Whenever I do a right click on the desktop and select "configure desktop", plasma crashes with the following backtrace:

Application: Plasma Workspace (plasma), signal SIGFPE
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb62856e0 (LWP 5720)]
[New Thread 0xb3819b90 (LWP 7029)]
[New Thread 0xb401ab90 (LWP 6642)]
[New Thread 0xb4b2ab90 (LWP 5722)]
[KCrash handler]
#6  0xb4d699c3 in RenderThread::run (this=0x83ede8c)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/workspace/plasma/containments/desktop/renderthread.cpp:153
#7  0xb73225de in QThreadPrivate::start (arg=0x83ede8c)
    at thread/qthread_unix.cpp:179
#8  0xb72d618b in start_thread (arg=0xb3819b90) at pthread_create.c:296
#9  0xb65c335e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb62856e0 (LWP 5720)):
#0  0xb63d304a in *__GI_clock_gettime (clock_id=1, tp=0xbf848e28)
    at ../sysdeps/unix/clock_gettime.c:101
#1  0xb74144b2 in QTimerInfoList::getTime (this=0x807520c, t=@0x8075230)
    at kernel/qeventdispatcher_unix.cpp:346
#2  0xb7414571 in QTimerInfoList::updateCurrentTime (this=0x807520c)
    at kernel/qeventdispatcher_unix.cpp:290
#3  0xb741601a in QTimerInfoList::timerWait (this=0x807520c, tm=@0xbf848eb0)
    at kernel/qeventdispatcher_unix.cpp:413
#4  0xb74169d8 in QEventDispatcherUNIX::processEvents (this=0x8073de8, 
    flags=@0xbf848fc8) at kernel/qeventdispatcher_unix.cpp:873
#5  0xb6b17cce in QEventDispatcherX11::processEvents (this=0x8073de8, 
    flags=@0xbf848ff4) at kernel/qeventdispatcher_x11.cpp:145
#6  0xb73ec191 in QEventLoop::processEvents (this=0xbf849060, 
    flags=@0xbf849028) at kernel/qeventloop.cpp:140
#7  0xb73ec29a in QEventLoop::exec (this=0xbf849060, flags=@0xbf849068)
    at kernel/qeventloop.cpp:186
#8  0xb73ee626 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:759
#9  0xb6a8d487 in QApplication::exec () at kernel/qapplication.cpp:3053
#10 0xb7f63d54 in kdemain (argc=1, argv=0xbf849264)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/workspace/plasma/plasma/main.cpp:54
#11 0x080487e2 in main (argc=1061, argv=0xcb716a)
    at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase_build/workspace/plasma/plasma/plasma-qgv_dummy.cpp:3
#12 0xb6517fdc in __libc_start_main (main=0x80487c0 <main>, argc=1, 
    ubp_av=0xbf849264, init=0x8048810 <__libc_csu_init>, 
    fini=0x8048800 <__libc_csu_fini>, rtld_fini=0xb7f7e100 <_dl_fini>, 
    stack_end=0xbf84925c) at libc-start.c:229
#13 0x08048731 in _start ()
0xb63d304a	101	in ../sysdeps/unix/clock_gettime.c
Comment 1 Sebastian Sauer 2008-02-02 00:13:57 UTC
Created attachment 23402 [details]
testcase

Hi Oliver :)

since you are using KDE compiled from sources, may you like to apply the patch
above and run it again and if a fatal-error is displayed in the console,
provide the output?

well, taken the backtrace into account it's very likely that this (div-by-zero)
is the reason. But I just wanna be sure ;)

Thanks in advance!
Comment 2 Sebastian Sauer 2008-02-02 00:21:16 UTC
Oliver: you are using KDE-trunk, right? Or is this 4.0.x? If the last case is true, then forget the patch above :-/
Comment 3 Oliver Putz 2008-02-02 00:30:15 UTC
Hi! Yes, I use the SVN trunk, so I'll give it a try. However, the "compiled from sources" is actually not 100% correct. In fact, I use gentoo ebuilds that fetch the current code from SVN each time I compile them...
But as said: I'll try to get portage to compile a patched current svn checkout version.
Comment 4 Oliver Putz 2008-02-02 00:40:34 UTC
Ok, looks like I patched at the right time and portage is working with the patched renderthread.cpp. So in roughly two hours we should know more :-)
Comment 5 Sebastian Sauer 2008-02-02 00:45:06 UTC
You don't need to recompile+reinstall all of KDE ;)
just (not sure if it really works that way in gentoo):
cd /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/workspace/plasma/containments/desktop/ && apply_patch_there && make install

So, kde is pretty modular :)
Comment 6 Oliver Putz 2008-02-02 02:26:57 UTC
Hi! Okay, after I recompiled kdebase with your patch I have one good and one bad news: The bad one: I cannot give you any crash output. The good one: I cannot reproduce this crash any longer :) [kdebase r769736]

On a sidenote: Thanks for the hint on how to recompile subcomponents, but that seems only possible when you already did compile that program once. The problem however is: I have very little space on this machine, so I need to delete the temp files from compiling kdebase in order to compile kdegraphics :D (and I did not get around to play with cmake myself yet). So if I nonetheless can give you any meaningful information: Just ask.
Comment 7 Oliver Putz 2008-02-02 02:52:25 UTC
Hi once more. Even though I cannot reproduce "my" crash here any longer, you might want to have a look at bug #156944 where selecting an invalid wallpaper indeed results in your warning message showing up.
Comment 8 Sebastian Sauer 2008-02-02 04:21:56 UTC
> The good one: I cannot reproduce this crash any longer

For some (you) it may a good news, for others (me) it's bad news since it makes reproducing the problem (which may probably not identical to bug #156944 ) rather difficult ;)

Thanks btw for pointing me at the desktop-code. Seems there are dragons in there :-/ Anyway, bug #156944 is fixed now and since we can't reproduce this one, let's just assume it's the same one and mark it as duplicate of the other what in turn means, this bug is solved too (if you run again into it, please just reopen :) Thanks for the feedback!


*** This bug has been marked as a duplicate of 156944 ***
Comment 9 Oliver Putz 2008-02-02 05:37:20 UTC
> which may probably not identical to bug #156944

In fact I am pretty sure that this crash had nothing to do with bug #156944. I "tried out" that bug *after* having written my report here. And before I tried it out, I had a "valid" wallpaper all the time and did not even access the control panel. So whatever made my system crash, I am pretty sure it had other reasons. So I'll keep this bug on my radar and see if I find a way to re-reproduce it and reopen this bug as soon as that happens.. :-)
Comment 10 Sebastian Sauer 2008-02-02 05:47:47 UTC
Well, the functionality that was responsible for the crash of bug #156944 isn't only used at the configuration-dialog but also to render the wallpaper itself (and the backtrace above does indicate it's somewhere at the same code, through it may another bug in there).

From looking over the code I also wouldn't wonder if the bug could be reproduced with very small wallpapers too (e.g. 1x1 pixel). But that's just a guess.

Anyway. In the hope you didn't get it wrong; would be cool if it crashes again for you && thanks for the help :)
Comment 11 Oliver Putz 2008-02-03 01:20:24 UTC
Hi, after you mentioned very small wallpapers, I gave it a shot. You can find the result at bug #157133. As you suggested this, maybe you want to have a look. (Yes, it indeed *does* crash with very small wallpapers too!)