Summary: | KDE apps crash if qt-3.3.6 built with USE=debug | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Robin Bankhead <gentoo> |
Component: | [OLD] KDE | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | b.buschinski, mike |
Priority: | High | ||
Version: | 2005.0 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Robin Bankhead
2006-03-28 11:07:01 UTC
Three changes made but the disposition of my system is still the same. 1) Removed "debug" flag and rebuilt qt 2) Rebuilt qt with less aggressive C[XX]FLAGS="-O2 -march=pentium4 -pipe" 3) KDE upgraded to 3.5.2 All behaviour/messages observed at startup remain as before. This does beg the question of whether the KDE-apps are indeed miscompiled, or whether it's a problem with the interaction between startkde and X11R7. But would this cause KCrash to report the programs were "crashing"? I had assumed this word denoted a segfault or similar type of crash. Can anyone advise? I've heard that this may be caused using -Os with GCC 4.1.0 I'm experiencing the same problem and I'm attempting to fix it (In reply to comment #2) > I've heard that this may be caused using -Os with GCC 4.1.0 > > I'm experiencing the same problem and I'm attempting to fix it > Hi Michael As I mentioned above, the condition is the same with -O2; would it be worth trying with -O3 also? (What I'm asking is, based on what you have heard, is that a logical step?) I'd also like to know what steps I can take to get more useful error-reporting. There's so little useful output right now (unless there is somewhere else I'm not looking). -O2 would most likely be more stable than -O3. Can you try running the failing programs in gdb. Perhaps we can get a useful backtrace. Okay, I just emerged gdb and have not used it before, so forgive me if I'm on a bit of a learning-curve. I did gdb sh ...and then... (gdb) run /usr/kde/3.5/bin/startkde Starting program: /bin/sh /usr/kde/3.5/bin/startkde (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) xset: bad font path element (#76), possible causes are: Directory does not exist or has wrong permissions Directory missing fonts.dir Incorrect font server address or syntax startkde: Starting up... startkde: Running kpersonalizer... Session management error: Authentication Rejected, reason : None of the authenti cation protocols specified are supported and host-based authentication failed Session management error: Authentication Rejected, reason : None of the authenti cation protocols specified are supported and host-based authentication failed KCrash: Application 'kpersonalizer' crashing... Warning: connect() failed: : No such file or directory KCrash cannot reach kdeinit, launching directly. KCrash: Application 'kwin' crashing... Warning: connect() failed: : No such file or directory KCrash cannot reach kdeinit, launching directly. call failed Session management error: Authentication Rejected, reason : None of the authenti cation protocols specified are supported and host-based authentication failed KCrash: Application 'ksplash' crashing... KCrash cannot reach kdeinit, launching directly. Warning: connect() failed: : Connection refused Will be happy to run some individual binaries too, but though this was the best place to start. Does it help? Sorry, the debug above isn't analogous to the previous output, because this time I was running startkde from root. I recompiled kdelibs, kwin, kdm, ksplash and kpersonalizer with +debug, but the output with gdb was exactly the same! sh startkde (as user this time): robin@pengi ~ $ gdb sh GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run startkde Starting program: /bin/sh startkde (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) xset: bad font path element (#76), possible causes are: Directory does not exist or has wrong permissions Directory missing fonts.dir Incorrect font server address or syntax xset: bad font path element (#76), possible causes are: Directory does not exist or has wrong permissions Directory missing fonts.dir Incorrect font server address or syntax startkde: Starting up... KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = ksplash path = <unknown> pid = 27012 Warning: connect() failed: : No such file or directory KCrash cannot reach kdeinit, launching directly. kdeinit: Pipe closed unexpectedly: No such file or directory kdeinit: Launched DCOPServer, pid = 27016 result = 1 kdeinit: DCOPServer could not be started, aborting. Warning: connect() failed: : Connection refused kdeinit: Pipe closed unexpectedly: No such file or directory kdeinit: Launched DCOPServer, pid = 27020 result = 1 kdeinit: DCOPServer could not be started, aborting. Could not register with DCOPServer. Aborting. ERROR: Couldn't attach to DCOP server! startkde: Shutting down... Warning: connect() failed: : Connection refused Error: Can't contact kdeinit! startkde: Running shutdown scripts... startkde: Done. Program exited normally. (gdb) quit There was also a motif popup error-dialog saying something about the DCOPserver, which unfortunately I wasn't able to transcribe at the time (will do so later). ksplash: (gdb) run Starting program: /usr/kde/3.5/bin/ksplash (no debugging symbols found) ...snip x30 or so... (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 1857033904 (LWP 26960)] Program exited normally. (gdb) DCOPClient::attachInternal. Attach failed Could not open network socket DCOPClient::attachInternal. Attach failed Could not open network socket DCOPClient::attachInternal. Attach failed Could not open network socket DCOPClient::attachInternal. Attach failed Could not open network socket DCOPClient::attachInternal. Attach failed Could not open network socket DCOPClient::attachInternal. Attach failed Could not open network socket kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-robin/ksycoca kio (KTrader): query for KSplash/Plugin : returning 1 offers KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = ksplash path = <unknown> pid = 26963 Warning: connect() failed: : No such file or directory KCrash cannot reach kdeinit, launching directly. Quit (gdb) quit kwin: robin@pengi ~ $ gdb kwin GNU gdb 6.4 Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/kde/3.5/bin/kwin (no debugging symbols found) ...snip... (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 1859786416 (LWP 8131)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1859786416 (LWP 8131)] 0x6ed9f36c in alphaBlendColors () from /usr/kde/3.5/lib/kde3/plugins/styles/plastik.so This last error I also got with kpersonalizer. kdm exited normally. Hope this gives better clues. BTW, why are these apps still spewing so many 'no debugging symbols' messages? Here's that dialog box: There was an error setting up inter-process communications for KDE. The message returned by the system was: Could not read network connection list. /home/robin/.DCOPserver_pengi___0 Please check that the "dcopserver" program is running! So it's crashing when starting up. Are you able to manually start up some of the kde related programs? One of them looks to be crashing. That's the one we need to investigate. Have a look through startkde and see if you can try manually starting a few of the processes it does. Will do - later tonight hopefully, in the meantime I'm taking your advice (from bug #81066) and doing another emerge -e world. Regarding which apps are crashing, some things such as ksmserver or kdm may keep running (albeit not doing anything useful). They remain in the process list, whereas kwin, ksplash, kpersonalizer just die. Will be back with more info once I've looked over startkde again. OK very strange. I think I've pinpointed the promlem. Namely Keramic When Plastik is set KDE loads up perfectly and if you try and change the setting kcontrol crashes Any one know what could be causing this? Mike Mike, Have a look at #6. I have plastik set and am having the problem. I do think it is theme-related (or with the building of themes), but not that it's linked to a particular one. V strange just changed -Os to -O2 and did a revdep-rebuild --library libqt.*.*.*.* Now everything seems to work fine Mike (In reply to comment #8) > So it's crashing when starting up. > > Are you able to manually start up some of the kde related programs? One of > them looks to be crashing. That's the one we need to investigate. > > Have a look through startkde and see if you can try manually starting a few of > the processes it does. > Okay, I read through startkde and edited some markers into it. That tells me where the first section of error output (not counting the 'bad font path' errors, which I'mm sure are non-fatal) occurs. So this section of the script... # We set LD_BIND_NOW to increase the efficiency of kdeinit. # kdeinit unsets this variable before loading applications. LD_BIND_NOW=true kdeinit +kcminit if test $? -ne 0; then # Startup error echo 'startkde: Could not start kdeinit. Check your installation.' 1>&2 xmessage -geometry 500x100 "Could not start kdeinit. Check your installation." fi ...causes this output... kdeinit: Pipe closed unexpectedly: No such file or directory kdeinit: Launched DCOPServer, pid = 8142 result = 1 kdeinit: DCOPServer could not be started, aborting. Does this help at all? Running kdeinit +kcminit in gdb just gives the same output as above. As you'll see above, I have already identified segfaults in kwin and kpersonalizer... Looks like I may have overcome this one. I rebuilt the core packages with reduced flags, as follows: CFLAGS="-O2 -pipe -march=pentium4" CXXFLAGS="${CXXFLAGS}" emerge --oneshot kcminit kdm ksplashml kwin That was enough to get through KDM and the Desktop up, though there remain a number of other apps to be rebuilt. If successful I'll let you know. I've been able to get all of KDE running again by using -O2 instead of -Os. This fix also worked with building the latest python, and there were a couple of others (non-KDE) but I forget which. It seems to be a larger issue with the use of -Os possibly related to glibc-2.4 or gcc-4, but it will definitely affect all KDE GUI apps built with UIC - question is, will it do so with other Qt apps? I am having this kind of problem too but just when I build an app with debug especially with kdevelop when I build the lastest svn with debug (yes the svn ebuild is not in portage...) kdevelop keep on crashing (and QDataStream seems to work wrong, often) but when I built it without debug everything works fine I wonder why this only happens on gentoo systems a friend of mine has the same problem, but I never found a guy with another distro who has this problem gcc-4.1.1, glibc-2.5, qt-3.3.6-r4(with debug) CFLAGS="-march=athlon64 -O2 -pipe" CBUILD="x86_64-pc-linux-gnu" I would be happy if you could give me a hint to fix this :) Is this still a problem with current versions? No, it works fine for me. It wasnt a qt problem anyway, it was just an uninitialized used variable which cause the problem for me in in kdevelop. So from my point of view the bug is invalid. This was most likely caused by the combination of the old versions no longer in Portage and CFLAGS. |