Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 84137 - gcc segfault during rpmbuild --rebuild
Summary: gcc segfault during rpmbuild --rebuild
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 8.0
Hardware: athlon
OS: Linux
medium
high
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL: ftp://ftp.redhat.com/pub/redhat/linux...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2003-02-12 18:39 UTC by Nigel Wetters
Modified: 2007-04-18 16:51 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2003-02-17 15:38:18 UTC


Attachments (Terms of Use)
dict0load.i as requested by jakub (deleted)
2003-02-17 15:17 UTC, Nigel Wetters
no flags Details

Description Nigel Wetters 2003-02-12 18:39:59 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20021003

Description of problem:
Cannot compile source, either from mysql.com (3.23 or 4.0) or from RedHat. All
attempts fail.

Started attempting to compile from source because mysql.com RPMs for
mysql-embedded do not work, and redhat.com does not supply mysql-embedded.
However, have found it impossible to compile any mysql from any source code.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. rpmbuild --rebuild mysql-3.23.54a-4.src.rpm


Actual Results:  Making all in dict
make[4]: Entering directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase/dict'
source='dict0boot.c' object='dict0boot.o' libtool=no \
depfile='.deps/dict0boot.Po' tmpdepfile='.deps/dict0boot.TPo' \
depmode=gcc3 /bin/sh ../.././innobase/../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include
-I../include    -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE   -DDEBUG_OFF
-DUNIV_INTEL_X86 -c `test -f dict0boot.c || echo
'../.././innobase/dict/'`dict0boot.c
source='dict0crea.c' object='dict0crea.o' libtool=no \
depfile='.deps/dict0crea.Po' tmpdepfile='.deps/dict0crea.TPo' \
depmode=gcc3 /bin/sh ../.././innobase/../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include
-I../include    -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE   -DDEBUG_OFF
-DUNIV_INTEL_X86 -c `test -f dict0crea.c || echo
'../.././innobase/dict/'`dict0crea.c
source='dict0dict.c' object='dict0dict.o' libtool=no \
depfile='.deps/dict0dict.Po' tmpdepfile='.deps/dict0dict.TPo' \
depmode=gcc3 /bin/sh ../.././innobase/../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include
-I../include    -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE   -DDEBUG_OFF
-DUNIV_INTEL_X86 -c `test -f dict0dict.c || echo
'../.././innobase/dict/'`dict0dict.c
source='dict0load.c' object='dict0load.o' libtool=no \
depfile='.deps/dict0load.Po' tmpdepfile='.deps/dict0load.TPo' \
depmode=gcc3 /bin/sh ../.././innobase/../depcomp \
gcc -DHAVE_CONFIG_H -I. -I../.././innobase/dict -I.. -I../../include
-I../include    -DDBUG_OFF -O3 -DDBUG_OFF -O2 -march=i386 -mcpu=i686
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE   -DDEBUG_OFF
-DUNIV_INTEL_X86 -c `test -f dict0load.c || echo
'../.././innobase/dict/'`dict0load.c
dict0load.c: In function `dict_load_foreign_cols':
dict0load.c:879: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[4]: *** [dict0load.o] Error 1
make[4]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase/dict'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a/innobase'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/BUILD/mysql-3.23.54a'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.8802 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.8802 (%build)

Expected Results:  binary package should have been produced

Additional info:

gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
Linux version 2.4.18-24.8.0
glibc-2.2.93-5

Standard install from ISO's with update from RHN.

Comment 1 Patrick Macdonald 2003-02-12 20:59:20 UTC
Hmm... the compiler segfaulting is not really mysql's problem.  Pushing this
over to gcc (they'll probably want more information).

Comment 2 Nigel Wetters 2003-02-13 10:28:32 UTC
yes.

source code will compile if optimizations are removed:

CFLAGS="-O0" CXX=gcc CXXFLAGS="-O0 -felide-constructors -fno-exceptions \
-fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler \
--with-mysqld-ldflags=-all-static

the segfaulting seems to be specific to athlon


Comment 3 Jakub Jelinek 2003-02-17 14:07:41 UTC
Is it reproduceable, always on the same file and line same ICE when you retry?

Comment 4 Nigel Wetters 2003-02-17 14:23:09 UTC
yes. rpm --rebuild always fails on the same file/line.

when using the mysql.com source, again fails predictably.

each failed file can be compiled successfully by setting -O0.



Comment 5 Jakub Jelinek 2003-02-17 14:29:08 UTC
Can you attach dict0load.i then (add -save-temps to the gcc command line)?

Comment 6 Nigel Wetters 2003-02-17 15:17:06 UTC
Created attachment 90133 [details]
dict0load.i as requested by jakub

source='dict0load.c' object='dict0load.o' libtool=no
depfile='.deps/dict0load.Po' tmpdepfile='.deps/dict0load.TPo' depmode=gcc3
/bin/sh ../.././innobase/../depcomp gcc -save-temps -DHAVE_CONFIG_H -I.
-I../.././innobase/dict -I.. -I../../include -I../include    -DDBUG_OFF -O3
-DDBUG_OFF -O2 -march=i386 -mcpu=i686 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-D_LARGEFILE_SOURCE   -DDEBUG_OFF -DUNIV_INTEL_X86 -c `test -f dict0load.c ||
echo '../.././innobase/dict/'`dict0load.c
dict0load.c: In function `dict_get_first_table_name_in_db':
dict0load.c:106: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.

Comment 7 Nigel Wetters 2003-02-17 15:20:51 UTC
oops. I guess it doesn't always fail on the same line, but always on the same files.

Comment 8 Jakub Jelinek 2003-02-17 15:38:18 UTC
Cannot reproduce.
Sounds like a hardware problem.


Note You need to log in before you can comment on or make changes to this bug.