Bug 16548 - [4.0 Regression] Tru64 UNIX V5.1B bootstrap failure: ICE in find_or_generate_expression, at tree-ssa-pre.c:1300
Summary: [4.0 Regression] Tru64 UNIX V5.1B bootstrap failure: ICE in find_or_generate_...
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 4.0.0
: P2 critical
Target Milestone: 4.0.0
Assignee: Not yet assigned to anyone
URL:
Keywords: ice-on-valid-code
Depends on:
Blocks:
 
Reported: 2004-07-14 18:19 UTC by Rainer Orth
Modified: 2005-07-23 22:49 UTC (History)
2 users (show)

See Also:
Host: alpha-dec-osf5.1b
Target: alpha-dec-osf5.1b
Build: alpha-dec-osf5.1b
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Orth 2004-07-14 18:19:19 UTC
Even after working around the problem described in PR bootstrap/16547,
bootstrap on alpha-dec-osf5.1b fails in stage2 building gcc.o:

$ (SHLIB_LINK=' ./xgcc -B./ -B/vol/gcc/share/alpha-dec-osf5.1b/bin/ -isystem /vol/gcc/share/alpha-dec-osf5.1b/include -isystem /vol/gcc/share/alpha-dec-osf5.1b/sys-include -L/vol/gcc/obj/gcc-3.5.0-20040709/5.1b-gcc/gcc/../ld -O2  -DIN_GCC    -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wno-error -isystem ./include  -fPIC -pthread -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -shared -nodefaultlibs -Wl,-hidden_symbol,pthread\* -Wl,-hidden_symbol,__pthread\* -Wl,-hidden_symbol,sched_get_\* -Wl,-hidden_symbol,sched_yield -Wl,-msym -Wl,-set_version,gcc.1 -Wl,-soname,@shlib_base_name@.so.1 -o @shlib_base_name@.so @multilib_flags@ @shlib_objs@ -lc && rm -f @shlib_base_name@.so.1 && ln -s @shlib_base_name@.so @shlib_base_name@.so.1' \
SHLIB_MULTILIB=''; \
stage1/xgcc -Bstage1/ -B/vol/gcc/share/alpha-dec-osf5.1b/bin/   -g -O2 -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Werror -fno-common -Wno-error  -DHAVE_CONFIG_H    -I. -I. -I/vol/gnu/src/gcc/gcc-dist/gcc -I/vol/gnu/src/gcc/gcc-dist/gcc/. -I/vol/gnu/src/gcc/gcc-dist/gcc/../include -I/vol/gnu/src/gcc/gcc-dist/gcc/../libcpp/include -I/vol/gnu/src/gcc/gcc-dist/gcc/../libbanshee/libcompat -I/vol/gnu/src/gcc/gcc-dist/gcc/../libbanshee -I/vol/gnu/src/gcc/gcc-dist/gcc/../libbanshee/points-to  \
  -DSTANDARD_STARTFILE_PREFIX=\"../../../\" -DSTANDARD_EXEC_PREFIX=\"/vol/gcc/lib/gcc/\" -DSTANDARD_LIBEXEC_PREFIX=\"/vol/gcc/libexec/gcc/\" -DDEFAULT_TARGET_VERSION=\"3.5.0\" -DDEFAULT_TARGET_MACHINE=\"alpha-dec-osf5.1b\" -DSTANDARD_BINDIR_PREFIX=\"/vol/gcc/bin/\" -DTOOLDIR_BASE_PREFIX=\"/vol/gcc/share/../\"  `test "X${SHLIB_LINK}" = "X" || test "yes" != "yes" || echo "-DENABLE_SHARED_LIBGCC"` `test "X${SHLIB_MULTILIB}" = "X" || echo "-DNO_SHARED_LIBGCC_MULTILIB"` \
  -c /vol/gnu/src/gcc/gcc-dist/gcc/gcc.c -o gcc.o)
/vol/gnu/src/gcc/gcc-dist/gcc/gcc.c:941: warning: string length `844' is greater than the length `509' ISO C89 compilers are required to support
/vol/gnu/src/gcc/gcc-dist/gcc/gcc.c:966: warning: string length `608' is greater than the length `509' ISO C89 compilers are required to support
In file included from ./specs.h:3,
                 from /vol/gnu/src/gcc/gcc-dist/gcc/gcc.c:999:
/vol/gnu/src/gcc/gcc-dist/gcc/objc/lang-specs.h:27: warning: string length `603' is greater than the length `509' ISO C89 compilers are required to support
/vol/gnu/src/gcc/gcc-dist/gcc/objc/lang-specs.h:42: warning: string length `783' is greater than the length `509' ISO C89 compilers are required to support
/vol/gnu/src/gcc/gcc-dist/gcc/gcc.c: In function `do_spec_1':
/vol/gnu/src/gcc/gcc-dist/gcc/gcc.c:4522: internal compiler error: in find_or_generate_expression, at tree-ssa-pre.c:1300

Unfortunately the ICE vanishes with -save-temps

It is currently ugly to run in gdb without -save-temps since once cannot
just cut and past the -v output into gdb (at least for this compilation),
but has to manually single-quote all the double-quoted strings in -D
switches on the command line to protect the from shell interpretation ;-(

If I do so, I get the following stack trace:

#0  fancy_abort (file=0x140099ca0 "/vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c", line=1300, function=0x140099e4b "find_or_generate_expression") at /vol/gnu/src/gcc/gcc-dist/gcc/diagnostic.c:594
#1  0x000000012071aabc in find_or_generate_expression (block=0xa389a0, expr=0x3a3f50, stmts=0x12fb500) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1300
#2  0x000000012071ae28 in create_expression_by_pieces (block=0xa389a0, expr=0x1403348b0, stmts=0x12fb500) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1337
#3  0x000000012071be00 in insert_aux (block=0x794b60) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1530
#4  0x000000012071c160 in insert_aux (block=0xa2ee00) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1583
#5  0x000000012071c160 in insert_aux (block=0x3262a0) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1583
#6  0x000000012071c160 in insert_aux (block=0xa2ed20) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1583
#7  0x000000012071c160 in insert_aux (block=0xa2e9a0) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1583
#8  0x000000012071c2a4 in insert () at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1605
#9  0x000000012071e6b4 in execute_pre (do_fre=0 '\0') at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:1990
#10 0x000000012071e7b8 in do_pre () at /vol/gnu/src/gcc/gcc-dist/gcc/tree-ssa-pre.c:2012
#11 0x0000000120479998 in execute_one_pass (pass=0x1400133b0) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-optimize.c:409
#12 0x0000000120479a8c in execute_pass_list (pass=0x1400133b0) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-optimize.c:434
#13 0x0000000120479ab4 in execute_pass_list (pass=0x140006bd8) at /vol/gnu/src/gcc/gcc-dist/gcc/tree-optimize.c:435
#14 0x0000000120479e18 in tree_rest_of_compilation (fndecl=0x516ee0, nested_p=0 '\0') at /vol/gnu/src/gcc/gcc-dist/gcc/tree-optimize.c:510
#15 0x000000012009b4ac in c_expand_body (fndecl=0x516ee0) at /vol/gnu/src/gcc/gcc-dist/gcc/c-decl.c:6347
#16 0x000000012042d790 in cgraph_expand_function (node=0x1a8380) at /vol/gnu/src/gcc/gcc-dist/gcc/cgraphunit.c:797
#17 0x00000001204309c4 in cgraph_expand_all_functions () at /vol/gnu/src/gcc/gcc-dist/gcc/cgraphunit.c:1669
#18 0x0000000120430ef0 in cgraph_optimize () at /vol/gnu/src/gcc/gcc-dist/gcc/cgraphunit.c:1759
#19 0x000000012009c638 in c_write_global_declarations () at /vol/gnu/src/gcc/gcc-dist/gcc/c-decl.c:6653
#20 0x00000001201923a0 in compile_file () at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:994
#21 0x000000012019513c in do_compile () at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:2066
#22 0x0000000120195228 in toplev_main (argc=47, argv=0x11fffc018) at /vol/gnu/src/gcc/gcc-dist/gcc/toplev.c:2098
#23 0x00000001201431f8 in main (argc=47, argv=0x11fffc018) at /vol/gnu/src/gcc/gcc-dist/gcc/main.c:35

genop in find_or_generate_expression() is

 <modify_expr 6a8a00
    type <pointer_type 38a80
        type <integer_type 389a0 char readonly QI
            size <integer_cst 1c4b0 constant invariant 8>
            unit size <integer_cst 1c4e0 constant invariant 1>
            align 8 symtab 149 alias set -1 precision 8 min <integer_cst 1c630 -128> max <integer_cst 1c660 127>
            pointer_to_this <pointer_type 38a80>>
        unsigned DI
        size <integer_cst 1d500 constant invariant 64>
        unit size <integer_cst 1d5c0 constant invariant 8>
        align 64 symtab 148 alias set -1
        pointer_to_this <pointer_type 38fc0>>
    side-effects asm_written visited
    arg 0 <ssa_name 6e73b0 type <pointer_type 38a80>
       >
    arg 1 <plus_expr 662e60 type <pointer_type 38a80>
       
        arg 0 <ssa_name 6e6e60 type <pointer_type 38a80>
           >
        arg 1 <integer_cst 4a89c0 constant invariant 2>>
    /vol/gnu/src/gcc/gcc-dist/gcc/gcc.c:4619>

Environment:
System: OSF1 bartok V5.1 2650 alpha
Machine: alpha
	
host: alpha-dec-osf5.1b
build: alpha-dec-osf5.1b
target: alpha-dec-osf5.1b
configured with: /vol/gnu/src/gcc/gcc-dist/configure --prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls --host alpha-dec-osf5.1b --build alpha-dec-osf5.1b --target alpha-dec-osf5.1b --disable-libmudflap

How-To-Repeat:
Bootstrap mainline as described above.
Comment 1 Daniel Berlin 2004-07-14 19:43:51 UTC
I can't really debug this without an actual testcase.
It looks like stage1 miscompiled something, or random memory corruption.
There is no reason it wouldn't be reproducable with -save-temps otherwise.
I highly doubt this is an actual PRE bug as a result.
Comment 2 Rainer Orth 2004-07-15 19:51:11 UTC
Subject: Re:  [3.5 Regression] Tru64 UNIX V5.1B bootstrap failure: ICE in find_or_generate_expression, at tree-ssa-pre.c:1300

dberlin at gcc dot gnu dot org writes:

> I can't really debug this without an actual testcase.
> It looks like stage1 miscompiled something, or random memory corruption.
> There is no reason it wouldn't be reproducable with -save-temps otherwise.

Indeed: I've just retried a bootstrap as of 20040714 which (after working
around PR bootstrap/16547) succeeded without hitting this problem.  It was
already strange that the problem only occured on Tru64 UNIX V5.1B, not
V4.0F.

	Rainer
Comment 3 Andrew Pinski 2004-09-15 04:07:50 UTC
Does this happen still?
Comment 4 Rainer Orth 2004-09-15 08:26:17 UTC
Subject: Re:  [4.0 Regression] Tru64 UNIX V5.1B bootstrap failure: ICE in find_or_generate_expression, at tree-ssa-pre.c:1300

pinskia at gcc dot gnu dot org writes:

> Does this happen still?

no, mainline bootstraps on alpha-dec-osf4.0f and alpha-dec-osf5.1b as of
20040910 went along beyond the three-stage bootstrap, only failing later
building the target libraries (still to be reported).

	Rainer
Comment 5 Andrew Pinski 2004-09-15 08:28:46 UTC
Fixed so closing, please open a new bug for the target libraries problem.