"main" RUNNABLE
at org.unlaxer.context.ParseContext.consume(ParseContext.java:205)
... (LazyChoice/CPPComment 等 legacy combinator の深いバックトラック) ...
at org.unlaxer.tinyexpression.parser.TinyExpressionParser.parse(TinyExpressionParser.java:50)
at org.unlaxer.tinyexpression.parser.FormulaParser.parse(FormulaParser.java:27)
at org.unlaxer.tinyexpression.evaluator.javacode.JavaCodeCalculatorV3.<init>(JavaCodeCalculatorV3.java:147)
at org.unlaxer.tinyexpression.evaluator.ast.AstEmbeddedExpressionRuntime.evaluateFormula(AstEmbeddedExpressionRuntime.java:256)
at org.unlaxer.tinyexpression.evaluator.ast.AstEmbeddedExpressionRuntime.tryEvaluateFormulaDirect(AstEmbeddedExpressionRuntime.java:48)
at org.unlaxer.tinyexpression.evaluator.ast.P4TypedAstEvaluator.tryEvaluateStructuredBinarySourceSnippet(P4TypedAstEvaluator.java:173)
...
症状
#19 (P4 プローブ経路、9b651ef で解消) とは 別の ハング箇所。フルスイートで
BackendSpeedComparisonTestが35分以上 CPU 張り付きになる。スレッドダンプ (2026-06-12, cpu=2100s ≒ elapsed)
#19 との違い
対処案
AstEmbeddedExpressionRuntime.evaluateFormula→JavaCodeCalculatorV3の legacy パースにも test: AstEvaluatorCalculatorTest が P4PreferredAstMapper.parseViaMapperCompat で CPU 張り付きハング — mvn verify が完走しない #19 と同じ協調的期限 (TransactionListener.onBegin で期限超過 throw) を適用し、超過時は structured-binary スニペット委譲を諦めて通常の評価経路へフォールバック-Dtest='!BackendSpeedComparisonTest'で除外 (test-baseline 運用開始時の既知ハングとして記録)関連