Bug 166009 - plasma panel missing after logging out and in cause of compiling Qt with --ffast-math
Summary: plasma panel missing after logging out and in cause of compiling Qt with --ff...
Status: RESOLVED DOWNSTREAM
Alias: None
Product: plasma4
Classification: Plasma
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-08 02:08 UTC by Clas Rurik
Modified: 2008-12-25 01:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
plasma-appletsrc directly after loggin in (1.11 KB, text/plain)
2008-07-09 02:39 UTC, Clas Rurik
Details
plasma-appletsrc after first logout (1.28 KB, text/plain)
2008-07-09 02:40 UTC, Clas Rurik
Details
plasma-appletsrc after second logout (1.25 KB, text/plain)
2008-07-09 02:40 UTC, Clas Rurik
Details
plasma-appletsrc after third logout (1.26 KB, text/plain)
2008-07-09 02:41 UTC, Clas Rurik
Details
plasmarc after first logout (18 bytes, text/plain)
2008-07-09 02:41 UTC, Clas Rurik
Details
plasmarc after second logout (18 bytes, text/plain)
2008-07-09 02:41 UTC, Clas Rurik
Details
plasmarc after third logout (18 bytes, text/plain)
2008-07-09 02:41 UTC, Clas Rurik
Details
xrandr output (586 bytes, text/plain)
2008-07-09 02:41 UTC, Clas Rurik
Details
Screenshot with many plasmoids before logout (76.89 KB, image/jpeg)
2008-07-16 01:37 UTC, Clas Rurik
Details
Screenshot with many plasmoids after logout (68.53 KB, image/jpeg)
2008-07-16 01:37 UTC, Clas Rurik
Details
testing QSize -> final kconfig save data (1.51 KB, text/plain)
2008-07-16 03:05 UTC, Aaron J. Seigo
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Clas Rurik 2008-07-08 02:08:56 UTC
Version:            (using Devel)
Installed from:    Compiled sources
Compiler:          gcc 4.3 
OS:                Linux

It's a bit curious but I was not able to find a report for this issue.

Logging in for the first time the standard plasma configuration is loaded. After logging out and in again the panel is missing. But it seems that it is some kind of invisible cause in the widget dialog the plasmoids from the panel are still shown as 'added' (I have this red '-' to remove them).
Adding a new panel doesn't help. Logging out and in and the panel is gone too.

If I remember right this starts to happen some weeks ago.
Comment 1 Aaron J. Seigo 2008-07-08 12:06:15 UTC
please attach your panel-appletsrc file as well as plasmarc and the output of `xrandr`. thanks.
Comment 2 Clas Rurik 2008-07-09 02:39:55 UTC
Created attachment 25964 [details]
plasma-appletsrc directly after loggin in
Comment 3 Clas Rurik 2008-07-09 02:40:37 UTC
Created attachment 25965 [details]
plasma-appletsrc after first logout
Comment 4 Clas Rurik 2008-07-09 02:40:46 UTC
Created attachment 25966 [details]
plasma-appletsrc after second logout
Comment 5 Clas Rurik 2008-07-09 02:41:02 UTC
Created attachment 25967 [details]
plasma-appletsrc after third logout
Comment 6 Clas Rurik 2008-07-09 02:41:06 UTC
Created attachment 25968 [details]
plasmarc after first logout
Comment 7 Clas Rurik 2008-07-09 02:41:10 UTC
Created attachment 25969 [details]
plasmarc after second logout
Comment 8 Clas Rurik 2008-07-09 02:41:13 UTC
Created attachment 25970 [details]
plasmarc after third logout
Comment 9 Clas Rurik 2008-07-09 02:41:17 UTC
Created attachment 25971 [details]
xrandr output
Comment 10 Clas Rurik 2008-07-09 02:41:49 UTC
Attached several 'snapshots' (after different actions) of both files so that you can hopefully track this issue down.
The plasmarc only appeared after logging out for the first time.
I copied the files until third logout (plasma-appletsrc seems to change after every logout). All files (except the one directly after logging in) should be broken for me regarding the panel).

