https://bugs.documentfoundation.org/show_bug.cgi?id=95748

Eike Rathke <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #3 from Eike Rathke <[email protected]> ---
This is indeed due to OpenCL being enabled, though it is not OpenCL that
fails..

@tml (as you were lately working on OpenCL and group calculation):
Breaking in ScFormulaCell::Interpret() in if(bRunning) and going up the stack
reveals that calculation was entered through
ScFormulaCell::InterpretFormulaGroup() and ScGroupTokenConverter::convert() and
ScColumn::FetchVectorRefArray(). In appendBlock() of
sc/source/core/data/column2.cxx for sc::element_type_formula blocks the
sc::FormulaResultValue is checked for ScErrorCodes::errCircularReference and
the formula cell is reset (with comment "This cell needs to be recalculated on
next visit."). However, if the calculation dependencies involved other cells
that already resulted in errCircularReference which then is propagated,
resetting only that cell doesn't help, actually all cells that it depends on
and their predecessors would have to be reset as well.

This first happens for cell J4 on sheet 2 (ScAddress ScFormulaCell::aPos ==
{nRow = 3, nCol = 9, nTab = 1})

To me that approach can not work as the reverse dependency information is not
available and I'd entirely disable handling sc::element_type_formula in
appendToBlock() and immediately return false instead.

Other opinions?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to