[Bug c/105675] Segmentation fault

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri May 20 18:38:04 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105675

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |RESOLVED
         Resolution|---                         |WONTFIX
           Keywords|                            |ice-on-valid-code

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This is a won't fix stitutation. 

You have & on a type repeated 237,679 times. 

With a recusive decent compiler, you run out of stack space with that many
times.
#17 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#18 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#19 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#20 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#21 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#22 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#23 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#24 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#25 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#26 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#27 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#28 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#29 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#30 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#31 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#32 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#33 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#34 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#35 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#36 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#37 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#38 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948
#39 0x0000000000b7c653 in cp_parser_declarator (parser=0x7ffff72bd7b8,
dcl_kind=CP_PARSER_DECLARATOR_NAMED, flags=0, ctor_dtor_or_conv_p=0x0,
parenthesized_p=<optimized out>, member_p=false, friend_p=false,
static_p=false) at /home/apinski/src/upstream-gcc/gcc/gcc/cp/parser.cc:22948

....

Don't do that many times and you won't run into the stack overflow.
There is not much that can be done and the number of references types can be
done by the defualt stack size over 1000.
Any reasonable program will be able to compile.
Basically doctor it hurts when I do this, doctor: don't do that then.


More information about the Gcc-bugs mailing list