Apache OpenOffice (AOO) Bugzilla – Issue 123417
Crash exporting to pdf with IFAOGrec Unicode font
Last modified: 2017-05-20 10:45:37 UTC
AOO 4.0.0 (and 4.0.1 as well) Writer crashes while exporting a large(?) file to pdf. AOO 3.4.1 (and previous versions) works perfectly with the same file. The exporting process starts, then AOO 4.0.x crashes when it seems that the operation is almost at the end. I'm attaching the .odt file.
I can't upload the file at the moment, because it exceeds the size limit (1,400 KB). I will try to post a URL later.
here the link to the sample file (an odt file which can't be exported to pdf with AOO 4.0.x. I've hidden the original text by replacing the original letters with a lot of x's): https://docs.google.com/file/d/0BwKcdJDZLAa7NkoyckxBN2dUaTg/edit?usp=sharing
No crash when export as PDF. AOO401m5(Build:9714) - Rev. 1523756 2013-09-16 20:50:21 (Mo, 16 Sep 2013) Win 7
The difference between my computer and other ones is that I have the font IFAOGrec Unicode. The sample file contains a lot of IfaoGrec Unicode letters. It doesn't crash if the IfaoGrec characters are removed from the document or if the font is not installed in the computer. No problem with the previous versions of AOO. Try to install the (free) font in order to reproduce the crash.
(In reply to unaltrafaccia from comment #4) > Try to install the (free) font in order to > reproduce the crash. Is this "Police "IFAO-Grec Unicode" from http://www.ifao.egnet.net/publications/outils/polices/#grec ? In particular: http://www.ifao.egnet.net/uploads/polices/IFAOGrec_2nd_edition.zip
Confirmed in Windows 7 64 bits, AOO 4.0.1, with the fonts from http://www.ifao.egnet.net/uploads/polices/IFAOGrec_2nd_edition.zip The settings for exporting to PDF are the default ones, as this was tested with a band new user profile without importing previous version's settings. Regression: works fine with 3.4.1
The problem happens when SFT chokes on the unexpected condition that a glyph claiming to be a truetype compounded glyph has no outline points. IFAOGrec's glyph 98 (which matches to the non-breaking space U+00A0) has this problem.
Created attachment 81702 [details] Debugger stack trace The problem is in static int GetCompoundTTOutline(TrueTypeFont *ttf, sal_uInt32 glyphID, ControlPoint **pointArray, TTGlyphMetrics *metrics, std::vector< sal_uInt32 >& glyphlist) http://svn.apache.org/viewvc/openoffice/trunk/main/vcl/source/fontsubset/sft.cxx?revision=1413471&view=markup#l809 memcpy( pa, &myPoints[0], np*sizeof(ControlPoint) ); myPoints is empty, in this case operator[] seemed to work fine with the stlport implementation, but crashes with the system's implementation, that tries to dereference a null pointer.
(In reply to hdu@apache.org from comment #7) > The problem happens when SFT chokes on the unexpected condition that a glyph > claiming to be a truetype compounded glyph has no outline points. IFAOGrec's > glyph 98 (which matches to the non-breaking space U+00A0) has this problem. You were faster, I was going to assign it to you. Side note, it does not crash on Linux with its vector implementation.
"hdu" committed SVN revision 1529178 into trunk: #i123417# handle subsetting of empty ttf compound glyphs gracefully
Fixed with the commit above. Thanks for the stack!
Verified on AOO Rev 1571942 en-US, still crash, I haven't installed IfaoGrec characters Test ENV: Win7 professional 64 bit SP1, Chinese version.
reopen per my previous comment
@Clarence: Can you provide a stack strace?
on my local debug build from trunk (rev. 1572577) I got a crash during the page formatting. The page formatting is also triggered when an PDF export is initiated. -> stack trace will follow
Created attachment 82752 [details] stack from my local debug build
Thanks for the stack. It shows a problem that is completely unrelated to the original problem observed with subsetting IFAOGrec Unicode. That's why i hate 1000+ page bugdocs...
Reset the assignee to the default "issues@openoffice.apache.org".