[Bug c++/25983] New: [gomp] transient ICE in trunk, c++

tbptbp at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jan 26 20:40:00 GMT 2006


Excuse the poor testcase but i was just trying to get the feel of gomp on non
trivial code.
It looks like some memory corruption (from the look of the nuked stack), the
bigger the better.

[time passes] It seems that if i leave exceptions on, an assert is hit. Here's
how it looks with that minimal option set. Backtrace included.


/usr/local/gomp/bin/g++ -v -save-temps -DNDEBUG -I./standalone
-I/usr/include/lua50/ -I/usr/src/tbp/tolua++-1.0.5/include
-I/usr/src/tbp/lib/FreeImage-cvs/Dist/ -fopenmp -c src/raytrace_packet.cpp -o
bin/gcc/raytrace_packet.o
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/usr/local/gomp --enable-languages=c++
--enable-threads=posix --with-system-zlib --enable-__cxa_atexit
--disable-multilib --enable-bootstrap --with-gcc --with-gnu-as --with-gnu-ld
Thread model: posix
gcc version 4.2.0-gomp-20050608-branch 20060119 (experimental) (merged
20060119)

/usr/local/gomp/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/cc1plus
-E -quiet -v -I./standalone -I/usr/include/lua50/
-I/usr/src/tbp/tolua++-1.0.5/include -I/usr/src/tbp/lib/FreeImage-cvs/Dist/
-D_GNU_SOURCE -D_REENTRANT -DNDEBUG src/raytrace_packet.cpp -mtune=generic
-fopenmp -fpch-preprocess -o raytrace_packet.ii
ignoring nonexistent directory
"/usr/local/gomp/lib/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/../../../../x86_64-unknown-linux-gnu/include"
ignoring nonexistent directory "/usr/src/tbp/tolua++-1.0.5/include"
#include "..." search starts here:
#include <...> search starts here:
 ./standalone
 /usr/include/lua50/
 /usr/src/tbp/lib/FreeImage-cvs/Dist/

/usr/local/gomp/lib/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/../../../../include/c++/4.2.0-gomp-20050608-branch
/usr/local/gomp/lib/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/../../../../include/c++/4.2.0-gomp-20050608-branch/x86_64-unknown-linux-gnu

/usr/local/gomp/lib/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/../../../../include/c++/4.2.0-gomp-20050608-branch/backward
 /usr/local/include
 /usr/local/gomp/include

/usr/local/gomp/lib/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/include
 /usr/include
End of search list.

/usr/local/gomp/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/cc1plus
-fpreprocessed raytrace_packet.ii -quiet -dumpbase raytrace_packet.cpp
-mtune=generic -auxbase-strip bin/gcc/raytrace_packet.o -version -fopenmp -o
raytrace_packet.sGNU C++ version 4.2.0-gomp-20050608-branch 20060119
(experimental) (merged 20060119) (x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.2.0-gomp-20050608-branch 20060119
(experimental) (merged 20060119).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 89571ef7c91b12e8fe7e055d9792a102
src/raytrace_packet.cpp: In member function 'void rt::raytracer_t::prender()':
src/raytrace_packet.cpp:1411: internal compiler error: in
verify_eh_throw_stmt_node, at tree-eh.c:2085
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.

(gdb) break tree-eh.c:2085
Breakpoint 1 at 0x54fed4: file ../../gcc/tree-eh.c, line 2085.
(gdb) run
Starting program:
/usr/local/gomp/libexec/gcc/x86_64-unknown-linux-gnu/4.2.0-gomp-20050608-branch/cc1plus
-fpreprocessed raytrace_packet.ii -quiet -dumpbase raytrace_packet.cpp
-mtune=generic -auxbase-strip bin/gcc/raytrace_packet.o -version -fopenmp -o
raytrace_packet.s
GNU C++ version 4.2.0-gomp-20050608-branch 20060119 (experimental) (merged
20060119) (x86_64-unknown-linux-gnu)
        compiled by GNU C version 4.2.0-gomp-20050608-branch 20060119
(experimental) (merged 20060119).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: 89571ef7c91b12e8fe7e055d9792a102

Breakpoint 1, verify_eh_throw_stmt_node (slot=0x2aaaacdfa000, data=0x0) at
../../gcc/tree-eh.c:2085
2085      gcc_assert (node->stmt->common.ann == NULL);
(gdb) bt full
#0  verify_eh_throw_stmt_node (slot=0x2aaaacdfa000, data=0x0) at
../../gcc/tree-eh.c:2085
        __FUNCTION__ = "verify_eh_throw_stmt_node"
#1  0x00000000009b23f8 in htab_traverse_noresize (htab=<value optimized out>,
callback=0x54fed0 <verify_eh_throw_stmt_node>,
    info=0x0) at ../../libiberty/hashtab.c:729
        slot = (void **) 0x2aaaacdfa000
        limit = (void **) 0x2aaaacdfafe8
#2  0x0000000000889f1c in execute_one_pass (pass=0xc54f20) at
../../gcc/passes.c:849
        __t = <value optimized out>
        dname = 0x2aaaab6c9100 "°5h«ª*"
        todo = 0
        __FUNCTION__ = "execute_one_pass"
#3  0x000000000088a03c in execute_pass_list (pass=0xc54f20) at
../../gcc/passes.c:881
No locals.
#4  0x00000000005581ca in tree_rest_of_compilation (fndecl=0x2aaaab6c9100) at
../../gcc/tree-optimize.c:412
        e = <value optimized out>
        node = (struct cgraph_node *) 0x2aaaab26a000
        __FUNCTION__ = "tree_rest_of_compilation"
#5  0x00000000004d0848 in expand_body (fn=0x2aaaab6c9100) at
../../gcc/cp/semantics.c:3015
        saved_function = (tree) 0x0
        __FUNCTION__ = "expand_body"
#6  0x00000000008d7606 in cgraph_expand_function (node=0x2aaaab26a000) at
../../gcc/cgraphunit.c:1098
        decl = (tree) 0x2aaaab6c9100
        __FUNCTION__ = "cgraph_expand_function"
#7  0x00000000008d9b78 in cgraph_optimize () at ../../gcc/cgraphunit.c:1164
        __FUNCTION__ = "cgraph_optimize"
#8  0x000000000047de6f in cp_finish_file () at ../../gcc/cp/decl2.c:3115
        vars = (tree) 0x268
        reconsider = 0 '\0'
        i = 616
        locus = {file = 0xd82cf0 "src/raytrace_packet_aa.cpp", line = 1015}
        ssdf_count = 1
        retries = 1
        decl = (tree) 0x2aaaac5ee400
        __FUNCTION__ = "cp_finish_file"
#9  0x000000000052e16a in c_common_parse_file (set_yydebug=<value optimized
out>) at ../../gcc/c-opts.c:1136
        i = 0
#10 0x000000000085c5e8 in toplev_main (argc=<value optimized out>, argv=0x0) at
../../gcc/toplev.c:990
No locals.
#11 0x00002aaaaabdf4ca in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#12 0x000000000040271a in _start () at ../sysdeps/x86_64/elf/start.S:113
No locals.
(gdb)

Preprocessed source on the way.


-- 
           Summary: [gomp] transient ICE in trunk, c++
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tbptbp at gmail dot com
  GCC host triplet: x86-64, linux, gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25983



More information about the Gcc-bugs mailing list