Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 50116 - firefox crashes when selecting radio boxes with gcc 3.4 and -fweb
Summary: firefox crashes when selecting radio boxes with gcc 3.4 and -fweb
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 48528
  Show dependency tree
 
Reported: 2004-05-05 11:31 UTC by Simon Cooper
Modified: 2005-01-03 05:35 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Cooper 2004-05-05 11:31:28 UTC
When firefox is compiled with gcc 3.4 and -fweb in CFLAGS it crashes (no error msgs, just exits to desktop) when selecting radio boxes (eg in forum polls). I suggest filtering out -fweb in the ebuild, unless this is cannot be confirmed by anyone else

Reproducible: Always
Steps to Reproduce:
Comment 1 Robert Moss (RETIRED) gentoo-dev 2004-05-20 03:22:30 UTC
Nobody else has verified this for nigh on two weeks now, and it has always worked for me. What's the output of "emerge info"?
Comment 2 Simon Cooper 2004-05-20 09:26:16 UTC
i had -O3 -fweb in my cflags, afaics the ebuild filters -O3 to -O2, since -fweb is enabled as part of -O3 it should work, but I was keeping it in manually by setting -fweb explicetly. Fixed now, thanks.
Comment 3 jason wohlgemuth 2004-06-16 08:53:40 UTC
I've confirmed it on my system.

Aurora root # emerge info
Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.4.0, glibc-2.3.3.20040420-r0, 2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 Intel(R) Pentium(R) III Mobile CPU      1000MHz
Gentoo Base System version 1.4.16
distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -mfpmath=387,sse -ftracer -fforce-addr -fweb"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium3 -O2 -pipe -fomit-frame-pointer -mfpmath=387,sse -ftracer -fforce-addr -fweb"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache"
GENTOO_MIRRORS="http://gentoo.chem.wisc.edu/gentoo http://mirror.tucdemonic.org/gentoo/ ftp://gentoo.noved.org/ ftp://gentoo.ccccom.com ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"       
PORTDIR="/usr/portage"          
PORTDIR_OVERLAY=""              
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X aalib alsa apm arts avi berkdb cdr crypt cups dvd encode esd fbdev flac foomaticdb gdbm gif gnome gpm gtk gtk2 imlib java jpeg kde libg++ libwww mad mikmod mmx motif mpeg mysql ncurses nls nptl oggvorbis opengl oss pam pcmcia pdflib perl png python qt quicktime radeon readline samba scanner sdl slang spell sse ssl svga tcltk tcpd truetype video_cards_radeon x86 xml2 xmms xv zlib"
                                
Using Firefox 0.9

I'll recompile without -fweb and see what happens.
Comment 4 jason wohlgemuth 2004-06-17 01:05:18 UTC
Ok, I've confirmed that without -fweb firefox-0.9 is working correctly.
Comment 5 Robert Moss (RETIRED) gentoo-dev 2004-09-20 10:56:27 UTC
Is this still an issue? In either 0.9.3, 0.9.3-r1 or 1.0_pre?
Comment 6 Jennifer Chen 2004-10-28 20:55:21 UTC
It happened to me with firefox-0.10_pre-r2.

Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9 i686)
=================================================================
System uname: 2.6.9 i686 Intel(R) Pentium(R) M processor 1500MHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium3 -msse2 -fomit-frame-pointer -pipe"
CHOST="i386-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium3 -msse2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.llarian.net/ ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.eliteitminds.com"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow X alsa apm arts avi berkdb bitmap-fonts cdr cdrom crypt cups directfb dvd dvx4linux encode f77 fbdev foomaticdb gdbm gif gpm gtk2 imlib jpeg kde libg++ libwww live mad mikmod motif mpeg nas ncurses network nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline rtc samba sdl slang spell sse ssl svga tcpd truetype usb x86 xml2 xmms xprint xv zlib"
Comment 7 Aron Griffis (RETIRED) gentoo-dev 2004-11-13 16:00:14 UTC
What is -fweb?  I don't see it anywhere in gcc documentation.

At this point the mozilla ebuilds would filter out -fweb via strip-flags, so I'm assuming this bug can be closed.
Comment 8 kfm 2005-01-03 05:35:08 UTC
@Aron:

Just to clarify, it is documented in gcc-3.4. At least, it certainly is in
gcc-3.4.3:

http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Optimize-Options.html#Optimize-Options)

It's described as thus:

<quote>Constructs webs as commonly used for register allocation purposes and
assign each web individual pseudo register. This allows the register allocation
pass to operate on pseudos directly, but also strengthens several other
optimization passes, such as CSE, loop optimizer and trivial dead code remover.
It can, however, make debugging impossible, since variables will no longer stay
in a 
Comment 9 kfm 2005-01-03 05:35:08 UTC
@Aron:

Just to clarify, it is documented in gcc-3.4. At least, it certainly is in
gcc-3.4.3:

http://gcc.gnu.org/onlinedocs/gcc-3.4.3/gcc/Optimize-Options.html#Optimize-Options)

It's described as thus:

<quote>Constructs webs as commonly used for register allocation purposes and
assign each web individual pseudo register. This allows the register allocation
pass to operate on pseudos directly, but also strengthens several other
optimization passes, such as CSE, loop optimizer and trivial dead code remover.
It can, however, make debugging impossible, since variables will no longer stay
in a home register.</quote>

I've heard that it's a rather effective form of optimisation but it can cause
regressions here and there, as this bug has evidenced. I'm going to
try and reproduce the problem myself (firefox is dog slow on my machine and
needs all the help it can get ;). If this is still a problem, then I may well
file it upstream. As has been pointed out earlier, it's enabled in the -O3
profile (i.e. it ought not to be considered an "esoteric" option) and if it's
breaking things then people probably ought to be fixing their code (hmm, hope
springs eternal :). Such sentiments appear to have been expressed on the gcc
mailing list although it's not something I've looked at in great detail.