public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c++/5662: ice on legal code in ggc-page.c
@ 2002-02-11 16:26 build
0 siblings, 0 replies; only message in thread
From: build @ 2002-02-11 16:26 UTC (permalink / raw)
To: gcc-gnats; +Cc: paulf
>Number: 5662
>Category: c++
>Synopsis: Internal error: Segmentation fault in gcc 3.0.3 c++ compile
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-legal-code
>Submitter-Id: net
>Arrival-Date: Mon Feb 11 16:26:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:
>Release: 3.0.3
>Organization:
Check Point Software Technologies, Ltd.
>Environment:
System: Linux polaris 2.2.12-20 #2 Fri Nov 9 14:03:17 PST 2001 i686 unknown
Architecture: i686
problem appears on multiple pentium machines running 2.2 headers
kernel/etc..
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../gcc-3.0.3/configure --prefix=/usr/local/3.0.3 --enable-languages=c,c++
>Description:
In a particular section of code, the compiler dies. At -O0, gcc dies,
if you go to -O1, the compile generates a successful object file.
It only occurs on 2.2 kernel/headers/libc (which we use so we can make
compatible 2.2-2.4 products.)
DBLoad.cpp: In destructor `int db_load(const char*, const char*, const char*,
const char*, CAdminBroker*, std::set<CEntry, std::less<CEntry>,
std::allocator<CEntry> >*, mistring*)::_filenames::~_filenames()':
DBLoad.cpp:1831: Internal error: Segmentation fault
* line 1831 in context (this section appears unaltered in the .ii minus
the comments) --
1826 while (filenames) {
1827 fn = filenames;
1828 filenames = filenames->next;
1829 // freestr(fn->name);
1830 // memput(fn, sizeof *fn);
1831 delete fn;
1832 }
* actual failure --
Starting program: /usr/local/3.0.3/lib/gcc-lib/i686-pc-linux-gnu/3.0.3/cc1plus -
fpreprocessed DBLoad.ii -quiet -dumpbase DBLoad.cpp -g -Wall -Wno-missing-braces
-Wno-comment -Wno-comment -version -o DBLoad.s
GNU CPP version 3.0.3 (cpplib) (i386 Linux/ELF)
GNU C++ version 3.0.3 (i686-pc-linux-gnu)
compiled by GNU C version 3.0.3.
DBLoad.cpp: In function `int db_load(const char*, const char*, const char*,
const char*, CAdminBroker*, std::set<CEntry, std::less<CEntry>,
std::allocator<CEntry> >*, mistring*)':
DBLoad.cpp:1342: warning: comparison between signed and unsigned integer
expressions
Program received signal SIGSEGV, Segmentation fault.
0x826e6f7 in ggc_set_mark (p=0x8422) at ../../gcc-3.0.3/gcc/ggc-page.c:439
439 ../../gcc-3.0.3/gcc/ggc-page.c: No such file or directory.
* gdb backtrace --
#0 0x826e6f7 in ggc_set_mark (p=0x8422) at ../../gcc-3.0.3/gcc/ggc-page.c:439
#1 0x8054a15 in mark_binding_level (arg=0x83c6da0)
at ../../gcc-3.0.3/gcc/cp/decl.c:1982
#2 0x8054d77 in mark_named_label_lists (labs=0x852a0dc, uses=0x852a0d8)
at ../../gcc-3.0.3/gcc/cp/decl.c:2005
#3 0x8068c76 in mark_lang_function (p=0x852a090)
at ../../gcc-3.0.3/gcc/cp/decl.c:14474
#4 0x80fe11a in mark_function_chain (arg=0x8328548)
at ../../gcc-3.0.3/gcc/function.c:7656
#5 0x826cc27 in ggc_mark_roots () at ../../gcc-3.0.3/gcc/ggc-common.c:186
#6 0x826ec3d in ggc_collect () at ../../gcc-3.0.3/gcc/ggc-page.c:1400
#7 0x80d8417 in rest_of_compilation (decl=0x40139c98)
at ../../gcc-3.0.3/gcc/toplev.c:3841
#8 0x80bba83 in genrtl_finish_function (fn=0x40139c98)
at ../../gcc-3.0.3/gcc/cp/semantics.c:2718
#9 0x80bb6e5 in expand_body (fn=0x40139c98)
at ../../gcc-3.0.3/gcc/cp/semantics.c:2504
#10 0x80c2d19 in maybe_clone_body (fn=0x40135dd0)
at ../../gcc-3.0.3/gcc/cp/optimize.c:1237
#11 0x80bb5c0 in expand_body (fn=0x40135dd0)
at ../../gcc-3.0.3/gcc/cp/semantics.c:2415
#12 0x80b45bf in synthesize_method (fndecl=0x40139af8)
at ../../gcc-3.0.3/gcc/cp/method.c:782
#13 0x80505d7 in build_over_call (cand=0x40f980c0, args=0x40f97ec4, flags=3)
at ../../gcc-3.0.3/gcc/cp/call.c:4298
#14 0x8051015 in build_new_method_call (instance=0x40f97e88, name=0x4013d980,
args=0x0, basetype_path=0x401363c0, flags=3)
at ../../gcc-3.0.3/gcc/cp/call.c:4653
#15 0x80b28d2 in build_dtor_call (exp=0x40f97e88,
dtor_kind=sfk_complete_destructor, flags=3)
at ../../gcc-3.0.3/gcc/cp/init.c:3156
#16 0x80b2a27 in build_delete (type=0x40135af8, addr=0x40139ea0,
auto_delete=sfk_complete_destructor, flags=3, use_global_delete=0)
at ../../gcc-3.0.3/gcc/cp/init.c:3285
#17 0x8084e00 in delete_sanity (exp=0x40139ea0, size=0x0, doing_vec=0,
use_global_delete=0) at ../../gcc-3.0.3/gcc/cp/decl2.c:1245
#18 0x8093dc0 in yyparse_1 () at /usr/lib/bison.simple:1259
#19 0x80d77d8 in compile_file (name=0xbffffd41 "DBLoad.ii")
at ../../gcc-3.0.3/gcc/toplev.c:2369
#20 0x80db9f6 in main (argc=14, argv=0xbffffbc4)
at ../../gcc-3.0.3/gcc/toplev.c:4990
* actual gcc code at line 439 --
(gdb) list
435 /* Extract the level 1 and 2 indicies. */
436 L1 = LOOKUP_L1 (p);
437 L2 = LOOKUP_L2 (p);
438
439 return base[L1][L2];
440 }
* dump of p --
0xbfffebd0: 0x00008422 0x08328548 0xbfffebf8 0x40f201a0
0xbfffebe0: 0x40f201a0 0x083c6da0 0xbfffec18 0x08054d77
0xbfffebf0: 0x083c6da0 0x08328548 0xbfffec18 0x080ce22a
0xbfffec00: 0x00000c80 0x0855b590 0xbfffec38 0x0855c180
0xbfffec10: 0x0852a090 0x08328548 0xbfffec38 0x08068c76
0xbfffec20: 0x0852a0dc 0x0852a0d8 0x0855be30 0x0851d220
0xbfffec30: 0x0851d220 0x0855b220 0xbfffec58 0x080fe11a
0xbfffec40: 0x0852a090 0x0813e820 0x00000000 0xbfffec68
unfortunately L1 and L2 are already gone at this point.
>How-To-Repeat:
unfortunately I'm unable to build a small test case and am unable to
provide our code to you. Since the failure is in ggc_set_mark, I believe
this has to do with gcc page sizes allocation/retrieval, etc..
>Fix:
you can work around this with -O1 or better, or use 2.4 kernel/headers/libc
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-02-12 0:26 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-02-11 16:26 c++/5662: ice on legal code in ggc-page.c build
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).