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

            Bug ID: 103229
           Summary: gcc/gimple-range-cache.cc:654:10: runtime error: null
                    pointer passed as argument 1, which is declared to
                    never be null
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: aldyh at gcc dot gnu.org, amacleod at redhat dot com
            Blocks: 63426
  Target Milestone: ---

One can see the following UBSAN error:

$ cat memset.c
int main() {
  int i;
  for (; i;)
    ;

  return 0;
}

$ /dev/shm/objdir2/gcc/xgcc -B/dev/shm/objdir2/gcc/ memset.c -O
/home/marxin/Programming/gcc/gcc/gimple-range-cache.cc:654:10: runtime error:
null pointer passed as argument 1, which is declared to never be null
    #0 0x6a9cec7 in ssa_global_cache::clear()
/home/marxin/Programming/gcc/gcc/gimple-range-cache.cc:654
    #1 0x2e270ee in path_range_query::compute_ranges_in_phis(basic_block_def*)
/home/marxin/Programming/gcc/gcc/gimple-range-path.cc:359
    #2 0x2e2796e in path_range_query::compute_ranges_in_block(basic_block_def*)
/home/marxin/Programming/gcc/gcc/gimple-range-path.cc:404
    #3 0x2e29c62 in path_range_query::compute_ranges(vec<basic_block_def*,
va_heap, vl_ptr> const&, bitmap_head const*)
/home/marxin/Programming/gcc/gcc/gimple-range-path.cc:603
    #4 0x303814e in back_threader::find_taken_edge_cond(vec<basic_block_def*,
va_heap, vl_ptr> const&, gcond*)
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:315
    #5 0x3037a9d in back_threader::find_taken_edge(vec<basic_block_def*,
va_heap, vl_ptr> const&)
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:272
    #6 0x3037356 in back_threader::maybe_register_path()
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:228
    #7 0x30393b9 in back_threader::find_paths_to_names(basic_block_def*,
bitmap_head*) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:415
    #8 0x3039927 in back_threader::find_paths_to_names(basic_block_def*,
bitmap_head*) /home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:455
    #9 0x3039fbf in back_threader::find_paths(basic_block_def*, tree_node*)
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:489
    #10 0x303a138 in back_threader::maybe_thread_block(basic_block_def*)
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:534
    #11 0x303c5f6 in back_threader::thread_blocks()
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:897
    #12 0x303cb83 in execute
/home/marxin/Programming/gcc/gcc/tree-ssa-threadbackward.c:971
    #13 0x22f94dc in execute_one_pass(opt_pass*)
/home/marxin/Programming/gcc/gcc/passes.c:2567
    #14 0x22f9fd8 in execute_pass_list_1
/home/marxin/Programming/gcc/gcc/passes.c:2656
    #15 0x22fa0a1 in execute_pass_list_1
/home/marxin/Programming/gcc/gcc/passes.c:2657
    #16 0x22fa15b in execute_pass_list(function*, opt_pass*)
/home/marxin/Programming/gcc/gcc/passes.c:2667
    #17 0x22f375b in do_per_function_toporder(void (*)(function*, void*),
void*) /home/marxin/Programming/gcc/gcc/passes.c:1773
    #18 0x22fccec in execute_ipa_pass_list(opt_pass*)
/home/marxin/Programming/gcc/gcc/passes.c:3001
    #19 0x1263839 in ipa_passes
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2154
    #20 0x1264914 in symbol_table::compile()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2289
    #21 0x12659a8 in symbol_table::finalize_compilation_unit()
/home/marxin/Programming/gcc/gcc/cgraphunit.c:2537
    #22 0x27e2c6d in compile_file /home/marxin/Programming/gcc/gcc/toplev.c:479
    #23 0x27ed0de in do_compile /home/marxin/Programming/gcc/gcc/toplev.c:2156
    #24 0x27edb59 in toplev::main(int, char**)
/home/marxin/Programming/gcc/gcc/toplev.c:2308
    #25 0x72610e3 in main /home/marxin/Programming/gcc/gcc/main.c:39
    #26 0x7ffff6f1453f in __libc_start_call_main
../sysdeps/nptl/libc_start_call_main.h:58
    #27 0x7ffff6f145eb in __libc_start_main_impl ../csu/libc-start.c:409
    #28 0xaf8ec4 in _start (/dev/shm/objdir2/gcc/cc1+0xaf8ec4)


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426
[Bug 63426] [meta-bug] Issues found with -fsanitize=undefined

Reply via email to