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

--- Comment #1 from Richard W.M. Jones <rjones at redhat dot com> ---
perf top shows:

  36.63%  lto1                               [.] shortest_paths<ana::eg_traits,
ana::exploded_path>::shortest_paths

which it pretty much stuck permanently at 30-50% CPU.  The
machine has plenty of free memory and is not swapping.

The stack trace is:

#0  0x0000000000d0b377 in shortest_paths<ana::eg_traits,
ana::exploded_path>::shortest_paths (this=<optimized out>, graph=...,
given_node=<optimized out>, sense=<optimized out>, this=<optimized out>,
graph=..., given_node=<optimized out>, sense=<optimized out>) at
../../gcc/shortest-paths.h:120
#1  0x0000000000d0b8db in ana::epath_finder::explore_feasible_paths
(this=this@entry=0x7fffbfd72130, target_enode=target_enode@entry=0x49007ac0,
desc=desc@entry=0x18e81d6 "malloc_leak", diag_idx=diag_idx@entry=602) at
../../gcc/analyzer/diagnostic-manager.cc:349
#2  0x0000000000d0bc1c in ana::epath_finder::get_best_epath
(this=this@entry=0x7fffbfd72130, enode=0x49007ac0, desc=0x18e81d6
"malloc_leak", diag_idx=diag_idx@entry=602,
out_problem=out_problem@entry=0x48f9dea0) at
../../gcc/analyzer/diagnostic-manager.cc:160
#3  0x0000000000d0be22 in ana::saved_diagnostic::calc_best_epath
(this=this@entry=0x48f9de40, pf=pf@entry=0x7fffbfd72130) at
../../gcc/analyzer/diagnostic-manager.cc:685
#4  0x0000000000d0c046 in ana::dedupe_winners::add (sd=0x48f9de40,
pf=0x7fffbfd72130, logger=<optimized out>, this=0x7fffbfd72170) at
../../gcc/analyzer/diagnostic-manager.cc:979
#5  ana::diagnostic_manager::emit_saved_diagnostics (this=0x7fffbfd724a0,
eg=...) at ../../gcc/analyzer/diagnostic-manager.cc:1096
#6  0x0000000000a9ea51 in ana::impl_run_checkers (logger=<optimized out>) at
../../gcc/analyzer/exploded-graph.h:813
#7  0x0000000000a9f143 in ana::run_checkers () at
../../gcc/analyzer/analyzer-logging.h:150
#8  0x0000000000a6f7a6 in (anonymous namespace)::pass_analyzer::execute
(this=<optimized out>) at ../../gcc/analyzer/analyzer-pass.cc:87
#9  0x0000000000e13ba9 in execute_one_pass (pass=0x2e3f540) at
../../gcc/passes.c:2567
#10 0x000000000127aa6b in execute_ipa_pass_list (pass=0x2e3f540) at
../../gcc/passes.c:2996
#11 0x0000000001268538 in do_whole_program_analysis () at
../../gcc/lto/lto.c:469
#12 lto_main () at ../../gcc/lto/lto.c:637
#13 0x0000000001264952 in compile_file () at ../../gcc/toplev.c:460
#14 0x000000000122aa1c in do_compile () at ../../gcc/toplev.c:2204
#15 toplev::main (this=this@entry=0x7fffbfd731ee, argc=<optimized out>,
argv=<optimized out>) at ../../gcc/toplev.c:2345
#16 0x0000000001229d90 in main (argc=<optimized out>, argv=<optimized out>) at
../../gcc/main.c:39

Reply via email to