Bug 148419 - Assertion: (false), function newFromSubString, file strtmpl.hxx, line 981 (Track changes: !!br0ken!! appears in table cells)
Summary: Assertion: (false), function newFromSubString, file strtmpl.hxx, line 981 (Tr...
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.4.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: haveBacktrace
: 148761 150311 (view as bug list)
Depends on:
Blocks: Crash-Assert
  Show dependency treegraph
 
Reported: 2022-04-06 10:57 UTC by Telesto
Modified: 2023-04-17 18:59 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments
BT with symbols (10.81 KB, text/rtf)
2022-04-06 10:57 UTC, Telesto
Details
gdb bt (11.66 KB, text/plain)
2022-04-08 19:29 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2022-04-06 10:57:20 UTC
Description:
Assertion failed: (false), function newFromSubString, file strtmpl.hxx, line 981

Steps to Reproduce:
1. Open Writer
2. Insert a table 3x2 (3 rows, 2 columns)
3. Edit track changes -> record
4. Type A in A1 B in B1 and C in C1
5. Press delete row twice for every row
6. Press undo

Actual Results:
Assert

Expected Results:
No assert


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: fbf739198aa7f02975d531521c6525073783c7f1
CPU threads: 8; OS: Mac OS X 12.2.1; UI render: Skia/Metal; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: en-US
Calc: threaded
Comment 1 Telesto 2022-04-06 10:57:40 UTC
Created attachment 179345 [details]
BT with symbols
Comment 2 Telesto 2022-04-08 10:33:48 UTC
To get a crash in non-debug build (but the assert will be first)
1. Open Writer
2. Insert a table 3x2 (3 rows, 2 columns)
3. Edit track changes -> record
4. Type A in A1 B in B1 and C in C1
5. Press delete row twice for every row
6. Press and hold CTRL+Z (to undo everything) -> assert
7. Redo everything -> Crash (non-debug build)
Comment 3 Julien Nabet 2022-04-08 19:29:15 UTC
Created attachment 179417 [details]
gdb bt

Here's a bt from assertion + gdb console retrieved on pc Debian x86-64 with master sources updated today
Comment 4 Telesto 2022-04-08 20:25:11 UTC
@László
You might take an interest in this one.. tables + track changes.. and it can crash on non-debug builds.
Comment 5 Telesto 2022-04-24 20:06:03 UTC
*** Bug 148761 has been marked as a duplicate of this bug. ***
Comment 6 Telesto 2022-04-24 20:07:02 UTC
1. open attachment 179754 [details]
2. Place cursor in bottom row of the table
3. Press delete row until the table being deleted
4. Press and hold undo (CTRL+Z)
Comment 7 Telesto 2022-04-24 20:21:03 UTC
(In reply to Telesto from comment #6)
> 1. open attachment 179754 [details]
> 2. Place cursor in bottom row of the table
> 3. Press delete row until the table being deleted
> 4. Press and hold undo (CTRL+Z)

With track changes show disabled.. it will crash a non debug build
Comment 8 Aron Budea 2022-05-10 08:24:42 UTC
(In reply to Telesto from comment #2)
> 2. Insert a table 3x2 (3 rows, 2 columns)
> 3. Edit track changes -> record
> 4. Type A in A1 B in B1 and C in C1
If there are two columns (step 2), how do you have C1, which should be the first cell of the third column.
Comment 9 Telesto 2022-05-10 08:31:37 UTC
(In reply to Aron Budea from comment #8)
> (In reply to Telesto from comment #2)
> > 2. Insert a table 3x2 (3 rows, 2 columns)
> > 3. Edit track changes -> record
> > 4. Type A in A1 B in B1 and C in C1
> If there are two columns (step 2), how do you have C1, which should be the
> first cell of the third column.

Lazy me: this topic can be skipped if you can reproduce the assert with comment 6 :-)
Comment 10 Xisco Faulí 2022-05-10 09:49:43 UTC
Assert reproduced in

Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: 8189d815641c583b5506d482f0b4f1ab47924f6a
CPU threads: 8; OS: Linux 5.10; UI render: default; VCL: gtk3
Locale: es-ES (es_ES.UTF-8); UI: en-US
Calc: threaded

1. Insert 2x2 table
2. Record track changes
3. Remove first row
4. Remove second row
5. Undo
Comment 11 Xisco Faulí 2022-05-10 09:52:23 UTC
Hi Telesto,
Let's use this ticket for the assertion. For other crashes, please create a new ticket
Comment 12 Telesto 2022-08-09 13:48:43 UTC
*** Bug 150311 has been marked as a duplicate of this bug. ***
Comment 13 Caolán McNamara 2023-04-17 09:02:28 UTC
is this fixed, I don't reproduce it with an up to date trunk build?
Comment 14 Telesto 2023-04-17 09:32:58 UTC
No repro for the assert.
Comment 15 Telesto 2023-04-17 09:39:47 UTC
1. Open Writer
2. Insert a table 3x2 (3 rows, 2 columns)
3. Edit track changes -> record
4. Type A in A1 B in B1 and C in C1
5. Press delete row twice for every row
6. CTRL+Z everything
7. CTRL+Y everything
8. CTRL+Z everything

BT as in attachment 179417 [details]. However doesn't match bug title

 0x00007facd5ab042f in __assert_fail_base
    (fmt=0x7facd5c26df8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7facbda0760b "rSData.empty() || rSData[0].m_bRedlineMoved || (rSData[0].m_nRedlineCount == rDoc.getIDocumentRedlineAccess().GetRedlineTable().size())", file=0x7facbda0600a "/home/julien/lo/libreoffice/sw/source/core/undo/undobj.cxx", line=1487, function=<optimized out>) at assert.c:92
Comment 16 Julien Nabet 2023-04-17 10:13:54 UTC
(In reply to Telesto from comment #15)
> 1. Open Writer
> 2. Insert a table 3x2 (3 rows, 2 columns)
> 3. Edit track changes -> record
> 4. Type A in A1 B in B1 and C in C1
> 5. Press delete row twice for every row
> 6. CTRL+Z everything
> 7. CTRL+Y everything
> 8. CTRL+Z everything
> 
> BT as in attachment 179417 [details]. However doesn't match bug title
> 
>  0x00007facd5ab042f in __assert_fail_base
>     (fmt=0x7facd5c26df8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
> assertion=0x7facbda0760b "rSData.empty() || rSData[0].m_bRedlineMoved ||
> (rSData[0].m_nRedlineCount ==
> rDoc.getIDocumentRedlineAccess().GetRedlineTable().size())",
> file=0x7facbda0600a
> "/home/julien/lo/libreoffice/sw/source/core/undo/undobj.cxx", line=1487,
> function=<optimized out>) at assert.c:92

Just for the record, on pc Debian x86-64 with master sources updated today, I don't reproduce this one.
Comment 17 Telesto 2023-04-17 12:55:26 UTC
(In reply to Julien Nabet from comment #16)
> Just for the record, on pc Debian x86-64 with master sources updated today,
> I don't reproduce this one.

Thanks for the info. Will will keep this one closed, and file a new bug report after some testing
Comment 18 Telesto 2023-04-17 18:59:00 UTC
(In reply to Caolán McNamara from comment #13)
> is this fixed, I don't reproduce it with an up to date trunk build?

FWIW: The initial reported assert can be reproduced again. Details at bug 154860