Bug 105118 - Impress table cells use way too many GDI objects
Summary: Impress table cells use way too many GDI objects
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
(earliest affected) release
Hardware: All Windows (All)
: medium normal
Assignee: Not Assigned
Depends on:
Blocks: GDI-Limit
  Show dependency treegraph
Reported: 2017-01-05 04:48 UTC by mdk917
Modified: 2017-02-01 05:59 UTC (History)
2 users (show)

See Also:
Crash report or crash signature: ["SalFrame::SetCallback(vcl::Window *,bool (*)(vcl::Window *,SalEvent,void const *))"]

impress file containing 9 slides, each containing 4 10x10 tables, each cell containing character X (137.98 KB, application/vnd.oasis.opendocument.presentation)
2017-01-05 04:48 UTC, mdk917

Note You need to log in before you can comment on or make changes to this bug.
Description mdk917 2017-01-05 04:48:04 UTC
Created attachment 130163 [details]
impress file containing 9 slides, each containing 4 10x10 tables, each cell containing character X

This bug was filed from the crash reporting server and is br-a0b72a68-cea8-4f2f-b2a5-308daa5e63ed.

Impress on Windows XP: each table cell containing text seems to use 2 or 3 GDI objects.  Given the per-process limitation of 10000 GDI objects, it's easy to construct a file which hits the limit - see attached.  Windows Impress crashes on trying to open such a file.  Linux Impress opens it fine.

Is the large number of GDI objects used considered a leak, or just profligate usage?  Tables in Writer do not seem to suffer from the same problem.
Comment 1 mdk917 2017-01-05 05:37:56 UTC
Nirsoft's GDIView says:
Bitmap: 2916
Font: 2905
DC: 3212
All GDI: 10000

It is similarly possible to construct a powerpoint file which powerpoint can open, using just a few hundred GDI objects, but impress again maxes out at 10000 and crashes.  (I apologise for even mentioning ppt, but it's perhaps justified as a comparison here.)
Comment 2 Kohei Yoshida 2017-01-26 02:20:58 UTC
I can't reproduce this using the build that contains fix for Bug 103927.  The fix for that bug most likely fixed this one too.
Comment 3 Kohei Yoshida 2017-01-27 20:50:58 UTC
Someone please test and confirm this.  If not, I'll assume it is fixed.
Comment 4 mdk917 2017-01-28 04:17:05 UTC
I tried installing daily/master/Win-x86@42/current/libo-master~2017-01-26_01.50.40_LibreOfficeDev_5.4.0.0.alpha0_Win_x86.msi, but it says it needs Vista or later, which I don't have.  Can someone please advise whether there's a build containing this fix suitable for 32-bit XP?  Thank you.
Comment 5 Timur 2017-01-30 10:18:17 UTC
I confirm daily/master/Win-x86@42/current/ and daily/master/Win-x86@39/current/ cannot be installed on XP. I don't know why, but I asked. 
Meanwhile, this works: http://dev-builds.libreoffice.org/daily/master/Win-x86@62-merge-TDF/current/ but is not current with that fix at the moment. Hopefully that will be built soon. 

Confirmed on Windows 7 64-bit with LO 32-bit and no repro with fix for Bug 103927. I'll close as Fixed. 
mdk917, feel free to test yourself and reopen if proved otherwise.
Comment 6 mdk917 2017-02-01 05:59:11 UTC
I confirm that the original problem is now fixed in daily/master/Win-x86@62-merge-TDF/current/master~2017-01-31_12.28.03_LibreOfficeDev_5.4.0.0.alpha0_Win_x86_en-US_de_ar_ja_ru_vec_qtz.msi.  Many thanks to you, Kohei and Timur.