From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4221 invoked by alias); 9 Nov 2002 12:36:02 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 4202 invoked by uid 71); 9 Nov 2002 12:36:01 -0000 Resent-Date: 9 Nov 2002 12:36:01 -0000 Resent-Message-ID: <20021109123601.4201.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, wwieser@gmx.de Received: (qmail 3246 invoked by uid 61); 9 Nov 2002 12:33:14 -0000 Message-Id: <20021109123314.3245.qmail@sources.redhat.com> Date: Sat, 09 Nov 2002 04:36:00 -0000 From: wwieser@gmx.de Reply-To: wwieser@gmx.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/8511: (hopefully) reproducible cc1plus SIGSEGV. X-SW-Source: 2002-11/txt/msg00456.txt.bz2 List-Id: >Number: 8511 >Category: c++ >Synopsis: (hopefully) reproducible cc1plus SIGSEGV. >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Sat Nov 09 04:36:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: wwieser@gmx.de >Release: 3.2 20020731 (prerelease) ... 3.3 20021107 (experimental) >Organization: >Environment: i686-pc-linux-gnu >Description: Compiling the attached code, I am able to reproducible SIGSEGV the GNU C++ compiler. I am sorry for not reducing code size very much but after spending more than an hour on stripping it down, gcc-3.2.1 crashed while 3.3 did not. Also, removing lines which I think have little to do with the problem also turns the crash into "just" an internal compiler error. (I know you will not like me for attaching a .tar.gz file... but sorry, I see little alternative) In order to give you more info, I also had a look at the crash using a debugger. Please contact me if you need additional info. I will be happy to help fixing this issue. --INFO-- GCC version: gcc (GCC) 3.2.1 20021107 (prerelease) and: gcc (GCC) 3.3 20021107 (experimental) as well as 3.2 20020731 (prerelease), maybe others. First of all, I patched toplev.c to not call signal(SIGSEGV,crash_signal) but die of SIGSEGV instead. This makes it possible to find the crash with gdb. [BTW, to ease debugging, I suggest you do not _exit(1) on SIGSEGV/ILL/... and ICE but terminate the program by killing itself via SIGABRT. This way, it gets much easier to debug internal errors.] The crash was encountered using both these calls (3.2.1 by default): g++ -v -I. -Wno-non-template-friend -Wno-unused \ -ftemplate-depth-30 -c -o spline.o spline.cpp g++ -V3.3 -v -I. -Wno-non-template-friend -Wno-unused \ -ftemplate-depth-30 -c -o spline.o spline.cpp >>From the output above, the following calls to cc1plus were grabbed: /usr/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.2.1/cc1plus -v -I. \ -iprefix /usr/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.2.1/ -D__GNUC__=3 \ -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -D__ELF__ \ -Dunix -D__gnu_linux__ -Dlinux -D__ELF__ -D__unix__ -D__gnu_linux__ \ -D__linux__ -D__unix -D__linux -Asystem=posix -D__NO_INLINE__ \ -D__STDC_HOSTED__=1 -D_GNU_SOURCE -Acpu=i386 -Amachine=i386 -Di386 -D__i386 \ -D__i386__ -D__tune_i686__ -D__tune_pentiumpro__ spline.cpp -D__GNUG__=3 \ -D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase spline.cpp \ -Wno-non-template-friend -Wno-unused -version -ftemplate-depth-30 \ -o /tmp/ccXIR5cn.s /usr/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3/cc1plus -quiet -v -I. \ -iprefix /usr/bin/../lib/gcc-lib/i686-pc-linux-gnu/3.3/ -D__GNUC__=3 \ -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -D_GNU_SOURCE spline.cpp \ -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase spline.cpp \ -auxbase-strip spline.o -Wno-non-template-friend -Wno-unused -version \ -ftemplate-depth-30 -o /tmp/ccZEfMxs.s ------------------------------------------------------------------------------- > >> gdb revealed the following information for the gcc-3.2.1 crash: --BACKTRACE-- #0 0x0809752a in convert_arguments () at gcc/cp/typeck.c:3155 #1 0x080972ed in build_function_call_real () at gcc/cp/typeck.c:3019 #2 0x080973f5 in build_function_call () at gcc/cp/typeck.c:3069 #3 0x08096e7e in build_x_function_call () at gcc/cp/typeck.c:2807 #4 0x080a1b46 in build_member_call () at gcc/cp/init.c:1497 #5 0x08081a10 in build_expr_from_tree () at gcc/cp/decl2.c:3891 #6 0x0806e956 in tsubst_expr () at gcc/cp/pt.c:7325 #7 0x0806ea3d in tsubst_expr () at gcc/cp/pt.c:7358 #8 0x0806ee7f in tsubst_expr () at gcc/cp/pt.c:7505 #9 0x0806ee7f in tsubst_expr () at gcc/cp/pt.c:7505 #10 0x08071d05 in instantiate_decl () at gcc/cp/pt.c:10149 #11 0x08071e3b in instantiate_pending_templates () at gcc/cp/pt.c:10234 #12 0x08080ef7 in finish_file () at gcc/cp/decl2.c:3378 #13 0x080aa8a9 in finish_translation_unit () at gcc/cp/semantics.c:1595 #14 0x0808a941 in yyparse_1 () at parse.y:458 #15 0x080c1af5 in yyparse () at gcc/c-lex.c:164 #16 0x08209713 in compile_file () at gcc/toplev.c:2124 #17 0x0820db9d in do_compile () at gcc/toplev.c:5218 #18 0x0820dc02 in toplev_main () at gcc/toplev.c:5250 #19 0x080c31c3 in main () at gcc/main.c:35 #20 0x0018f7ee in __libc_start_main () from /lib/libc.so.6 --SIGSEGV location in convert_arguments()-- ... /* build_c_cast puts on a NOP_EXPR to make the result not an lvalue. Strip such NOP_EXPRs, since VAL is used in non-lvalue context. */ if (TREE_CODE (val) == NOP_EXPR && TREE_TYPE (val) == TREE_TYPE (TREE_OPERAND (val, 0)) && (type == 0 || TREE_CODE (type) != REFERENCE_TYPE)) val = TREE_OPERAND (val, 0); if (type == 0 || TREE_CODE (type) != REFERENCE_TYPE) { ==> if (TREE_CODE (TREE_TYPE (val)) == ARRAY_TYPE || TREE_CODE (TREE_TYPE (val)) == FUNCTION_TYPE || TREE_CODE (TREE_TYPE (val)) == METHOD_TYPE) val = default_conversion (val); } if (val == error_mark_node) return error_mark_node; ... (Neither type nor val are NULL.) --REGISTER DUMP-- eax 0x0 0 ecx 0x2 2 edx 0xc55c08 12934152 ebx 0xc55ba4 12934052 esp 0xb503c6f0 0xb503c6f0 ebp 0xb503c738 0xb503c738 esi 0x663474 6698100 edi 0x29c3f0 2737136 eip 0x809752a 0x809752a eflags 0x10293 66195 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x0 0 ... orig_eax 0xffffffff -1 ------------------------------------------------------------------------------- > >> gdb revealed the following information for the gcc-3.3 crash: --BACKTRACE-- #0 0x080c53ca in build_expr_from_tree (t=0xa5a5a5a5) at gcc/cp/decl2.c:3074 #1 0x080c6b85 in build_expr_from_tree (t=0xac912c) at gcc/cp/decl2.c:3357 #2 0x080c6ba0 in build_expr_from_tree (t=0xac9140) at gcc/cp/decl2.c:3360 #3 0x080c6ba0 in build_expr_from_tree (t=0xac9154) at gcc/cp/decl2.c:3360 #4 0x080c6ba0 in build_expr_from_tree (t=0xac91b8) at gcc/cp/decl2.c:3360 #5 0x080c6ba0 in build_expr_from_tree (t=0xac91cc) at gcc/cp/decl2.c:3360 #6 0x080c6671 in build_expr_from_tree (t=0x7ef720) at gcc/cp/decl2.c:3302 #7 0x0809885d in tsubst_expr (t=0x0, args=0xa8e280, \ complain=3, in_decl=0xbc8310) at gcc/cp/pt.c:7373 #8 0x08098abd in tsubst_expr (t=0x0, args=0xa8e280, \ complain=3, in_decl=0xbc8310) at gcc/cp/pt.c:7398 #9 0x080995b2 in tsubst_expr (t=0x0, args=0xa8e280, \ complain=3, in_decl=0xbc8310) at gcc/cp/pt.c:7545 #10 0x080995b2 in tsubst_expr (t=0x0, args=0xa8e280, \ complain=3, in_decl=0xbc8310) at gcc/cp/pt.c:7545 #11 0x080a0bdb in instantiate_decl (d=0xa5a5a5a5, \ defer_ok=0) at gcc/cp/pt.c:10181 #12 0x080a0f34 in instantiate_pending_templates () at gcc/cp/pt.c:10266 #13 0x080c471a in finish_file () at gcc/cp/decl2.c:2775 #14 0x08110b33 in finish_translation_unit () at gcc/cp/semantics.c:1599 #15 0x080d77a5 in yyparse () at parse.y:488 #16 0x0813cf36 in c_common_parse_file () at gcc/c-lex.c:159 #17 0x082e9792 in compile_file () at gcc/toplev.c:2126 #18 0x082ee6a5 in do_compile () at gcc/toplev.c:5353 #19 0x082ee703 in toplev_main () at gcc/toplev.c:5383 #20 0x081457df in main () at gcc/main.c:35 #21 0x001847ee in __libc_start_main () from /lib/libc.so.6 --SIGSEGV location in convert_arguments()-- tree build_expr_from_tree (t) tree t; { if (t == NULL_TREE || t == error_mark_node) return t; ==> switch (TREE_CODE (t)) { case IDENTIFIER_NODE: return do_identifier (t, 0, NULL_TREE); Crash with t=0xa5a5a5a5 (uh, looks suspicious...) One stack frame above (recursive call from build_expr_from_tree()): case TREE_LIST: { tree purpose, value, chain; if (t == void_list_node) return t; purpose = TREE_PURPOSE (t); if (purpose) purpose = build_expr_from_tree (purpose); value = TREE_VALUE (t); if (value) ==> value = build_expr_from_tree (value); chain = TREE_CHAIN (t); if (chain && chain != void_type_node) chain = build_expr_from_tree (chain); return tree_cons (purpose, value, chain); } `value' is reported to be 0xa5a5a5a5 while t=0xac912c. --REGISTER DUMP-- eax 0xa5a5a5a5 -1515870811 ecx 0xac9140 11309376 edx 0xa5a5a5a5 -1515870811 ebx 0xa5a5a5a5 -1515870811 esp 0xb8142820 0xb8142820 ebp 0xb8142898 0xb8142898 esi 0x0 0 edi 0xa8e280 11068032 eip 0x80c6b85 0x80c6b85 eflags 0x10296 66198 cs 0x23 35 ss 0x2b 43 ds 0x2b 43 es 0x2b 43 fs 0x0 0 gs 0x0 0 orig_eax 0xffffffff -1 >How-To-Repeat: Compile attached code using calls mentioned above. >Fix: I'd be very glad if I was able to offer one... >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/x-tgz; name="crashme.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="crashme.tar.gz" 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 fX1d1/8D5yUMkwCQAQA=