Bug 8511 - (hopefully) reproducible cc1plus SIGSEGV.
Summary: (hopefully) reproducible cc1plus SIGSEGV.
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 3.3
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-invalid-code
Depends on:
Blocks:
 
Reported: 2002-11-09 04:36 UTC by wwieser
Modified: 2003-07-25 17:33 UTC (History)
4 users (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments
crashme.tar.gz (17.06 KB, application/x-gzip )
2003-05-21 15:16 UTC, wwieser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description wwieser 2002-11-09 04:36:01 UTC
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

Release:
3.2 20020731 (prerelease) ... 3.3 20021107 (experimental)

Environment:
i686-pc-linux-gnu

How-To-Repeat:
Compile attached code using calls mentioned above.
Comment 2 Volker Reichelt 2002-11-09 15:54:52 UTC
State-Changed-From-To: open->analyzed
State-Changed-Why: Confirmed.
    
    Compiling the code with gcc 3.2 I get an internal compiler error.
    The problem can be reduced to the following code snippet:
    
    ------------------------snip here--------------------
    template <int I> struct A
    {
       void foo();
       template <int M,int N> friend int bar (const A<N>&, const A<M>&);
    };
    
    template <> void A<0>::foo() {}
    
    template <int M,int N> int bar (const A<N>&, const A<M>&) { return N; }
    
    void baz () { bar(A<1>(),A<2>()); }
    ------------------------snip here--------------------
    
    Compiling this with gcc 3.2 (just "g++ -c") I get the
    following ICE:
    
    bug.cc: In function `int bar(const A<N>&, const A<M>&) [with int M = 2, int N 
       = 1, int I = 0]':
    bug.cc:11:   instantiated from here
    bug.cc:9: Internal compiler error in c_expand_expr, at c-common.c:3646
    Please submit a full bug report, [etc.]
    
    In fact, the short testcase crashes gcc since 2.95.x.
    
    The code looks illegal to me (foo is specialized without
    having specialized A first).
Comment 3 Zack Weinberg 2002-11-10 12:43:03 UTC
From: Zack Weinberg <zack@codesourcery.com>
To: wwieser@gmx.de
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Sun, 10 Nov 2002 12:43:03 -0800

 On Sat, Nov 09, 2002 at 12:33:14PM -0000, wwieser@gmx.de wrote:
 > 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.
 
 That is an expected effect for the sort of bug you have found.
 
 > 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.]
 
 I do not understand why you need this.  When I run cc1(plus) under
 GDB and it takes a fatal signal, GDB recovers control at the point of
 the signal, before signal handlers have a chance to run.
 
 For debugging 'plain' ICEs, the thing to do is set a breakpoint on
 internal_error() before running the program.
 
 >       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.)
 
 There's not enough information here to know what went wrong.  Probably
 TREE_TYPE (val) was an invalid pointer.
 
 > ==>   switch (TREE_CODE (t))
 >         {
 >         case IDENTIFIER_NODE:
 >           return do_identifier (t, 0, NULL_TREE);
 > 
 > Crash with t=0xa5a5a5a5 (uh, looks suspicious...)
 
 Yeah.  That means the garbage collector ate a piece of live data.
 These are a pain to debug -- even slight changes in the input will
 make the problem vanish.  Unfortunately, using the code you posted, I
 cannot reproduce the crash; I see same the ICE in c_expand_expr that
 Volker Reichelt did.  This is very likely to be because the libstdc++
 headers have changed just enough to perturb the bug into going away; I
 don't see any logged changes that could plausibly have fixed the bug.
 
 We need you to give us a preprocessed source file.  Using your
 installation, issue this command:
 
 g++ -V3.3 -v -save-temps -I. -Wno-non-template-friend -Wno-unused \
         -ftemplate-depth-30 -c -o spline.o spline.cpp 
 
 That should provoke the same crash, but it will produce a file named
 spline.i as a side effect.  Send us that file (compressed! it will be
 huge) and the complete output of the command.
 
 zw

Comment 4 wwieser 2002-11-10 14:19:44 UTC
From: wwieser@gmx.de
To: gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org,
        nobody@gcc.gnu.org, reichelt@igpm.rwth-aachen.de
Cc:  
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Sun, 10 Nov 2002 14:19:44 +0100

 On Sunday 10 November 2002 00:54, reichelt@igpm.rwth-aachen.de wrote:
 > Synopsis: (hopefully) reproducible cc1plus SIGSEGV.
 >
 Thanks for your reply, but...
 
 > State-Changed-From-To: open->analyzed
 > State-Changed-By: reichelt
 > State-Changed-When: Sat Nov  9 15:54:52 2002
 > State-Changed-Why:
 >     Confirmed.
 >
 >     Compiling the code with gcc 3.2 I get an internal compiler error.
 >     The problem can be reduced to the following code snippet:
 >
 >     ------------------------snip here--------------------
 > [...]
 >     ------------------------snip here--------------------
 >
 >     Compiling this with gcc 3.2 (just "g++ -c") I get the
 >     following ICE:
 >
 >     In fact, the short testcase crashes gcc since 2.95.x.
 >
 The point is something different. I get a real SIGSEGV, NOT an internal 
 compiler error. Sadly, I have quite a lot of heavy template code which 
 triggers internal compiler errors (I reported one of them some time back 
 and it is not yet fixed), but this one really makes gcc SIGSEGV. 
 
 Also, the debugger shows the suspicious address 0xa5a5a5a5 which might 
 indicate some more serious bug inside the compiler than simply a missing 
 C++ language feature. 
 
 So, please tell me if you can reproduce a SIGSEGV, and not an internal 
 compiler error. 
 
 > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&
 >pr=8511

Comment 5 Volker Reichelt 2002-11-10 23:03:15 UTC
From: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
To: wwieser@gmx.de, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org,
        nobody@gcc.gnu.org
Cc:  
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Sun, 10 Nov 2002 23:03:15 +0100

 > The point is something different. I get a real SIGSEGV, NOT an internal 
 > compiler error. Sadly, I have quite a lot of heavy template code which 
 > triggers internal compiler errors (I reported one of them some time back 
 > and it is not yet fixed), but this one really makes gcc SIGSEGV.
 
 I suppose it's *not* a "Internal compiler error: Segmentation fault".
 Did I get you rught?
 
 > Also, the debugger shows the suspicious address 0xa5a5a5a5 which might 
 > indicate some more serious bug inside the compiler than simply a missing 
 > C++ language feature.
 
 > So, please tell me if you can reproduce a SIGSEGV, and not an internal 
 > compiler error.
 
 I just tried gcc 3.2 on your sources, but I only get an ICE.
 However, since you haven't provided a preprocessed source, I'm probably
 compiling different code than you.
 
 Can you generate a preprocessed source that also causes a segfault?
 If yes, could you please send the preprocessed file?
 
 If no, then something strange is happening :-(
 My first wild guess would be that the compiler ran out of memory when
 compiling your source. Can you make sure that this is not the reason
 (i.e. by using a swap device that is large enough)?
 You might have hardware problems: for example faulty memory (you could
 try to swap your chips if you have multiple banks of memory). I remember
 one PR where a faulty BIOS was responsible for strange gcc errors
 (are BIOS upgrades available for your board).
 
 Good luck,
 Volker
 
 PS: gcc-prs is a read-only list and therefore always bounces,
 just don't send any mail to that address.
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8511
 
 

Comment 6 Zack Weinberg 2002-11-12 18:29:22 UTC
From: Zack Weinberg <zack@codesourcery.com>
To: Wolfgang Wieser <wwieser@gmx.de>, mark@codesourcery.com
Cc: Volker Reichelt <reichelt@igpm.rwth-aachen.de>, gcc-gnats@gcc.gnu.org,
	gcc-bugs@gcc.gnu.org
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Tue, 12 Nov 2002 18:29:22 -0800

 On Tue, Nov 12, 2002 at 10:25:10PM +0100, Wolfgang Wieser wrote:
 > Ah - still: Doing abort() instead of exit(1) on ICE would make it easier 
 > debuggable. (Or am I wrong again? - Okay using a breakpoint...)
 
 Use of exit() happens to be the easiest way to prevent users from
 getting 100MB core dumps (which they will then try to mail to
 gcc-bugs) when ICEs happen.
 
 > > > (Neither type nor val are NULL.)
 > >
 > > There's not enough information here to know what went wrong.  Probably
 > > TREE_TYPE (val) was an invalid pointer.
 > >
 > How can I tell...?
 
 (gdb) p val->common.type->common
 
 will dump out enough information to tell you if it's a valid pointer
 to a tree.  (TREE_TYPE (val) expands to val->common.type.  You can
 find this out by reading tree.h.  Yeah, it's a pain.)
 
 > > Yeah.  That means the garbage collector ate a piece of live data.
 > > These are a pain to debug -- even slight changes in the input will
 > > make the problem vanish.  
 > >
 > That's _exactly_ what I am experiencing!
 > Even if I remove some lines far away which seemingly do 
 > not have anything to do with the location of the SIGSEGV, the SIGSEGV 
 > goes away (turns into ordinary ICE). 
 ...
 > > We need you to give us a preprocessed source file.  Using your
 > > installation, issue this command:
 > >
 > I'll provide you with preorocessed code. 
 
 Using the file you attached, I can now reproduce the crash.  It turns
 out not to be a GC bug, but an access-beyond-end-of-array bug.
 
 tsubst() [in cp/pt.c] is called with this TEMPLATE_PARM_INDEX expression:
 
  <template_parm_index
     type <integer_type int>
    index 1 level 1 orig_level 1>
 
 and this 'args' structure:
 
  <tree_vec
    elt 0 <tree_vec
      elt 0 <integer_cst 3>>
    elt 1 <tree_vec
      elt 0 <integer_cst 4>
      elt 1 <integer_cst 4>>>
 
 tsubst is to return the element of the args structure that the
 template_parm_index expression refers to.  Here's the catch: 'index'
 values are 0-based, but 'level' values are 1-based, so it winds up
 trying to access elt 1 of elt 0 of that tree_vec.  Which, as you can
 see, does not exist.
 
 This should have been caught by bounds checking code in the
 TREE_VEC_ELT macro (since ENABLE_TREE_CHECKING is on), but, well,
 there is no bounds checking code there.  So tsubst happily reads the
 word one beyond the end of the inner tree_vec, which the garbage
 collector has helpfully set to the 'poison' value 0xa5a5a5a5.  That
 then gets plugged into the structure returned from tsubst.  The crash
 happens significantly later when other code tries to dereference the
 poison value as a pointer.
 
 I think the right fix for tsubst() is this patch:
 
 ===================================================================
 Index: cp/pt.c
 --- cp/pt.c	9 Nov 2002 11:53:16 -0000	1.630
 +++ cp/pt.c	13 Nov 2002 02:21:05 -0000
 @@ -6539,7 +6539,8 @@ tsubst (t, args, complain, in_decl)
  	    tree arg = NULL_TREE;
  
  	    levels = TMPL_ARGS_DEPTH (args);
 -	    if (level <= levels)
 +	    if (level <= levels
 +		&& idx < NUM_TMPL_ARGS (TMPL_ARGS_LEVEL (args, level)))
  	      arg = TMPL_ARG (args, level, idx);
  
  	    if (arg == error_mark_node)
 
 That prevents the invalid access.  Your test case then carries on to
 crash in c_expand_expr, which is the other bug that we already know
 about, and Volker found a reduced test case for.  I'm cc:ing Mark for
 comments, he's a lot more familiar with this part of the compiler than
 I am.  I'm a bit concerned that this does not happen when unrelated
 parts of the code are changed; the original data corruption could be
 even earlier.
 
 We also want to add bounds checking to TREE_VEC_ELT.
 
 I note that the first thing the patched compiler says about this code
 is
 
 val/internals.hpp: In function `void 
    internal_vect::mult_mv(internal_vect::vector<n>&, const 
    internal_vect::matrix<r, c>&, const internal_vect::vector<c>&) [with int r = 
    4, int c = 4, int N = 3]':
 val/vector.hpp:50:   instantiated from `vect::Vector<N> vect::operator*(const vect::Matrix<R, C>&, const vect::Vector<C>&) [with int R = 4, int C = 4]'
 spline.cpp:102:   instantiated from here
 val/internals.hpp:84: internal compiler error: in c_expand_expr, at c-common.c:
    4319
 
 If Volker's right that the code is invalid, this should be considered
 a more serious case of ice-on-invalid than one where an error message
 came up first.
 
 > [I hope it was okay to CC gcc lists when attaching spline.ii.gz.]
 
 Yes, that was fine.
 
 zw

Comment 7 wwieser 2002-11-12 22:25:10 UTC
From: Wolfgang Wieser <wwieser@gmx.de>
To: Zack Weinberg <zack@codesourcery.com>,
 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
Cc: gcc-gnats@gcc.gnu.org,
 gcc-bugs@gcc.gnu.org
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Tue, 12 Nov 2002 22:25:10 +0100

 --------------Boundary-00=_YHFHWSTT4X4A1VQH0974
 Content-Type: text/plain;
   charset="iso-8859-1"
 Content-Transfer-Encoding: 8bit
 
 On Sun, 10 Nov 2002 23:03:15 +0100, Volker Reichelt wrote:
 > I suppose it's *not* a "Internal compiler error: Segmentation fault".
 > Did I get you rught?
 >
 No, it _is_ an ICE "Segmentation Fault". 
 (Sorry if I was unclear on that.)
 
 >My first wild guess would be that the compiler ran out of memory when
 >compiling your source. Can you make sure that this is not the reason
 >(i.e. by using a swap device that is large enough)?
 >
 I have 256 Mb RAM and even more swap and I am pretty sure that mem 
 shortage is not the problem especially as swap is neraly unused. 
 I could analyze strace output (grep for mmap & brk) if needed. 
 
 >You might have hardware problems: for example faulty memory (you could
 >try to swap your chips if you have multiple banks of memory). I remember
 >one PR where a faulty BIOS was responsible for strange gcc errors
 >(are BIOS upgrades available for your board).
 >
 I am using pretty new Infineon SDRAM, never had any instability problems 
 and ran memtest for several hours some time back. Hardware is not the 
 source of trouble. (But you're right: Checking the easiest trouble sources 
 first is just logical...)
 
 On Sunday 10 November 2002 21:43, Zack Weinberg wrote:
 > On Sat, Nov 09, 2002 at 12:33:14PM -0000, wwieser@gmx.de wrote:
 > > 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.]
 >
 > I do not understand why you need this.  When I run cc1(plus) under
 > GDB and it takes a fatal signal, GDB recovers control at the point of
 > the signal, before signal handlers have a chance to run.
 >
 Oh yes, you are right. 
 Ugh, why did I suggest that? 
 Ah - still: Doing abort() instead of exit(1) on ICE would make it easier 
 debuggable. (Or am I wrong again? - Okay using a breakpoint...)
 
 > For debugging 'plain' ICEs, the thing to do is set a breakpoint on
 > internal_error() before running the program.
 >
 > >       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.)
 >
 > There's not enough information here to know what went wrong.  Probably
 > TREE_TYPE (val) was an invalid pointer.
 >
 How can I tell...?
 
 > > ==>   switch (TREE_CODE (t))
 > >         {
 > >         case IDENTIFIER_NODE:
 > >           return do_identifier (t, 0, NULL_TREE);
 > >
 > > Crash with t=0xa5a5a5a5 (uh, looks suspicious...)
 >
 > Yeah.  That means the garbage collector ate a piece of live data.
 > These are a pain to debug -- even slight changes in the input will
 > make the problem vanish.  
 >
 That's _exactly_ what I am experiencing!
 Even if I remove some lines far away which seemingly do 
 not have anything to do with the location of the SIGSEGV, the SIGSEGV 
 goes away (turns into ordinary ICE). 
 
 > Unfortunately, using the code you posted, I
 > cannot reproduce the crash; I see same the ICE in c_expand_expr that
 > Volker Reichelt did.  This is very likely to be because the libstdc++
 > headers have changed just enough to perturb the bug into going away; I
 > don't see any logged changes that could plausibly have fixed the bug.
 >
 > We need you to give us a preprocessed source file.  Using your
 > installation, issue this command:
 >
 I'll provide you with preorocessed code. 
 
 > g++ -V3.3 -v -save-temps -I. -Wno-non-template-friend -Wno-unused \
 >         -ftemplate-depth-30 -c -o spline.o spline.cpp
 >
 > That should provoke the same crash, but it will produce a file named
 > spline.i as a side effect.  Send us that file (compressed! it will be
 > huge) and the complete output of the command.
 >
 Okay. So, first I CVS updated to the current version (20021112) and 
 did a complete re-build (rm -f build-dir; build using gcc-3.3). 
 [I can build gcc using gcc-3.2, too, if needed, but it's too late today...]
 And then, I compiled the attached code (spline.ii) which makes gcc 
 SIGSEGV. (ICE: Segmentation fault)
 
 Please see if you can reproduce the crash. 
 
 Regards,
 Wolfgang
 
 [I hope it was okay to CC gcc lists when attaching spline.ii.gz.]
 
 --------------Boundary-00=_YHFHWSTT4X4A1VQH0974
 Content-Type: application/x-gzip;
   name="spline.ii.gz"
 Content-Transfer-Encoding: base64
 Content-Description: Preprocessed source.
 Content-Disposition: attachment; filename="spline.ii.gz"
 
 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
 YOW6V4WsjB2obIT8rNi9AB13DO87uoKlla2wXbYfa0U0OySSRg1IvLUVgtiNycyMGnoa7TSZ5qNj
 k8I6EFQwqdryHb83zbStk1/JJKmfVFPuLE3/vR6JS9AxPqW3/jhOAdUYDrE8JIQPBMOIiSQY04Jx
 GQIwvDxwAxFx/CUubF0Jv375he0dlh9esS8t62iSEflgRGSI5rdHPyvyyBh5hYf9Z1Ve+Qg/xqSB
 cepvPAgdBIFmfBNHguJzhp+AcLXtmBDhiJ8yD3lVC4pnMpLTRcainLtnDOpAGllyoFp9njhevXrr
 gM1c+Daot03l6t2rz927V1vpnjMPi8P8zdeFbf9C0K3979PYslsxTHOXYZp7DFPVR+O0REUKD1ij
 pxPcFKUcJpQ7YtDlDgsyiTEhWcM0sQeVd6r1mFeyHhOf+VixGTtuTTrElEM9ERV3LavdinOrAI2b
 VNuFGA1OMTg4OY0b6kwAJV9tQ4DnMYKo4eg3ssGHji16PTrrBDEhVJsNdfZJNUgjNACgx+FXQtaD
 +W27+xO7kjzePRLhTuGHCeh96KvYS8qtSn1vXOb4jiY0k7BPQuX6jkBP9l1x/Bw5C6gdn2WXr6/G
 4334mx2fHO8v4Pd8fb9/NV8z5xOvvyomRNzyBpJDaOLY2QSj7nHXg4OQ3+s57LOTIab3kMBZmTue
 4w2uOnrz1gMCrjWiEajD4bc/3NH8sGA0tcWbWX5H33TlG3EHY0++mWRX9KxIX765F68O5SvmoTpP
 juQbokPo9XjH8s3VcrSAZPdv5JvL2Wj+E9xqIt+M58US7j18W8JZz6k7v9tRcITbmsgrgja8U7oG
 5qR4bCVnyUnyp4TJu2az+9/0AlC1RAte9A7hEhezZvc4ouoJVrN3GKp5ccFrBgoRzFps6agOFm+P
 Pnr7yErYfZQ13X1Uqp5gNd19FDW9fVQK6X0U7MfbY3nUfX1kJew+ypruPipVT7Ca7j6Kmt4+KoX0
 PorZw9ujj94+shJ2H2VNdx+VqidYTXcfRU1vH5VCeh/vjU7eh3t57+rmfUQ/7x0dvY/o6X1UV++d
 fRWyjzdJH709ZSXsjsqa7n4qVU+wmu5eipreTiqF9D4Kac7bo4/ePrISdh9lTXcflaonWE13H0VN
 bx+VQnofhX7i7dFHbx9ZCbuPsqa7j0rVE6ymu4+iprePSiG9j0Lj8vboo7ePrITdR1nT3Uel6glW
 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
 JV2LSzqRXLLfrcsmPYxNPjX+fygq/IDm8gwA
 
 --------------Boundary-00=_YHFHWSTT4X4A1VQH0974--

Comment 8 Zack Weinberg 2002-11-14 11:29:23 UTC
From: Zack Weinberg <zack@codesourcery.com>
To: Wolfgang Wieser <wwieser@gmx.de>
Cc: mark@codesourcery.com,  Volker Reichelt <reichelt@igpm.rwth-aachen.de>,
	  gcc-gnats@gcc.gnu.org,  gcc-bugs@gcc.gnu.org
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Thu, 14 Nov 2002 11:29:23 -0800

 Wolfgang Wieser <wwieser@gmx.de> writes:
 
 >> That prevents the invalid access.  Your test case then carries on to
 >> crash in c_expand_expr, which is the other bug that we already know
 >> about, and Volker found a reduced test case for.  I'm cc:ing Mark for
 >> comments, he's a lot more familiar with this part of the compiler than
 >> I am.  I'm a bit concerned that this does not happen when unrelated
 >> parts of the code are changed; the original data corruption could be
 >> even earlier.
 
 FYI, I will be posting an updated patch for the data corruption bug
 later today; comments would be nice.
 
 > Okay, I just found the e-mail containing a test case triggering a bug in 
 > c_expand_expr: 
 >
 > ----------------------------snip here---------------------------
 > template<int N> class A
 > {
 >     template<int I,int J> friend int foo();
 > };
 >
 > A<0> a;
 >
 > template<int I,int J> int foo() { return J; }
 >
 > void bar() { foo<0,0>(); }
 > ----------------------------snip here---------------------------
 >
 > This test case was generously provided by Volker Reichelt .. :) 
 > and can be accessed as problem report 6971 (filed by me). 
 
 This bug is still reproducible with the 3.2.1 prerelease and with CVS
 HEAD.  I get a different ICE with 2.95.
 
 Hopefully this will get fixed in 3.3, but I cannot promise anything.
 Since this bug is c++/6971, do you agree we can close c++/8511 once
 the segmentation fault is patched?
 
 zw

Comment 9 wwieser 2002-11-14 19:17:41 UTC
From: Wolfgang Wieser <wwieser@gmx.de>
To: Zack Weinberg <zack@codesourcery.com>,
 mark@codesourcery.com
Cc: Volker Reichelt <reichelt@igpm.rwth-aachen.de>,
 gcc-gnats@gcc.gnu.org,
 gcc-bugs@gcc.gnu.org
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Thu, 14 Nov 2002 19:17:41 +0100

 On Wednesday 13 November 2002 03:29, Zack Weinberg wrote:
 > On Tue, Nov 12, 2002 at 10:25:10PM +0100, Wolfgang Wieser wrote:
 > > Ah - still: Doing abort() instead of exit(1) on ICE would make it easier
 > > debuggable. (Or am I wrong again? - Okay using a breakpoint...)
 >
 > Use of exit() happens to be the easiest way to prevent users from
 > getting 100MB core dumps (which they will then try to mail to
 > gcc-bugs) when ICEs happen.
 >
 Good argument. Okay, now I see. 
 
 > > > We need you to give us a preprocessed source file.  Using your
 > > > installation, issue this command:
 > >
 > > I'll provide you with preorocessed code.
 >
 > Using the file you attached, I can now reproduce the crash.  It turns
 > out not to be a GC bug, but an access-beyond-end-of-array bug.
 >
 > [...]
 >
 > That prevents the invalid access.  Your test case then carries on to
 > crash in c_expand_expr, which is the other bug that we already know
 > about, and Volker found a reduced test case for.  I'm cc:ing Mark for
 > comments, he's a lot more familiar with this part of the compiler than
 > I am.  I'm a bit concerned that this does not happen when unrelated
 > parts of the code are changed; the original data corruption could be
 > even earlier.
 >
 You're tough! I wish I could find bugs in a huge amount of code as good 
 as you...
 
 But as I am not familiar with GCC code at all, I cannot comment on what 
 you posted. But data corruption bugs are about the worst things to debug 
 (at least in my code...)
 
 > val/internals.hpp: In function `void
 >    internal_vect::mult_mv(internal_vect::vector<n>&, const
 >    internal_vect::matrix<r, c>&, const internal_vect::vector<c>&) [with int
 > r = 4, int c = 4, int N = 3]':
 > val/vector.hpp:50:   instantiated from `vect::Vector<N>
 > vect::operator*(const vect::Matrix<R, C>&, const vect::Vector<C>&) [with
 > int R = 4, int C = 4]' spline.cpp:102:   instantiated from here
 > val/internals.hpp:84: internal compiler error: in c_expand_expr, at
 > c-common.c: 4319
 >
 > If Volker's right that the code is invalid, this should be considered
 > a more serious case of ice-on-invalid than one where an error message
 > came up first.
 >
 Okay, the fact that one can extract an invalid test case does not necessarily 
 mean that the code triggering the action is invalid. I cannot comment a lot 
 on that because spline.cpp was written by a friend (all the other code is by 
 me) but I have a different test case around which should be valid C++ 
 (below). 
 
 Nevertheless, I felt it as a duty to report any SIGSEGV immediately because 
 a segmentation fault is a much more critical bug than an ordinary ICE. 
 
 Okay, I just found the e-mail containing a test case triggering a bug in 
 c_expand_expr: 
 
 ----------------------------snip here---------------------------
 template<int N> class A
 {
     template<int I,int J> friend int foo();
 };
 
 A<0> a;
 
 template<int I,int J> int foo() { return J; }
 
 void bar() { foo<0,0>(); }
 ----------------------------snip here---------------------------
 
 This test case was generously provided by Volker Reichelt .. :) 
 and can be accessed as problem report 6971 (filed by me). 
 
 Volker and me agree that this is valid C++. 
 Sorry that I cannot test if this bug is still in gcc (wrong computer here) 
 but I am pretty sure because the last time I checked, is was still there 
 and it is not marked "closed". 
 
 I'd be pleased if you could fix that some time becuase my template 
 code triggers this bug and I currently cannot go on implementing 
 my design. (After all, the bug is already 6 months old.)
 
 Regards,
 Wolfgang Wieser

Comment 10 wwieser 2002-11-16 17:57:34 UTC
From: Wolfgang Wieser <wwieser@gmx.de>
To: Zack Weinberg <zack@codesourcery.com>
Cc: mark@codesourcery.com,
 Volker Reichelt <reichelt@igpm.rwth-aachen.de>,
 gcc-gnats@gcc.gnu.org,
 gcc-bugs@gcc.gnu.org
Subject: Re: c++/8511: (hopefully) reproducible cc1plus SIGSEGV.
Date: Sat, 16 Nov 2002 17:57:34 +0100

 > > Okay, I just found the e-mail containing a test case triggering a bug in
 > > c_expand_expr:
 > >
 > > [snipped]
 > > 
 > This bug is still reproducible with the 3.2.1 prerelease and with CVS
 > HEAD.  I get a different ICE with 2.95.
 >
 > Hopefully this will get fixed in 3.3, but I cannot promise anything.
 > Since this bug is c++/6971, do you agree we can close c++/8511 once
 > the segmentation fault is patched?
 >
 Yes, I think that is okay. 
 
 (And thanks for the quick responses.)
 
 Greets,
 Wolfgang

Comment 11 Mark Mitchell 2002-11-30 14:07:20 UTC
State-Changed-From-To: analyzed->closed
State-Changed-Why: Fixed in GCC 3.3.
Comment 12 Mark Mitchell 2002-11-30 21:57:33 UTC
From: mmitchel@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c++/8511
Date: 30 Nov 2002 21:57:33 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	mmitchel@gcc.gnu.org	2002-11-30 13:57:32
 
 Modified files:
 	gcc/cp         : ChangeLog pt.c 
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/g++.dg/template: friend8.C 
 
 Log message:
 	PR c++/8511
 	* pt.c (instantiate_decl): Handle template friends defined outside
 	of the class correctly.
 	
 	PR c++/8511
 	* g++.dg/template/friend8.C: New test.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3057&r2=1.3058
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.631&r2=1.632
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2239&r2=1.2240
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/friend8.C.diff?cvsroot=gcc&r1=NONE&r2=1.1
 

Comment 13 Mark Mitchell 2002-11-30 21:57:33 UTC
From: mmitchel@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: c++/8511
Date: 30 Nov 2002 21:57:33 -0000

 CVSROOT:	/cvs/gcc
 Module name:	gcc
 Changes by:	mmitchel@gcc.gnu.org	2002-11-30 13:57:32
 
 Modified files:
 	gcc/cp         : ChangeLog pt.c 
 	gcc/testsuite  : ChangeLog 
 Added files:
 	gcc/testsuite/g++.dg/template: friend8.C 
 
 Log message:
 	PR c++/8511
 	* pt.c (instantiate_decl): Handle template friends defined outside
 	of the class correctly.
 	
 	PR c++/8511
 	* g++.dg/template/friend8.C: New test.
 
 Patches:
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.3057&r2=1.3058
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/pt.c.diff?cvsroot=gcc&r1=1.631&r2=1.632
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2239&r2=1.2240
 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/template/friend8.C.diff?cvsroot=gcc&r1=NONE&r2=1.1