dita-ot: NPE when generating Eclipse Help [DOT 2.0]

Generating Eclipse Help output from a DITA composite like:

<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd" []>
<dita>
 <glossentry id="abc123">
    <glossterm>Term 1</glossterm>
    <glossdef>Definition 1</glossdef>
  </glossentry>
</dita>

A bookmap with a glossarylist pointing to it:

<backmatter>
    <booklists>
    <glossarylist><topicref href="Glossary.dita" print="yes" navtitle="Glossary" type="glossary"/> </glossarylist>
    <indexlist/>
    </booklists>
</backmatter>

The NPE:

C:\Users\radu_coravu\Desktop\DOT2.0.1\DITA-OT2.0.1\build.xml:41: The following error occurred while executing this line:
C:\Users\radu_coravu\Desktop\DOT2.0.1\DITA-OT2.0.1\plugins\org.dita.base\build_preprocess.xml:78: Failed to run pipeline: null
    at org.dita.dost.invoker.ExtensibleAntInvoker.execute(ExtensibleAntInvoker.java:199)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:441)
    at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:435)
    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    at org.apache.tools.ant.Main.runBuild(Main.java:851)
    at org.apache.tools.ant.Main.startAnt(Main.java:235)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: org.dita.dost.exception.DITAOTException
    at org.dita.dost.module.GenMapAndTopicListModule.execute(GenMapAndTopicListModule.java:248)
    at org.dita.dost.pipeline.PipelineFacade.execute(PipelineFacade.java:68)
    at org.dita.dost.invoker.ExtensibleAntInvoker.execute(ExtensibleAntInvoker.java:193)
    ... 29 more
Caused by: java.lang.NullPointerException
    at java.util.regex.Matcher.getTextLength(Unknown Source)
    at java.util.regex.Matcher.reset(Unknown Source)
    at java.util.regex.Matcher.<init>(Unknown Source)
    at java.util.regex.Pattern.matcher(Unknown Source)
    at java.util.regex.Pattern.split(Unknown Source)
    at java.util.regex.Pattern.split(Unknown Source)
    at org.dita.dost.util.DitaClass.<init>(DitaClass.java:45)
    at org.dita.dost.writer.ExportAnchorsFilter.startElement(ExportAnchorsFilter.java:107)
    at org.dita.dost.writer.ProfilingFilter.startElement(ProfilingFilter.java:90)
    at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
    at org.ditang.relaxng.defaults.RelaxNGDefaultsComponent.startElement(RelaxNGDefaultsComponent.java:200)
    at org.apache.xerces.impl.xs.XMLSchemaValidatorXerces.startElement(XMLSchemaValidatorXerces.java:392)
    at org.apache.xerces.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:107)
    at org.apache.xerces.impl.dtd.XMLDTDValidatorXerces.startElement(XMLDTDValidatorXerces.java:831)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:268)
    at org.apache.xerces.impl.XMLNSDocumentScannerImplXerces$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImplXerces.java:733)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1756)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:325)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.ditang.relaxng.defaults.RelaxDefaultsParserConfiguration.parse(RelaxDefaultsParserConfiguration.java:150)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
    at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
    at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
    at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
    at org.xml.sax.helpers.XMLFilterImpl.parse(Unknown Source)
    at org.dita.dost.module.GenMapAndTopicListModule.processFile(GenMapAndTopicListModule.java:456)
    at org.dita.dost.module.GenMapAndTopicListModule.processWaitList(GenMapAndTopicListModule.java:398)
    at org.dita.dost.module.GenMapAndTopicListModule.execute(GenMapAndTopicListModule.java:238)
    ... 31 more

About this issue

  • Original URL
  • State: closed
  • Created 9 years ago
  • Reactions: 1
  • Comments: 15 (13 by maintainers)

Commits related to this issue

Most upvoted comments

Fixed by testing for null class. Basically the same approach as in #2553, but pushes to class stack on every start element.