These files were generated using my external monitor. If you need further files I can only use my internal laptop screen for the next month but this problem is not limited to the external screen.

(btw. I am using an nvidia driver [173.14.09] but I don't think that this is a driver problem)
Comment 11 Clas Rurik 2008-07-09 15:29:03 UTC
Another note: Even if I restore the file (which was generated after the first login) the panel is missing. So apparently none of these files work for me. The only way to get a panel is having no config files at all.
Comment 12 Clas Rurik 2008-07-10 21:43:21 UTC
Next lead: Only panels which are placed at the top or bottom disappear for me. If I position them at the left or right nothing bad happens.
Comment 13 Clas Rurik 2008-07-16 01:35:39 UTC
I noticed that even the applets are changing there position (using latest svn build, don't know if this was before). I'm attaching 2 screenshots (scaled down) with many plasmoids on it. One before and one after logout so you can see situation. Some just move to the left end of the screen. Maybe the same problem?
Comment 14 Clas Rurik 2008-07-16 01:37:01 UTC
Created attachment 26160 [details]
Screenshot with many plasmoids before logout
Comment 15 Clas Rurik 2008-07-16 01:37:28 UTC
Created attachment 26161 [details]
Screenshot with many plasmoids after logout
Comment 16 Aaron J. Seigo 2008-07-16 03:03:55 UTC
so what jumps out at me is that on first save, we have this for the geometry:

geometry=0,-44,127:,38

that ':' looks very, very wrong.

the max and min size are:


[Containments][3][Configuration]
maximumSize=127:,38
minimumSize=127:,38

notice again we have "127:". this is rather odd since the max/min sizes there are a QSize (so an int and a int) while the geometry setting is a QRectF. indeed, both should be "1024" and not "127" (let alone "127:").

you don't happen to have a script something that replaces 1024 with 127: in ~/.kde/share/config/* or something equally unique going on do you? ;)

in any case, due to this very strange output by the second save through we have:

geometry=0,-44,0,38

i'm going to attach a small test program to this bug report that should hopefully rule out something odd happening in the kconfig saving part of things.

instructions for test:

* download the attachment into a directory by itself
* from a konsole, go into that directory
* do: qmake -project; qmake; make
* run the binary that appears in the directory (it'll be the same name as the directory you created)

copy and paste the output of the test app here... thanks..
Comment 17 Aaron J. Seigo 2008-07-16 03:05:18 UTC
Created attachment 26164 [details]
testing QSize -> final kconfig save data
Comment 18 Clas Rurik 2008-07-16 09:27:04 UTC
no magical script that changes my plasma config :)

unfortunately the output of the test app is always the same and if I am right as expected (used the qmake from the qt-copy svn build):

QSize(1024, 38) (QVariant(int, 1024) ,  QVariant(int, 38) )
to string "1024"
to string "38"
("1024", "38")
"1024,38"

but I think that I found something interesting.
Some time ago I started to build kde4 with some optimization options to see if I get it to a decent speed (well, recent nvidia card with performance problems :|).

For my current build I deleted the "-release" option for qt and my cflags and cxxflags (-pipe -march=i686 -g0 -O2 -fomit-frame-pointer -ffast-math).

With this build I get configuration values which look rather normal.

[Containments][1]
geometry=0,0,1440,900

[Containments][3]
geometry=0,-44,1440,38
plugin=panel

[Containments][3][Configuration]
maximumSize=1440,38
minimumSize=1440,38

(Laptop screen with 1440x900)

If this wasn't fixed in the last 1 or 2 days then could these optimization options cause such silly values as before?
Comment 19 Aaron J. Seigo 2008-07-16 19:14:29 UTC
> the test app is always the same and if I am right as expected

yep. the test app looks right. and of course, it wasn't built with optimizations ... so ...

> If this wasn't fixed in the last 1 or 2 days then could 
> these optimization options cause such silly values as before?

nothing was changed in this area in the last week or two, actually, so i'd suggest it's actually fairly likely that it's related to those optimization options (perhaps even a compiler bug lurking in there somewhere? or a bug in Qt/kdelibs that makes incorrect assumptions that are destroyed with certain optimizations? hrm... i don't see anything very fish in the code though)

bizarrrre.

perhaps we should let this open for a while longer and monitor things before closing it, just to be sure it's not something else that only happens now and again on your system...
Comment 20 Clas Rurik 2008-07-17 23:40:48 UTC
To sum this up: The only way for me to get a "working" build is to use no optimization options at all (used kdesvn-build default settings).

Tried gcc 4.3 and gcc 4.1 with:
cmake-options: -DKDE4_BUILD_TESTS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release
cflags/cxxflags: -pipe -march=i686 -g0 -O2 -fomit-frame-pointer -ffast-math
additional configure flag for qt-copy: -release

and in both cases I get those weird looking configuration values. I know that it is difficult to find an issue which apparently only occurs by single people and even may be a problem completely somewhere else. If I have enough time I may look closer at this issue but I'm not familiar with the plasma source so I would first need some time to understand what's going on there :).
Comment 21 Clas Rurik 2008-07-26 06:56:27 UTC
Some additional informations:

