IDML: Merging empty target segment results in exception
Merging a translation kit with an empty target segment results in an "Error adding events to sub document writer" as the XMLEvents result in an unopened tag.
Comments (14)
-
-
Hi @tingley, let me dig them out. I did a quick hack to workaround the issue, as we had to turn around the files quickly, and was planning to come back to it - but suspect you will be far quicker than me on this one.
-
reporter Hi @tingley - Shared privately from my L24 account.
-
Weird, I can reproduce this with some effort in Rainbow, but not in tikal, using the same filter/xliff options.
Anyways, the underlying exception (which is not displayed in Rainbow) is:
javax.xml.stream.XMLStreamException: No open start element, when trying to write end element at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1537) at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1566) at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:648) at com.ctc.wstx.sw.BaseNsStreamWriter.writeEndElement(BaseNsStreamWriter.java:280) at org.codehaus.stax2.ri.Stax2EventWriterImpl.add(Stax2EventWriterImpl.java:70) at net.sf.okapi.filters.idml.SubDocumentWriter.addEvents(SubDocumentWriter.java:209) at net.sf.okapi.filters.idml.SubDocumentWriter.handleEndDocumentEvent(SubDocumentWriter.java:197) at net.sf.okapi.filters.idml.SubDocumentWriter.handleEvent(SubDocumentWriter.java:114) at net.sf.okapi.filters.idml.IDMLFilterWriter.processEndSubDocument(IDMLFilterWriter.java:317) at net.sf.okapi.filters.idml.IDMLFilterWriter.handleEvent(IDMLFilterWriter.java:160) at net.sf.okapi.steps.rainbowkit.postprocess.Merger.processUntilTextUnit(Merger.java:441) at net.sf.okapi.steps.rainbowkit.postprocess.Merger.processTextUnit(Merger.java:262) at net.sf.okapi.steps.rainbowkit.postprocess.Merger.handleEvent(Merger.java:111)
-
Just noting that I am still seeing this bug.
-
I am facing the same issue, has anyone tried and found any update on this yet?
-
Devesh, thank you for your confirmation! Would it be possible for you to attach a document that causes this error?
-
it can be downloaded from this temporary link : https://tmpfiles.org/118470/text1.idml
-
Thank you for sharing the document! I will attach it to the issue.
Below is a bit more verbose stack trace:
net.sf.okapi.common.exceptions.OkapiIOException: Error adding events to sub document writer at net.sf.okapi.filters.idml.SubDocumentWriter.handleEndDocumentEvent(SubDocumentWriter.java:205) at net.sf.okapi.filters.idml.SubDocumentWriter.handleEvent(SubDocumentWriter.java:120) at net.sf.okapi.filters.idml.IDMLFilterWriter.processEndSubDocument(IDMLFilterWriter.java:340) at net.sf.okapi.filters.idml.IDMLFilterWriter.handleEvent(IDMLFilterWriter.java:169) at net.sf.okapi.steps.rainbowkit.postprocess.Merger.processUntilTextUnit(Merger.java:289) at net.sf.okapi.steps.rainbowkit.postprocess.Merger.processTextUnit(Merger.java:245) at net.sf.okapi.steps.rainbowkit.postprocess.Merger.handleEvent(Merger.java:97) at net.sf.okapi.steps.rainbowkit.postprocess.MergingStep.handleEvent(MergingStep.java:84) at net.sf.okapi.common.pipeline.Pipeline.execute(Pipeline.java:117) at net.sf.okapi.common.pipeline.Pipeline.process(Pipeline.java:227) at net.sf.okapi.common.pipeline.Pipeline.process(Pipeline.java:199) at net.sf.okapi.common.pipelinedriver.PipelineDriver.processBatch(PipelineDriver.java:182) ... Caused by: javax.xml.stream.XMLStreamException: No open start element, when trying to write end element at com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1589) at com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1618) at com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:658) at com.ctc.wstx.sw.BaseNsStreamWriter.writeEndElement(BaseNsStreamWriter.java:285) at org.codehaus.stax2.ri.Stax2EventWriterImpl.add(Stax2EventWriterImpl.java:71) at net.sf.okapi.filters.idml.SubDocumentWriter.addEvents(SubDocumentWriter.java:211) at net.sf.okapi.filters.idml.SubDocumentWriter.handleEndDocumentEvent(SubDocumentWriter.java:203)
-
- attached 629.idml
-
- changed milestone to 1.42.0
-
assigned issue to
-
A related pull request #563 was opened.
By the way, to simplify things, a document under test has the following look:
-
- changed status to resolved
-
@Denis thanks for the solution
- Log in to comment
Hi @dmeikle, can you post a stacktrace and (if possible) email me a sample source file offline that shows the problem? I tried reproducing this with a couple of IDML files I had handy, but it looks like the problem may depend on the document structure.