Bug 130274 - TRACK CHANGES: Crash in swlo.dll with track changes enabled and AutoCorrect
Summary: TRACK CHANGES: Crash in swlo.dll with track changes enabled and AutoCorrect
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
6.2.0.3 release
Hardware: All All
: medium normal
Assignee: Michael Stahl (allotropia)
URL:
Whiteboard: target:7.0.0 target:6.4.2 target:6.3.6
Keywords: bibisected, bisected, haveBacktrace, regression
Depends on:
Blocks: Track-Changes redlinehide-regressions
  Show dependency treegraph
 
Reported: 2020-01-30 02:31 UTC by Dave Lovelace
Modified: 2020-11-19 11:09 UTC (History)
5 users (show)

See Also:
Crash report or crash signature: ["swlo.dll"]


Attachments
Backtrace (19.62 KB, text/plain)
2020-02-08 14:10 UTC, Aron Budea
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Lovelace 2020-01-30 02:31:25 UTC
This bug was filed from the crash reporting server and is br-9f81bc62-9ab6-44e2-84ae-60f1799fa619.
=========================================

This has been turning up with distressing frequency.  I finally managed to reproduce it consistently with a very simple document.

1. Open a new Writer document.
2. Edit -> Track Changes
     Make sure Record and Show are both turned on.
3. Type in the following sentence (without the quotes):
   "This is a test, in fact a new test."
4. Select the whole sentence and accept the changes.
5. Attempt in the following manner to make this into two sentences:
   i.  Select the text ", i".  (Just the comma, the single blank, and the "i")
   ii. Attempt to type in ".  I"  (period, two blanks, capital "I")

Somewhere in this (5. ii.) it always crashes.  With this example, I think it's consistently been when I type the period.  In the large, complex documents, with similar but not identical fragments, I think it's usually been when I get to the uppercase "I".  In any case, I'm not sure what's relevant, except that the text being replaced always begins with a comma and a blank, and I THINK that the first character after the blank has always been a lowercase "i".

YMMV, of course.  Best I can give you.  Hope it helps.

Here's what "about" shows (the top part):
Version: 6.2.8.2 (x64)
Build ID: f82ddfca21ebc1e222a662a32b25c0c9d20169ee
CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; 
Locale: en-US (en_US); UI-Language: en-US
Calc: threaded

This is running on Windows 10, on a couple of different computers.  Same (or similar) results when I'm actually editing something; I only did this small sample on one of them, though.
Comment 1 Dieter 2020-01-30 07:05:20 UTC
Dave, thank you for reporting the bug. Could you please try to reproduce it with LO 6.3.4 or 6.0 from the latest version of LibreOffice from https://www.libreoffice.org/download/ ? I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' if the bug is still present in the latest version. Change to RESOLVED WORKSFORME, if the problem went away.
Comment 2 Dave Lovelace 2020-01-30 19:32:18 UTC
OK, I located & installed 6.3.4.2 .  (BTW, why would 6.0 be better than 6.2.8.2?)

A similar test shows exactly the same result.  The crash report thing gives this URL:

crashreport.libreoffice.org/stats/crash_details/a5b1b080-9697-4c0e-bdcc-3024b5a08b79

For what it's worth:  I first tried telling LO (Writer) to check for updates.  It said I was up to date.  Why would it say that when 6.3.4.2 is the current stable version?

