Bug 129712 - Crash in: mergedlo.dll after pasting as Unformatted text in Draw's Text box
Summary: Crash in: mergedlo.dll after pasting as Unformatted text in Draw's Text box
Status: VERIFIED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
6.4.0.1 rc
Hardware: All All
: medium normal
Assignee: Mike Kaganski
URL:
Whiteboard: target:6.5.0 target:6.4.0.2
Keywords: bibisected, bisected, regression
: 129779 (view as bug list)
Depends on:
Blocks:
 
Reported: 2019-12-31 17:18 UTC by Roman Kuznetsov
Modified: 2020-01-06 09:43 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Kuznetsov 2019-12-31 17:18:00 UTC
This bug was filed from the crash reporting server and is br-a1846e04-8bce-4ef1-b6f9-be0d047cb4a3.
=========================================

I translated this https://wiki.documentfoundation.org/images/5/5a/EN_Consumer.odg drawing in Draw.
I changed original english text to russian text from Google translate site. I pasted it into text blocks on page 2 as Unformatted text and then I changed Line spacing to Fixed with 1.00 cm value
LO crashed after every changed blocks...

Version: 6.4.0.1 (x64)
Build ID: 1b6477b31f0334bd8620a96f0aeeb449b587be9f
CPU threads: 4; OS: Windows 10.0 Build 17763; UI render: GL; VCL: win; 
Locale: ru-RU (ru_RU); UI-Language: en-US
Calc: threaded
Comment 1 Roman Kuznetsov 2019-12-31 17:42:51 UTC
steps for repro:

1. Open Draw
2. Create a Text box (F2) from Drawing toolbar
3. Write anything in that box
4. Copy some long text like "LibreOffice поставляется с открытым, документированным и полностью скриптовым API. LibreOffice поддерживает несколько языков сценариев, таких как BASIC, Python и PHP, для администраторов и разработчиков."
5. Select all text in your text box and Paste text from clipboard as Unformatted text
6. Select all pasted text and change Line Spacing to Fixed and set up 1.00 cm value for it using drop-down widget on Sidebar
7. Double click on page in Draw out of text box => LO crashes
Comment 2 Roman Kuznetsov 2020-01-01 14:28:09 UTC
don't repro in 6.3.3.2

so it is a regression
Comment 3 Roman Kuznetsov 2020-01-01 15:33:17 UTC
I bisected it, result is

$ git bisect good
fcc506eebf021045ab3d4647a8706e5e057e8a15 is the first bad commit
commit fcc506eebf021045ab3d4647a8706e5e057e8a15
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Tue Dec 17 01:05:01 2019 -0800

    source sha:64233bbaa0e91ddf14d59ae7547df6bbfa60adcc

https://gerrit.libreoffice.org/plugins/gitiles/core/+/64233bbaa0e91ddf14d59ae7547df6bbfa60adcc

Adding CC: to Samuel Mehrbrodt
Comment 4 Roman Kuznetsov 2020-01-02 07:58:55 UTC
(In reply to Roman Kuznetsov from comment #1)
> steps for repro:
> 
> 1. Open Draw
> 2. Create a Text box (F2) from Drawing toolbar
> 3. Write anything in that box
> 4. Copy some long text like "LibreOffice поставляется с открытым,
> документированным и полностью скриптовым API. LibreOffice поддерживает
> несколько языков сценариев, таких как BASIC, Python и PHP, для
> администраторов и разработчиков."
> 5. Select all text in your text box and Paste text from clipboard as
> Unformatted text
> 6. Select all pasted text and change Line Spacing to Fixed and set up 1.00
> cm value for it using drop-down widget on Sidebar
> 7. Double click on page in Draw out of text box => LO crashes

More simple steps:

1. Open Draw
2. Create a Text box (F2) from Drawing toolbar
3. Write anything in that box
4. Copy any text like "LibreOffice поставляется с открытым,
документированным и полностью скриптовым API. LibreOffice поддерживает
несколько языков сценариев, таких как BASIC, Python и PHP, для
администраторов и разработчиков."
5. Select all text in your text box (Ctrl+A) and Paste text from clipboard as
Unformatted text using context menu!
6. Click out of Text box => LO crashes
Comment 5 Mike Kaganski 2020-01-02 08:47:32 UTC
https://gerrit.libreoffice.org/c/core/+/86097
Comment 6 Commit Notification 2020-01-02 10:03:29 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

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

tdf#129712: check if outliner view pointer is valid to avoid crash

It will be available in 6.5.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 7 Roman Kuznetsov 2020-01-04 14:16:52 UTC
verified in

Version: 6.5.0.0.alpha0+ (x64)
Build ID: c97f9af5e47ea234ad709a1f66c1e8ed20640066
CPU threads: 4; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: GL; VCL: win; 
Locale: ru-RU (ru_RU); UI-Language: en-US
Calc: CL

Thanks, Mike for fixing of it
Comment 8 V Stuart Foote 2020-01-04 15:28:17 UTC
*** Bug 129779 has been marked as a duplicate of this bug. ***
Comment 9 Commit Notification 2020-01-06 09:43:43 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "libreoffice-6-4":

https://git.libreoffice.org/core/commit/2a7aef0ca8e373069085d8330d00870d32ca5f78

tdf#129712: check if outliner view pointer is valid to avoid crash

It will be available in 6.4.0.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.