Bug 137772 - assertion, DocumentRedlineManager.cxx:246
Summary: assertion, DocumentRedlineManager.cxx:246
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.1.0.0.alpha0+
Hardware: All All
: medium normal
Assignee: László Németh
URL:
Whiteboard:
Keywords: haveBacktrace
Depends on:
Blocks: Crash-Assert tracked-changes-in-margin
  Show dependency treegraph
 
Reported: 2020-10-26 15:04 UTC by Terrence Enger
Modified: 2020-11-17 16:06 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
bt with debug symbols (7.27 KB, text/plain)
2020-10-27 19:50 UTC, Julien Nabet
Details
backtrace after bug 138771 is fixed (11.37 KB, text/plain)
2020-11-17 15:32 UTC, Terrence Enger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Terrence Enger 2020-10-26 15:04:44 UTC
This report arises from my poking at bug 137684, but I shall copy here or
link anything interesting.


STR

Once:

    (0) Tools > Options > "LibreOfficeDev Writer" > View > "Tracked
        deletions in margin" : checked

Per test

    (1) Run LO with command line options --norestore --nologo --writer

    (2) Type "the quick brown".  Document has "The quick brown"; left
        margin is empty.

    (3) Take menu options Edit > "Track Changes" > Record.  No visible
        result.

    (4) Type "<bs><bs><bs><bs><bs>".  Document has "The quick "; left
        margin is still empty.

        This is not what I expect; bug 137771 reports this.

    (5) Type "<ctrl>+Z".  Document has "The quick n"; the "n" is selected;
        left margin has in blue struckthrough "b".

    (6) Type "<ctrl>+Z".  Document has "The quick n"; nothing is selected;
        left margin still blue struckthrough "b".

    (7) Type "<ctrl>+Z".  Crash.


The terminal message, rewrapped:

    soffice.bin:
    /home/terry/lo_hacking/git/libo6/sw/source/core/doc
        /DocumentRedlineManager.cxx:246:
    void sw::UpdateFramesForRemoveDeleteRedline(SwDoc&, const SwPaM&):
    Assertion `pTableOrSectionNode' failed.


The backtrace
<http://bugs.documentfoundation.org/attachment.cgi?id=166711> is from
a local build of commit 5219c6bd (2020-10-24), configured
    --with-vendor=Terrence Enger
    --with-jdk-home=/usr/lib/jvm/default-java
    --enable-split-debug
    --enable-gdb-index
    --enable-ld=gold
    --enable-option-checking=fatal
    #--enable-dbgutil
    --enable-debug
    --without-system-postgresql
    --without-myspell-dicts
    --with-extra-buildid
    --without-doxygen
    --with-external-tar=/home/terry/lo_hacking/git/src
    --without-package-format
built and running on debian-buster.
Comment 1 Telesto 2020-10-26 21:52:17 UTC
To be sure this doesn't get lost

Bug 137684 comment 4 From: László Németh 
@Terence: thanks for your detailed bug report and analysis! Missing margin data and backspace crash are different bugs, and they will handled by the upcoming patches. I will be able to continue on only in the next month, but my plan is to finish these in December. Please, file the detected problems in different bug reports, this could speed up my work because that is based on a ticket system, or you can wait a few weeks for a better solution (because otherwise I must work on other smaller change tracking/Writer problems in parallel).
Comment 2 Telesto 2020-10-26 21:55:05 UTC
@Julien
Would you mind to confirm. Saves me the trouble of downloading a debug build :P
Comment 3 Julien Nabet 2020-10-27 19:50:33 UTC
Created attachment 166784 [details]
bt with debug symbols

On pc Debian x86-64 with master sources updated today, I could reproduce this.
Comment 4 Terrence Enger 2020-10-27 20:20:10 UTC
Just a note that the backtraces in bug description and in comment 3
show the same function signatures.
Comment 5 Terrence Enger 2020-11-17 15:32:33 UTC
Created attachment 167368 [details]
backtrace after bug 138771 is fixed

The backtrace is from commit b80c2745 (2020-11-17) built and running
on debian-buster.

After bug 137771 is fixed, I get a different failure.  Using the step
numbers from bug description:

(4) Works as expected.  That was bug 137771.

(5) Brings entire word "brown" back into the document and leaves left
    margin empty.

(6) Program crashes with different assertion (one line,rewrapped):

        soffice.bin:
        /home/terry/lo_hacking/git/libo6/sw/source/core/bastyp/bparr.cxx:84:
        BigPtrEntry* BigPtrArray::operator[](sal_uLong) const:
        Assertion `idx < m_nSize' failed.

Step (3) is still necessary to the crash.
Comment 6 Telesto 2020-11-17 15:42:06 UTC
(In reply to Terrence Enger from comment #5)
> (6) Program crashes with different assertion (one line,rewrapped):
> 
>         soffice.bin:
>         /home/terry/lo_hacking/git/libo6/sw/source/core/bastyp/bparr.cxx:84:
>         BigPtrEntry* BigPtrArray::operator[](sal_uLong) const:
>         Assertion `idx < m_nSize' failed.

Would say another example of bug 135167 (or one of the others in the metabug)
Comment 7 Terrence Enger 2020-11-17 16:06:38 UTC
I see that the assertion here is raised at the same line as the
assertion in bug 137167 and that the overwhelming majority of the
function signatures in the backtraces are the same.

I assume that the assertion I originally reported was fixed along with
bug 13772 by
https://git.libreoffice.org/core/commit/d129e1785e541f217d4f6547faec87b9fa772019,
and I am setting status RESOLVED FIXED.

Thank you, Telesto, for catching this.