Bug 149650 - FILEOPEN PPTX Crash after opening file
Summary: FILEOPEN PPTX Crash after opening file
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.5.0.0 alpha0+
Hardware: All All
: medium normal
Assignee: Armin Le Grand
URL:
Whiteboard: target:7.5.0
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-21 08:56 UTC by Gabor Kelemen (allotropia)
Modified: 2022-07-01 06:51 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Automatic dump file from my own build (9.70 MB, application/octet-stream)
2022-06-21 08:56 UTC, Gabor Kelemen (allotropia)
Details
gdb backtrace from crashing of attachment 130845 (414.95 KB, application/x-xz)
2022-06-21 09:46 UTC, Gabor Kelemen (allotropia)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Gabor Kelemen (allotropia) 2022-06-21 08:56:01 UTC
Created attachment 180863 [details]
Automatic dump file from my own build

After the patches in bug 128150, opening the attachment 154738 [details] from bug 105695 crashes Impress after about 1 minute of unresponsiveness and 100% CPU use.

Version: 7.5.0.0.alpha0+ (x64) / LibreOffice Community
Build ID: 36cf12d449c892e6bbacb7da5f4b008f7762232b
CPU threads: 14; OS: Windows 10.0 Build 19044; UI render: Skia/Raster; VCL: win
Locale: hu-HU (hu_HU); UI: en-US
Calc: threaded
Comment 1 Gabor Kelemen (allotropia) 2022-06-21 09:46:07 UTC
Created attachment 180865 [details]
gdb backtrace from crashing of attachment 130845 [details]
Comment 2 Armin Le Grand 2022-06-23 08:55:31 UTC
Taking a look, happens as described...
Comment 3 Armin Le Grand 2022-06-23 09:49:56 UTC
Needed to avoid potential recursion in SlideBackgroundFillPrimitive2D: The method getPrimitive2DSequenceSubHierarchy used in create2DDecomposition has the potential to create a recursion, e.g. when the content of a page contains a SdrPageObj that again displays the page content (and potentially so on).
This is valid, but works like a fractal, showing page content smaller and smaller inside a page. This needs to be controlled here to avoid the recursion. In this case just allow one single step since we are mainly interested in the page's BG fill anyways
Comment 4 Commit Notification 2022-06-23 15:46:11 UTC
Armin Le Grand (Allotropia) committed a patch related to this issue.
It has been pushed to "master":

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

tdf#149650 avoid potential recursion with SdrPage content hierarchy

It will be available in 7.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 5 Gabor Kelemen (allotropia) 2022-07-01 06:51:41 UTC
Looks good without long CPU spike/crash now in

Version: 7.5.0.0.alpha0+ / LibreOffice Community
Build ID: 8f9fd6806ccfbf381a383efe5d143ead86ee49de
CPU threads: 8; OS: Linux 5.4; UI render: default; VCL: gtk3
Locale: en-US (hu_HU.UTF-8); UI: en-US
Calc: threaded