This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Try harder to fix recently introduced crashes in ggc_collect


On 05/19/17 16:10, Nathan Sidwell wrote:
> On 05/19/2017 10:05 AM, Bernd Edlinger wrote:
> 
>> hwi cannot be the root cause of the problem,
>> because it can only be long_integer_type_node
>> or long_long_integer_type_node, otherwise
>> an error would be triggered.
> 
> that's the error I made with the static fns.  PCH moves things around, 
> so anything that can be streamed via PCH must be GTY marked.  Also, I'm 
> not sure if the current GC is a compacting GC (given PCH can compact 
> things?)
> 
> Nathan

I did three boot-straps with this patch on the 0515-snapshot, and
the results are not yet completely stable:

One time stage 3 failed as:
lto/lto-lang.o lto/lto.o lto/lto-object.o attribs.o lto/lto-partition.o lto/lto-symtab.o libbackend.a main.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a -L/home/ed/gnu/gcc-build/./isl/.libs  -lisl -L/home/ed/gnu/gcc-build/./gmp/.libs -L/home/ed/gnu/gcc-build/./mpfr/src/.libs -L/home/ed/gnu/gcc-build/./mpc/src/.libs -lmpc -lmpfr -lgmp -rdynamic -ldl  -L./../zlib -lz libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a
tree-tailcall.o:(.debug_info+0x142b0): relocation truncated to fit: R_X86_64_8 against `.debug_str'
collect2: Fehler: ld gab 1 als Ende-Status zurück
make[3]: *** [lto1] Fehler 1
make[3]: *** Warte auf noch nicht beendete Prozesse...
rm fsf-funding.pod gcov.pod gfdl.pod cpp.pod gpl.pod gcc.pod gcov-tool.pod gcov-dump.pod gfortran.pod gccgo.pod
make[3]: Verlasse Verzeichnis '/home/ed/gnu/gcc-build/gcc'
make[2]: *** [all-stage3-gcc] Fehler 2
make[2]: Verlasse Verzeichnis '/home/ed/gnu/gcc-build'
make[1]: *** [stage3-bubble] Fehler 2
make[1]: Verlasse Verzeichnis '/home/ed/gnu/gcc-build'
make: *** [all] Fehler 2

No idea if this is caused by gcc or binutils, I use binutils-2.28.
Two times boot-strap succeeded, but once in the test suite I saw this:

FAIL: gfortran.dg/minloc_3.f90   -O1  (internal compiler error)
FAIL: gfortran.dg/minloc_3.f90   -O1  (test for excess errors)
Excess errors:
/home/ed/gnu/gcc-8-20170514/gcc/testsuite/gfortran.dg/minloc_3.f90:48:0: internal compiler error: tree check: expected class 'type', have 'exceptional' (error_mark) in create_tmp_var, at gimple-expr.c:474
0xe90a67 tree_class_check_failed(tree_node const*, tree_code_class, char const*, int, char const*)
        ../../gcc-8-20170514/gcc/tree.c:9911
0x943bbd tree_class_check(tree_node*, tree_code_class, char const*, int, char const*)
        ../../gcc-8-20170514/gcc/tree.h:3206
0x943bbd create_tmp_var(tree_node*, char const*)
        ../../gcc-8-20170514/gcc/gimple-expr.c:474
0x967ccc voidify_wrapper_expr(tree_node*, tree_node*)
        ../../gcc-8-20170514/gcc/gimplify.c:1073
0x96f841 gimplify_statement_list
        ../../gcc-8-20170514/gcc/gimplify.c:1712
0x96f841 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
        ../../gcc-8-20170514/gcc/gimplify.c:11686
0x973ec8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-8-20170514/gcc/gimplify.c:6517
0x97935e gimplify_cond_expr
        ../../gcc-8-20170514/gcc/gimplify.c:3991
0x96ffe8 gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
        ../../gcc-8-20170514/gcc/gimplify.c:11215
0x973ec8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-8-20170514/gcc/gimplify.c:6517
0x96f87b gimplify_statement_list
        ../../gcc-8-20170514/gcc/gimplify.c:1718
0x96f87b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
        ../../gcc-8-20170514/gcc/gimplify.c:11686
0x973ec8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-8-20170514/gcc/gimplify.c:6517
0x97033c gimplify_and_add(tree_node*, gimple**)
        ../../gcc-8-20170514/gcc/gimplify.c:435
0x97033c gimplify_loop_expr
        ../../gcc-8-20170514/gcc/gimplify.c:1692
0x97033c gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
        ../../gcc-8-20170514/gcc/gimplify.c:11462
0x973ec8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-8-20170514/gcc/gimplify.c:6517
0x96f87b gimplify_statement_list
        ../../gcc-8-20170514/gcc/gimplify.c:1718
0x96f87b gimplify_expr(tree_node**, gimple**, gimple**, bool (*)(tree_node*), int)
        ../../gcc-8-20170514/gcc/gimplify.c:11686
0x973ec8 gimplify_stmt(tree_node**, gimple**)
        ../../gcc-8-20170514/gcc/gimplify.c:6517


Anyway, I am going to commit my changes now, as at least the crashes which
go thru gt_ggc_mx_cxx_binding have stopped.


Bernd.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]