Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 341189

Summary: Exception while creating Report Document with Chart
Product: z_Archived Reporter: evgenyak
Component: BIRTAssignee: Birt-Chart-inbox <Birt-Chart-inbox>
Status: NEW --- QA Contact: Xiaoying Gu <bluesoldier>
Severity: major    
Priority: P3 CC: bluesoldier, liheeng, wyan
Version: 2.6.0   
Target Milestone: ---   
Hardware: Other   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
Sample report file none

Description evgenyak CLA 2011-03-29 02:35:59 EDT
When task runs to create an .rptdocument the following exception occurs for the Chart part of the document.
Report table is created without a problem.
Report chart is not shown.
rptdocument is created in spite of the exception. Only without the chart.

Exception:

23:41:59,312 ERROR [STDERR] Mar 28, 2011 11:41:59 PM org.eclipse.birt.chart.reportitem.ChartReportItemImpl serialize
WARNING: Exception
java.lang.NullPointerException
        at org.eclipse.birt.chart.model.impl.SerializerImpl.asXml(SerializerImpl.java:186)
        at org.eclipse.birt.chart.reportitem.ChartReportItemImpl.serialize(ChartReportItemImpl.java:266)
        at org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.getReportItemExtensionProperty(PeerExtensibilityProvider.java:316)
        at org.eclipse.birt.report.model.extension.PeerExtensibilityProvider.getExtensionProperty(PeerExtensibilityProvider.java:276)
        at org.eclipse.birt.report.model.elements.ExtendedItem.getLocalProperty(ExtendedItem.java:219)
        at org.eclipse.birt.report.model.core.DesignElement.getLocalProperty(DesignElement.java:1061)
        at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeProperty(ModuleWriterImpl.java:731)
        at org.eclipse.birt.report.model.writer.ModuleWriterImpl.visitExtendedItem(ModuleWriterImpl.java:1950)
        at org.eclipse.birt.report.model.elements.ExtendedItem.apply(ExtendedItem.java:136)
        at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeChildren(ModuleWriterImpl.java:2907)
        at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeContents(ModuleWriterImpl.java:2892)
        at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeContents(ModuleWriterImpl.java:2926)
        at org.eclipse.birt.report.model.writer.DesignWriterImpl.writeSlot(DesignWriterImpl.java:170)
        at org.eclipse.birt.report.model.writer.DesignWriterImpl.visitReportDesign(DesignWriterImpl.java:78)
        at org.eclipse.birt.report.model.elements.ReportDesign.apply(ReportDesign.java:65)
        at org.eclipse.birt.report.model.writer.ModuleWriterImpl.writeFile(ModuleWriterImpl.java:317)
        at org.eclipse.birt.report.model.writer.DocumentWriter.write(DocumentWriter.java:60)
        at org.eclipse.birt.report.model.api.util.DocumentUtil.serialize(DocumentUtil.java:63)
        at org.eclipse.birt.report.engine.api.impl.ReportDocumentWriter.saveDesign(ReportDocumentWriter.java:186)
        at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:214)
        at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:85)
        at com.FlashNetworks.HarmonyAnalytics.ReportsEngine.ReportsEngine.createsReportDocument(ReportsEngine.java:240)
        at org.apache.jsp.report_005fdata_jsp._jspService(report_005fdata_jsp.java:171)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Unknown Source)
Comment 1 Xiaoying Gu CLA 2011-03-29 04:40:51 EDT
Do you have this issue if generate documents in All-In-One?
Comment 2 evgenyak CLA 2011-03-29 04:43:21 EDT
(In reply to comment #1)
> Do you have this issue if generate documents in All-In-One?

What do you mean, all in one?
The report has chart and table. Table is shown. Chart is not. I will upload a design file
Comment 3 evgenyak CLA 2011-03-29 04:44:45 EDT
Created attachment 192067 [details]
Sample report file
Comment 4 evgenyak CLA 2011-03-29 09:50:49 EDT
It might have been internal class loader (or otherwise) problem. Reports were initialized from within a Quartz job. 
However, when I moved the initialization elsewhere the problem was solved. This is strange since my Quartz is configured to use "caller's" classloader. 
I'm using JBoss 4.2
Comment 5 Xiaoying Gu CLA 2011-04-08 05:24:35 EDT
Have you tried with Jboss 5.0? Since Jboss 4.x is no longer in the SPM matrix of BIRT since 2.6
Comment 6 evgenyak CLA 2011-04-10 03:11:42 EDT
(In reply to comment #5)
> Have you tried with Jboss 5.0? Since Jboss 4.x is no longer in the SPM matrix
> of BIRT since 2.6

Unfortunately I ca't upgrade to Jboss 5.0 just yet. Can you refer me to the SPM matrix's URL please?
Comment 7 Xiaoying Gu CLA 2011-04-12 22:59:54 EDT
(In reply to comment #6)
> (In reply to comment #5)
> > Have you tried with Jboss 5.0? Since Jboss 4.x is no longer in the SPM matrix
> > of BIRT since 2.6
> 
> Unfortunately I ca't upgrade to Jboss 5.0 just yet. Can you refer me to the SPM
> matrix's URL please?

http://www.eclipse.org/projects/project-plan.php?planurl=http://www.eclipse.org/birt/project/plan/birt_project_plan_2_6.xml
Comment 8 Heng Li CLA 2011-04-14 02:56:20 EDT
(In reply to comment #4)
> It might have been internal class loader (or otherwise) problem. Reports were
> initialized from within a Quartz job. 
> However, when I moved the initialization elsewhere the problem was solved. This
> is strange since my Quartz is configured to use "caller's" classloader. 
> I'm using JBoss 4.2

Hi evgenyak,
I am investigating this bug, according to the exception, I just know the chart instance is null and it caused the exception. I also noticed that you filed another bug #341310, it seems that bug has relation with this bug. Do the two issues happen at the same time? Could you see the error logs again to find if there are another exceptions. Because you use Quartz lib and we haven't your running environment, we haven't the condition to reproduce those two bugs, could you use chart's source code to trace when the chart instance in ChartReportItemImpl is set to null? You can use remote debug by adding JVM startup parameter "-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n" for your JBoss environment, and in Eclipse monitor the remove port and trace the status of chart instance. This will be helpful for us to look into the root cause.
Thanks.
Comment 9 Heng Li CLA 2011-06-21 21:52:41 EDT
Could you please try to use the latest BIRT release 3.7? see if it works in BIRT 3.7. 
Here is instruction of BIRT 3.7
http://wiki.eclipse.org/BIRT_3.7_Runtime_Deployment_Guide