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

            Bug ID: 118707
           Summary: Hang with -fanalyzer -fno-analyzer-state-merge
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: analyzer
          Assignee: dmalcolm at gcc dot gnu.org
          Reporter: dmantipov at yandex dot ru
  Target Milestone: ---

Created attachment 60335
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60335&action=edit
preprocessed input (compressed to fit into 1M upload limit)

This seems hangs forever somewhere in analyzer:

[/path/to]/cc1 -fpreprocessed vxlan_mdb.i -quiet -dumpdir drivers/net/vxlan/
-dumpbase vxlan_mdb.c -dumpbase-ext .c -mno-sse -mno-mmx -mno-sse2 -mno-3dnow
-mno-avx -m64 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3
-mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel
-mindirect-branch=thunk-extern -mindirect-branch-register
-mindirect-branch-cs-prefix -mfunction-return=thunk-extern -march=x86-64 -O2
-Wall -Wundef -Werror=implicit-function-declaration -Werror=implicit-int
-Werror=return-type -Werror=strict-prototypes -Wno-format-security
-Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member
-Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=1024 -Wno-main
-Wdangling-pointer=0 -Wvla -Wno-pointer-sign -Wcast-function-type
-Wstringop-overflow=0 -Warray-bounds=0
-Walloc-size-larger-than=18446744073709551615EiB -Wimplicit-fallthrough=5
-Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init
-Wenum-conversion -Wextra -Wunused -Wsuggest-attribute=format
-Wmissing-include-dirs -Wunused-const-variable=2
-Wno-missing-field-initializers -Wno-type-limits -Wno-shift-negative-value
-Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -std=gnu11
-version -fshort-wchar -funsigned-char -fno-common -fno-PIE
-fno-strict-aliasing -fanalyzer -fno-analyzer-state-merge -fcf-protection=none
-falign-jumps=1 -falign-loops=1 -fno-asynchronous-unwind-tables
-fno-jump-tables -fpatchable-function-entry=16,16
-fno-delete-null-pointer-checks -fno-allow-store-data-races
-fstack-protector-strong -fno-omit-frame-pointer -fno-optimize-sibling-calls
-fno-stack-clash-protection -fmin-function-alignment=16 -fstrict-flex-arrays=3
-fno-strict-overflow -fstack-check=no -fconserve-stack -fsanitize=bounds-strict
-fsanitize=shift -fsanitize=bool -fsanitize=enum -o vxlan_mdb.s
GNU C11 (GCC) version 15.0.1 20250130 (experimental) (x86_64-pc-linux-gnu)
        compiled by GNU C version 15.0.1 20250130 (experimental), GMP version
6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.16.1-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 317a7284de1e3886bc93f79d3a0361c9

[ ... >1hr on a reasonably modern machine, then 'gdb -q -p' ]

