[Libreoffice-bugs] [Bug 142980] New: Assertion failed when adding a formula to a sheet with Formulas calculated action

bugzilla-daemon at bugs.documentfoundation.org bugzilla-daemon at bugs.documentfoundation.org
Tue Jun 22 09:46:47 UTC 2021


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

            Bug ID: 142980
           Summary: Assertion failed when adding a formula to a sheet with
                    Formulas calculated action
           Product: LibreOffice
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Calc
          Assignee: libreoffice-bugs at lists.freedesktop.org
          Reporter: mikekaganski at hotmail.com
                CC: erack at redhat.com

Using a dbgutil build:

1. Create this stub macro:

  Sub EmptyOn
  End Sub

2. In a new Calc document, assign it to a sheet's Formulas calculated action
(right-click on the sheet's tab, select "Sheet Events")

3. Select an empty cell, and type into it:

  =1+1

=> debug assertion failed: back() called on empty deque

The failing code is inside '#if OSL_DEBUG_LEVEL > 0' of
UndoManagerHelper_Impl::listActionLeft; it tries to read top of
m_aContextAPIFlags, which is empty at this moment.

The reason is the processing sequence in ScViewFunc::EnterData, which first
calls 'rFunc.EnterListAction( STR_UNDO_ENTERDATA );' before it processes the
formula - at this moment, there's no listeners yet, so the action is not
executed -> UndoManagerHelper_Impl::listActionEntered is not called; then it
processes the formula and calls rFunc.SetFormulaCell - at which moment, a
listener is added; and then it calls rFunc.EndListAction, which tries to call
UndoManagerHelper_Impl::listActionLeft, which relies on
UndoManagerHelper_Impl::listActionEntered being called previously.

But I don't know if simply checking if the stack is empty before the debugging
code is OK - it looks hackish.

Eike: do you have an idea how to improve this?

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice-bugs/attachments/20210622/c964c4d2/attachment-0001.htm>


More information about the Libreoffice-bugs mailing list