Apache OpenOffice (AOO) Bugzilla – Issue 95726
Crash on opening attached .odt
Last modified: 2013-08-07 14:44:00 UTC
Please try opening attached file (make sure to save work beforehand) - Office crashes. File was generated by saving attached .docx to .odt.
Keywords, CC.
Created attachment 57632 [details] .odt which crashes Office.
Created attachment 57633 [details] Original .docx
Wrong Mike in CC. Sorry.
Some discovery about crashing ODT: replace <table:table-column table:style-name="Таблица1.D" table:number-columns-repeated="2"/> with <table:table-column table:style-name="Таблица1.D"/> in content.xml and OOo won't crash.
MRU->ES: pls have a look, Writer crashes during odt import.
@AMA: please have a look.
Are we on track for 3.1 with this crasher?
ama->kpalagin: No, unfortunately we're not on track for OOo3.1 :-( Due to our workload and resources (development as well as QA) I've to retarget this issue to OOo3.2.
Oliver, please take over
Investigation reveals the following: - The original Microsoft Word text document (docx. file) is not imported correct. The first table is wrong and partly corrupt (a couple of assertion pops up, when working this the table) - The corrupted table is not exported correct to ODF: -- two table cells have a column span with value 0 -> invalid ODF -- one table cells has a column span with value 65534 -> valid, but absurd ODF --> New issue to correct the import of the given docx file. --> Won't fix of import of invalid and absurd ODF. --> Try to fix the ODF export of corrupted table in order to avoid invalid and absurd ODF.
WONTFIX is not a good idea for crasher. If possible, let OOo have some resilience against invalid/absurd values.
OD->pmike: I understand your arguments and in general would support them, because fault tolerance is a good thing. But this situation is special: OOo itself creates the invalid and absurd ODF due to a defect in its own docx filter. Thus, when the defect in the docx filter is fixed such documents will no longer occur. Additionally, I will try to implement some fault tolerance in the ODF export. Probably, I can also implement some handling of the invalid column span value 0. But, I do not think, that it is reasonable to investigate effort in such crashes, which are causes by invalid ODF documents. The creation of such invalid ODF documents by OOo needs to be fixed, but not its handling - there are more important issues/problems, which need to be solved.
OD->pmike: Good news. While making the ODF export a little bit more fault tolerant regarding a corrupted table, I also found a way to load the attached invalid ODF document. But the table looks more corrupted than before.
Oliver, so you mean to say that the code in question would not crash even with bad input?
OD->kpalagin: No. I will only introduce some fault tolerance code snippets in the code, which currently crashes with the given invalid ODF document.
fixed in cws sw32bf01 - changed files: /sw/source/filter/xmltbli.cxx, /sw/source/filter/xmltble.cxx, rev. 269747 The fix in the import code only avoids the crash, when the given document is loaded. The fix in the export code only avoids invalid and wrong column span values, when the table is somehow corrupt. The root cause of this issue is the wrong docx import - issue 100350
od, thank you for fixing the crasher! it is important for OOo stability, since it is single-process also, possible security hole has been closed
OD->MRU: Checked in internal installation set of cws sw32bf01 - please verify.
Verified fix in CWS sw32bf01.
Verified in OOo-dev 3.2.0 DEV300m44 (PC, Windows XP). No crash.
Verified the issue in OOo-dev3.2.0 DEV300_m44(build 9392), Windows XP. *.odt file still crashes, *.docx file opens fine. Also tried to resave *.docx to *.odt - still crashes and launches document recovery. Below is the recovery report. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE errormail:errormail PUBLIC "-//OpenOffice.org//DTD ErrorMail 1.0//EN" "errormail.dtd"> <errormail:errormail xmlns:errormail="http://openoffice.org/2002/errormail" usertype=""> <reportmail:mail xmlns:reportmail="http://openoffice.org/2002/reportmail" version="1.1" feedback="true" email="gatis_ruba@yahoo.com"> <reportmail:title></reportmail:title> <reportmail:attachment name="description.txt" media-type="text/plain;charset=UTF-8" class="UserComment"/> <reportmail:attachment name="user.dmp" media-type="application/octet-stream" class="UserDump"/> </reportmail:mail> <officeinfo:officeinfo xmlns:officeinfo="http://openoffice.org/2002/officeinfo" build="300m44(Build:9392)" platform="wntmsci12.pro" language="" procpath="C:\Program Files\OOo-dev 3\program\" exceptiontype="0xC0000005" product="OOo-dev 3.2"/> <systeminfo:systeminfo xmlns:systeminfo="http://openoffice.org/2002/systeminfo"> <systeminfo:System name="Windows NT" version="5.1" build="2600" locale="0x00000409"/> <systeminfo:CPU type="x86"/> </systeminfo:systeminfo> <errormail:Stack type="Win32"> <errormail:StackInfo pos="0" ip="0x5CFF84CE" rel="0x002F84CE" ordinal="SwFltControlStack::NewAttr+0x00011AFC" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="1" ip="0x5CFFB6A0" rel="0x002FB6A0" ordinal="SwFltControlStack::NewAttr+0x00014CCE" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="2" ip="0x5CFFBC03" rel="0x002FBC03" ordinal="SwFltControlStack::NewAttr+0x00015231" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="3" ip="0x5CFFC14B" rel="0x002FC14B" ordinal="SwFltControlStack::NewAttr+0x00015779" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="4" ip="0x5CFFC358" rel="0x002FC358" ordinal="SwFltControlStack::NewAttr+0x00015986" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="5" ip="0x5CFFC4C6" rel="0x002FC4C6" ordinal="SwFltControlStack::NewAttr+0x00015AF4" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="6" ip="0x568BC70A" rel="0x0001C70A" ordinal="SvXMLImport::endElement+0x0000003A" name="xomi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="7" ip="0x600A3768" rel="0x00003768" ordinal="component_writeInfo+0x00000A2E" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="8" ip="0x600AC4E7" rel="0x0000C4E7" ordinal="component_getFactory+0x0000783B" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="9" ip="0x600AC89B" rel="0x0000C89B" ordinal="component_getFactory+0x00007BEF" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="10" ip="0x600A9EE1" rel="0x00009EE1" ordinal="component_getFactory+0x00005235" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="11" ip="0x600AA98F" rel="0x0000A98F" ordinal="component_getFactory+0x00005CE3" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="12" ip="0x600A33CC" rel="0x000033CC" ordinal="component_writeInfo+0x00000692" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="13" ip="0x600A507B" rel="0x0000507B" ordinal="component_getFactory+0x000003CF" name="sax.uno.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="14" ip="0x5CFE74A0" rel="0x002E74A0" ordinal="SwFltControlStack::NewAttr+0x00000ACE" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="15" ip="0x5CFE7AE3" rel="0x002E7AE3" ordinal="SwFltControlStack::NewAttr+0x00001111" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="16" ip="0x5CFE8FFD" rel="0x002E8FFD" ordinal="SwFltControlStack::NewAttr+0x0000262B" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="17" ip="0x5CF91EAE" rel="0x00291EAE" ordinal="Reader::~Reader+0x000008B0" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="18" ip="0x5D015381" rel="0x00315381" ordinal="SwDocShell::Load+0x00000119" name="swmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="19" ip="0x580FF04A" rel="0x0009F04A" ordinal="SfxObjectShell::LoadOwnFormat+0x000000CF" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="20" ip="0x581046AD" rel="0x000A46AD" ordinal="SfxObjectShell::DoLoad+0x000003CB" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="21" ip="0x58129951" rel="0x000C9951" ordinal="SfxBaseModel::load+0x00000146" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="22" ip="0x5814F2ED" rel="0x000EF2ED" ordinal="SfxMailModel::operator=+0x000020C2" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="23" ip="0x63AC9674" rel="0x00079674" ordinal="GetVersionInfo+0x00078674" name="fwkmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="24" ip="0x63AC97AB" rel="0x000797AB" ordinal="GetVersionInfo+0x000787AB" name="fwkmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="25" ip="0x63AC34CC" rel="0x000734CC" ordinal="GetVersionInfo+0x000724CC" name="fwkmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="26" ip="0x63AC370D" rel="0x0007370D" ordinal="GetVersionInfo+0x0007270D" name="fwkmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="27" ip="0x659B9321" rel="0x00039321" ordinal="comphelper::SynchronousDispatch::dispatch+0x00000153" name="comphelp4MSC.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="28" ip="0x5807BDD3" rel="0x0001BDD3" ordinal="SfxApplication::OpenDocExec_Impl+0x00003380" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="29" ip="0x58073E8A" rel="0x00013E8A" ordinal="SfxInterface::operator[]+0x000003B3" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="30" ip="0x5816FCF2" rel="0x0010FCF2" ordinal="SfxDispatcher::Call_Impl+0x000003FF" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="31" ip="0x5817170D" rel="0x0011170D" ordinal="SfxDispatcher::_Execute+0x000001C5" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="32" ip="0x5817274A" rel="0x0011274A" ordinal="SfxDispatcher::Execute+0x00000108" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="33" ip="0x5817263E" rel="0x0011263E" ordinal="SfxDispatcher::Execute+0x0000001A" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="34" ip="0x580794E1" rel="0x000194E1" ordinal="SfxApplication::OpenDocExec_Impl+0x00000A8E" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="35" ip="0x58073E8A" rel="0x00013E8A" ordinal="SfxInterface::operator[]+0x000003B3" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="36" ip="0x5816FCF2" rel="0x0010FCF2" ordinal="SfxDispatcher::Call_Impl+0x000003FF" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="37" ip="0x58172AD3" rel="0x00112AD3" ordinal="SfxDispatcher::PostMsgHandler+0x000000DF" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="38" ip="0x581729F2" rel="0x001129F2" ordinal="SfxDispatcher::LinkStubPostMsgHandler+0x0000000E" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="39" ip="0x100010AF" rel="0x000010AF" ordinal="Link::Call+0x00000011" name="tlmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="40" ip="0x581935E9" rel="0x001335E9" ordinal="SvxSearchItem::PutValue+0x0000D5C3" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="41" ip="0x58193606" rel="0x00133606" ordinal="SvxSearchItem::PutValue+0x0000D5E0" name="sfxmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="42" ip="0x100010AF" rel="0x000010AF" ordinal="Link::Call+0x00000011" name="tlmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="43" ip="0x57089BD5" rel="0x00129BD5" ordinal="Window::LinkStubImplAsyncFocusHdl+0x000003A9" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="44" ip="0x56F6AFB6" rel="0x0000AFB6" ordinal="SalFrame::CallCallback+0x00000016" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="45" ip="0x570D7E19" rel="0x00177E19" ordinal="component_writeInfo+0x0000265E" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="46" ip="0x570DDD04" rel="0x0017DD04" ordinal="component_writeInfo+0x00008549" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="47" ip="0x570DDF16" rel="0x0017DF16" ordinal="component_writeInfo+0x0000875B" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="48" ip="0x77D48709" rel="0x00008709" ordinal="GetDC+0x00000072" name="USER32.dll" path="C:\WINDOWS\system32\"/> <errormail:StackInfo pos="49" ip="0x77D487EB" rel="0x000087EB" ordinal="GetDC+0x00000154" name="USER32.dll" path="C:\WINDOWS\system32\"/> <errormail:StackInfo pos="50" ip="0x77D489A5" rel="0x000089A5" ordinal="GetWindowLongW+0x00000127" name="USER32.dll" path="C:\WINDOWS\system32\"/> <errormail:StackInfo pos="51" ip="0x77D489E8" rel="0x000089E8" ordinal="DispatchMessageW+0x0000000F" name="USER32.dll" path="C:\WINDOWS\system32\"/> <errormail:StackInfo pos="52" ip="0x570F35CC" rel="0x001935CC" ordinal="component_writeInfo+0x0001DE11" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="53" ip="0x570F3B56" rel="0x00193B56" ordinal="component_writeInfo+0x0001E39B" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="54" ip="0x570F3BB2" rel="0x00193BB2" ordinal="component_writeInfo+0x0001E3F7" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="55" ip="0x570F3C95" rel="0x00193C95" ordinal="component_writeInfo+0x0001E4DA" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="56" ip="0x56F6D436" rel="0x0000D436" ordinal="Application::Yield+0x0000003D" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="57" ip="0x56F6E8FC" rel="0x0000E8FC" ordinal="Application::Execute+0x0000001E" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="58" ip="0x56F7410A" rel="0x0001410A" ordinal="DeInitVCL+0x00000750" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="59" ip="0x56F741B5" rel="0x000141B5" ordinal="SVMain+0x0000001C" name="vclmi.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="60" ip="0x5E701A46" rel="0x00021A46" ordinal="soffice_main+0x00000081" name="sofficeapp.dll" path="C:\Program Files\OOo-dev 3\Basis\program\"/> <errormail:StackInfo pos="61" ip="0x0040101B" rel="0x0000101B" name="soffice.bin" path="C:\Program Files\OOo-dev 3\program\"/> <errormail:StackInfo pos="62" ip="0x0040103C" rel="0x0000103C" name="soffice.bin" path="C:\Program Files\OOo-dev 3\program\"/> <errormail:StackInfo pos="63" ip="0x7C816D4F" rel="0x00016D4F" ordinal="RegisterWaitForInputIdle+0x00000049" name="kernel32.dll" path="C:\WINDOWS\system32\"/> </errormail:Stack> <errormail:Checksums type="MD5"> <errormail:Checksum sum="0x5EB7AD89F0692FF38FCD6B81EC0892F1" bytes="135680" file="sax.uno.dll"/> <errormail:Checksum sum="0x990E85DE2C02AD3A56F039E2238FED71" bytes="1880064" file="fwkmi.dll"/> <errormail:Checksum sum="0x9B865444B7A0737D21DB60DE594035B5" bytes="7418368" file="soffice.bin"/> <errormail:Checksum sum="0x79AA6ED3C097CF56074D8B39D36F3723" bytes="7337984" file="swmi.dll"/> <errormail:Checksum sum="0x888190E31455FAD793312F8D087146EB" bytes="983552" file="kernel32.dll"/> <errormail:Checksum sum="0x9E984CE9E38419CF8E0065D9EEAA4F80" bytes="510976" file="tlmi.dll"/> <errormail:Checksum sum="0x53577A16150CD653773F5982B8951B8B" bytes="2898432" file="xomi.dll"/> <errormail:Checksum sum="0xC72661F8552ACE7C5C85E16A3CF505C4" bytes="577024" file="USER32.dll"/> <errormail:Checksum sum="0xDDA659F2F543A396E883396205E6220E" bytes="3120640" file="sfxmi.dll"/> <errormail:Checksum sum="0xC6DDE92229692D7FFC83780A6CA1D244" bytes="3076096" file="vclmi.dll"/> <errormail:Checksum sum="0x95D82D2DC03446DF2EAFB52AE3C5BB9C" bytes="326144" file="sofficeapp.dll"/> <errormail:Checksum sum="0x4DEE30D1BF96062C542739B1CB5A26F4" bytes="949248" file="comphelp4MSC.dll"/> </errormail:Checksums> </errormail:errormail>
OOm47 does not crash opening .odt or saving .docx. Closing.