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

            Bug ID: 152710
           Summary: CRASH: importing ooo84576-1.odt, crashtest; corrupt
                    document structure
           Product: LibreOffice
           Version: unspecified
          Hardware: All
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Writer
          Assignee: [email protected]
          Reporter: [email protected]

This is a crashtest import crash that's been live for a while;
the attachment on:

https://bz.apache.org/ooo/show_bug.cgi?id=84576

crashes on load reliably; the exact failure mode varies a bit - Noel recently
added https://gerrit.libreoffice.org/c/core/+/143820  to stop it hanging.

It seems to be getting in a mess where rNodes is corrupt in SwList::SwList 

(gdb) p rNodes
$12 = (const SwNodes &) @0x1aeff10: {<BigPtrArray> = BigPtrArray of length 26 =
{
[   0] 0x735cf60            StartNode ,
[   1] 0x73c8850              EndNode ,
[   2] 0x698cae0            StartNode ,
[   3] 0x69cb760              EndNode ,
[   4] 0x73226c0            StartNode ,
[   5]  0x7323900           StartNode ,
[   6]   0x699d198            GrfNode ,
[   7]  0x7376d10             EndNode ,
[   8]  0x7380be0           StartNode ,
[   9]   0x730b228            GrfNode ,
[  10]  0x7367a50             EndNode ,
[  11] 0x71fdc50              EndNode ,
[  12] 0x18a7670            StartNode ,
[  13] 0x27f2af0              EndNode ,
[  14] 0x73338d8             TextNode "",
[  15] 0x73474e0            StartNode ,
[  16]  0x69ad8d8            TextNode "Laisvos programos vaikų lavinimui",   
<<<<<< Line 179
[  17]  0x7317548            TextNode "",
[  18]  0x732ce28            TextNode "(Penktas straipsnis apie rinkinį
http://mokslui.akl.lt)",
[  19]  0x7376fb8            TextNode "Vaikai dažnai „lenda“ prie kompiuterio,
ar turite ką jiems pasiūlyti?",
[  20]  0x7301868            TextNode "",
[  21]  0x7301a48            TextNode "Laisvas lavinamųjų žaidimų/užsiėmimų
rinkinys „GCompris“ (http://gcompris.net) yra tobulinamas jau 10 metų. Kaip ir
dauguma kokybiškų laisvų programų jis yra išverstas į daugumą pasaulio kalbų
(apie 8"...,
[  22]  0x73b3978            TextNode ".",
[  23]  0x7351c48            TextNode "Yra 8 pagrindinės žaidimų/užsiėmimų
(pamokėlių) grupės :",
[  24]  0x736be38            TextNode "",
[  25] 0x29ca640              EndNode }, m_vIndices = 0x73bce88, m_rMyDoc =
@0x2402100, m_pEndOfPostIts = 0x73c8850, m_pEndOfInserts = 0x69cb760,
  m_pEndOfAutotext = 0x71fdc50, m_pEndOfRedlines = 0x27f2af0, m_pEndOfContent =
std::unique_ptr<SwNode> = {get() = 0x29ca640},
  m_aOutlineNodes = {<o3tl::sorted_vector<SwNode*, CompareSwOutlineNodes,
o3tl::find_unique, true>> = {m_vector = std::vector of length 1, capacity 1 = {
        0x69ad8d8}}, static npos = 18446744073709551615}, m_bInNodesDel =
false, m_bInDelUpdOutline = false}

[14] isn't inside a start/end and when it tries to find the matching end it
gets confused.
I've not figured out where that's coming from yet, but there are some other
oddities with debug on:

warn:sw.xml:30389:30389:sw/source/filter/xml/XMLRedlineImportHelper.cxx:718:
Recursive change tracking, removing
warn:sw.core:30389:30389:sw/source/core/doc/docbm.cxx:570:
MarkManager::makeMark(..) - refusing to create mark on non-textnode

Looking at the original bug, I think that Recursive change tracking detection
came from stopping the original crash

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to