https://bugs.documentfoundation.org/show_bug.cgi?id=174266
--- Comment #2 from [email protected] --- I asked codex to investigate the root cause and suggest a simple fix. I don't expect it to meet your quality requirements, but I hope it saves you time. Moreover, it noticed that the bug seems to have the same root cause as https://bugs.documentfoundation.org/show_bug.cgi?id=174267 ----- Source analysis identifies a shared calculation fallback defect. After detecting a formula-group cycle, ScFormulaCell::Interpret() can skip scalar evaluation even when no enclosing dependency calculation remains active. C2 returns uncalculated and is read as zero, producing MIN(6,0)-1 = -1. The proposed correction restricts that bailout to active dependency evaluation, so ordinary reads receive completed results. The same correction fixes the empty-string MIN failure. The faulty branch dates to 24afa5ddbecf (2018-07-06; present in 6.2 source), not an established first failing binary. Related: bug 132451. On locally patched 27.2.0.0.alpha0+ master 7528c0d40601, macOS 27.0.1 ARM64, all 400 cells pass three load/hard-recalculation cycles per threading setting. Both parallelism suites pass all 20 tests. Reverting restores the failure. Patched Linux was not tested. --- a/sc/source/core/data/formulacell.cxx +++ b/sc/source/core/data/formulacell.cxx @@ -1869,7 +1869,8 @@ // Dependency calc inside InterpretFormulaGroup() failed due to // detection of a cycle and there are parent FG's in the cycle. // Skip InterpretTail() in such cases, only run InterpretTail for the "cycle-starting" FG - if (!bPartOfCycleBefore && bPartOfCycleAfter && rRecursionHelper.AnyParentFGInCycle()) + if (rRecursionHelper.GetDepComputeLevel() > 0 && !bPartOfCycleBefore + && bPartOfCycleAfter && rRecursionHelper.AnyParentFGInCycle()) { rDocument.DecInterpretLevel(); return bGroupInterpreted; -- You are receiving this mail because: You are the assignee for the bug.
