FS#29467 - [qt] breaks krunner kscreensaver

Attached to Project: Arch Linux
Opened by Christian Chartron (Scalar) - Sunday, 15 April 2012, 12:04 GMT
Last edited by Andrea Scarpino (BaSh) - Wednesday, 09 May 2012, 08:27 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Andrea Scarpino (BaSh)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 30
Private No

Details

Description: after updating to the newest qt-version krunner wont start anymore. a downgrade fixed it for me


Additional info:
qt-4.8.1-1 working; qt-4.8.1-2 not working; up to date kde
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Wednesday, 09 May 2012, 08:27 GMT
Reason for closing:  Fixed
Additional comments about closing:  kdebase-workspace 4.8.3-2
Comment by Andrea Scarpino (BaSh) - Sunday, 15 April 2012, 14:01 GMT
Cannot reproduce. Can you paste the output of $ pacman -Qm?
Comment by Christian Chartron (Scalar) - Sunday, 15 April 2012, 14:14 GMT
I hope this helps but I dont see anything related
Comment by Andrea Scarpino (BaSh) - Sunday, 15 April 2012, 14:17 GMT
Ya, there's nothing related.

Is your system fully up-to-date? Did you add some package to the pacman ignore list?

You can remove ntrack as we do not use it anymore, also re-install our openssl package from [core].
Comment by Christian Chartron (Scalar) - Sunday, 15 April 2012, 14:31 GMT
yeah it is fully up-to-date. Just the qt-package is in ignore. ntrack gone and openssl reinstalled. maybe there is a problem with the dbus initialisation? came in mind because of my shell output:

[charti@greyFox ~]$ krunner
QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.

anyway, thanks for your support so far
Comment by Andrea Scarpino (BaSh) - Sunday, 15 April 2012, 14:37 GMT
No, that's not the error. Look at dmesg and ~/.xsession-error output (or attach them)
Comment by Thomas Dahms (thomasd) - Sunday, 15 April 2012, 15:20 GMT
I have the same issue. My dmesg shows nothing related. The relevant part of my .xsession-errors file shows the same that you see in the console.log that Scalar posted earlier.

You added three patches in 4.8.1-2. I would be happy to test packages with each patch applied alone in order to find the source of the issue. But building qt on my own is not something I have the time for.
Comment by Andrea Scarpino (BaSh) - Sunday, 15 April 2012, 15:32 GMT
Yes I added those 3 patches, but this time the qt package has been built with gcc 4.7.

Please try this package: http://pkgbuild.com/~andrea/pkgs/qt/trunk/qt-4.8.1-3-x86_64.pkg.tar.xz
This is built with GCC 4.7 and with no patches.
Comment by Christian Chartron (Scalar) - Sunday, 15 April 2012, 15:55 GMT
dont work with this pkg (4.8.1-3) either.
Comment by Andrea Scarpino (BaSh) - Sunday, 15 April 2012, 15:56 GMT
So it's related to GCC 4.7...
Comment by Christian Chartron (Scalar) - Sunday, 15 April 2012, 16:37 GMT
so, do I need to send another bug report in relation to gcc?
Comment by Andrea Scarpino (BaSh) - Sunday, 15 April 2012, 16:39 GMT
No, I'll look into. I'll contact upstream, but not now.

Assistant is broken too because of GCC.
Comment by Christian Chartron (Scalar) - Sunday, 15 April 2012, 16:45 GMT
ok, thx for your help... wish you a nice sunday evening ;D
Comment by Tu Hoang (gColossus) - Monday, 16 April 2012, 01:13 GMT
This happened to me as well. A downgrade of qt fixed the problem.
Comment by Kyle Keen (keenerd) - Monday, 16 April 2012, 01:30 GMT
This has not happened to me. I am running 32 bit x86 with all desktop effect disabled. If it is architectural, it is probably GCC.
Comment by Andrea Scarpino (BaSh) - Monday, 16 April 2012, 05:30 GMT
I use x86_64 and I've not this crash.

Looking at https://bugs.kde.org/show_bug.cgi?id=298131 seems this is a configuration error, try to remove the plasma configuration:
$ rm ~/.kde4/share/config/plasma*rc
Comment by Sebastian Strand (zeb) - Monday, 16 April 2012, 09:18 GMT
This happened to me. Removing all the plasma*rc files fixed the problem, but it reoccured when I changed back to the Androbit theme. It works fine with the default theme (Air?) as well as Slim Glow and Oxygen, didn't try the others.
Comment by Christian Chartron (Scalar) - Monday, 16 April 2012, 11:44 GMT
Deleting the plasma*rc files isnt the solution. works as long as i dont change back my theme to "Produkt". So the problem is the theme.
Comment by Michael Duell (akurei) - Monday, 16 April 2012, 15:41 GMT
I am also affected. Not only krunner is broken, but also
$ qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
is not working anymore and when I run
$ xrandr --output LVDS1 --primary --pos 0x0 --mode 1440x900 --output VGA1 --right-of LVDS1 --mode 1920x1200
plasma-workspace crashes.

