Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 149082 - www-client/mozilla-firefox-1.5.0.7 seg fault on compile (xpidl broken)
Summary: www-client/mozilla-firefox-1.5.0.7 seg fault on compile (xpidl broken)
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-25 09:50 UTC by Jon Bramley
Modified: 2006-10-04 10:34 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
script of the whole mozilla-firefox build (logfile.txt,123.89 KB, text/plain)
2006-09-27 02:30 UTC, Jon Bramley
Details
Access Violation error when emerging glibc (glibc_error.txt,28.17 KB, text/plain)
2006-09-27 05:58 UTC, Jon Bramley
Details
GCC emerge error (gcc_error.txt,116.06 KB, text/plain)
2006-09-27 07:04 UTC, Jon Bramley
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Bramley 2006-09-25 09:50:01 UTC
Compiling www-client/mozilla-firefox-1.5.0.7 on a fresh gentoo install results in:

/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/config/nsinstall -R -m 644 nsID.h nsIGenericFactory.h nsIInterfaceRequestorUtils.h nsISupportsImpl.h nsISupportsUtils.h nsIWeakReferenceUtils.h nsCOMPtr.h nsDebug.h nsGenericFactory.h nsMemory.h nsTraceRefcnt.h nsWeakReference.h nsComponentManagerUtils.h nsServiceManagerUtils.h nsVersionComparator.h ../../dist/sdk/include
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/xpcom/glue'
gmake[3]: Entering directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/xpcom/base'
Creating .deps
Creating ../../dist/idl
Creating _xpidlgen/.done
Creating ../../dist/sdk/idl
/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/config/nsinstall -R -m 644 nsAgg.h nsAutoPtr.h nsCom.h nsDebugImpl.h nsIAllocator.h nsIID.h nsISupportsObsolete.h nsTraceRefcntImpl.h nsWeakPtr.h nsInterfaceRequestorAgg.h ../../dist/include/xpcom
nsIConsoleListener.idl
../../dist/bin/xpidl -m header -w -I. -I../../dist/idl -o _xpidlgen/nsIConsoleListener nsIConsoleListener.idl
nsIConsoleMessage.idl
../../dist/bin/xpidl -m header -w -I. -I../../dist/idl -o _xpidlgen/nsIConsoleMessage nsIConsoleMessage.idl
gmake[3]: *** [_xpidlgen/nsIConsoleListener.h] Segmentation fault
gmake[3]: *** Deleting file `_xpidlgen/nsIConsoleListener.h'
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: *** [_xpidlgen/nsIConsoleMessage.h] Segmentation fault
gmake[3]: *** Deleting file `_xpidlgen/nsIConsoleMessage.h'
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/xpcom/base'
gmake[2]: *** [export] Error 2
gmake[2]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/xpcom'
gmake[1]: *** [tier_2] Error 2
gmake[1]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla'
make: *** [default] Error 2

!!! ERROR: www-client/mozilla-firefox-1.5.0.7 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_compile
  ebuild.sh, line 937:   Called src_compile
  mozilla-firefox-1.5.0.7.ebuild, line 182:   Called die


Here is emerge --info www-client/mozilla-firefox-1.5.0.7

Portage 2.1.1 (default-linux/x86/2006.1, gcc-4.1.1, glibc-2.4-r3, 2.6.15-26-686 i686)
=================================================================
                        System Settings
