Bug 146857 - Freeze after undoing accepting/rejecting changes
Summary: Freeze after undoing accepting/rejecting changes
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
7.3.0.1 rc
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: target:7.4.0 target:7.3.1
Keywords: bibisected, bisected, perf, regression
Depends on:
Blocks:
 
Reported: 2022-01-19 12:36 UTC by Telesto
Modified: 2022-03-22 09:28 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
tail of terminal output, bibisect linux-64-7.3 (2.95 KB, text/plain)
2022-01-22 02:29 UTC, Terrence Enger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2022-01-19 12:36:09 UTC
Description:
Freeze after undoing accepting changes

Steps to Reproduce:
1. Open attachment 176549 [details] [bug 145930 & bug 146849)
2. Edit -> Track Changes & Accept changes
3. CTRL+Z


Actual Results:
Freeze

Expected Results:
No freeze


Reproducible: Always


User Profile Reset: No



Additional Info:
Version: 7.4.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 4a388f5e01ebb5a512931d11e48c4380382239c8
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL
Comment 1 Telesto 2022-01-19 12:38:37 UTC
No freeze in
Version: 7.1.0.0.beta1+ (x64)
Build ID: f9fab4203c1aa0b9a3f27ce2713b6d5addc7df19
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: Skia/Raster; VCL: win
Locale: nl-NL (nl_NL); UI: en-US
Calc: CL
Comment 2 Tex2002ans 2022-01-19 20:50:19 UTC
No freeze in this either:

Version: 7.2.5.2 (x64) / LibreOffice Community
Build ID: 499f9727c189e6ef3471021d6132d4c694f357e5
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

(For Step 2 I did Edit > Track Changes > Accept All. Unsure if that made a difference.)
Comment 3 Terrence Enger 2022-01-22 02:29:43 UTC
Created attachment 177698 [details]
tail of terminal output, bibisect linux-64-7.3

Working in linux-64-7.3 bibisect repository, I see the bug started ...

           commit    s-h       date
           --------  --------  -------------------
    good   1994e929  9acb8094  2021-11-17 18:58:01
    bad    b55fa108  f51fa753  2021-11-17 19:05:46

for which the commit message starts ...

    commit f51fa7534421a195a58b4a737a2e836d8c25ba81
    Author: László Németh <nemeth@numbertext.org>
    Date:   Tue Nov 16 16:08:57 2021 +0100

        tdf#145718 sw, DOCX import: complete tracked text moving
    
        Add IsMoved bit to SwRangeRedline, and keep it in both
        parts of a split Delete/Insert redline. Set this bit
        during DOCX import, fixing incomplete import of
        moveFrom/moveTo elements.

I am removing keyword bibisectRequest and adding keywords bibisected,
bisected.
Comment 4 Terrence Enger 2022-01-22 02:31:19 UTC
I am setting bug status NEW.
Comment 5 Telesto 2022-01-22 02:34:19 UTC
Adding CC: to László Németh
Comment 6 László Németh 2022-01-22 11:01:38 UTC
Suggested fix: https://gerrit.libreoffice.org/c/core/+/128762

@Telesto: many thanks for reporting the problem!

Details:

tdf#146857 sw change tracking: fix freezing during Undo

Re-insertion of hundreds of redlines during Undo resulted
freezing, because of the unnecessary call of isMoved() in
SwRedlineTable::Insert(), multiplying the slow Undo by
~40 extra redline checkings around each redline to find
tracke text movings.

Stop unnecessary call of isMoved() during Undo in
SwRedlineTable::Insert(). The state of isMoved bit i.e.
the green/double strikethrough/underline redline
formatting is preserved anyway.
Comment 7 Commit Notification 2022-01-26 11:07:10 UTC
László Németh committed a patch related to this issue.
It has been pushed to "master":

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

tdf#146857 sw change tracking: fix freezing during Undo

It will be available in 7.4.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 8 Commit Notification 2022-01-26 12:52:09 UTC
László Németh committed a patch related to this issue.
It has been pushed to "libreoffice-7-3":

https://git.libreoffice.org/core/commit/6a3f8d893d4456f86a3c213d04baad2ed9c6bbcd

tdf#146857 sw change tracking: fix freezing during Undo

It will be available in 7.3.1.

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 9 BogdanB 2022-01-26 18:33:50 UTC
Verified. No freeze

Laszlo thanks for fixing this bug, and Telesto thanks for reporting.

Version: 7.4.0.0.alpha0+ / LibreOffice Community
Build ID: 4935bb372e3618eca105997c83101aa2b3d422e3
CPU threads: 16; OS: Linux 5.13; UI render: default; VCL: gtk3
Locale: ro-RO (ro_RO.UTF-8); UI: en-US
Calc: threaded