In any case, thank you.  I'm editing some big documents, and a lot of it involves splitting up run-on sentences.  It's quite irritating for it to crash, especially since I usually have several big documents open at the time.
Comment 3 Dieter 2020-01-30 19:53:21 UTC
(In reply to Dave Lovelace from comment #2)
> OK, I located & installed 6.3.4.2 .  (BTW, why would 6.0 be better than
> 6.2.8.2?)

Sorry, I meant 6.4.0.

I can't confirm it with

Version: 6.3.4.2 (x64)
Build-ID: 60da17e045e08f1793c57c00ba83cdfce946d0aa
CPU-Threads: 4; BS: Windows 10.0; UI-Render: Standard; VCL: win; 
Gebietsschema: de-DE (de_DE); UI-Sprache: de-DE
Calc: threaded

Does it only happen, if other files are open or does it also happen, if it is the onliest file?
Comment 4 Julien Nabet 2020-01-30 20:24:52 UTC
On pc Debian x86-64 with LO Debian package 6.3.4 + gen rendering, I don't reproduce this.

Could you give a try at https://wiki.documentfoundation.org/QA/FirstSteps ?
Comment 5 Dave Lovelace 2020-01-30 20:54:47 UTC
(In reply to Dieter Praas from comment #3)

Yes, it happens when it's the only file; the test sample I gave did that consistently.

This is now on
Version: 6.3.4.2 (x64)
Build ID: 60da17e045e08f1793c57c00ba83cdfce946d0aa
CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; 
Locale: en-US (en_US); UI-Language: en-US
Calc: threaded

If others can't reproduce it, I'm sorry; it's at least pretty consistent with me.  That test code, every time I've tried it.  Previously, several times a day in the actual documents, whenever I forgot my workaround.  (The workaround being to delete the old text, then enter the new text.  Select & overwrite is a longstanding habit for me.)

I believe it only happens when history tracking is in use; however, that's the case in the big documents I'm editing.  (See my original report.)

In reply to Julien Nabet (comment #4), which came in while I was entering the above.

I went to that link.  I don't understand what, of all that stuff, I'm supposed to do.  I have a bug that consistently causes a crash, on either of two separate computers running the same version of LO and the same version of Win10.  On one of them, LO was a new install in December, not something that had been repeatedly reinstalled.

I feel that I've given all the information I have available, and that I've already wasted several hours trying to understand and follow instructions.  I'm not a developer for LO.  I'm sorry, but I don't have time to figure out how to "locate your user profile".  

As I said, I'd already tried "check for updates" and been told that LO was up to date, so it was discouraging to be told I needed to update to a later rev.  I did that.

You have whatever data the crash report gives you (two different crash reports), and instructions for something very simple that absolutely consistently crashes LO for me.  I tried to be helpful by figuring out the instructions that came with the crash report and coming up with a very limited document (a handful of words) and procedure for duplicating the crash.  I have no idea why you folks can't reproduce it, but since it happens on two separate machines I doubt it's anything obviously corrupted.
Comment 6 Dave Lovelace 2020-01-30 20:57:33 UTC
I've left the thing in NEEDINFO status, because I don't think I have more info to give you.  At this point I'm sorry I got started on this.  Julien's comment doesn't, so far as I can see, ask me for any specific info.
Comment 7 Julien Nabet 2020-01-30 21:48:17 UTC
do what you want, uncc myself
Comment 8 Dave Lovelace 2020-01-31 21:03:55 UTC
OK, I decided to waste some more time on this.

First off:  I verified that the "i" as the character after the blank seems to be critical.  That is, having "x" instead (or some others--I didn't go for an exhaustive test of all possibilities) causes the crash not to happen.

Second, I THINK I managed to figure out renaming my profile directory & restarting in safe mode.  The problem is still there.  The profile directory was recreated.  (I've now restored the previous one.)

Note that in my original posting (and now as well) the help -> about text says (in part), "UI render: default".  If I understand the doc Julien sent me to, that means I don't need to do anything about the "Graphics-related issues" section.

And as I'm not doing a spreadsheet, I'm ignoring the "Computation-related issues in Calc" section.

And I don't see anything else I can do; but all the doc is complicated enough to be confusing.

I reiterate that:
1. Edit -> Track Changes -> Record must be on
2. Edit -> Track Changes -> Show must be on
3. The text involves some letters, one comma, one blank, a lowercase "i",
and at least one more letter.  (But I recommend the text I provided.)
4. With the mouse or cursor keys. I select the comma, the blank, and the "i".  I then type a period, and it crashes.  Every single time.

In the accounts of not being able to reproduce, I note that the builds are for German (Dieter) and Linux (Julien).  I can't help wondering whether that might be relevant; but I have no way of following up.  (I do have a Fedora system available, but the LO provided for Fedora is many revs out of date.  I'll try to test this on that system, but it won't be any time soon; I'm not in the office where it lives very often these days.)
Comment 9 Dave Lovelace 2020-01-31 21:08:13 UTC
Sorry.  One more absolutely necessary condition.  The text I'm modifying must have previously been accepted.  If it's newly added, the crash doesn't occur.  (That was documented in my original posting.)
Comment 10 Dieter 2020-02-01 07:21:16 UTC
Dave, I tried again with the steps you provided, but couldnt' reproduce it. Sorry. I also searched for other bugs with that crash signaure, but couldn't find anything. I'm afrais I can't do more. I hope somebody else can help.
Comment 11 Aron Budea 2020-02-08 14:07:12 UTC
I could repro this, and bibisect using repo bibisect-linux-64-6.2 to the backport of the commit below. Adding CC: to Michael Stahl.

Note that there are two slightly different repros based on whether you select the ", i" part forward or backward.

1. Selecting forward
- Enable track changes
- Type the following w/o the quotes: "This, is"
- Accept change (or all changes, doesn't matter)
- Select ", i" _forward_
- Type a period

=> Crash.

2. Selecting backward
- Enable track changes
- Type the following w/o the quotes: "This, is"
- Accept change (or all changes, doesn't matter)
- Select ", i" _backward_
- Type a period
- Undo once
- Type a period

=> Crash.

https://cgit.freedesktop.org/libreoffice/core/commit/?id=9926ea7dd07f1f3d012ddf97941a42bb7fa5717d
author		Michael Stahl <Michael.Stahl@cib.de>	2018-11-28 15:51:02 +0100
committer	Michael Stahl <Michael.Stahl@cib.de>	2018-12-01 08:44:45 +0100

sw_redlinehide_4a: SwAutoCorrDoc iterates frames, not nodes
Comment 12 Aron Budea 2020-02-08 14:10:18 UTC
Created attachment 157744 [details]
Backtrace

Attaching backtrace from current master.

Also, as implied from the previous comment, it can be reproduced both in Win/Linux.
Comment 13 NISZ LibreOffice Team 2020-02-10 13:48:59 UTC
(In reply to Aron Budea from comment #12)
> Created attachment 157744 [details]
> Backtrace
> 
> Attaching backtrace from current master.
> 
> Also, as implied from the previous comment, it can be reproduced both in
> Win/Linux.

We also just reproduced with: 

Version: 7.0.0.0.alpha0+ (x64)
Build ID: 54b28638ab15f68731861ae903c732273b41f78a
CPU threads: 4; OS: Windows 6.3 Build 9600; UI render: GL; VCL: win; 
Locale: en-US (hu_HU); UI-Language: en-US
Calc: CL

And bibisected with bibisect-win32-6.2 to the same commit.
Comment 14 Xisco Faulí 2020-02-10 17:06:08 UTC
I can reproduce it in

Version: 7.0.0.0.alpha0+
Build ID: c161478ed50f6ee8878335db113f8850a136615b
CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded
but not in

Versión: 6.4.0.3 (x86)
Id. de compilación: b0a288ab3d2d4774cb44b62f04d5d28733ac6df8
Subprocs. CPU: 2; SO: Windows 6.1 Service Pack 1 Build 7601; Repres. IU: predet.; VCL: win; 
Configuración regional: es-ES (es_ES); Idioma de IU: es-ES
Calc: threaded

weird
Comment 15 Michael Stahl (allotropia) 2020-02-21 12:03:21 UTC
fixed on master
Comment 16 Commit Notification 2020-02-21 12:04:24 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

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

tdf#130274 sw_redlinehide: fix ChgAutoCorrWord() if replaced text ...

It will be available in 7.0.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 17 Dave Lovelace 2020-02-21 21:08:08 UTC
Thank you!  I'll hope to figure out how to install this and test, sometime next week.

I still occasionally forget and crash LO, so I'll be looking forward to the real thing; but for now, I will test it here once I get to it.
Comment 18 Commit Notification 2020-02-24 06:33:10 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-6-4":

https://git.libreoffice.org/core/commit/1e97fb44829481845a7e768392f92f6c00f324de

tdf#130274 sw_redlinehide: fix ChgAutoCorrWord() if replaced text ...

It will be available in 6.4.2.

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 19 Commit Notification 2020-02-24 06:34:38 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-6-3":

https://git.libreoffice.org/core/commit/28ddbaabf895234fb9cfa121ae74e56bef158b5c

tdf#130274 sw_redlinehide: fix ChgAutoCorrWord() if replaced text ...

It will be available in 6.3.6.

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 20 Xisco Faulí 2020-02-24 11:23:21 UTC
Verified in

Version: 7.0.0.0.alpha0+
Build ID: f32a59a52e3ee2a0a8df9bb76bc1ff0ada7c7f1d
CPU threads: 4; OS: Linux 4.19; UI render: default; VCL: gtk3; 
Locale: en-US (en_US.UTF-8); UI-Language: en-US
Calc: threaded

@Michael, thanks for fixing this issue!
Comment 21 Dave Lovelace 2020-03-07 21:15:15 UTC
(In reply to Commit Notification from comment #19)
> Michael Stahl committed a patch related to this issue.
> It has been pushed to "libreoffice-6-3":
> 
> https://git.libreoffice.org/core/commit/
> 28ddbaabf895234fb9cfa121ae74e56bef158b5c
> 
> tdf#130274 sw_redlinehide: fix ChgAutoCorrWord() if replaced text ...
> 
> It will be available in 6.3.6.
> 
> 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.

I must be doing something wrong.  I tried this a while back (soon after the above comment, a couple of days later, maybe) and couldn't find anything.  I tried again today, and got what I think is the same result.  Here's what I see if I browse to https://dev-builds.libreoffice.org/daily/  :

1. I see "Index of /daily/"  .  Down under there, almost at the bottom, is "libreoffice-6-3".  I click on that.

2. This gives me "Parent directory/" and three more entries (an RPM, a MacOSX entry, and "Win-x86_64@42/".  I click on the last one.  (From the trailing slashes, I assume they're all directories, and this one appears to be.)

3. This gives me two more entries: "Parent directory/" and "current" (which I think is a symlink, from a glance at the file size shown, which is either l9 or 19).  I click on "current".

4. It gives me "404 Not Found".

I checked for more recent updates, and it found 6.3.5 but not 6.3.6.  There's also 6.4.2, but that sounds like a non-stable release.

I installed 6.3.5, but the bug is still present.  Since Michael's message spoke of 6.3.6, I guess that's not surprising—but how do I GET 6.3.6?

Sorry to be complaining.  What I've been working on lately doesn't involve tracking changes, so this kind of fell through the cracks for me.

Thanks.
Comment 22 Michael Stahl (allotropia) 2020-03-08 15:49:08 UTC
(In reply to Dave Lovelace from comment #21)
> 3. This gives me two more entries: "Parent directory/" and "current" (which
> I think is a symlink, from a glance at the file size shown, which is either
> l9 or 19).  I click on "current".
> 
> 4. It gives me "404 Not Found".

you're looking in the right place; this indicates that currently there is no daily build of that branch for Windows available - have no idea why though.
Comment 23 Dave Lovelace 2020-03-09 18:59:34 UTC
> 
> you're looking in the right place; this indicates that currently there is no
> daily build of that branch for Windows available - have no idea why though.

Thanks.  That's the way it's been every time I've tried it.  Somewhat infrequently, I admit, but over a week or more.

I guess I'll just have to wait until either 6.3.6 or 6.4.2 is actually available.  At present, 6.4.1 (not 6.4.2 as I thought) is labeled as being for early adopters and power users.
Comment 24 Dave Lovelace 2020-03-29 22:56:53 UTC
OK, I finally got back to this (after checking a few more times and finding that the "daily build" wasn't there, again and again).  This time it was there.  I downloaded it and tried to install.  AFTER I figured out how to get past Microsoft's telling me it had protected me from a dangerous program (and offering to delete what I'd just downloaded, I think), I got it installed.  And then found it and then tried it.

AFAICS at this point, the bug's gone.  At least, my little test document now fails to crash LibreOffice.  I'll eventually (soon I hope) get back to the documents I was revising.  I may have caught and fixed all the places that were giving me grief, earlier.  But it looks like the bug's been fixed.  It surely was a weird one.

Thank you to the people who stuck with me until some of you could reproduce this strange behavior, as well as to whoever actually fixed it (Michael and any others).

Oh.  The one I got is LibreOfficeDev 6.3.6.0.0+ .  I hope the non-dev one becomes available soon.

-- Dave
Comment 25 Aron Budea 2020-03-30 04:25:01 UTC
(In reply to Dave Lovelace from comment #24)
> Oh.  The one I got is LibreOfficeDev 6.3.6.0.0+ .  I hope the non-dev one
> becomes available soon.

LO 6.3.6 is planned to be released on week 18, ~1 month from now. However, the first RC should be out during the week after this (week 15). LO 6.4.2, containing the fix is already out.
Planned release schedule: https://wiki.documentfoundation.org/ReleasePlan