Downgrading qt to
Version : 4.8.1-1
solved the problems.
Comment by Artem A Klevtsov (unikum) - Monday, 16 April 2012, 17:56 GMT
Confirm this. kdeinit crash after kde starts and krunner not work. I tried manually launch kruuner but it provide the kdeinit crash.
Comment by Cristian Herrera (chico76) - Tuesday, 17 April 2012, 07:03 GMT
A rollback on qt solved the problems.

Download package frpm the arch linux rollbackmachine:

bash$ wget http://arm.konnichi.com/2012/04/04/extra/os/x86_64/qt-4.8.1-1-x86_64.pkg.tar.xz
bash# pacman -U qt-4.8.1-1-x86_64.pkg.tar.xz


Comment by Z.T. (t_zeev) - Wednesday, 18 April 2012, 08:19 GMT Comment by Jakub Schmidtke (sjakub) - Wednesday, 18 April 2012, 20:04 GMT
I have the same problem, but for some reason only on one of the 3 machines I use.
Downgrading Qt solves it!
Comment by Andrea Scarpino (BaSh) - Friday, 20 April 2012, 18:15 GMT
I don't get how I can reproduce this.

Does anyone use [testing] and has this issue? I use gcc-libs-multilib too.
Comment by Laurent Carlier (lordheavy) - Monday, 23 April 2012, 09:49 GMT
No issue here (with testing/multilib-testing) enabled, but got segfault issues with a freshly installed computer without testing/multilib-testing, i had to downgrade to 4.8.4-1 to properly start kde (no problems with kdm)
Comment by Dmitry Korzhevin (dkorzhevin) - Tuesday, 24 April 2012, 08:24 GMT
Hello,

I found nice workaround, when i try to debug problem with krunner, kscreensaver, etc..

Next steps solve this problem without downgrading to previous version of Qt:

1. Sync abs tree from root
2. Go to /var/abs/extra/kdebase-workspace
3. Edit PKGBUILD and change:

-DCMAKE_BUILD_TYPE=Release

to

-DCMAKE_BUILD_TYPE=Debug

4. Same for /var/abs/extra/kdelibs

5. Build and install both packages with 'pacman -U'

After this trick krunner, kscreensaver, and some other components of KDE start working as expected.

Also i prepare compiled packages (for x86_64):

http://lsupport.net/resources/files-library/category/6-packages-with-debug-symbols.html
Comment by Z.T. (t_zeev) - Tuesday, 24 April 2012, 08:31 GMT
Does "-DCMAKE_BUILD_TYPE=Debug" simply produce a not-stripped optimized build or does it produce an unoptimized build (gcc -O0)? Because keeping symtabs is fine (indeed, preferred), but running KDE compiled with -O0 is unacceptable.

How about keeping gcc 4.6 around and using it to compile packages that cannot be safely compiled with gcc 4.7, until either the package or gcc fix the problem? That seems a much more reasonable solution, if indeed the problem is caused by the switch to gcc 4.7 (as seems likely).
Comment by Thomas Dahms (thomasd) - Tuesday, 24 April 2012, 11:57 GMT
Dmitry, did you also try to compile unmodified PKGBUILDs of kdebase-workspace and kdelibs with gcc 4.7 (i.e., with -DCMAKE_BUILD_TYPE=Release)? Maybe the whole KDE just has to be compiled with 4.7?
Comment by Andrea Scarpino (BaSh) - Tuesday, 24 April 2012, 13:04 GMT
Please test with these kdebase-workspace packages rebuilt with gcc 4.7:
http://pkgbuild.com/~andrea/pkgs/kdebase-workspace/trunk/kdebase-workspace-4.8.2-3-i686.pkg.tar.xz
http://pkgbuild.com/~andrea/pkgs/kdebase-workspace/trunk/kdebase-workspace-4.8.2-3-x86_64.pkg.tar.xz

I'll provide kdelibs packages ASAP.

Dmitry you simply did a rebuild. You need to add the !strip option to the PKGBUILD to enable the debug mode.
Comment by Thomas Dahms (thomasd) - Tuesday, 24 April 2012, 13:11 GMT
Your package does not fix it for me. I will wait for your kdelibs package.
Comment by ifaigios (ifaigios) - Tuesday, 24 April 2012, 14:11 GMT
Locally building kdebase-workspace and kdelibs (with stock PKGBUILDs) using GCC 4.7.0 doesn't fix the problem for me (Androbit theme). Haven't tried Andrea's packages yet.
Comment by Jan (next-play) - Tuesday, 24 April 2012, 16:34 GMT
All was fine, krunner worked until I installed the fglrx driver and downgraded xorg to version 1.11. Now krunner will crash, if I start it. But only on some desktop themes. On Oxygen krunner works but on Androbit not! Downgrade to qt to 4.8.1-1 works for me. PS: Sorry for my bad english
Comment by Andrea Scarpino (BaSh) - Tuesday, 24 April 2012, 20:52 GMT
kdelibs packages:
http://pkgbuild.com/~andrea/pkgs/kdelibs/trunk/kdelibs-4.8.2-2-i686.pkg.tar.xz
http://pkgbuild.com/~andrea/pkgs/kdelibs/trunk/kdelibs-4.8.2-2-x86_64.pkg.tar.xz

Please install kdelibs 4.8.2-2, kdebase-workspace 4.8.2-3, qt 4.8.1-2. Then logout/reboot and try krunner.
Thanks!
Comment by Thomas Dahms (thomasd) - Wednesday, 25 April 2012, 06:58 GMT
Still broken for me with your packages.

I did not try Dmitry's packages with "-DCMAKE_BUILD_TYPE=Debug", but maybe that introduces other changes besides debug symbols.
Comment by Dmitry Korzhevin (dkorzhevin) - Wednesday, 25 April 2012, 17:51 GMT
2 Thomas:

Please try my packages, i test them, they works. Hope my packages will work for you too. Just try to build them from abs, with option -DCMAKE_BUILD_TYPE=Debug
Comment by Michael Duell (akurei) - Wednesday, 25 April 2012, 20:33 GMT
I can confirm that compiling kdebase-workspace as Dmitry said (-DCMAKE_BUILD_TYPE=Debug and !strip) fixes the bug for me.

Attached you find the kcrash logs BEFORE I built and installed kdebase-workspace. Maybe they're still useful?

The first one 211556 is with standard fully updated system.
The second one 214052 is with Andrea's packages installed.
Comment by Andrea Scarpino (BaSh) - Wednesday, 25 April 2012, 20:39 GMT
Did you try my packages?
kdelibs 4.8.2-2, kdebase-workspace 4.8.2-3, qt 4.8.1-2
Comment by ifaigios (ifaigios) - Wednesday, 25 April 2012, 21:10 GMT
Andrea's packages don't work either.
Comment by Michael Duell (akurei) - Wednesday, 25 April 2012, 22:05 GMT
I did NOT try:

Please try this package: http://pkgbuild.com/~andrea/pkgs/qt/trunk/qt-4.8.1-3-x86_64.pkg.tar.xz
This is built with GCC 4.7 and with no patches.

because it's 404'd. But I tried kdebase-workspace and kdelibs:


First -Syu
[2012-04-25 21:25] Running 'pacman -S -u'
[2012-04-25 21:25] starting full system upgrade
[2012-04-25 21:25] upgraded cmake (2.8.8-1 -> 2.8.8-2)
[2012-04-25 21:25] upgraded qt (4.8.1-1 -> 4.8.1-2)
[2012-04-25 21:25] upgraded thunderbird (11.0.1-2 -> 12.0-1)
[2012-04-25 21:25] upgraded virtuoso (6.1.4-2 -> 6.1.5-1)

Then I installed kdebase-workspace and kdelibs
[2012-04-25 21:28] Running 'pacman -U kdebase-workspace-4.8.2-3-x86_64.pkg.tar.xz kdelibs-4.8.2-2-x86_64.pkg.tar.xz'
[2012-04-25 21:28] upgraded kdebase-workspace (4.8.2-2 -> 4.8.2-3)
[2012-04-25 21:28] upgraded kdelibs (4.8.2-1 -> 4.8.2-2)

It did not work, so I compiled kdebase-workspace myself as Dmitry said:
[2012-04-25 22:24] Running 'pacman -U /home/shared/abs/pkg/kdebase-workspace-4.8.2-2-x86_64.pkg.tar.xz'
[2012-04-25 22:28] upgraded kdebase-workspace (4.8.2-3 -> 4.8.2-2)

