From 261356317c6c0a2b341df0bfec881dc296957c1b Mon Sep 17 00:00:00 2001 From: Nikos Gorogiannis Date: Thu, 19 Sep 2024 06:30:05 -0700 Subject: [PATCH] [absint] do not fail when not finding a pre Summary: This code sometimes fails when there are unreachable nodes in the CFG. This diff should stop the failures while we investigate why this happens. Reviewed By: davidpichardie Differential Revision: D63024067 fbshipit-source-id: 58ba81d2f4c9f67956b4382771a641b66509859c --- infer/src/absint/AbstractInterpreter.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/infer/src/absint/AbstractInterpreter.ml b/infer/src/absint/AbstractInterpreter.ml index 027c7d07732..4494aa44bad 100644 --- a/infer/src/absint/AbstractInterpreter.ml +++ b/infer/src/absint/AbstractInterpreter.ml @@ -815,7 +815,9 @@ module MakeWTONode (TransferFunctions : NodeTransferFunctions) = struct | Some astate_pre -> exec_node ~pp_instr proc_data node ~is_loop_head ~is_narrowing astate_pre inv_map | None -> - L.(die InternalError) "Could not compute the pre of a node" + L.internal_error "Could not compute the pre of a node in %a\@n" Procname.pp + (Procdesc.Node.get_proc_name (Node.underlying_node node)) ; + (inv_map, DidNotReachFixPoint) (* [WidenThenNarrow] mode is to narrow the outermost loops eagerly, so that over-approximated