=================================================================
System uname: 2.6.15-26-686 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System version 1.12.1
Last Sync: Fri, 22 Sep 2006 01:53:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: 1.2.11-r1
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-pointer -fno-exceptions"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-O2 -march=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.mirrorservice.org/sites/www.ibiblio.org/gentoo/ ftp://mirrors.blueyonder.co.uk/mirrors/gentoo"
LANG="en_GB.UTF-8"
LINGUAS=""
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.mirrorservice.org/www.ibiblio.org/gentoo/"
USE="x86 X a52 acpi alsa audiofile berkdb bitmap-fonts calendar cli crypt cups curl dlloader dri dvd dvdread elibc_glibc fbcon ffmpeg firefox flac fortran ftp gdbm gif gpm gstreamer gtk gtk2 hal imap informix innodb input_devices_keyboard input_devices_mouse ipv6 isdnlog jabber java javascript jikes jpeg junit kernel_linux ldap libcaca libg++ mad matroska matrox mime mp3 mpeg msn ncurses nis nls nptl nptlonly opengl pam pcre perl png ppds pppd python qt3 qt4 quicktime readline reflection samba session spl ssl tcl tcltk tcpd tk truetype truetype-fonts type1-fonts udev unicode usb userland_GNU vcd video_cards_mga vorbis win32codecs xine xinerama xml xorg xvid zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Traceback (most recent call last):
  File "/usr/bin/emerge", line 4049, in ?
    emerge_main()
  File "/usr/bin/emerge", line 4019, in emerge_main
    action_info(settings, trees, myopts, myfiles)
  File "/usr/bin/emerge", line 3206, in action_info
    mypkgs.extend(vardb.match(x))
  File "/usr/lib/portage/pym/portage.py", line 4292, in match
    mymatch=match_from_list(mydep,self.cp_list(mykey,use_cache=use_cache))
  File "/usr/lib/portage/pym/portage_dep.py", line 303, in match_from_list
    raise KeyError("Specific key requires an operator" + \
KeyError: "Specific key requires an operator (www-client/mozilla-firefox-1.5.0.7) (try adding an '=')"
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2006-09-25 09:53:01 UTC
Can you reproduce it, i.e. does it fail again at *exactly* the same place?
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2006-09-25 09:55:35 UTC
Plus OMG fix your C[XX]FLAGS, they don't make any sense whatsoever. Why do you have different -march in CFLAGS and CXXFLAGS? Recompile with

CFLAGS="-O2 -march=pentiumpro -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Comment 3 Jon Bramley 2006-09-25 10:00:40 UTC
These are my flags as they appear in /etc/make.conf

CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

I don't know where the CFLAGS listed there came from! I'll try with your FLAGS now.
Comment 4 Jon Bramley 2006-09-25 10:18:54 UTC
Ok, just tried with:

CFLAGS="-O2 -march=pentiumpro -fomit-frame-pointer" CXXFLAGS={$CFLAGS} emerge www-client/mozilla-firefox

Still no joy:

/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/config/nsinstall -R -m 644 nsAgg.h nsAutoPtr.h nsCom.h nsDebugImpl.h nsIAllocator.h nsIID.h nsISupportsObsolete.h nsTraceRefcntImpl.h nsWeakPtr.h nsInterfaceRequestorAgg.h ../../dist/include/xpcom
nsIConsoleListener.idl
../../dist/bin/xpidl -m header -w -I. -I../../dist/idl -o _xpidlgen/nsIConsoleListener nsIConsoleListener.idl
nsIConsoleMessage.idl
../../dist/bin/xpidl -m header -w -I. -I../../dist/idl -o _xpidlgen/nsIConsoleMessage nsIConsoleMessage.idl
gmake[3]: *** [_xpidlgen/nsIConsoleMessage.h] Segmentation fault
gmake[3]: *** Deleting file `_xpidlgen/nsIConsoleMessage.h'
gmake[3]: *** Waiting for unfinished jobs....
gmake[3]: *** [_xpidlgen/nsIConsoleListener.h] Segmentation fault
gmake[3]: *** Deleting file `_xpidlgen/nsIConsoleListener.h'
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/xpcom/base'
gmake[2]: *** [export] Error 2
gmake[2]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla/xpcom'
gmake[1]: *** [tier_2] Error 2
gmake[1]: Leaving directory `/var/tmp/portage/mozilla-firefox-1.5.0.7/work/mozilla'
make: *** [default] Error 2

!!! ERROR: www-client/mozilla-firefox-1.5.0.7 failed.
Call stack:
  ebuild.sh, line 1546:   Called dyn_compile
  ebuild.sh, line 937:   Called src_compile
  mozilla-firefox-1.5.0.7.ebuild, line 182:   Called die
Comment 5 Jon Bramley 2006-09-25 12:37:14 UTC
Bug is reproducable and the suggested USE flags did not help.
Comment 6 Stuart Longland (RETIRED) gentoo-dev 2006-09-25 18:59:22 UTC
Damn... those are some CFLAGs... almost as bad as bug #74072.

Did you build your entire system with these flags, or are they a recent addition?
If you've build system packages with these flags, then likely your system is screwed -- thus changing the CFLAGs won't make a difference, you're still trying to build with the same broken libraries and tools.
Comment 7 Jon Bramley 2006-09-26 02:56:30 UTC
I have built my whole system with these in my /etc/make.conf:

CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"

They are based on the defaults so I don't think they can be that screwed.
Comment 8 Stuart Longland (RETIRED) gentoo-dev 2006-09-26 21:12:58 UTC
Ahh okay... so there shouldn't be too many problems.

I was just checking... there are some people who litter their CFLAGS with loads of settings, recompile everything, then wonder why the whole lot comes crashing down. ;-)

Does it crash at approximately the same point, or at different points in the build?  Is it possible to obtain a log of the build (try `script logfile.txt`, then run `exec emerge mozilla-firefox` from there.)?

Also, it would appear that "gmake" is the thing doing the crashing... although I could be misreading the output.  Either that, or "xpidl".  Does rebuilding GNU make fix the problem?
Comment 9 Jon Bramley 2006-09-27 02:30:39 UTC
Created attachment 98204 [details]
script of the whole mozilla-firefox build
Comment 10 Jon Bramley 2006-09-27 02:32:57 UTC
Hi,

The build seems to fail in the same place pretty consistently. Here is the script file:

http://bugs.gentoo.org/attachment.cgi?id=98204

I will try rebuilding gmake and xpidl now and report my results.
Comment 11 Jon Bramley 2006-09-27 03:17:19 UTC
Hi there, I just rebuilt "sys-devel/make" and this made no difference, the compile fails in the same place.

Couldn't find specific packages for 'gmake' or 'xpidl'. If you let me know how to rebuild them then I'll certainly give it a go.
Comment 12 Jon Bramley 2006-09-27 05:28:00 UTC
I just tried emerging thunderbird and it fails with the same error!
Comment 13 Stuart Longland (RETIRED) gentoo-dev 2006-09-27 05:36:40 UTC
(In reply to comment #11)
> Hi there, I just rebuilt "sys-devel/make" and this made no difference, the
> compile fails in the same place.

Hrmm okay... so it's definately the firefox code itself causing the issue.

> Couldn't find specific packages for 'gmake' or 'xpidl'. If you let me know how
> to rebuild them then I'll certainly give it a go.

Yeah, "gmake" is short for GNU Make or sys-devel/make.  It gets called "gmake" on some systems though because of other implementations of make such as BSD make, which are not entirely compatible.

As for "xpidl", that's compiled by the Mozilla build system.  On a successful build, it gets installed as /usr/lib/mozilla-firefox/xpidl.  You'll notice this is the command that gets executed to build it in your log:

i686-pc-linux-gnu-gcc -o xpidl -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" 
-DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"   -W -Wno-unused 
-Wpointer-arith -Wcast-align -Wno-long-long -mcpu=pentiumpro -march=pentiumpro 
-Wno-return-type -w -freorder-blocks -fno-reorder-functions -pthread -pipe  
-DNDEBUG -DTRIMMED -ffunction-sections -O2 -I/usr/include/libIDL-2.0 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   xpidl.o xpidl_idl.o 
xpidl_util.o xpidl_header.o xpidl_typelib.o xpidl_doc.o xpidl_java.o     
-Wl,-rpath,'$ORIGIN'  -L../../../dist/bin -L../../../dist/lib 
../../../dist/lib/libxpt.a -lIDL-2 -lglib-2.0   -ldl -lm

Some of the flags (notably -freorder-blocks -fno-reorder-functions and -ffunction-sections) give me the willies, but I suspect the Makefiles add these.  But you'll notice a few libraries linked in:

o glib-2.0: provided by dev-libs/glib
o IDL-2: provided by dev-libs/libIDL
o dl and m: provided by sys-libs/glibc

If one of those is broken, then this could explain things.  The fact that it does at roughly the same point rules out hardware glitches (such as bad RAM).  Have you tried rebuilding any of these packages at all?  Not sure if it will fix anything or not, but it's worth a shot, if anything, to rule out these packages being at fault.

Slowly but surely, I feel we're tracking this bug down. :-)
Comment 14 Jon Bramley 2006-09-27 05:58:59 UTC
Created attachment 98227 [details]
Access Violation error when emerging glibc
Comment 15 Jon Bramley 2006-09-27 06:01:23 UTC
Eeek, I emerged those 3 packages and the last one (glibc) failed with an access violation (see attachement - http://bugs.gentoo.org/attachment.cgi?id=98227).

I just did "emerge dev-libs/glib dev-libs/libIDL sys-libs/glibc" (I didn't do 'emerge -e'). I have just tried 'emerge sys-libs/glibc' and it failed with the same error. I will now try 'emerge -e sys-libs/glibc' and report my results.
Comment 16 Jon Bramley 2006-09-27 07:04:52 UTC
Created attachment 98234 [details]
GCC emerge error
Comment 17 Jon Bramley 2006-09-27 07:06:43 UTC
More problems. Just did the 'emerge -e sys-libs/glibc' and it failed on gcc (http://bugs.gentoo.org/attachment.cgi?id=98234). No idea whats going on here, can't be a good sign the glibc and gcc fail to compile!

Anyone got any suggestions?
Comment 18 Jon Bramley 2006-10-03 09:51:24 UTC
Lots of problems and reading forums later, I have realised that my CFLAGS were set for a Pentium4, and it turns out (from looking here: http://gentoo-wiki.com/Safe_Cflags#Pentium_4_.28Prescott.29_.28Intel.29) that I have a Prescott. I have changed my CFLAGS accordingly and am in the process of doing an:

emerge -e system && emerge -e system && emerge -e world

Everything is looking much healthier now, I will report back my results, then try firefox again to see if it has resolved my problem.
Comment 19 Jon Bramley 2006-10-04 10:34:14 UTC
firefox has now compiled successfully so I'm closing this bug!