Home
Analytics
NullPointerException in BIRT Engine
konkudr
Hi all!<br />
We use BIRT 4.2.1 and unfortunately get the following problem: after some time every report execution fails with the following exception stack trace:<br />
<pre class='_prettyXprint _lang-auto _linenums:0'>
Caused by: org.eclipse.birt.report.engine.api.EngineException: Failed to save design.
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:216)
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:222)
... 96 more
Caused by: java.lang.NullPointerException
at org.eclipse.birt.core.archive.cache.CacheList.remove(CacheList.java:58)
at org.eclipse.birt.core.archive.cache.CacheList.remove(CacheList.java:86)
at org.eclipse.birt.core.archive.cache.SystemCacheManager.adjustSystemCaches(SystemCacheManager.java:129)
at org.eclipse.birt.core.archive.cache.SystemCacheManager.addCache(SystemCacheManager.java:118)
at org.eclipse.birt.core.archive.cache.FileCacheManager.releaseCache(FileCacheManager.java:234)
at org.eclipse.birt.core.archive.compound.v3.Ext2FileSystem.unloadBlock(Ext2FileSystem.java:550)
at org.eclipse.birt.core.archive.compound.v3.Ext2File.loadDataBlock(Ext2File.java:416)
at org.eclipse.birt.core.archive.compound.v3.Ext2File.write_with_cache(Ext2File.java:397)
at org.eclipse.birt.core.archive.compound.v3.Ext2File.write(Ext2File.java:318)
at org.eclipse.birt.core.archive.compound.ArchiveFileV3$ArchiveEntryV3.write(ArchiveFileV3.java:279)
at org.eclipse.birt.core.archive.compound.ArchiveEntry.flushBuffer(ArchiveEntry.java:428)
at org.eclipse.birt.core.archive.compound.ArchiveEntry.write(ArchiveEntry.java:276)
at org.eclipse.birt.core.archive.compound.ArchiveEntryOutputStream.write(ArchiveEntryOutputStream.java:85)
at java.io.PrintStream.write(PrintStream.java:430)
at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
at java.io.PrintStream.write(PrintStream.java:477)
at java.io.PrintStream.print(PrintStream.java:619)
at org.eclipse.birt.report.model.util.XMLWriter.emitStartTag(XMLWriter.java:274)
at org.eclipse.birt.report.model.util.XMLWriter.startElement(XMLWriter.java:259)
at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeExtendedProperties(ModuleWriterImpl.java:660)
at org.eclipse.birt.report.model.writer.ModuleWriterImpl.visitOdaDataSource(ModuleWriterImpl.java:1676)
at org.eclipse.birt.report.model.elements.OdaDataSource.apply(OdaDataSource.java:87)
at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeChildren(ModuleWriterImpl.java:2917)
at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeContents(ModuleWriterImpl.java:2902)
at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeContents(ModuleWriterImpl.java:2936)
at org.eclipse.birt.report.model.writer.DesignWriterImpl.writeSlot(DesignWriterImpl.java:149)
at org.eclipse.birt.report.model.writer.DesignWriterImpl.visitReportDesign(DesignWriterImpl.java:77)
at org.eclipse.birt.report.model.elements.ReportDesign.apply(ReportDesign.java:65)
at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeFile(ModuleWriterImpl.java:326)
at org.eclipse.birt.report.model.writer.DocumentWriter.write(DocumentWriter.java:61)
at org.eclipse.birt.report.model.api.util.DocumentUtil.serialize(DocumentUtil.java:68)
at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:207)
... 97 more
</pre>
SystemCacheManager instance's state seems broken. CacheList is not empty but reference for the first object is null. From the source code it seems that there can be a bug because CacheList objects can be used in both SystemCacheManager singleton instance and in FileCacheManager. Cacheable object contains next and previous links and it seems error-prone because it is not clear is this object belong to one CacheList or another.<br />
Currently we have several reports which runs about 10-50 times in a hour. Report result can be large - hundreds of pages. File system free space is huge and it cannot be the reason of this failure.<br />
Does somebody get stuck with the same problem?<br />
What possible fix for it except restarting of the application?<br />
Is this a really BIRT Engine bug?<br />
Please help!<br />
Thanks in advance, best regards...
Find more posts tagged with
Comments
mwilliams
Here's an old bug that is similar to your issue, but it was fixed in 2.6.1.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=312759
This definitely sounds like a bug. Please log a bug for your issue and post the new bug info in here. Thanks!
konkudr
Thanks for reply!
Bug issue created:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=409240
mwilliams
Thanks for posting the bug info!