Bug 76298 - EDITING CRASH OLE Servers started for each selected object on cut to clipboard or delete
Summary: EDITING CRASH OLE Servers started for each selected object on cut to clipboar...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.1.0.0.beta1
Hardware: Other Windows (All)
: high critical
Assignee: Michael Stahl (allotropia)
URL:
Whiteboard: target:4.3.0 target:4.2.4 target:4.1.6
Keywords: regression
Depends on:
Blocks:
 
Reported: 2014-03-18 00:19 UTC by Mike Kaganski
Modified: 2014-04-07 10:32 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
ODT with several 1-pixel MS Paint OLE objects (2.20 MB, application/vnd.oasis.opendocument.text)
2014-03-18 00:19 UTC, Mike Kaganski
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Kaganski 2014-03-18 00:19:17 UTC
Created attachment 95975 [details]
ODT with several 1-pixel MS Paint OLE objects

When a text document contains OLE objects in it, removing them from the document (either by deletion, or by cutting to clipboard) starts corresponding OLE Server process.

Steps to reproduce:
1. Open attached document that contains several 1-pixel MS Paint OLE objects inserted.
2. Open Task Manajer to see that mspaint.exe isn't started
3. Delete one or more OLE objects
4. Cut one or more objects to clipboard

Expected result: objects are removed/cut without OLE Server started

Actual result: mspaint.exe is started for each removed/cut object!

Tested with 4.1.0.0.beta1 - 4.3.0.0.alpha0+ (Build ID: 335a8a84fe6349fd716d4978346cfff9c884dd9b) under Win7x64.
Version 4.0.6.1 and earlier are unaffected -> regression.
Cannot reproduce under Ubuntu 13.10 x86-64 (but maybe because there's no OLE Server for MS Paint objects? I'm not an expert Unix user.)
Calc isn't affected.

This problem has several consequenses of varying severity:
1. It causes flicker in the taskbar and on screen when some OLE Servers start (the least important, but still may be a problem for people with attention disorders)
2. It causes delays when removing/cutting objects. The delay may be very lengthy depending on the OLE Server startup time and the object size; e.g. on heavy AutoCAD objects it may be 30+ seconds. Also, the delay depends on object count - removing large sections with a number of OLE may cost minutes.
3. It may cause LO OOM crash, and even OS crash: OLE servers aren't closed until LO is closed, and some OLE Servers are started multiple times (SDI), such as MS Paint. If the OLE objects in the attached documents are copied and inserted multiple times (say, 60), and then removed at once, LO may crash, and OS may hang or crash (depending on installed memory) - I experienced several such LO and OS crashes until found this problem causing them.

However, 4.3.0.0.alpha0+ (Build ID: 335a8a84fe6349fd716d4978346cfff9c884dd9b) closes OLE Servers after use, so OOM/crash is unlikely there. Still, OLE is started, and delays are huge.
Nevertheless, I put CRASH into summary, because current 4.2 versions (including 4.2.4.0.0+ Build ID: a54da6a84f751250c694120d1a29aaac89cd3af4) still don't close OLE Servers and may crash.

The problem affects major component (writer) and its basic functionality (cut/delete).
Thus, critical/high (at least).
Comment 1 Michael Stahl (allotropia) 2014-04-07 08:40:01 UTC
regression from commit 1ba29be90f7141077f2d079d40dffc2efd4f1a2c

fixed on master
Comment 2 Commit Notification 2014-04-07 08:40:36 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "master":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=206848294f686a0ccf4c741d7e92a2314a88ea48

fdo#76298: sw: do not start up every OLE object on deletion



The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 3 Commit Notification 2014-04-07 10:30:42 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-4-2":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=9442b78d925bb66ca2e0404943713e0a6b6f60be&h=libreoffice-4-2

fdo#76298: sw: do not start up every OLE object on deletion


It will be available in LibreOffice 4.2.4.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.
Comment 4 Commit Notification 2014-04-07 10:32:10 UTC
Michael Stahl committed a patch related to this issue.
It has been pushed to "libreoffice-4-1":

http://cgit.freedesktop.org/libreoffice/core/commit/?id=b7407546a0f3e0464a974f91d1e5ee2a92211d30&h=libreoffice-4-1

fdo#76298: sw: do not start up every OLE object on deletion


It will be available in LibreOffice 4.1.6.

The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
http://wiki.documentfoundation.org/Testing_Daily_Builds
Affected users are encouraged to test the fix and report feedback.