To get a working build it is enough to delete "-fomit-frame-pointer -ffast-math" from the flags. I guess that "-ffast-math" is the problematic option.

Tried with "-march=i686" and "-march=native" in the case that there is some strang problem with using fast-math in combination with i686 and an intel core 2 duo but in both cases the config is wrong.

So in the end I guess that this is nothing which can be fixed here. As far as I read ffast-math is even known to potential give problematic results although the ":" (in addition to the missing last digit) is indeed a bit "too" odd to be caused by this. But this whole problem is very strange... :)
Comment 22 Alex Merry 2008-08-11 21:18:10 UTC
What if you compile Aaron's app as

gcc -l QtCore -I /usr/include/QtCore -pipe -march=i686 -g0 -O2 -fomit-frame-pointer -ffast-math -o test test.cpp

where test.cpp is the file name you saved it as, and /usr/include/QtCore is the path to the QtCore include directory?
Comment 23 Clas Rurik 2008-08-13 23:15:08 UTC
First something else. Because of different problems with Ubuntu and Debian I am currently back using my lovely Gentoo. Got current svn to compile with the same optimization flags and the problem is still there so no distro specific problem.

Already tried building the test app with the same flags and it had no effect on the output. But in case of an optimization problem I guess that it is not caused in such a small program.

Tried again using your command (slightly modified to avoid compile errors):

gcc -l QtCore -I /home/spectred/qt4/include/QtCore -I /home/spectred/qt4/include -L /home/spectred/qt4/lib -pipe -march=i686 -g0 -O2 -fomit-frame-pointer -ffast-math -o kconfigtest main.cpp

but has also no effect.
Comment 24 Clas Rurik 2008-08-30 13:47:38 UTC
Built current svn using my system wide installed Qt (4.4.1, without --fast-math). Kept --fast-math for all the other packages and the problem disappeared as well.
Comment 25 Todd 2008-09-10 18:45:04 UTC
I am having this problem as well.  What is weird, however, is if I maximize a window it maximizes to the size it would if the panel was present.  That is, there is a blank space below the window at the bottom of the screen where the panel would be.  This indicates the panel is still there, or at least kwin is reporting that the panel is still there.  If it is still there it is either invisible or being covered by something.
Comment 26 Piotr Mitas 2008-10-18 14:34:12 UTC
Looks like the problem is caused by QT compiled with --ffast-math. I had this problem too and recompiling QT without this flag solved it.
Comment 27 Aaron J. Seigo 2008-12-25 01:59:37 UTC
build issues.