Bug 65089 - gcc throws "Internal error: Segmentation fault" when compiling large projects
Summary: gcc throws "Internal error: Segmentation fault" when compiling large projects
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gcc
Version: 7.3
Hardware: athlon
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-05-17 07:32 UTC by Stuart W. Finlayson
Modified: 2007-04-18 16:42 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2002-05-17 07:32:38 UTC
Embargoed:


Attachments (Terms of Use)

Description Stuart W. Finlayson 2002-05-17 07:32:33 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020513

Description of problem:
I'm running into this problem on a dual Athlon MP machine (I have not run into
this problem on single or multi-processor P3's or P4's), using the SMP kernel
and UP kernel.

When I compile a large project, for instance the kernel, make dies with the
error "Internal error: Segmentation fault".  However, if I run make again, it
continues right where it left off and either dies further along in the build
process or completes with out errors.

For example, building the kernel (I'm using the kernel as an example because it
is the project that produced the error consistantly--however, I have seen this
occur building postgres, ethereal, as well aas other projects), it will die
during either `make bzImage` or `make modules`. However, if I follow through,
and continually repeat the command (allowing it to pick up where it left off), I
end up with a usable, bootable, panic free kernel.

On average, during the kernel build, it failed more frequently during `make
modules` (between 3 and 9 passes to complete the build).

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


How reproducible:
Always

Steps to Reproduce:
1. Build the kernel from source
2. During either `make bzImage` or `make modules` it should fail
	

Actual Results:  During `make modules`:

...
idt77252.c: In function `idt77252_softint':
idt77252.c:2945: Internal error: Segmentation fault.
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[2]: *** [idt77252.o] Error 2
make[1]: *** [_modsubdir_atm] Error 2
make: *** [_mod_drivers] Error 2
[root@storm linux]# make modules
make -C  kernel CFLAGS="-D__KERNEL__ -I/root/storage/linux/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h" MAKING_MODULES=1 modules
make[1]: Entering directory `/root/storage/linux/kernel'
make[1]: Nothing to be done for `modules'.
make[1]: Leaving directory `/root/storage/linux/kernel'
make -C  drivers CFLAGS="-D__KERNEL__ -I/root/storage/linux/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h" MAKING_MODULES=1 modules
make[1]: Entering directory `/root/storage/linux/drivers'
make -C atm modules
make[2]: Entering directory `/root/storage/linux/drivers/atm'
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h -g -DKBUILD_BASENAME=idt77252
-c -o idt77252.o idt77252.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h -g -DKBUILD_BASENAME=idt77105
-DEXPORT_SYMTAB -c idt77105.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h -g -DKBUILD_BASENAME=horizon
-c -o horizon.o horizon.c

...

gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=wdt_pci  -c
-o wdt_pci.o wdt_pci.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=i810_tco
-c -o i810-tco.o i810-tco.c
i810-tco.c: In function `tco_timer_read':
i810-tco.c:158: Internal error: Segmentation fault.
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[2]: *** [i810-tco.o] Error 2
make[2]: Leaving directory `/root/storage/linux/drivers/char'
make[1]: *** [_modsubdir_char] Error 2
make[1]: Leaving directory `/root/storage/linux/drivers'
make: *** [_mod_drivers] Error 2
[root@storm linux]# make modules
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=i810_tco
-c -o i810-tco.o i810-tco.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=machzwd  -c
-o machzwd.o machzwd.c
machzwd.c: In function `zf_readw':
machzwd.c:91: Internal error: Segmentation fault.
Please submit a full bug report.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
make[2]: *** [machzwd.o] Error 2
make[2]: Leaving directory `/root/storage/linux/drivers/char'
make[1]: *** [_modsubdir_char] Error 2
make[1]: Leaving directory `/root/storage/linux/drivers'
make: *** [_mod_drivers] Error 2
[root@storm linux]# make modules
make -C  kernel CFLAGS="-D__KERNEL__ -I/root/storage/linux/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h" MAKING_MODULES=1 modules
make[1]: Entering directory `/root/storage/linux/kernel'
make[1]: Nothing to be done for `modules'.
make[1]: Leaving directory `/root/storage/linux/kernel'
make -C  drivers CFLAGS="-D__KERNEL__ -I/root/storage/linux/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2
-march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h" MAKING_MODULES=1 modules
make[1]: Entering directory `/root/storage/linux/drivers'
make -C atm modules
make[2]: Entering directory `/root/storage/linux/drivers/atm'
ld -m elf_i386 -r -o fore_200e.o fore200e.o fore200e_pca_fw.o
make[2]: Leaving directory `/root/storage/linux/drivers/atm'
make -C block modules
make[2]: Entering directory `/root/storage/linux/drivers/block'
make -C paride modules
make[3]: Entering directory `/root/storage/linux/drivers/block/paride'
make[3]: Nothing to be done for `modules'.
make[3]: Leaving directory `/root/storage/linux/drivers/block/paride'
make[2]: Leaving directory `/root/storage/linux/drivers/block'
make -C bluetooth modules
make[2]: Entering directory `/root/storage/linux/drivers/bluetooth'
make[2]: Nothing to be done for `modules'.
make[2]: Leaving directory `/root/storage/linux/drivers/bluetooth'
make -C cdrom modules
make[2]: Entering directory `/root/storage/linux/drivers/cdrom'
make[2]: Nothing to be done for `modules'.
make[2]: Leaving directory `/root/storage/linux/drivers/cdrom'
make -C char modules
make[2]: Entering directory `/root/storage/linux/drivers/char'
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=machzwd  -c
-o machzwd.o machzwd.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=eurotechwdt
-c -o eurotechwdt.o eurotechwdt.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=softdog  -c
-o softdog.o softdog.c
make -C agp modules
make[3]: Entering directory `/root/storage/linux/drivers/char/agp'
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=agpgart_fe
-c -o agpgart_fe.o agpgart_fe.c
gcc -D__KERNEL__ -I/root/storage/linux/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=athlon  -DMODULE -DMODVERSIONS -include
/root/storage/linux/include/linux/modversions.h  -DKBUILD_BASENAME=agpgart_be
-DEXPORT_SYMTAB -c agpgart_be.c
...

Expected Results:  It should compile without errors using the .config included
in the source rpm.

Additional info:

I'm using 7.3 straight out of the box with everything installed, and am current
with RHN as far as packages go.  I've inspected and tested all hardware and
found no problems or defects.

Comment 1 Jakub Jelinek 2002-05-17 09:27:20 UTC
This is in all cases I've seen a hardware problem. If gcc is on fault,
the errors are repeatable always on the same file same error when compiling
with the same options.
Have you tested e.g. your memory with memtest86?

Comment 2 Stuart W. Finlayson 2002-05-17 20:48:48 UTC
Yes, I tested with memtest86 and the RAM is okay.

Comment 3 Need Real Name 2002-06-10 10:52:28 UTC
Why has this bug been closed?

Comment 4 Stuart W. Finlayson 2002-06-17 19:08:16 UTC
I have found and fixed the problem.  My motherboard, an Asus A7M266-D, came 
with BIOS version 1004 installed which is not linux friendly.  I upgraded to 
BIOS version 1005a, and that fixed the problem.


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