Bug 84137 - gcc segfault during rpmbuild --rebuild
gcc segfault during rpmbuild --rebuild
Status: CLOSED WORKSFORME
Product: Red Hat Linux
Classification: Retired
Component: gcc (Show other bugs)
8.0
athlon Linux
medium Severity high
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
ftp://ftp.redhat.com/pub/redhat/linux...
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-02-12 13:39 EST by Nigel Wetters
Modified: 2007-04-18 12:51 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2003-02-17 10:38:18 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
dict0load.i as requested by jakub (452.07 KB, text/plain)
2003-02-17 10:17 EST, Nigel Wetters
no flags Details

  None (edit)
Description Nigel Wetters 2003-02-12 13:39:59 EST
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 15:59:20 EST
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 05:28:32 EST
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 09:07:41 EST
Is it reproduceable, always on the same file and line same ICE when you retry?
Comment 4 Nigel Wetters 2003-02-17 09:23:09 EST
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 09:29:08 EST
Can you attach dict0load.i then (add -save-temps to the gcc command line)?
Comment 6 Nigel Wetters 2003-02-17 10:17:06 EST
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 10:20:51 EST
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 10:38:18 EST
Cannot reproduce.
Sounds like a hardware problem.

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