Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[solved] qtgui-4.8.6 = broken?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 5592

PostPosted: Fri Feb 20, 2015 6:05 pm    Post subject: [solved] qtgui-4.8.6 = broken? Reply with quote

Edit: see below - ld.gold caused this

I've recently become unable to run any Qt4 program whatsoever. I tried depcleaning/reinstalling all of dev-qt/*:4 but that didn't fix it. Also wiped out my ~/.kde4 and any qt config around the system I had left over.

I'm thinking the recent Xorg 1.16->1.17 update might have caused it; haven't tried downgrading that yet but I'm about to.

This is what I get when running qtconfig:
Code:
(gdb) run
Starting program: /usr/bin/qtconfig
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
process 24244 is executing new program: /usr/lib64/qt4/bin/qtconfig
warning: Could not load shared library symbols for linux-vdso.so.1.
Do you need "set solib-search-path" or "set sysroot"?
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00000000004111ae in MainWindow::MainWindow (this=0x7fffffffd930)
    at /var/tmp/paludis/dev-qt-qtgui-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/tools/qtconfig/mainwindow.cpp:269
269       if (X11->desktopEnvironment == DE_KDE)
(gdb) print X11
$1 = (QX11Data *) 0x0
(gdb) bt
#0  0x00000000004111ae in MainWindow::MainWindow (this=0x7fffffffd930)
    at /var/tmp/paludis/dev-qt-qtgui-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/tools/qtconfig/mainwindow.cpp:269
#1  0x000000000040c19f in main (argc=1, argv=<optimized out>)
    at /var/tmp/paludis/dev-qt-qtgui-4.8.6-r1/work/qt-everywhere-opensource-src-4.8.6/tools/qtconfig/main.cpp:66

A similar crash happens if I try to run Mumble (SIGABRT straight away). Changing `eselect qtgraphicssystem` doesn't help, though it does change where the crash happens.

Only Qt4 is broken, Qt5 and everything else works fine.

If I try to run a KDE 4 app, it spawns kdeinit stuck at 100% CPU and does nothing. I'm having similar problems building Calligra.


Last edited by Ant P. on Thu Feb 26, 2015 7:30 pm; edited 2 times in total
Back to top
View user's profile Send private message
bec
Apprentice
Apprentice


Joined: 30 Sep 2004
Posts: 216
Location: Cali - Colombia

PostPosted: Fri Feb 20, 2015 9:56 pm    Post subject: Reply with quote

Hi,

I have a kde-4.14.3 desktop, qt-4.8.6 and xorg-server 1.17.0 working fine.
Maybe xorg-server is not the culprit ...
_________________
abe
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 5592

PostPosted: Sat Feb 21, 2015 6:41 pm    Post subject: Reply with quote

I've downgraded xorg-server now and it's still broken, so you're right. Could have been a latent bug in the GCC 4.8 -> 4.9 update for all I know.

Still, it's weirdly specific that Qt is crashing because of a null X11 pointer.

Another thing I just thought to try is ruling out anything from the environment, no progress:
Code:
~ $ env -i DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY strace `which qtconfig`

[...]

open("/usr/lib64/qt4/plugins/imageformats/libqtga.so", O_RDONLY|O_CLOEXEC) = 8
read(8, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\0\0\0\0\0\0\0"..., 832) = 832
fstat(8, {st_mode=S_IFREG|0755, st_size=22168, ...}) = 0
mmap(NULL, 23744, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 8, 0) = 0x7fe91dd3f000
mmap(0x7fe91dd44000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 8, 0x4000) = 0x7fe91dd44000
close(8)                                = 0
stat("/usr/lib64/qt4/bin/imageformats/.", 0x7fff84904210) = -1 ENOENT (No such file or directory)
lstat("/.config/Trolltech.conf", 0x7fff84904310) = -1 EACCES (Permission denied)
stat("/.config/Trolltech.conf", 0x7fff84904320) = -1 EACCES (Permission denied)
stat("/.config", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0
open("/.config/Trolltech.conf.XM7150", O_RDWR|O_CREAT|O_EXCL|O_CLOEXEC, 0600) = -1 EACCES (Permission denied)
open("/.config/Trolltech.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
stat("/.config/Trolltech.conf", 0x7fff849043a0) = -1 EACCES (Permission denied)
lstat("/etc/qt4/Trolltech.conf", 0x7fff84904310) = -1 ENOENT (No such file or directory)
open("/etc/qt4/Trolltech.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/etc/qt4/Trolltech.conf", 0x7fff849043a0) = -1 ENOENT (No such file or directory)
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3687, ...}) = 0
lstat("/.config/Trolltech.conf", 0x7fff84904830) = -1 EACCES (Permission denied)
open("/.config/Trolltech.conf", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)
stat("/.config/Trolltech.conf", 0x7fff849048c0) = -1 EACCES (Permission denied)
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3687, ...}) = 0
lstat("/etc/qt4/Trolltech.conf", 0x7fff84904830) = -1 ENOENT (No such file or directory)
open("/etc/qt4/Trolltech.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/etc/qt4/Trolltech.conf", 0x7fff849048c0) = -1 ENOENT (No such file or directory)
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3687, ...}) = 0
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x580} ---
+++ killed by SIGSEGV +++
Segmentation fault
Back to top
View user's profile Send private message
zsitvaij
n00b
n00b


Joined: 11 Jan 2006
Posts: 72

PostPosted: Sat Feb 21, 2015 7:03 pm    Post subject: Reply with quote

I don't think it's 4.8/4.9 related. I tried to rebuild world with 4.9, got the crash, rebuilt everything again with 4.8 and it's still happening.