Comment by Z.T. (t_zeev) - Thursday, 26 April 2012, 13:55 GMT
Compiling kdebase-workspace from ABS with -DCMAKE_BUILD_TYPE=Debug and !strip *DID* fix the problem for me.
I don't particularly like this solution, because the upgrade adds 300MB.
Comment by Andrea Scarpino (BaSh) - Thursday, 26 April 2012, 15:49 GMT
Yes, debug symbols are expensive.

So you are saying that a simple rebuild (with no edit) doesn't fix it, does it?
Comment by Z.T. (t_zeev) - Thursday, 26 April 2012, 15:59 GMT
I didn't try a rebuild without debug symbols. I'll try now.
Comment by Michael Duell (akurei) - Thursday, 26 April 2012, 17:24 GMT
Nope, I just built the unmodified kdebase-workspace but krunner now crashes again. Only the -DCMAKE_BUILD_TYPE=Debug and !strip build works.
Comment by Z.T. (t_zeev) - Thursday, 26 April 2012, 17:45 GMT
Confirm rebuilding without modification does not help.

-DCMAKE_BUILD_TYPE=Debug *without* !strip works too. Code looks compiled with optimizations, so I'm now looking at the difference DCMAKE_BUILD_TYPE makes considering I'm stripping the symbols anyway.

-DCMAKE_BUILD_TYPE=Debug absolutely makes a difference, regardless of stripping. This comment: https://bugs.archlinux.org/task/29467#comment93195 is absolutely wrong.

I've built twice, once with Release and once with Debug, both _with_ stripping. I've renamed the tarball built with Debug.

Then I've run: diff -u <(tar vtJf kdebase-workspace-4.8.2-2-x86_64.pkg.tar.xz | awk '{print $3 " " $6}' | sort -rn) <(tar vtJf kdebase-workspace-4.8.2-2-x86_64.pkg.tar.xz.debug| awk '{print $3 " " $6}' | sort -rn)

This is a sample from the top of the diff:

-1307272 usr/lib/libkdeinit4_kwin.so
-1282472 usr/lib/libkdeinit4_kwin_gles.so
+1529032 usr/lib/libkdeinit4_kwin.so
+1508328 usr/lib/libkdeinit4_kwin_gles.so
-793096 usr/lib/kde4/kwin4_effect_builtins.so
-780552 usr/lib/kde4/kwin4_effect_gles_builtins.so
-747632 usr/lib/kde4/plugins/styles/oxygen.so
+899944 usr/lib/kde4/kwin4_effect_builtins.so
+887400 usr/lib/kde4/kwin4_effect_gles_builtins.so
+870600 usr/lib/kde4/plugins/styles/oxygen.so
+682032 usr/lib/libkdeinit4_plasma-desktop.so
+606424 usr/lib/kde4/kcm_fontinst.so
+596200 usr/lib/libplasmagenericshell.so.4.8.0
-542512 usr/lib/libkdeinit4_plasma-desktop.so
-516016 usr/lib/libkdeinit4_ksysguard.so
-514160 usr/lib/libplasmagenericshell.so.4.8.0
-503720 usr/lib/kde4/kcm_fontinst.so
-421240 usr/lib/libtaskmanager.so.4.8.0
+577608 usr/lib/libkdeinit4_ksysguard.so
+511552 usr/lib/libtaskmanager.so.4.8.0

Debug binaries obviously have asserts or debug code or different optimizations (though definitely not -O0 like I feared). They are different after stripping.

diff of `size -A`:

-libkdeinit4_kwin.so.release :
+libkdeinit4_kwin.so.debug :
section size addr
.note.gnu.build-id 36 456
-.gnu.hash 248 496
-.dynsym 42264 744
-.dynstr 62072 43008
-.gnu.version 3522 105080
-.gnu.version_r 192 108608
-.rela.dyn 69888 108800
-.rela.plt 32448 178688
-.init 14 211136
-.plt 21648 211152
-.text 827944 232800
-.fini 9 1060744
-.rodata 71314 1060768
-.eh_frame_hdr 22868 1132084
-.eh_frame 107924 1154952
-.init_array 472 3363656
-.fini_array 8 3364128
-.jcr 8 3364136
-.data.rel.ro 25520 3364160
-.dynamic 928 3389680
-.got 848 3390608
-.got.plt 10840 3391464
-.data 68 3402304
-.bss 1792 3402400
+.gnu.hash 1184 496
+.dynsym 44376 1680
+.dynstr 65381 46056
+.gnu.version 3698 111438
+.gnu.version_r 192 115136
+.rela.dyn 69912 115328
+.rela.plt 34176 185240
+.init 14 219416
+.plt 22800 219440
+.text 846808 242240
+.fini 9 1089048
+.rodata 136114 1089088
+.eh_frame_hdr 53068 1225204
+.eh_frame 208844 1278272
+.init_array 472 3584848
+.fini_array 8 3585320
+.jcr 8 3585328
+.data.rel.ro 25520 3585344
+.dynamic 928 3610864
+.got 856 3611792
+.got.plt 11416 3612648
+.data 68 3624064
+.bss 1824 3624160
.comment 78 0
-Total 1302953
+Total 1527790
Comment by Conner (quasifilmlie) - Thursday, 03 May 2012, 18:16 GMT
When I change my desktop theme to androbit. Krunner works but when I relogin, krunner crashes. Changing theme back to air stops krunner from crashing. Haven't testing screensaver.
Comment by Andrea Scarpino (BaSh) - Thursday, 03 May 2012, 18:20 GMT
In the next hours I'll release KDE 4.8.3, and I hope that will fix this (new build toolchain, whole rebuild...)

