Hi,

Presently I'm looking at bug fdo 37341, which reports calc to hang when Goal 
Seek (sc/source/core/tool/interpr2.cxx, ScInterpreter::ScBackSolver()) is used.
The cause of the problem is not that too many iterations are needed, but that 
MAXRECURSION in sc/source/core/data/formulacell.cxx, ScFormulaCell::Interpret() 
is reached.
Increasing MAXRECURSION 'solves' the problem.

I think increasing MAXRECURSION from its present value (400) to 800 is no 
problem. 10 years ago its value was 500 and in the past 1 years the available 
memory has been more than doubled.
But that does not really solve the problem, it only shifts the point where the 
problem will show.
Shouldn't a global error (or at least warning)  be generated when MAXRECURSION 
is reached? After all, the result of ScFormulaCell::Interpret() is not correct 
in that case.
Unfortunately, I can't quite grasp the recursion/interation process in 
ScFormulaCell::Interpret(), so I can't generate the appropiate error.

Do you have any suggestions about how to properly solve this?
To me just increasing MAXRECURSION to 800 is a dirty hack.



Winfried

_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to