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
Embargoed:


Attachments (Terms of Use)
dict0load.i as requested by jakub (452.07 KB, text/plain)
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.