I'm sorry, to have no time to debug it.
Comment by Conner (quasifilmlie) - Friday, 04 May 2012, 01:37 GMT
Not fixed in kde 4.8.3. I have essentially the same output as christian's shellout.log except this at teh bottom.

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
KCrash: Attempting to start /usr/bin/krunner from kdeinit
sock_file=/home/conner/.kde4/socket-arch-laptop/kdeinit4__0
KCrash: Application 'krunner' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/conner/.kde4/socket-arch-laptop/kdeinit4__0
QSocketNotifier: Invalid socket 10 and type 'Read', disabling...

Comment by Conner (quasifilmlie) - Friday, 04 May 2012, 01:48 GMT
No crashes on:

Air
Air for Notebooks
Aya
Slim Glow
Oxygen


Only crashing with androbit from the themes I have tested. Don't have time today to test all the stock themes.
Comment by Kay Abendroth (kay.abendroth) - Friday, 04 May 2012, 09:19 GMT
Crashes on Air for me.
Comment by L.J. (gentoofu) - Saturday, 05 May 2012, 02:40 GMT
I think ever since the 4.8 update, sometimes a ghost would stick in my task bar when I closed a window, mostly firefox. And lately I was getting the same problem as everyone here, maybe due to some incompatibilities with graphics hardware. No matter the desktop theme was used.

Not advisable, but making a backup (make sure you copy and paste the notes somewhere if you're using the widget) and deleting .kde4 fixes the problem for me with some caveat. I have to enable desktop effects, otherwise I'd get some thread crashes.
Comment by Artem A Klevtsov (unikum) - Saturday, 05 May 2012, 07:02 GMT
Update KDE to 4.8.3 not solved the problem.
Comment by Marius Cirsta (mcirsta) - Monday, 07 May 2012, 11:17 GMT
Do this and I can help you find the problem:

OK so I've found out what this crash was about but on Frugalware linux, I've already fixed it there and all seems fine. I'm not sure what goes wrong on other distro like Arch but it could be the same or similar. Here's what to do:
1. Make debug version of Qt4 ( with debug symbols so gdb can find line numbers and such )
2. Make version with debug flags stuff , kdeworkspace on Frugalware. Please note that I don't mean compile KDE with debug option, then the error will be gone. You should modify the flags for KDE cmake , can't remeber right now , and add -ggdb3. I can find it again if you need.
3. Now gdb krunner 4. from gdb prompt : catch throw
5. run --nofork
6. You should now have a backtrace of where the exception is thrown from. It's not what DrKonqi displays as you will see. Line numbers should be included.

Or you could just write here and on the KDE bug tracker about how it happens to you too an what workarounds you've found.
Comment by Marius Cirsta (mcirsta) - Monday, 07 May 2012, 11:24 GMT
KDE compile flags are in FindKDE4Internal.cmake ,you just need to add "-ggdb3" to release flags.
Comment by Marius Cirsta (mcirsta) - Tuesday, 08 May 2012, 22:38 GMT
There's a patch for this by Aaron Seigo, could anyone try it ?

http://mail.kde.org/pipermail/plasma-devel/attachments/20120508/b7d0e586/attachment.diff

The source if from the conversation here:

http://mail.kde.org/pipermail/plasma-devel/2012-May/019472.html
Comment by Andrea Scarpino (BaSh) - Tuesday, 08 May 2012, 23:08 GMT Comment by Michael Duell (akurei) - Tuesday, 08 May 2012, 23:26 GMT
I can confirm, the patch by Aaron Seigo fixes this bug for me! Thanks a lot!

EDIT: I compiled the package by myself[1], I did not use Andrea's package.

[1]:
yaourt -G kdebase-workspace
cd kdebase-workspace
makepkg -o
<patch the file>
makepkg -escfi
<reboot>

Loading...