Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Possible contention or race condition?
djatnieks
I see an occasional error running the 2.3.1 Birt Report Engine. It happens so infrequently, that I am wondering if it is a contention or race condition problem.<br />
<br />
The following errors occur when I am running multiple reports at the same time. Different report design files, located in different directories, called from command line genReport script (so they each have their own JVM), but calling the same BIRT 2.3.1 report engine.<br />
<br />
The two errors are basically:<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
java.util.zip.ZipException: error in opening zip file
</pre>
and <br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
java.lang.NoClassDefFoundError: org/w3c/tidy/Tidy
</pre>
<br />
I was thinking that maybe some race condition or contention causes the first error with the zip file as Birt is extracting the Tidy jar from it ... because I have noticed that a clean distribution of Birt does not have Tidy.jar but after running a report a copy is located in ...ReportEngineconfigurationorg.eclipse.osgibundles411.cplib.<br />
<br />
Anyone see this before or know what is going on?<br />
<br />
From the ReportEngine/configuration directory:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
[configuration]$ more 1238516424059.log
!SESSION 2009-03-31 09:20:39.982
eclipse.buildId=unknown
java.version=1.6.0_11
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US
!ENTRY org.eclipse.birt.report.engine 4 0 2009-03-31 09:20:39.983
!MESSAGE
!STACK 0
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:114)
at java.util.zip.ZipFile.<init>(ZipFile.java:131)
at org.eclipse.osgi.framework.util.SecureAction.getZipFile(SecureAction.java:251)
at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.basicOpen(ZipBundleFile.java:81)
at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.getZipFile(ZipBundleFile.java:94)
at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.checkedOpen(ZipBundleFile.java:67)
at org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.getEntry(ZipBundleFile.java:239)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:
505)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.
java:455)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(Class
pathManager.java:443)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java
:423)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoade
r.java:193)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:36
8)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java
:444)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.jav
a:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.eclipse.birt.report.engine.parser.HTMLTextParser.<init>(HTMLTextParser.java:55)
at org.eclipse.birt.report.engine.parser.TextParser.parse(TextParser.java:110)
at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.outputHtmlText(HTMLReportEm
itter.java:2057)
at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.startForeign(HTMLReportEmit
ter.java:2034)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitForeign(ContentEmi
tterVisitor.java:138)
at org.eclipse.birt.report.engine.content.impl.ForeignContent.accept(ForeignContent.java:69)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visit(ContentEmitterVis
itor.java:50)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitChildren(ContentEm
itterVisitor.java:156)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitCell(ContentEmitte
rVisitor.java:101)
at org.eclipse.birt.report.engine.content.impl.CellContent.accept(CellContent.java:150)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visit(ContentEmitterVis
itor.java:50)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitChildren(ContentEm
itterVisitor.java:156)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitRow(ContentEmitter
Visitor.java:93)
at org.eclipse.birt.report.engine.content.impl.RowContent.accept(RowContent.java:64)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visit(ContentEmitterVis
itor.java:50)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitChildren(ContentEm
itterVisitor.java:156)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitTable(ContentEmitt
erVisitor.java:77)
at org.eclipse.birt.report.engine.content.impl.TableContent.accept(TableContent.java:101)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visit(ContentEmitterVis
itor.java:50)
at org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor.visitChildren(ContentEm
itterVisitor.java:156)
at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.outputPageBand(HTMLReportEm
itter.java:1009)
at org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter.endPage(HTMLReportEmitter.j
ava:1285)
at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.endContent(ContentEmitterUtil.j
ava:99)
at org.eclipse.birt.report.engine.layout.html.buffer.DummyPageBuffer.endContainer(DummyPageB
uffer.java:57)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.end(HTMLPageLM.java:182)
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:96)
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayout
Engine.java:101)
at org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender.render(RenderTask.java
:530)
at org.eclipse.birt.report.engine.api.impl.RenderTask.render(RenderTask.java:206)
</pre>
<br />
...continued next post...
Find more posts tagged with
Comments
djatnieks
..continued...<br />
<br />
And in the javascript.log file there is this:<br />
<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
<record>
<date>2009-03-31T09:20:40</date>
<millis>1238516440009</millis>
<sequence>18</sequence>
<logger>org.eclipse.birt.report.engine.api.impl.ReportEngine</logger>
<level>SEVERE</level>
<class>org.eclipse.birt.report.engine.api.impl.RenderTask</class>
<method>render</method>
<thread>10</thread>
<message>Error happened while running the report.</message>
<exception>
<message>java.lang.NoClassDefFoundError: org/w3c/tidy/Tidy</message>
<frame>
<class>org.eclipse.birt.report.engine.parser.HTMLTextParser</class>
<method><init></method>
<line>55</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.parser.TextParser</class>
<method>parse</method>
<line>110</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter</class>
<method>outputHtmlText</method>
<line>2057</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter</class>
<method>startForeign</method>
<line>2034</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitForeign</method>
<line>138</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.content.impl.ForeignContent</class>
<method>accept</method>
<line>69</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visit</method>
<line>50</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitChildren</method>
<line>156</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitCell</method>
<line>101</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.content.impl.CellContent</class>
<method>accept</method>
<line>150</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visit</method>
<line>50</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitChildren</method>
<line>156</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitRow</method>
<line>93</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.content.impl.RowContent</class>
<method>accept</method>
<line>64</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visit</method>
<line>50</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitChildren</method>
<line>156</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitTable</method>
<line>77</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.content.impl.TableContent</class>
<method>accept</method>
<line>101</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visit</method>
<line>50</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.presentation.ContentEmitterVisitor</class>
<method>visitChildren</method>
<line>156</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter</class>
<method>outputPageBand</method>
<line>1009</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.emitter.html.HTMLReportEmitter</class>
<method>endPage</method>
<line>1285</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.emitter.ContentEmitterUtil</class>
<method>endContent</method>
<line>99</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.layout.html.buffer.DummyPageBuffer</class>
<method>endContainer</method>
<line>57</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.layout.html.HTMLPageLM</class>
<method>end</method>
<line>182</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.layout.html.HTMLPageLM</class>
<method>layout</method>
<line>96</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine</class>
<method>layout</method>
<line>101</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.api.impl.RenderTask$PageRangeRender</class>
<method>render</method>
<line>530</line>
</frame>
<frame>
<class>org.eclipse.birt.report.engine.api.impl.RenderTask</class>
<method>render</method>
<line>206</line>
</frame>
...
</exception>
</record>
</pre>