This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug pch/12606] New: internal compiler error: in ggc_pch_read, at ggc-page.c:2099
- From: "carlo at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Oct 2003 23:31:31 -0000
- Subject: [Bug pch/12606] New: internal compiler error: in ggc_pch_read, at ggc-page.c:2099
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12606
Summary: internal compiler error: in ggc_pch_read, at ggc-
page.c:2099
Product: gcc
Version: 3.4
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: pch
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: carlo at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
GCC host triplet: i686-pc-linux-gnu
The ICE occurs "reproducible" on my (not loaded) machine when
invoking the exact same command - and occurs under multiple
circumstances (ie. different types of commandline parameters,
while running in strace, when started from 'make', or as 'time make'
or when started from the commandline).
However - although in many of these cases the invokation of
cc1plus is the same, the ICE does or does not occur depending
on whether it is invoked in one of the above ways.
I have not succeeded in reproducing this bug when invoking
cc1plus directly from the commandline and as such could not
investigate the bug further.
One example of where it occurs is:
~/c++/libcwd/include>make timestamp-pch.h
make: Circular pch.h.gch <- pch.h.gch dependency dropped.
make: Circular sys.h <- timestamp-pch.h dependency dropped.
if g++-cvs-3.4 -DHAVE_CONFIG_H -I../include -I../include -DCWDEBUG -Wall
-Woverloaded-virtual -Wundef -Wpointer-arith -Wwrite-strings -Werror
-Winvalid-pch -include pch.h -g -fno-exceptions -pipe \
-MD -MP -MF .deps/pch.Tpo -DPIC -fPIC -c -o pch.h.gch pch.h; then \
touch timestamp-pch.h; \
mv .deps/pch.Tpo .deps/pch.po; \
fi
<command line>:1: internal compiler error: in ggc_pch_read, at ggc-page.c:2099
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
I then replaced the invoked cc1plus by a small utility that prints
out the commandline arguments:
#include <stdio.h>
int
main (int argc, char* argv[])
{
FILE* out = fopen("/tmp/out", "w");
int i = 0;
for (; i < argc; ++i)
fprintf(out, "%d: %s\n", i, argv[i]);
fclose(out);
return 1;
}
This resulted, when invoking 'make' in the same way
as what 100% reproduced the ICE, in a list of the
argument passed to cc1plus. But then, when I invoke
cc1plus exactly like that from the commandline:
~/c++/libcwd/include>/usr/src/GNU/install/libexec/gcc/i686-pc-linux-gnu/3.4/cc1plus
-quiet -I../include -I../include -MD pch.h.d -MF .deps/pch.Tpo -MP -MQ pch.h.gch
-D_GNU_SOURCE -DHAVE_CONFIG_H -DCWDEBUG -DPIC -include pch.h pch.h -quiet
-dumpbase pch.h -mtune=pentiumpro -auxbase-strip pch.h.gch -g -Wall
-Woverloaded-virtual -Wundef -Wpointer-arith -Wwrite-strings -Werror
-Winvalid-pch -fno-exceptions -fPIC -o /tmp/ccSUifts.s --output-pch= pch.h.gch
No problems what-so-ever.
You will understand that I cannot produce a 'small test case' for
this :/. Can someone, instead, please give suggestions what I can
try in order to figure out what is causing this?
Note that at another moment when I first ran into this, 'make' worked
fine - but when I then typed: 'time make' the same command invoked by
make would cause an ICE. Very weird :/