Bug 169090 - A DOCX can be created in a normal workflow, which will fail an assert in debug build
Summary: A DOCX can be created in a normal workflow, which will fail an assert in debu...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:26.2.0 target:25.8.4
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-27 12:43 UTC by Mike Kaganski
Modified: 2025-10-31 09:40 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments
A list and a cross-reference (3.22 KB, application/vnd.oasis.opendocument.text)
2025-10-27 12:43 UTC, Mike Kaganski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Kaganski 2025-10-27 12:43:43 UTC
Created attachment 203565 [details]
A list and a cross-reference

The attachment is just a simple numbered list with two items, and a cross-reference to the second of these items.

1. Open the document in Writer.
2. Enable change tracking.
3. Put cursor to the end of the first numbered items (after "Before"), and press [Delete].
4. Save as DOCX.
5. Open the DOCX in Word.
6. Accept the change and save.
7. Open the saved DOCX in a debug build of Writer

=> failed assert.
Comment 1 Mike Kaganski 2025-10-27 12:59:19 UTC
Call stack at the moment of the assert:

> 43: wassert - 0x7ffce36f1c7f
> 42: sw::mark::CrossRefBookmark::CrossRefBookmark - 0x7ffc918be8e4
> 41: sw::mark::CrossRefNumItemBookmark::CrossRefNumItemBookmark - 0x7ffc918bec34
> 40: std::make_unique<sw::mark::CrossRefNumItemBookmark,SwPaM const &,vcl::KeyCode,SwMarkName const &,0> - 0x7ffc919c8141
> 39: sw::mark::MarkManager::makeMark - 0x7ffc919e0f36
> 38: SwXBookmark::attachToRangeEx - 0x7ffc9229d4e8
> 37: SwXBookmark::attachToRange - 0x7ffc9229ceff
> 36: SwXBookmark::attach - 0x7ffc9229ce60
> 35: SwXText::insertTextContent - 0x7ffc9250375e
> 34: writerfilter::dmapper::DomainMapper_Impl::StartOrEndBookmark - 0x7ffc8c2e9f08
> 33: writerfilter::dmapper::DomainMapper::lcl_attribute - 0x7ffc8c221d84
> 32: writerfilter::LoggedProperties::attribute - 0x7ffc8c35a985
> 31: writerfilter::ooxml::OOXMLProperty::resolve - 0x7ffc8c465b2d
> 30: writerfilter::ooxml::OOXMLPropertySet::resolve - 0x7ffc8c465be1
> 29: writerfilter::dmapper::DomainMapper::lcl_props - 0x7ffc8c22bdcb
> 28: writerfilter::LoggedStream::props - 0x7ffc8c35b193
> 27: writerfilter::ooxml::OOXMLFastContextHandlerProperties::lcl_endFastElement - 0x7ffc8c44edee
> 26: writerfilter::ooxml::OOXMLFastContextHandler::endFastElement - 0x7ffc8c44a665
> 25: `anonymous namespace'::Entity::endElement - 0x7ffc9cce68fe
> 24: sax_fastparser::FastSaxParserImpl::callbackEndElement - 0x7ffc9cce2035
> 23: call_callbackEndElement - 0x7ffc9ccedc95
> 22: xmlParseTryOrFinish - 0x7ffcdb3613cd
> 21: xmlParseChunk - 0x7ffcdb342a90
> 20: sax_fastparser::FastSaxParserImpl::parse - 0x7ffc9cce9336
> 19: sax_fastparser::FastSaxParserImpl::parseStream - 0x7ffc9cce9ca4
> 18: sax_fastparser::FastSaxParser::parseStream - 0x7ffc9cce970c
> 17: writerfilter::ooxml::OOXMLDocumentImpl::resolve - 0x7ffc8c431e31
> 16: `anonymous namespace'::WriterFilter::filter - 0x7ffc8c420de7
> 15: SfxObjectShell::ImportFrom - 0x7ffc98ec78b2
> 14: SfxObjectShell::DoLoad - 0x7ffc98ec0fdf
Comment 2 Commit Notification 2025-10-27 13:10:27 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/0b3a4ee85ae264d96bb6dc221dbcf4c394108bff

tdf#169090: Only change bookmark type to NUMITEM for paragraph PaMs

It will be available in 26.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 3 Commit Notification 2025-10-31 09:40:25 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "libreoffice-25-8":

https://git.libreoffice.org/core/commit/c19415c20ba0edce2d5f335fba0b788dc5280804

tdf#169090: Only change bookmark type to NUMITEM for paragraph PaMs

It will be available in 25.8.4.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.