#0  0x0000000000ed41a2 in ana::region::accept (this=<optimized out>,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/region.cc:1125
#1  0x0000000000f350e6 in ana::initial_svalue::accept (this=0x294423e0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1350
#2  0x0000000000f36149 in ana::binop_svalue::accept (this=0x293cced0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#3  0x0000000000f36159 in ana::binop_svalue::accept (this=0x294b5650,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#4  0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b5930,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#5  0x0000000000f36159 in ana::binop_svalue::accept (this=0x294b5aa0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#6  0x0000000000f36159 in ana::binop_svalue::accept (this=0x294b5d80,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#7  0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b6060,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#8  0x0000000000f36159 in ana::binop_svalue::accept (this=0x294b6340,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#9  0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b6620,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#10 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b6a70,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#11 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b6be0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#12 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294b6ec0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#13 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294b71a0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#14 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b75f0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#15 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b7760,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#16 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e63a0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#17 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294e6420,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#18 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e6460,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#19 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294e6520,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#20 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e6560,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#21 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e65e0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#22 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294e6660,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#23 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e66e0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#24 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e6760,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#25 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e67e0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#26 0x0000000000f36159 in ana::binop_svalue::accept (this=0x294e6860,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#27 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294e69a0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#28 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29515230,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#29 0x0000000000f36149 in ana::binop_svalue::accept (this=0x29515370,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#30 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29515480,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#31 0x0000000000f36149 in ana::binop_svalue::accept (this=0x295155c0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#32 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29515640,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#33 0x0000000000f36149 in ana::binop_svalue::accept (this=0x29515700,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#34 0x0000000000f36149 in ana::binop_svalue::accept (this=0x29515740,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#35 0x0000000000f36159 in ana::binop_svalue::accept (this=0x295157c0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#36 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29515840,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#37 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29544470,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#38 0x0000000000f36159 in ana::binop_svalue::accept (this=0x295444b0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#39 0x0000000000f36149 in ana::binop_svalue::accept (this=0x29544530,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#40 0x0000000000f36149 in ana::binop_svalue::accept (this=0x29544670,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#41 0x0000000000f36149 in ana::binop_svalue::accept (this=0x295447b0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#42 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29544830,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#43 0x0000000000f36159 in ana::binop_svalue::accept (this=0x295448b0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#44 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29544930,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#45 0x0000000000f36149 in ana::binop_svalue::accept (this=0x29544a70,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#46 0x0000000000f36159 in ana::binop_svalue::accept (this=0x29419a60,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#47 0x0000000000f36149 in ana::binop_svalue::accept (this=0x294b79f0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#48 0x0000000000f36149 in ana::binop_svalue::accept (this=0x295b6cb0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#49 0x0000000000f36149 in ana::binop_svalue::accept (this=0x295bde10,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#50 0x0000000000f36159 in ana::binop_svalue::accept (this=0x295bf690,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1591
#51 0x0000000000f36149 in ana::binop_svalue::accept (this=0x295c00a0,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#52 0x0000000000f36149 in ana::binop_svalue::accept (this=0x295c0380,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#53 0x0000000000f36149 in ana::binop_svalue::accept (this=0x2961d080,
v=0x7fff9ad37440) at ../../source/gcc/analyzer/svalue.cc:1590
#54 0x0000000000f37806 in ana::svalue::involves_p (this=this@entry=0x2961d080,
other=other@entry=0x1b1304a0)
    at ../../source/gcc/analyzer/svalue.cc:791
#55 0x0000000000f21dc2 in ana::binding_cluster::purge_state_involving
(this=0x295bd850, sval=0x1b1304a0, sval_mgr=0x7fff9ad384a8)
    at ../../source/gcc/analyzer/store.cc:1650
#56 0x0000000000f23741 in ana::store::purge_state_involving
(this=0x7fff9ad377a8, sval=0x1b1304a0, sval_mgr=0x7fff9ad384a8)
    at ../../source/gcc/analyzer/store.cc:3080
#57 0x0000000000ee55a8 in ana::region_model::purge_state_involving
(this=0x7fff9ad377a0, sval=0x1b1304a0, ctxt=0x0)
    at ../../source/gcc/analyzer/region-model.cc:2040
#58 0x0000000000efd5cd in ana::conjured_purge::purge (this=0x7fff9ad37600,
sval=<optimized out>)
    at ../../source/gcc/analyzer/region-model-manager.cc:1375
#59 ana::region_model_manager::get_or_create_conjured_svalue
(this=0x7fff9ad384a8, type=0x7fdb5f20f5e8, stmt=0x7fdb5de75ed8, 
    id_reg=0x1b0b97b0, p=..., idx=idx@entry=0) at
../../source/gcc/analyzer/region-model-manager.cc:1399
#60 0x0000000001d56ed7 in ana::call_details::get_or_create_conjured_svalue
(this=0x7fff9ad37640, reg=<optimized out>)
    at ../../source/gcc/analyzer/region.h:169
#61 ana::call_details::set_any_lhs_with_defaults (this=0x7fff9ad37640) at
../../source/gcc/analyzer/call-details.cc:239
#62 0x0000000000edf800 in ana::region_model::on_call_pre
(this=this@entry=0x7fff9ad377a0, call=call@entry=0x7fdb5de75ed8, 
    ctxt=ctxt@entry=0x0) at ../../source/gcc/analyzer/region-model.cc:1958
#63 0x0000000000eab228 in ana::feasibility_state::update_for_stmt
(this=0x7fff9ad377a0, stmt=0x7fdb5de75ed8)
    at ../../source/gcc/analyzer/engine.cc:5040
