Apache OpenOffice (AOO) Bugzilla – Issue 14138
Export to PDF crashes OO Writer
Last modified: 2013-08-07 14:44:28 UTC
When trying to export a fairly large document to PDF with 644_m11 or 1.1beta on Windows 2000, OO Writer crashes with either of two error messages: "An unrecoverable error has occurred. All modified files have been saved and can probably be recovered at program restart." or (more often): "Runtime Error! Program: ...\soffice.exe abnormal program termination" Test case files which demonstrate the problem are here: http://burtonsys.com/oo_bug1.html
Seems to be Window-specific; I can't reproduce on Linux with OOo1.1beta1.
I confirm that this problem is Windows-specific. I've verified what dankegel@openoffice.org reported, which is that the problem does not occur under Linux. In response to his report that he could not reproduce the problem under Linux, I installed OO Writer on my Linux box and tried it. He's right: it works without failure, not only with my 3 stripped down test cases, but also with the original ~400 page document. Thank you, dankegel! Dankegel tried 1.1beta1, I tried 644_m11, and it worked fine for both of us, running OO Writer under Linux. (Well, "fine" meaning that THIS error didn't occur -- it isn't really totally fine, because my hyperlinks don't work in the generated .pdf file, but that's a different issue.) -Dave
JA->PL: I was able to reproduce this crash when exporting the first document on http://burtonsys.com/oo_bug1.html when exporting it as print optimized using WinXP using srx645m2
JA: set to new
JA: changed target
pl->ja: i cannot reproduce this. Could you please try again and if possible get a stack trace ? BTW if this is reproducible it should be prio 2 as it's a crash.
Created attachment 6594 [details] Crashdump as WinDBG dump file
JA: added crashdump JA: tested in crashrep07 cws 645m2(Build:8618) using the second file on http://burtonsys.com/oo_bug1.html <errormail:StackInfo pos="0" ip="0x77E6D756" rel="0x0000D756" ordinal="RaiseException+0x00000050" name="kernel32.dll" path="C:\WINXP\system32\"/> <errormail:StackInfo pos="1" ip="0x7C01BA05" rel="0x0001BA05" ordinal="CxxThrowException+0x00000034" name="MSVCR70.dll" path="D:\office61\program\"/> <errormail:StackInfo pos="2" ip="0x0471B15F" rel="0x004CB15F" ordinal="component_getFactory+0x0005D42F" name="sw645mi.DLL" path="D:\office61\program\"/>
pl->sj: the last call in writer is (according to the crash dump file) SwXTextDocument::getRenderer which throws an IllegalArgumentException because the page count (the first argument) seems to be out of range. TL told me, you would be responsible for that inside the PDF export.
Yes, this seems to be my issue, and I was also able to reproduce it.
SJ->TL: The result of my investigation is that this bug is most likely a Writer bug. I come to this decision after saving the document: "test5_aborts.sxw" to pdf, the PDF filter is acquiring the page count of the document via xRendererable->getRendererCount(), the result is 31. The exception takes place if the last renderer is taken by xRenderable->getRenderer( 30 ). I mean if I get a page count of 31, then it must be always possible to get 31 renderer.
Files changed: sw/*/unotxdoc.cxx 1.75.50.1 Fixed in CWS sw016.
Verified in CWS sw016.
Already integrated.