I do think it might be related to the Xorg update, but on my laptop it's running with 1.17.1 and it keeps working, and it worked at first on my desktop as well. It might be the new header files that came with the update, I'm pretty sure it was rebuilding Qt that killed it.
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 5592

PostPosted: Sat Feb 21, 2015 7:07 pm    Post subject: Reply with quote

I'm not the only one with this problem? That's great and sad to hear at the same time...

Going to avoid updating my laptop in the meantime.
Back to top
View user's profile Send private message
zsitvaij
n00b
n00b


Joined: 11 Jan 2006
Posts: 72

PostPosted: Sun Feb 22, 2015 9:41 am    Post subject: Reply with quote

Well, this is strange. Building and installing Qt4 manually to /usr/local works.

I configured it minimally as
Code:
./configure -no-cups -no-glib -no-gtkstyle -no-opengl -no-openvg -no-nis -no-declarative -no-multimedia -no-webkit -no-qt3support -nomake examples -nomake demos -nomake docs
gmake -j5
gmake install


This installs to /usr/local/Trolltech/Qt-4.8.6 and doesn't interfere with anything else.
Code:
% qtconfig
zsh: segmentation fault (core dumped)  qtconfig
% LD_LIBRARY_PATH=/usr/local/Trolltech/Qt-4.8.6/lib qtconfig
(this works)


It doesn't seem USE related, I tried a lot of combinations including disabling everything.
Back to top
View user's profile Send private message
toralf
Developer
Developer


Joined: 01 Feb 2004
Posts: 3648
Location: Hamburg

PostPosted: Sun Feb 22, 2015 10:45 am    Post subject: Reply with quote

Ant P. wrote:
I've downgraded xorg-server now and it's still broken, so you're right.
time to change he subject ?
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 5592

PostPosted: Sun Feb 22, 2015 6:34 pm    Post subject: Reply with quote

toralf wrote:
time to change he subject ?

Good point, done
Back to top
View user's profile Send private message
zsitvaij
n00b
n00b


Joined: 11 Jan 2006
Posts: 72

PostPosted: Thu Feb 26, 2015 1:48 pm    Post subject: Reply with quote

I'm not sure what finally did it, but Qt4 works again for me.

Here's what I did:

  1. completely removed every Qt4 package and everything depending on them
  2. set up these files:

    • /etc/portage/env/debug2.conf
      Code:
      CFLAGS="-pipe -march=x86-64 -mtune=generic -ggdb -O1"
      CXXFLAGS="${CFLAGS}"
      FEATURES="${FEATURES} splitdebug installsources"

    • /etc/portage/package.env/qt4.env
      Code:
      dev-qt/qtcore:4 debug2.conf
      dev-qt/qttranslations:4 debug2.conf
      dev-qt/qtscript:4 debug2.conf
      dev-qt/qtgui:4 debug2.conf
      dev-qt/qtsql:4 debug2.conf
      dev-qt/qt3support:4 debug2.conf

    • /etc/portage/package.use/qt4
      Code:
      dev-qt/qtcore:4 debug -abi_x86_32 glib qt3support
      dev-qt/qttranslations:4 debug -abi_x86_32
      dev-qt/qtscript:4 debug -abi_x86_32
      dev-qt/qtgui:4 debug -abi_x86_32 glib -gtkstyle qt3support -egl
      dev-qt/qtsql:4 debug -abi_x86_32 qt3support
      dev-qt/qt3support:4 debug -abi_x86_32


  3. switched from gold to the bfd linker (gcc-4.9.2, binutils-2.25, glibc-2.20-r2, linux-headers-3.19)


My full USE flags on the packages:
Code:
[ebuild   R    ] dev-qt/qtcore-4.8.6-r1:4::gentoo  USE="debug exceptions glib iconv icu pch qt3support ssl (-aqua)" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] dev-qt/qttranslations-4.8.6-r1:4::gentoo  ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] dev-qt/qtscript-4.8.6-r1:4::gentoo  USE="debug exceptions iconv jit pch (-aqua)" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] dev-qt/qtsql-4.8.6-r1:4::gentoo  USE="debug exceptions mysql pch qt3support sqlite (-aqua) -freetds -oci8 -odbc -postgres" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] dev-qt/qtgui-4.8.6-r1:4::gentoo  USE="accessibility cups debug exceptions glib mng pch qt3support tiff xv (-aqua) -egl -gtkstyle -nas -nis -trace -xinerama" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] dev-qt/qt3support-4.8.6-r1:4::gentoo  USE="accessibility debug exceptions pch (-aqua)" ABI_X86="(64) -32 (-x32)" 0 KiB


After emerging dev-qt/qtgui:4 and its dependencies above, qtconfig works again. I installed the rest of Qt and kdelibs with these settings (the debug useflag in particular must match), and KDE seems to work fully.

One more thing: if you have the old 0.10 slot gstreamer installed, unmerge it temporarily before installing qtwebkit with it disabled, the configure script autodetects and enables it on its own. This works around "media-sound/amarok with media-libs/phonon-gstreamer-4.8.0 - amarok hangs at startup when using gstreamer backend" which in turn seems to have fixed the bug "The playback occasionally stops when automatically switching to the next song on the playlist" for me.
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 5592

PostPosted: Thu Feb 26, 2015 7:29 pm    Post subject: Reply with quote

Argh... that fixed it. The linker thing. I switched mine to ld.bfd and recompiled all the dev-qt/*:4 I had installed, and now it suddenly works.
Back to top
View user's profile Send private message
zsitvaij
n00b
n00b


Joined: 11 Jan 2006
Posts: 72

PostPosted: Thu Feb 26, 2015 7:50 pm    Post subject: Reply with quote

Good to know that was the actual culprit. I couldn't bring myself to narrow it down any further, but I'm not overly fond of the extra ~800 megabytes of debugging info and de-optimization.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum