Bug 152799 - Assert with ungroup shapes and also gets some warning in console with debug LO
Summary: Assert with ungroup shapes and also gets some warning in console with debug LO
Status: ASSIGNED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: David Hashe
URL:
Whiteboard:
Keywords: haveBacktrace
Depends on:
Blocks: Shapes
  Show dependency treegraph
 
Reported: 2023-01-01 20:08 UTC by BogdanB
Modified: 2025-06-06 03:45 UTC (History)
8 users (show)

See Also:
Crash report or crash signature:


Attachments
dmp file after the crash (838.82 KB, application/vnd.tcpdump.pcap)
2023-01-01 20:10 UTC, BogdanB
Details
demo document (10.82 KB, application/vnd.oasis.opendocument.text)
2023-01-02 06:09 UTC, BogdanB
Details
bt with debug symbols + console logs (10.63 KB, text/plain)
2023-01-11 16:41 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description BogdanB 2023-01-01 20:08:31 UTC
Description:
Open the attached file with 2 shapes.

In the dbg build of LibreOffice already at opening the file I get the warning:
warn:xmloff:711529:711529:xmloff/source/draw/shapeimport.cxx:354: unknown attribute urn:oasis:names:tc:opendocument:xmlns:text:1.0 text:anchor-type value=paragraph
warn:xmloff:711529:711529:xmloff/source/draw/shapeimport.cxx:354: unknown attribute urn:oasis:names:tc:opendocument:xmlns:text:1.0 text:anchor-type value=paragraph

- Then select all the shapes (easier if you activate View - Toolbar - Drawing - first icon)
- Group them: Format - Group - Group
- Ungroup them: Format - Group - Ungroup
- CRASH and mesage in console:
warn:sw.core:711529:711529:sw/source/core/doc/textboxhelper.cxx:1797: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
soffice.bin: /home/tdf/lode/jenkins/workspace/lo_gerrit/tb/src_master/sw/source/core/doc/textboxhelper.cxx:1798: SwFrameFormat* SwTextBoxNode::GetTextBox(const SdrObject*) const: Assertion `false' failed.
warn:desktop:711529:711529:desktop/source/app/crashreport.cxx:61: minidump generated: /home/bogdan/Documente/LibreOfficeDev_7.6.0.0.alpha0_Linux_x86-64_archive/LibreOfficeDev_7.6.0.0.alpha0_Linux_x86-64_archive/program/../program/../libreofficedev/4/crash//ae7f1d12-c6a5-43cb-69ec0fb0-968db234.dmp
warn:legacy.osl:711529:711529:sw/source/core/frmedt/fefly1.cxx:1721: <SwFEShell::GetObjCntType(..)> - missing draw contact object
warn:legacy.osl:711529:711529:sw/source/core/frmedt/fefly1.cxx:1721: <SwFEShell::GetObjCntType(..)> - missing draw contact object
warn:legacy.osl:711529:711529:sw/source/core/frmedt/fefly1.cxx:1721: <SwFEShell::GetObjCntType(..)> - missing draw contact object
warn:legacy.osl:711529:711529:sw/source/core/frmedt/fefly1.cxx:1721: <SwFEShell::GetObjCntType(..)> - missing draw contact object




Steps to Reproduce:
see description

Actual Results:
CRASH

Expected Results:
NO CRASH


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 12e8d57e791bb1befc0716d4d02af7d1d1ccb4ae
CPU threads: 4; OS: Linux 5.19; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 1 BogdanB 2023-01-01 20:10:41 UTC
Created attachment 184431 [details]
dmp file after the crash
Comment 2 Telesto 2023-01-02 02:43:21 UTC
You didn't attach the sample file, only the minidump file; I think
Comment 3 Telesto 2023-01-02 02:48:23 UTC
Confirm the crash
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 102846d45cb9660805e209b6954c7b8d707b8288
CPU threads: 8; OS: Mac OS X 12.3.1; UI render: Skia/Raster; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: en-US
Calc: threaded
Comment 4 BogdanB 2023-01-02 06:09:35 UTC
Created attachment 184439 [details]
demo document
Comment 5 BogdanB 2023-01-11 15:40:40 UTC
No crash in
Version: 7.5.0.1 (X86_64) / LibreOffice Community
Build ID: 77cd3d7ad4445740a0c6cf977992dafd8ebad8df
CPU threads: 4; OS: Linux 5.19; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 6 BogdanB 2023-01-11 15:49:02 UTC
Recently was this commit. Could be this the cause?

https://gerrit.libreoffice.org/c/core/+/143205
Comment 7 BogdanB 2023-01-11 15:59:29 UTC
Noel, could you please take a look here?
Comment 8 Julien Nabet 2023-01-11 16:41:07 UTC
Created attachment 184597 [details]
bt with debug symbols + console logs

Here's a bt retrieved on pc Debian x86-64 with master sources updated today.

I also included some console logs.
Comment 9 Noel Grandin 2023-01-11 19:08:22 UTC
(In reply to BogdanB from comment #6)
> Recently was this commit. Could be this the cause?
> 
> https://gerrit.libreoffice.org/c/core/+/143205

Nope, problem pre-dates that commit.
Comment 10 Telesto 2023-01-11 21:11:45 UTC
@Bogdan
The bug is probably caused by the work done by Attila Bakos (NISZ) related to textbox grouping.
Comment 11 Xisco Faulí 2023-01-12 08:41:31 UTC
Not reproducible with a release build

Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: d993327eab0a2c9c8820c6528075b01de68b0ec6
CPU threads: 8; OS: Linux 5.10; UI render: default; VCL: x11
Locale: es-ES (es_ES.UTF-8); UI: en-US
Calc: threaded
Comment 12 BogdanB 2023-01-12 10:22:01 UTC Comment hidden (obsolete)
Comment 13 Xisco Faulí 2023-01-12 16:11:37 UTC
(In reply to BogdanB from comment #12)
> Resolved meanwhile
> Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
> Build ID: c68d06dfa1498f862923eaddf3e5d247650a53d5
> CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL:
> win
> Locale: ro-RO (ro_RO); UI: en-US
> Calc: threaded

Are you sure?
In the original report you were using a debug build, is it also a debug build ?
Comment 14 BogdanB 2023-01-12 16:38:36 UTC
(In reply to Xisco Faulí from comment #13)
> (In reply to BogdanB from comment #12)
> > Resolved meanwhile
> > Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
> > Build ID: c68d06dfa1498f862923eaddf3e5d247650a53d5
> > CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL:
> > win
> > Locale: ro-RO (ro_RO); UI: en-US
> > Calc: threaded
> 
> Are you sure?
> In the original report you were using a debug build, is it also a debug
> build ?

Sorry, repro also on today dbg version. Marked as New again.
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: d07b1cc8148140bd3a78103da668d002b9d266ab
CPU threads: 16; OS: Linux 5.15; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 15 BogdanB 2023-05-26 05:31:25 UTC
No crash, just warnings now:

warn:legacy.tools:152544:152544:sfx2/source/control/bindings.cxx:1770: No cache for OfficeDispatch!
warn:sfx.dialog:152544:152544:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for WordPerfect
warn:sfx.dialog:152544:152544:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for writerweb8_writer_template
warn:sfx.dialog:152544:152544:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for writerglobal8
warn:xmloff:152544:152544:xmloff/source/draw/shapeimport.cxx:352: unknown attribute urn:oasis:names:tc:opendocument:xmlns:text:1.0 text:anchor-type value=paragraph
warn:xmloff:152544:152544:xmloff/source/draw/shapeimport.cxx:352: unknown attribute urn:oasis:names:tc:opendocument:xmlns:text:1.0 text:anchor-type value=paragraph
warn:legacy.tools:152544:152544:sfx2/source/control/bindings.cxx:1770: No cache for OfficeDispatch!
warn:legacy.tools:152544:152544:sfx2/source/control/statcach.cxx:399: setting state of dirty message
warn:sw.core:152544:152544:sw/source/core/doc/textboxhelper.cxx:1796: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
warn:sw.core:152544:152544:sw/source/core/doc/textboxhelper.cxx:1796: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!

Version: 7.6.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: f3aab159f1c1e00c25e6b4ca1e50813bc343f4f3
CPU threads: 16; OS: Linux 5.19; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 16 Julien Nabet 2023-05-26 18:11:35 UTC
(In reply to BogdanB from comment #15)
> No crash, just warnings now:
> ...
> warn:sw.core:152544:152544:sw/source/core/doc/textboxhelper.cxx:1796:
> SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
> warn:sw.core:152544:152544:sw/source/core/doc/textboxhelper.cxx:1796:
> SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
Just for the record, I got the same too.
Comment 17 Julien Nabet 2023-05-26 19:39:10 UTC
Attila: noticing 1d3d2a995239c3c71432006cb795324c56a0412a, thought you might be interested in this one.
Comment 18 BogdanB 2023-08-03 18:45:46 UTC
Restested with
Version: 24.2.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 0e17d8ddccdee7d4f46b256153853e1cab87c99e
CPU threads: 16; OS: Linux 5.19; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded

warn:sfx.dialog:1066119:1066119:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for WordPerfect
warn:sfx.dialog:1066119:1066119:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for writerweb8_writer_template
warn:sfx.dialog:1066119:1066119:sfx2/source/dialog/filtergrouping.cxx:359: already have an element for writerglobal8
warn:xmloff:1066119:1066119:xmloff/source/draw/shapeimport.cxx:352: unknown attribute urn:oasis:names:tc:opendocument:xmlns:text:1.0 text:anchor-type value=paragraph
warn:xmloff:1066119:1066119:xmloff/source/draw/shapeimport.cxx:352: unknown attribute urn:oasis:names:tc:opendocument:xmlns:text:1.0 text:anchor-type value=paragraph
warn:stoc:1066119:1066119:stoc/source/javaloader/javaloader.cxx:383: getJavaVM returned null
warn:legacy.tools:1066119:1066119:sfx2/source/control/bindings.cxx:1770: No cache for OfficeDispatch!
warn:sw.core:1066119:1066119:sw/source/core/doc/textboxhelper.cxx:1796: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
warn:sw.core:1066119:1066119:sw/source/core/doc/textboxhelper.cxx:1796: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
Comment 19 BogdanB 2024-06-11 18:31:57 UTC
Retested.

When opening the file, no warnings.

When group and ungroup, I just get these warnings:
warn:sw.core:708930:708930:sw/source/core/doc/textboxhelper.cxx:1792: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
warn:sw.core:708930:708930:sw/source/core/doc/textboxhelper.cxx:1792: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!

Version: 24.8.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 6d39b1a6068bbbd5ca4947f668f989dbfb73342d
CPU threads: 16; OS: Linux 6.5; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded
Comment 20 BogdanB 2025-03-29 18:23:51 UTC
Retested.
Version: 25.8.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 742dbb088b44783c3a4f0fd120b11be3a74fd483
CPU threads: 16; OS: Linux 6.11; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

When opening the file, no warnings.

After grouping/ungrouping:
warn:legacy.tools:13069:13069:sfx2/source/control/statcach.cxx:410: setting state of dirty message
warn:legacy.tools:13069:13069:sfx2/source/control/statcach.cxx:410: setting state of dirty message
warn:sw.core:13069:13069:sw/source/core/doc/textboxhelper.cxx:1883: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
warn:sw.core:13069:13069:sw/source/core/doc/textboxhelper.cxx:1883: SwTextBoxNode::GetTextBox(): RefCount and TexBox count mismatch!
Comment 21 David Hashe 2025-06-06 03:43:55 UTC
Assigning to myself because I have a preliminary fix. I'll try to get a more thorough explanation and a patch up in <24 hours from this comment.

See also bug 160309.
Comment 22 David Hashe 2025-06-06 03:45:26 UTC
Also, I'm pretty sure that the "RefCount and TexBox count mismatch!" warnings are harmless. They check for an invariant that happens to temporarily be violated when the warning is issued, sometimes because of stack-allocated shared_ptr's (so the RefCount is higher than expected), and sometimes because the SwTextBoxNode in question is having its elements moved to another SwTextBoxNode (so the RefCount is lower than expected).

But in neither case is it a real problem.

I think that it is possible to restructure the code so that the warnings no longer appear.