Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.1.3
-
Fix Version/s: 1.4
-
Component/s: Module - Xdoc
-
Labels:None
-
Testcase included:yes
-
Number of attachments :
Description
If the <dt> tag is missing from a definition list <dl> element, for example as below:
<?xml version="1.0"?>
<document url="doxia_test.html">
<body>
<section name="Section">
<subsection name="Subsection">
<dl>
<!-- <dt>dt</dt> -->
<dd>dd</dd>
</dl>
</subsection>
</section>
</body>
</document>
and the output format is PDF then the plugin crashes with EmptyStackException:
[INFO] Trace
java.lang.reflect.UndeclaredThrowableException
at $Proxy0.body_(Unknown Source)
at org.apache.maven.doxia.module.xdoc.XdocParser.handleEndTag(XdocParser.java:256)
at org.apache.maven.doxia.parser.AbstractXmlParser.parseXml(AbstractXmlParser.java:217)
at org.apache.maven.doxia.parser.AbstractXmlParser.parse(AbstractXmlParser.java:137)
at org.apache.maven.doxia.parser.XhtmlBaseParser.parse(XhtmlBaseParser.java:90)
at org.apache.maven.doxia.module.xdoc.XdocParser.parse(XdocParser.java:104)
at org.apache.maven.doxia.DefaultDoxia.parse(DefaultDoxia.java:63)
at org.apache.maven.doxia.book.services.renderer.AbstractITextBookRenderer.renderSection(AbstractITextBookRenderer.java:264)
at org.apache.maven.doxia.book.services.renderer.AbstractITextBookRenderer.renderChapter(AbstractITextBookRenderer.java:219)
at org.apache.maven.doxia.book.services.renderer.AbstractITextBookRenderer.renderBook(AbstractITextBookRenderer.java:148)
at org.apache.maven.doxia.book.DefaultBookDoxia.renderBook(DefaultBookDoxia.java:142)
at org.apache.maven.doxia.plugin.DoxiaRenderBooksMojo.execute(DoxiaRenderBooksMojo.java:265)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.doxia.sink.PipelineSink.invoke(PipelineSink.java:76)
... 31 more
Caused by: java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:85)
at java.util.Stack.pop(Stack.java:67)
at org.apache.maven.doxia.module.itext.SinkActionContext.release(SinkActionContext.java:145)
at org.apache.maven.doxia.module.itext.ITextSink.body_(ITextSink.java:291)
... 36 more
This is quite tricky to debug; it would help if the plugin gave some context - or better yet, detected the missing element.
Note that xdoc output does not crash, nor does it report an error.
Activity
Robert Scholte
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Component/s | Module - Xdoc [ 12820 ] |
Robert Scholte
made changes -
| Status | Open [ 1 ] | Closed [ 6 ] |
| Assignee | Robert Scholte [ rfscholte ] | |
| Fix Version/s | 1.4 [ 18423 ] | |
| Resolution | Fixed [ 1 ] |