#64 0x0000000000eab309 in ana::feasibility_state::maybe_update_for_edge
(this=this@entry=0x7fff9ad377a0, logger=logger@entry=0x0, 
    eedge=eedge@entry=0x1b132ba0, ctxt=ctxt@entry=0x0,
out_rc=out_rc@entry=0x7fff9ad37770) at ../../source/gcc/analyzer/engine.cc:4950
#65 0x0000000001d6e1f4 in ana::epath_finder::process_worklist_item
(this=this@entry=0x7fff9ad37c00, 
    worklist=worklist@entry=0x7fff9ad37900, tg=..., fg=fg@entry=0x7fff9ad378e0,
target_enode=target_enode@entry=0x1c11a5e0, 
    target_stmt=target_stmt@entry=0x7fdb5de90688, pd=..., diag_idx=1,
out_best_path=0x7fff9ad37ae8)
    at ../../source/gcc/analyzer/diagnostic-manager.cc:521
#66 0x0000000001d6ec8a in ana::epath_finder::explore_feasible_paths
(this=0x7fff9ad37c00, target_enode=0x1c11a5e0, 
    target_stmt=0x7fdb5de90688, pd=..., desc=0x2201a79 "deref_before_check",
diag_idx=1)
    at ../../source/gcc/analyzer/diagnostic-manager.cc:436
#67 0x0000000001d6f3c8 in ana::epath_finder::get_best_epath
(this=this@entry=0x7fff9ad37c00, enode=0x1c11a5e0, 
    target_stmt=0x7fdb5de90688, pd=..., desc=0x2201a79 "deref_before_check",
diag_idx=1, out_problem=0x1c1345d8)
    at ../../source/gcc/analyzer/diagnostic-manager.cc:177
#68 0x0000000001d6f4e4 in ana::saved_diagnostic::calc_best_epath
(this=this@entry=0x1c134570, pf=0x7fff9ad37c00)
    at
/home/antipov/projects/gcc/objdir-x86_64-pc-linux-gnu/prev-x86_64-pc-linux-gnu/libstdc++-v3/include/bits/unique_ptr.h:193
#69 0x0000000001d73363 in ana::dedupe_winners::add (this=0x7fff9ad37c10,
logger=0x0, pf=<optimized out>, sd=0x1c134570)
    at ../../source/gcc/analyzer/diagnostic-manager.cc:1368
#70 0x0000000001d70a07 in ana::diagnostic_manager::emit_saved_diagnostics
(this=0x7fff9ad37f60, eg=...)
    at ../../source/gcc/analyzer/analyzer-logging.h:152
#71 0x0000000000eb640a in ana::impl_run_checkers (logger=logger@entry=0x0) at
../../source/gcc/analyzer/exploded-graph.h:856
#72 0x0000000000eb74d7 in ana::run_checkers () at
../../source/gcc/analyzer/analyzer-logging.h:152
#73 0x0000000000ea6729 in (anonymous namespace)::pass_analyzer::execute
(this=<optimized out>)
    at ../../source/gcc/analyzer/analyzer-pass.cc:86
#74 0x00000000009aae0f in execute_one_pass (pass=pass@entry=0x1a73e5b0) at
../../source/gcc/passes.cc:2659
#75 0x00000000009abc17 in execute_ipa_pass_list (pass=0x1a73e5b0) at
../../source/gcc/passes.cc:3112
#76 0x000000000060a6c5 in ipa_passes () at ../../source/gcc/cgraphunit.cc:2286
#77 symbol_table::compile (this=this@entry=0x7fdb62606000) at
../../source/gcc/cgraphunit.cc:2351
#78 0x000000000060caf8 in symbol_table::compile (this=0x7fdb62606000) at
../../source/gcc/cgraphunit.cc:2329
#79 symbol_table::finalize_compilation_unit (this=0x7fdb62606000) at
../../source/gcc/cgraphunit.cc:2603
#80 0x0000000000ac1a22 in compile_file () at ../../source/gcc/toplev.cc:479
#81 0x000000000044af00 in do_compile () at ../../source/gcc/toplev.cc:2208
#82 toplev::main (this=this@entry=0x7fff9ad3d4fe, argc=<optimized out>,
argc@entry=98, argv=<optimized out>, argv@entry=0x7fff9ad3d638)
    at ../../source/gcc/toplev.cc:2368
#83 0x000000000044c7be in main (argc=98, argv=0x7fff9ad3d638) at
../../source/gcc/main.cc:39

Reply via email to