This is the mail archive of the gcc-bugs@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]

[Bug tree-optimization/58311] New: [4.9 Regression] ICE: SIGSEGV in hash_table::find_slot_with_hash() with -fdevirtualize


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

            Bug ID: 58311
           Summary: [4.9 Regression] ICE: SIGSEGV in
                    hash_table::find_slot_with_hash() with -fdevirtualize
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz

Created attachment 30745
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30745&action=edit
reduced testcase

Compiler output:
$ gcc -fdevirtualize testcase.C 
testcase.C:14:1: internal compiler error: Segmentation fault
 }
 ^
0xc1423f crash_signal
        /mnt/svn/gcc-trunk/gcc/toplev.c:335
0xa47b91 hash_table<odr_hasher, xcallocator>::find_slot_with_hash(tree_node
const*, unsigned int, insert_option)
        /mnt/svn/gcc-trunk/gcc/hash-table.h:774
0xa463ad get_odr_type(tree_node*, bool)
        /mnt/svn/gcc-trunk/gcc/ipa-devirt.c:251
0xa46cb4 possible_polymorphic_call_targets(tree_node*, long, bool*, void**)
        /mnt/svn/gcc-trunk/gcc/ipa-devirt.c:596
0xa47263 possible_polymorphic_call_targets
        /mnt/svn/gcc-trunk/gcc/ipa-utils.h:87
0xa47263 ipa_devirt
        /mnt/svn/gcc-trunk/gcc/ipa-devirt.c:790
0xa47263 execute
        /mnt/svn/gcc-trunk/gcc/ipa-devirt.c:985
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.


==7675== Invalid read of size 8
==7675==    at 0xA47B91: hash_table<odr_hasher,
xcallocator>::find_slot_with_hash(tree_node const*, unsigned int,
insert_option) (hash-table.h:774)
==7675==    by 0xA463AD: get_odr_type(tree_node*, bool) (ipa-devirt.c:251)
==7675==    by 0xA46CB4: possible_polymorphic_call_targets(tree_node*, long,
bool*, void**) (ipa-devirt.c:596)
==7675==    by 0xA47263: (anonymous namespace)::pass_ipa_devirt::execute()
(ipa-utils.h:87)
==7675==    by 0xB22AA9: execute_one_pass(opt_pass*) (passes.c:2201)
==7675==    by 0xB2327A: execute_ipa_pass_list(opt_pass*) (passes.c:2565)
==7675==    by 0x88F575: compile() (cgraphunit.c:1965)
==7675==    by 0x88FD09: finalize_compilation_unit() (cgraphunit.c:2209)
==7675==    by 0x693630: cp_write_global_declarations() (decl2.c:4364)
==7675==    by 0xC142AC: compile_file() (toplev.c:560)
==7675==    by 0xC160C9: toplev_main(int, char**) (toplev.c:1878)
==7675==    by 0x5A3C60C: (below main) (in /lib64/libc-2.15.so)
==7675==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
==7675== 
testcase.C:14:1: internal compiler error: Segmentation fault


$ gcc -v                                             
Using built-in specs.
COLLECT_GCC=/mnt/svn/gcc-trunk/binary-latest/bin/gcc
COLLECT_LTO_WRAPPER=/mnt/svn/gcc-trunk/binary-202196-lto-fortran-checking-yes-rtl-df/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: /mnt/svn/gcc-trunk//configure --enable-checking=yes,rtl,df
--enable-languages=c,c++,lto,fortran
--prefix=/mnt/svn/gcc-trunk/binary-202196-lto-fortran-checking-yes-rtl-df/
--without-cloog --without-ppl
Thread model: posix
gcc version 4.9.0 20130903 (experimental) (GCC)


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