[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#405065: gcc-4.1: gcc takes all the memory and crashes with -O2 -ftrapv



Package: gcc-4.1
Version: 4.1.1-21
Severity: important

I get the following crash when compiling MPFR 2.2.1, and contrary to
what is said, the crash is 100% reproducible.

$ /usr/bin/make
[...]
 gcc -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_STDARG=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SETLOCALE=1 -DHAVE_GETTIMEOFDAY=1 -DMPFR_HAVE_FESETROUND=1 -DHAVE_DENORMS=1 -DHAVE_FLOOR=1 -DHAVE_CEIL=1 -DHAVE_LDOUBLE_IEEE_EXT_LITTLE=1 -DHAVE_ATTRIBUTE_MODE=1 -DHAVE_ALLOCA_H=1 -I. -I. -I/home/vlefevre/i686/include -Wall -Wmissing-prototypes -g -O2 -ffloat-store -ftrapv -MT print_raw.lo -MD -MP -MF .deps/print_raw.Tpo -c print_raw.c -o print_raw.o
print_raw.c: In function 'mpfr_print_mant_binary':
print_raw.c:85: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.1/README.Bugs>.
The bug is not reproducible, so it is likely a hardware or OS problem.
make[1]: *** [print_raw.lo] Error 1
make[1]: Leaving directory `/home/vlefevre/tmp/mpfr-2.2.1'
make: *** [all-recursive] Error 1

Sometimes it says:

virtual memory exhausted: Cannot allocate memory

When running gcc manually (not via make), I just get the segfault.

I can reproduce the crash on this simple example:

int main (void)
{
  int i;
  for (i = 31 ; i >= 0 ; i--)
    {
      volatile int x = 0;
    }
  return 0;
}

$ gcc -O2 -ftrapv -c gcc-bug.c
gcc-bug.c: In function 'main':
gcc-bug.c:6: warning: unused variable 'x'
gcc: Internal error: Segmentation fault (program cc1)
Please submit a full bug report.
[...]

Without -O2 or -ftrapv, I don't get a crash.

-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-686-bigmem
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.ISO8859-1 (charmap=ISO-8859-1)

Versions of packages gcc-4.1 depends on:
ii  binutils                     2.17-3      The GNU assembler, linker and bina
ii  cpp-4.1                      4.1.1-21    The GNU C preprocessor
ii  gcc-4.1-base                 4.1.1-21    The GNU Compiler Collection (base 
ii  libc6                        2.3.6.ds1-9 GNU C Library: Shared libraries
ii  libgcc1                      1:4.1.1-21  GCC support library
ii  libssp0                      4.1.1-21    GCC stack smashing protection libr

Versions of packages gcc-4.1 recommends:
ii  libc6-dev                    2.3.6.ds1-9 GNU C Library: Development Librari
pn  libmudflap0-dev              <none>      (no description available)

-- no debconf information



Reply to: