Apache OpenOffice (AOO) Bugzilla – Issue 60390
WW8: crash exporting document with "hidden" table row
Last modified: 2013-08-07 14:42:39 UTC
OO Writer 2.0.1 crashes when you open the attached M$ Word document, add something and try to save it as M$ .doc. Saves ok when saving as ".odt". I use the Czech version of OO 2.0.1 downloaded from www.openoffice.cz.
Created attachment 33123 [details] the file that generates the segfault
MRU->FLR: happens only on Linux. Open attached document ans save as .doc. Will crash Writer. Document contains an OLE object, maybe problem is there...
Corrected target.
I don't think that this problem is related to OLE, it's more a table problem: Crash: sw680mi.dll!OutWW8_SwTblNode(Writer & rWrt={...}, SwTableNode & rNode={...}) Line 2336 + 0xd C++ sw680mi.dll!SwWW8Writer::WriteText() Line 1880 + 0x10 C++ sw680mi.dll!SwWW8Writer::WriteMainText() Line 1931 C++ sw680mi.dll!SwWW8Writer::StoreDoc1() Line 2082 C++ sw680mi.dll!SwWW8Writer::StoreDoc() Line 2399 C++ sw680mi.dll!SwWW8Writer::WriteStorage() Line 2544 + 0x8 C++ sw680mi.dll!StgWriter::Write() + 0x8c C++ sw680mi.dll!Writer::Write() + 0x50 C++ sw680mi.dll!Writer::Write() + 0x1d C++ sw680mi.dll!SwWriter::Write() + 0x345 C++ sw680mi.dll!SwDocShell::ConvertTo(SfxMedium & rMedium={...}) Line 905 The code that crashes: for( nBox = 0, nRealBox = 0; nRealBox < nWWColMax; ++nBox) { if( nBox && pBoxArr[ nBox-1 ] == pBoxArr[ nBox ] ) continue; const SwFrmFmt& rFmt = *pBoxArr[ nBox ]->GetBox()->GetFrmFmt(); because pBoxArr[ nBox ] is NULL (this is true for 5 of the 4 boxes in the array!). There are several other places in the code that have the same problem.
mba: so who should fix this? Add "crash" keyword, retarget.
I take this over for the moment
Frank, please have a look. The Word export code seems to have some problems with the table. I get a lot of assertions in a NonPro build before Writer crashes.
FME: Crashes also on Win32, but only in read-only mode. The first table has two rows which have only hidden content. In read-only mode, the hidden content is not shown, resulting in a line height of 0, which lets the ww8 filter choke.
FME: Changed summary. FME: Workaround: Enable "View - Nonprinting characters" before exporting to *.doc. FME: Proposed fix is to change lcl_CalcMinCellHeight in a way that is returns at least 1. For safety reasons, I suggest to set the target to 2.x and commit the fix immediately after 2.0.4 has been released.
I checked with "2.0.2 German version WIN XP: [680m5(Build9011)]", OOo crashed when I tried to save final_report.doc with WORD95 format. I created a crash report, the ID of the error report is rxmtb6.
The crash also happens when I try to save as WORD2000 from "2.0.2 German version WIN XP: [680m5(Build9011)]"
Mo crash using "1.1.4 (German) WIN XP: [645m52 (Build 8824)]"
.
*** Issue 65793 has been marked as a duplicate of this issue. ***
*** Issue 75149 has been marked as a duplicate of this issue. ***
Fixed in cws swqbf93, swtable.*, swnewtable.cxx, wrtswtbl.cxx.
FME: Ready for QA.
Verified fix in CWS swqbf93.
Checked in680m214.