Issue 121127 - Writer crashes exporting this document to PDF
Writer crashes exporting this document to PDF
Status: VERIFIED FIXED
Product: Writer
Classification: Application
Component: save-export
3.4.1
All All
: P3 normal with 1 vote (vote)
: 4.0.0
Assigned To: hdu@apache.org
LadyMariu
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-27 15:00 UTC by matthewk
Modified: 2013-07-17 09:25 UTC (History)
13 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation on: 3.4.1
Developer Difficulty: moderate
jsc: 4.0.0_release_blocker+


Attachments
Document that causes Writer to crash on export to PDF (7.80 KB, application/vnd.oasis.opendocument.text)
2012-09-27 15:00 UTC, matthewk
no flags Details
Screenshot of OOo crash dialog. (10.53 KB, image/png)
2013-04-29 16:32 UTC, matthewk
no flags Details
suggested patch (578 bytes, patch)
2013-07-08 14:54 UTC, hdu@apache.org
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description matthewk 2012-09-27 15:00:07 UTC
Created attachment 79659 [details]
Document that causes Writer to crash on export to PDF

Open the attached document, click File, Export as PDF, Export: Writer crashes.
Comment 1 Victor 2012-09-28 18:53:39 UTC
I was unable to reproduce the bug on Mac OS X 10.8.2, AOO341m1 Build 9593 1372282.

I tried the following steps:
1) Downloaded the attached file
2) Opened it on AOO
3) File > Export as PDF (with several different options):
   - All pages
   - Page range: 1
   - PDF/A-1a: Checked and Unchecked
   - Tagged PDF: Checked and Unchecked
   - Create PDF form: Checked and Unchecked, with different combinations of its options
   - Export Bookmarks: Checked and Unchecked
   - Export Comments: Checked and Unchecked
   - Export Auto Inserted blank pages
Comment 2 qtle1 2012-09-29 22:32:02 UTC
I was unable to reproduce the bug on Windows 7 Ultimate SP1 with AOO341m1(Build: 9593) Rev. 1372282.

I followed your steps:

1) Open attached file (‘rotated floral heart bullet.odt’) with AOO.
2) Click ‘File’
3) Click ‘Export as PDF’
4) Leave default settings and click ‘Export’

My result: Writer did not crash and the file was exported to PDF successfully.
Comment 3 Chris 2012-10-01 00:33:18 UTC
Using the given file, I was able to replicate this bug running in Windows 7.
Comment 4 Spencer Prost 2012-10-01 01:38:05 UTC
I was unable to reproduce the bug on Windows 8 (RTM build), AOO341m (Build:9593) - Rev. 1372282.

I attempted the following steps: 

1.) Downloaded attachment (.odt file)
2.) Opened it in AOO Writer
3.) Clicked File --> Export as PDF
4.) I attempted to save as FDF / PDF
5.) I attempted to save as PDF/A-1a
6.) I attempted to save as Tagged PDF
7.) I attempted to save as All Pages and Page Rage : 1

The result from each of these different combinations of attempts was that the PDF was successfully created without the Writer application crashing.
Comment 5 rrashid 2012-10-01 03:51:29 UTC
I was unable to reproduce the same results as the original poster

I was able to export the file to PDF successfuly

Current build: Windows 7 64 bit, Open office aoo-3.4.1

Steps taken:

1) downloaded the attached document with the text written as "Test"
2) opened the attached document with the open office write
3) click file export to PDF for the document
4) export was successful 
5) I was able to open up the exported document successfully.
Comment 6 Daniel 2013-01-21 20:01:27 UTC
Comment on attachment 79659 [details]
Document that causes Writer to crash on export to PDF

I get the same problem with the sample on Windows 8 and oOO 3.4.1.
I get the same problem with another file that i've formatted.
Comment 7 DanielAlvaro 2013-04-29 16:29:20 UTC
Hello,

Can you attach an image with this problem? because I was unable to reproduce the bug.


Regards

Daniel Alvaro
Comment 8 matthewk 2013-04-29 16:32:46 UTC
Created attachment 80610 [details]
Screenshot of OOo crash dialog.
Comment 9 Diego Valle Rosado 2013-04-29 17:32:36 UTC
I reproduce on Win 7 using AOO 3.4.1 and AOO 4.0 and I dind't have problems.The file was exported to PDF successfully.
Comment 10 matthewk 2013-04-29 17:34:25 UTC
It's failing in Windows XP Pro SP3.
Comment 11 DanielAlvaro 2013-04-29 19:35:08 UTC
Reproduced with win. xp in virtual box,The document crashes.
Comment 12 Armin Le Grand 2013-04-30 15:37:21 UTC
ALG: No crash with current trunk version on win7.
Comment 13 Armin Le Grand 2013-06-06 13:25:26 UTC
ALG: No crash with current trunk version on Mac
Comment 14 Rob Weir 2013-06-07 01:10:17 UTC
No crash with AOO 3.4.1 on Windows 7 (32-bit)

Looking at the comments it looks like we're getting different results, even with the same OS versions.
Comment 15 Daniel 2013-06-07 16:22:02 UTC
Maybe is fonts installed in system. I get the same error in Windows 8, but just before install Office 2013 (with her fonts) then the problem dissapear.
Comment 16 Armin Le Grand 2013-06-10 16:15:43 UTC
ALG: When it has to do with fonts, I'll add HDU to CC.
Comment 17 Andre 2013-06-17 14:51:40 UTC
I was able to reproduce this crash on Windows7, 64bit.  Just in case this is not easy to reproduce, I add the stack:

 	ntdll.dll!NtRaiseException()  + 0x12 bytes	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	msvcr90.dll!_CxxThrowException()  + 0x48 bytes	
 	msvcr90.dll!operator new()  + 0x64 bytes	
 	vcl.dll!std::_Container_base_aux_alloc_real<std::allocator<Link> >::operator=()  + 0x3f3 bytes	
 	vcl.dll!BitmapBuffer::BitmapBuffer()  + 0x3fb4 bytes	
 	vcl.dll!BitmapBuffer::BitmapBuffer()  + 0x41f1 bytes	
 	vcl.dll!FontSubsetInfo::operator=()  + 0x175bf bytes	
 	vcl.dll!GetMirroredChar()  + 0x1c59 bytes	
 	vcl.dll!GetMirroredChar()  + 0x20ca bytes	
 	vcl.dll!OutputDevice::ImplGlyphFallbackLayout()  + 0x35 bytes	
 	vcl.dll!OutputDevice::ImplLayout()  + 0x2bf bytes	
 	vcl.dll!OutputDevice::GetTextArray()  + 0xae bytes	
 	sw.dll!SwFmtINetFmt::PutValue()  + 0x7030 bytes	
 	sw.dll!SwTxtNode::HasPageNumberField()  + 0x20cd bytes	
 	sw.dll!SwTableCellInfo::~SwTableCellInfo()  + 0x12ed8 bytes	
 	sw.dll!SwTableCellInfo::~SwTableCellInfo()  + 0x1778f bytes	
 	sw.dll!SwTxtNode::GetScalingOfSelectedText()  + 0x97b7 bytes	
 	sw.dll!SwTxtNode::GetScalingOfSelectedText()  + 0x17fc7 bytes	
 	sw.dll!SwTxtNode::GetScalingOfSelectedText()  + 0x8808 bytes	
 	sw.dll!SwTableCellInfo::~SwTableCellInfo()  + 0x1470f bytes	
 	sw.dll!SwFlyFrmFmt::MakeGraphic()  + 0x4de7 bytes	
 	sw.dll!SwFlyFrmFmt::MakeGraphic()  + 0x4de7 bytes	
 	sw.dll!SwFlyFrmFmt::MakeGraphic()  + 0x47c1 bytes	
 	sw.dll!ViewShell::PrintOrPDFExport()  + 0x254 bytes	
 	sw.dll!SwXTextDocument::render()  + 0x41c bytes	
 	pdffilter.dll!PDFExport::ExportSelection()  + 0x30b bytes	C++
 	pdffilter.dll!PDFExport::Export()  + 0x2021 bytes	C++
 	pdffilter.dll!PDFFilter::implExport()  + 0xa0b bytes	C++
 	pdffilter.dll!PDFFilter::filter()  + 0x26 bytes	C++
 	sfx.dll!SfxObjectShell::ExportTo()  + 0x65e bytes	
 	sfx.dll!SfxObjectShell::SaveTo_Impl()  + 0x12e4 bytes	
 	sfx.dll!SfxObjectShell::PreDoSaveAs_Impl()  + 0x258 bytes	
 	sfx.dll!SfxObjectShell::CommonSaveAs_Impl()  + 0x531 bytes	
 	sfx.dll!SfxObjectShell::APISaveAs_Impl()  + 0x255 bytes	
 	sfx.dll!SfxBaseModel::impl_store()  + 0x976 bytes	
 	sfx.dll!SfxBaseModel::storeToURL()  + 0xac bytes	
 	sfx.dll!SfxFrameDescriptor::~SfxFrameDescriptor()  + 0x7151 bytes	
 	sfx.dll!SfxObjectShell::ExecFile_Impl()  + 0x1472 bytes	
 	sfx.dll!SfxObjectShell::SignScriptingContent()  + 0xd0 bytes	
 	sfx.dll!SfxDispatcher::Call_Impl()  + 0x254 bytes	
 	sfx.dll!SfxDispatcher::_Execute()  + 0xb9 bytes	
 	sfx.dll!SfxBindings::Execute_Impl()  + 0x337 bytes	
 	sfx.dll!SfxShell::SetVerbs()  + 0x5ec4 bytes	
 	sfx.dll!SfxShell::SetVerbs()  + 0x61e0 bytes	
 	fwk.dll!component_getFactory()  + 0x7de65 bytes	
 	fwk.dll!component_getFactory()  + 0x7ee0f bytes	
 	tl.dll!Link::Call()  + 0x11 bytes	
 	vcl.dll!Menu::Select()  + 0x4b bytes	
 	vcl.dll!Menu::ImplCallSelect()  + 0x9 bytes	
 	tl.dll!Link::Call()  + 0x11 bytes	
 	vcl.dll!Window::LinkStubImplAsyncFocusHdl()  + 0x418 bytes	
 	vcl.dll!WorkWindow::IsPresentationMode()  + 0xe6 bytes	
 	vcl.dll!ImageList::`default constructor closure'()  + 0x30da bytes	
 	vcl.dll!ImageList::`default constructor closure'()  + 0x91be bytes	
 	vcl.dll!ImageList::`default constructor closure'()  + 0x93d0 bytes	
 	user32.dll!gapfnScSendMessage()  + 0x332 bytes	
 	user32.dll!GetThreadDesktop()  + 0xd7 bytes	
 	user32.dll!CharPrevW()  + 0x138 bytes	
 	user32.dll!DispatchMessageW()  + 0xf bytes	
 	vcl.dll!Application::EndYield()  + 0x1a9 bytes	
 	vcl.dll!AutoTimer::~AutoTimer()  + 0x5cb bytes	
 	vcl.dll!AutoTimer::~AutoTimer()  + 0x635 bytes	
 	vcl.dll!AutoTimer::~AutoTimer()  + 0x726 bytes	
 	vcl.dll!Application::Abort()  + 0x55 bytes	
 	vcl.dll!Application::Yield()  + 0xd bytes	
 	vcl.dll!Application::Execute()  + 0x24 bytes	
 	vcl.dll!DeInitVCL()  + 0x540 bytes	
 	vcl.dll!SVMain()  + 0x1c bytes	
>	sofficeapp.dll!soffice_main()  Line 47	C++
 	soffice.bin!01381034() 	
 	soffice.bin!01381055() 	
 	soffice.bin!0138120e() 	
 	kernel32.dll!BaseThreadInitThunk()  + 0x12 bytes	
 	ntdll.dll!RtlInitializeExceptionChain()  + 0x63 bytes	
 	ntdll.dll!RtlInitializeExceptionChain()  + 0x36 bytes
Comment 18 Andre 2013-06-17 15:27:53 UTC
Have a better stack.  Maybe a GraphiteWinLayout object is created for a bad HDC.
 
	ntdll.dll!RtlImageNtHeader()  + 0x92f bytes	
 	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
 	ntdll.dll!RtlImageNtHeader()  + 0xb6a bytes	
 	ntdll.dll!RtlpNtEnumerateSubKey()  + 0x41ed bytes	
 	ntdll.dll!RtlUlonglongByteSwap()  + 0xda2e bytes	
 	ntdll.dll!RtlImageNtHeader()  + 0xb6a bytes	
 	msvcr90.dll!malloc()  + 0x79 bytes	
 	msvcr90.dll!operator new()  + 0x1f bytes	
 	vcl.dll!gr3ooo::FontFace::InitFontFace()  + 0x26 bytes	C++
 	vcl.dll!gr3ooo::FontFace::GetFontFace()  + 0xdc bytes	C++
 	vcl.dll!gr3ooo::Font::initialiseFontFace()  + 0x57 bytes	C++
 	vcl.dll!gr3ooo::Font::fontFace()  + 0x14 bytes	C++
 	vcl.dll!gr3ooo::Font::NumberOfLanguages()  + 0x17 bytes	C++
 	vcl.dll!gr3ooo::Font::EndLanguage()  + 0xb bytes	C++
 	vcl.dll!gr3ooo::Font::getSupportedLanguages()  + 0x3e bytes	C++
>	vcl.dll!grutils::GrFeatureParser::setLang(gr3ooo::Font & font, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & lang)  Line 140	C++
 	vcl.dll!grutils::GrFeatureParser::GrFeatureParser(gr3ooo::Font & font, std::basic_string<char,std::char_traits<char>,std::allocator<char> > lang)  Line 53	C++
 	vcl.dll!GraphiteWinLayout::GraphiteWinLayout(HDC__ * hDC, const ImplWinFontData & rWFD, ImplWinFontEntry & rWFE)  Line 2850 + 0x51 bytes	C++
 	vcl.dll!WinSalGraphics::GetTextLayout(ImplLayoutArgs & rArgs, int nFallbackLevel)  Line 3047 + 0x36 bytes	C++
 	vcl.dll!OutputDevice::ImplGlyphFallbackLayout(SalLayout * pSalLayout, ImplLayoutArgs & rLayoutArgs)  Line 6193 + 0x27 bytes	C++
 	vcl.dll!OutputDevice::ImplLayout(const String & rOrigStr, unsigned short nMinIndex, unsigned short nLen, const Point & rLogicalPos, long nLogicalWidth, const long * pDXArray, bool bFilter)  Line 6068 + 0x13 bytes	C++
 	vcl.dll!OutputDevice::GetTextArray(const String & rStr, long * pDXAry, unsigned short nIndex, unsigned short nLen)  Line 5725 + 0x29 bytes	C++
 	sw.dll!SwFmtINetFmt::PutValue()  + 0x6f8b bytes	
 	sw.dll!SwTxtNode::HasPageNumberField()  + 0x20cd bytes	
 	sw.dll!SwTableCellInfo::~SwTableCellInfo()  + 0x12ed8 bytes	
 	sw.dll!SwTableCellInfo::~SwTableCellInfo()  + 0x1778f bytes	
 	sw.dll!SwTxtNode::GetScalingOfSelectedText()  + 0x97b7 bytes	
 	sw.dll!SwTxtNode::GetScalingOfSelectedText()  + 0x17fc7 bytes	
 	sw.dll!SwTxtNode::GetScalingOfSelectedText()  + 0x8808 bytes	
 	sw.dll!SwTableCellInfo::~SwTableCellInfo()  + 0x1470f bytes	
 	sw.dll!SwFlyFrmFmt::MakeGraphic()  + 0x4de7 bytes	
 	sw.dll!SwFlyFrmFmt::MakeGraphic()  + 0x4de7 bytes	
 	sw.dll!SwFlyFrmFmt::MakeGraphic()  + 0x47c1 bytes	
 	sw.dll!ViewShell::PrintOrPDFExport()  + 0x254 bytes	
 	sw.dll!SwXTextDocument::render()  + 0x41c bytes	
 	pdffilter.dll!PDFExport::ExportSelection()  + 0x30b bytes	C++
 	pdffilter.dll!PDFExport::Export()  + 0x2021 bytes	C++
 	pdffilter.dll!PDFFilter::implExport()  + 0xa0b bytes	C++
 	pdffilter.dll!PDFFilter::filter()  + 0x26 bytes	C++
 	sfx.dll!SfxObjectShell::ExportTo()  + 0x65e bytes	
 	sfx.dll!SfxObjectShell::SaveTo_Impl()  + 0x12e4 bytes	
 	sfx.dll!SfxObjectShell::PreDoSaveAs_Impl()  + 0x258 bytes	
 	sfx.dll!SfxObjectShell::CommonSaveAs_Impl()  + 0x531 bytes	
 	sfx.dll!SfxObjectShell::APISaveAs_Impl()  + 0x255 bytes	
 	sfx.dll!SfxBaseModel::impl_store()  + 0x976 bytes	
 	sfx.dll!SfxBaseModel::storeToURL()  + 0xac bytes	

 ...
Comment 19 Armin Le Grand 2013-06-18 13:17:44 UTC
ALG: Tried again, could still not reproduce. Looked at some code (guided by the stacks), saw nothing which directly jumped at me.
Comment 20 hdu@apache.org 2013-06-28 08:49:21 UTC
Taking: I seems there is a problem with text layout on windows for non-native fonts.
Comment 21 hdu@apache.org 2013-07-08 14:54:32 UTC
Created attachment 81032 [details]
suggested patch

use the PDF base14 symbol font only if explicitly requested
Comment 22 jsc 2013-07-09 07:07:02 UTC
grant showstopper flag, fix available
Comment 23 SVN Robot 2013-07-09 07:13:10 UTC
"hdu" committed SVN revision 1501111 into trunk:
#i121127# use PDF base14's symbol font only if explicitly requested
Comment 24 hdu@apache.org 2013-07-09 07:16:07 UTC
Applied for AOO 4.0.0
Comment 25 hdu@apache.org 2013-07-09 09:37:38 UTC
The font name "Symbol" is too generic and such ambiguity can cause trouble. To ensure WYSIWIG in the PDF export the PDF-base14 variant of "Symbol" gets a name that cannot be picked accidentally.
Comment 26 fanyuzhen 2013-07-17 09:20:55 UTC
I do not see crash in RC, Rev. 1502185
Comment 27 matthewk 2013-07-17 09:25:14 UTC
Given that many people could not reproduce the problem even before it was fixed, I feel that I am justified in asking this: could you reproduce it in a previous version on the same system?