Reporting Module doesn't include Indicator Web Report

classic Classic list List threaded Threaded
6 messages Options
James Arbaugh James Arbaugh
Reply | Threaded
Open this post in threaded view
|

Reporting Module doesn't include Indicator Web Report

Good afternoon all,

 

I have been doing some testing of OpenMRS with Apache Tomcat 7.0.23 1.7.0_02-b13 on Linux 2.6.32.49-0.3-xen (Suse Linux Enterprise Server).  I find that the “Indicator Web Report” output format for the reporting module is no longer available when running a report.  I’ve tested this with OpenMRS Version: 1.8.3 Build 24510, and Version: 1.9.0 beta Build 25105; both with Reporting 0.7.0 (0.7.0.1 with OpenMRS 1.9) and Serialization Xstream 0.2.5.  I’m configuring a new server, so wonder if this is a dependency issue (something Linux related that is not installed) or if this is a bug related to the newer version of Tomcat.

 

Also, under Manage Report Definitions, it give a link, *** Fix Broken Definitions (10) ***.  On the old server, it doesn’t include the link to “Fix Broken Definitions”. The backup was done with mysqldump, and the SQL file was imported into a clean database.  When I click on the link with OpenMRS 1.8.3, it gives the following error…

 

An Internal Error has Occurred

org.apache.jasper.JasperException

 

/WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

 

Consult the help document.

Contact your friendly neighborhood administrator if it cannot be resolved.

 

Hide stack trace

** Root cause is: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)

org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)

org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)

org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

java.lang.Thread.run(Thread.java:722)

 

OpenMRS Version: 1.8.3 Build 24510

 

Or on OpenMRS 1.9 I get the following error…

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

org.apache.jasper.JasperException: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

                org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

                org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

                org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

                org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

                org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

                org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

                org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

                org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

                org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

                org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

                org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

 

Any thoughts or suggestions as to where the problem is?

 

Thanks,
James


[hidden email] from OpenMRS Implementers' mailing list
Michael Seaton Michael Seaton
Reply | Threaded
Open this post in threaded view
|

Re: Reporting Module doesn't include Indicator Web Report

Hi James,

It does sound like there may be something due to Tomcat in there, but it's hard to be sure.  I think there are multiple issues at play, most likely, so it would be good to isolate them.

*  If you previously didn't have any "broken definitions" and now you have 10, that's one issue.  What changed in your OpenMRS version and module versions between the time when you had no broken definitions to the time you had 10 broken definitions.  Is it only that you upgraded the reporting module to 0.7?  Or did you also upgrade OpenMRS at the same time?  Do you have any modules that also use / extend the reporting module installed?

*  The fact that the "Indicator Web Report" is no longer available is _probably_ related to the broken definitions issue.  Can you successfully run your report using a different output format?  Or does this also fail or lead to incomplete report results?

* The fact that the link you click on gives you that stack trace is strange.  This seems like a Tomcat version issue.  Can you try installing an earlier version of Tomcat on this (or another) server and running it instead and see if this particular problem disappears with that earlier version?

Thanks and sorry for these issues!
Mike



On 02/06/2012 06:01 PM, James Arbaugh wrote:

Good afternoon all,

 

I have been doing some testing of OpenMRS with Apache Tomcat 7.0.23 1.7.0_02-b13 on Linux 2.6.32.49-0.3-xen (Suse Linux Enterprise Server).  I find that the “Indicator Web Report” output format for the reporting module is no longer available when running a report.  I’ve tested this with OpenMRS Version: 1.8.3 Build 24510, and Version: 1.9.0 beta Build 25105; both with Reporting 0.7.0 (0.7.0.1 with OpenMRS 1.9) and Serialization Xstream 0.2.5.  I’m configuring a new server, so wonder if this is a dependency issue (something Linux related that is not installed) or if this is a bug related to the newer version of Tomcat.

 

Also, under Manage Report Definitions, it give a link, *** Fix Broken Definitions (10) ***.  On the old server, it doesn’t include the link to “Fix Broken Definitions”. The backup was done with mysqldump, and the SQL file was imported into a clean database.  When I click on the link with OpenMRS 1.8.3, it gives the following error…

 

An Internal Error has Occurred

org.apache.jasper.JasperException

 

/WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

 

Consult the help document.

Contact your friendly neighborhood administrator if it cannot be resolved.

 

Hide stack trace

** Root cause is: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)

org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)

org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)

org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

java.lang.Thread.run(Thread.java:722)

 

OpenMRS Version: 1.8.3 Build 24510

 

Or on OpenMRS 1.9 I get the following error…

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

org.apache.jasper.JasperException: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

                org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

                org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

                org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

                org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

                org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

                org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

                org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

                org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

                org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

                org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

                org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

 

Any thoughts or suggestions as to where the problem is?

 

Thanks,
James


[hidden email] from OpenMRS Implementers' mailing list

[hidden email] from OpenMRS Implementers' mailing list
James Arbaugh James Arbaugh
Reply | Threaded
Open this post in threaded view
|

Re: Reporting Module doesn't include Indicator Web Report

Thanks Mike for taking the time to get back to me on some things to check.  I’ve checked what you suggested and came up with the following…

 

·         I previously had no broken links.  I started over again, clean copy of my database OpenMRS 1.8.3, and a deployment of OpenMRS Version: 1.8.3 Build 24510 on Tomcat 7.0.23.  Both servers have all of the same modules and same versions of OpenMRS and modules. 

o   Logic Module     0.5.0.1

o   Serialization Xstream      0.2.5

o   Data Entry Statistics        1.3.2

o   MRN Generator Module              1.4

o   Reporting            0.7.0

o   Patient Flags Module     1.3.2-r23863

o   Patient Image    0.3.3

o   HTML Form Entry             1.8.3-SNAPSHOT

o   BIRT Report Module       2.5.2.1

o   Tribe      1.5

o   XForms 4.0.9.1

o   Facility Data Module       2.0.2

o   Groovy                 2.0.4

o   Reporting Compatibility                1.5.5

o   HTML Widgets   1.6.0

Under administration it shows *** Fix Broken Definitions (2) ***When I click on the link, I get the same error message as before.  After clicking to fix them, it then has a link *** Fix Broken Definitions (4) ***. Clicking on it doesn’t continue to increase the broken definitions, but it does give the same error.

·         When I try to run the report with another output, like HTML, I get the following error message.  This even happens with Tomcat 6.0.20. You’re probably right about it being related to broken definitions.
http://pastebin.com/download.php?i=9JNPnbAb

·         I tried copying the Tomcat files from my production server (Apache Tomcat/6.0.20), all with the same versions of modules as above, same version of Tomcat, same version of OpenMRS, and a clean install of the database and it still shows *** Fix Broken Definitions (2) ***. This time, it doesn’t give any errors when clicking on the link to fix the broken items.  One of the broken definition is defined like this…
http://pastebin.com/download.php?i=FGkMBEbU

When I click to test the broken definition without making any changes, it gives the following error in a window…
http://pastebin.com/download.php?i=5qzF85GY

 

So, this says the problem isn’t entirely related to the Tomcat version after all.  Only the error message when clicking to Fix Broken Definitions would be related to the Tomcat version.

 

I’ve included the catalina.out log starting with a clean copy of the database from the production server, and Tomcat 6.0.20, while doing the steps in the 3rd bullet above.  http://pastebin.com/download.php?i=9WF3nk2R

 

What really confuses me is why the definitions should break by just moving it to another server.  Is there anything that is stored anywhere other than in the database?

 

Please let me know how I can help.

 

Thanks,

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Michael Seaton
Sent: Tuesday, February 07, 2012 10:07 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Reporting Module doesn't include Indicator Web Report

 

Hi James,

It does sound like there may be something due to Tomcat in there, but it's hard to be sure.  I think there are multiple issues at play, most likely, so it would be good to isolate them.

*  If you previously didn't have any "broken definitions" and now you have 10, that's one issue.  What changed in your OpenMRS version and module versions between the time when you had no broken definitions to the time you had 10 broken definitions.  Is it only that you upgraded the reporting module to 0.7?  Or did you also upgrade OpenMRS at the same time?  Do you have any modules that also use / extend the reporting module installed?

*  The fact that the "Indicator Web Report" is no longer available is _probably_ related to the broken definitions issue.  Can you successfully run your report using a different output format?  Or does this also fail or lead to incomplete report results?

* The fact that the link you click on gives you that stack trace is strange.  This seems like a Tomcat version issue.  Can you try installing an earlier version of Tomcat on this (or another) server and running it instead and see if this particular problem disappears with that earlier version?

Thanks and sorry for these issues!
Mike



On 02/06/2012 06:01 PM, James Arbaugh wrote:

Good afternoon all,

 

I have been doing some testing of OpenMRS with Apache Tomcat 7.0.23 1.7.0_02-b13 on Linux 2.6.32.49-0.3-xen (Suse Linux Enterprise Server).  I find that the “Indicator Web Report” output format for the reporting module is no longer available when running a report.  I’ve tested this with OpenMRS Version: 1.8.3 Build 24510, and Version: 1.9.0 beta Build 25105; both with Reporting 0.7.0 (0.7.0.1 with OpenMRS 1.9) and Serialization Xstream 0.2.5.  I’m configuring a new server, so wonder if this is a dependency issue (something Linux related that is not installed) or if this is a bug related to the newer version of Tomcat.

 

Also, under Manage Report Definitions, it give a link, *** Fix Broken Definitions (10) ***.  On the old server, it doesn’t include the link to “Fix Broken Definitions”. The backup was done with mysqldump, and the SQL file was imported into a clean database.  When I click on the link with OpenMRS 1.8.3, it gives the following error…

 

An Internal Error has Occurred

org.apache.jasper.JasperException

 

/WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

 

Consult the help document.

Contact your friendly neighborhood administrator if it cannot be resolved.

 

Hide stack trace

** Root cause is: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)

org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)

org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)

org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

java.lang.Thread.run(Thread.java:722)

 

OpenMRS Version: 1.8.3 Build 24510

 

Or on OpenMRS 1.9 I get the following error…

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

org.apache.jasper.JasperException: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

                org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

                org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

                org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

                org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

                org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

                org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

                org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

                org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

                org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

                org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

                org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

 

Any thoughts or suggestions as to where the problem is?

 

Thanks,
James


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Michael Seaton Michael Seaton
Reply | Threaded
Open this post in threaded view
|

Re: Reporting Module doesn't include Indicator Web Report

Hi James,

This is strange.  It looks like from your message (thanks for all of this helpful info), that the most pertinent message is this:

---- Debugging information ----
message : Cannot find class org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message : Cannot find class org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
class : org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition
required-type : org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
-------------------------------

I don't really know why this would be happening, particularly when it works fine on another server.

Do you have different versions of Java on these servers?

Mike



On 02/10/2012 10:22 AM, James Arbaugh wrote:

Thanks Mike for taking the time to get back to me on some things to check.  I’ve checked what you suggested and came up with the following…

 

·         I previously had no broken links.  I started over again, clean copy of my database OpenMRS 1.8.3, and a deployment of OpenMRS Version: 1.8.3 Build 24510 on Tomcat 7.0.23.  Both servers have all of the same modules and same versions of OpenMRS and modules. 

o   Logic Module     0.5.0.1

o   Serialization Xstream      0.2.5

o   Data Entry Statistics        1.3.2

o   MRN Generator Module              1.4

o   Reporting            0.7.0

o   Patient Flags Module     1.3.2-r23863

o   Patient Image    0.3.3

o   HTML Form Entry             1.8.3-SNAPSHOT

o   BIRT Report Module       2.5.2.1

o   Tribe      1.5

o   XForms 4.0.9.1

o   Facility Data Module       2.0.2

o   Groovy                 2.0.4

o   Reporting Compatibility                1.5.5

o   HTML Widgets   1.6.0

Under administration it shows *** Fix Broken Definitions (2) ***When I click on the link, I get the same error message as before.  After clicking to fix them, it then has a link *** Fix Broken Definitions (4) ***. Clicking on it doesn’t continue to increase the broken definitions, but it does give the same error.

·         When I try to run the report with another output, like HTML, I get the following error message.  This even happens with Tomcat 6.0.20. You’re probably right about it being related to broken definitions.
http://pastebin.com/download.php?i=9JNPnbAb

·         I tried copying the Tomcat files from my production server (Apache Tomcat/6.0.20), all with the same versions of modules as above, same version of Tomcat, same version of OpenMRS, and a clean install of the database and it still shows *** Fix Broken Definitions (2) ***. This time, it doesn’t give any errors when clicking on the link to fix the broken items.  One of the broken definition is defined like this…
http://pastebin.com/download.php?i=FGkMBEbU

When I click to test the broken definition without making any changes, it gives the following error in a window…
http://pastebin.com/download.php?i=5qzF85GY

 

So, this says the problem isn’t entirely related to the Tomcat version after all.  Only the error message when clicking to Fix Broken Definitions would be related to the Tomcat version.

 

I’ve included the catalina.out log starting with a clean copy of the database from the production server, and Tomcat 6.0.20, while doing the steps in the 3rd bullet above.  http://pastebin.com/download.php?i=9WF3nk2R

 

What really confuses me is why the definitions should break by just moving it to another server.  Is there anything that is stored anywhere other than in the database?

 

Please let me know how I can help.

 

Thanks,

James

 

From: [hidden email] [[hidden email]] On Behalf Of Michael Seaton
Sent: Tuesday, February 07, 2012 10:07 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Reporting Module doesn't include Indicator Web Report

 

Hi James,

It does sound like there may be something due to Tomcat in there, but it's hard to be sure.  I think there are multiple issues at play, most likely, so it would be good to isolate them.

*  If you previously didn't have any "broken definitions" and now you have 10, that's one issue.  What changed in your OpenMRS version and module versions between the time when you had no broken definitions to the time you had 10 broken definitions.  Is it only that you upgraded the reporting module to 0.7?  Or did you also upgrade OpenMRS at the same time?  Do you have any modules that also use / extend the reporting module installed?

*  The fact that the "Indicator Web Report" is no longer available is _probably_ related to the broken definitions issue.  Can you successfully run your report using a different output format?  Or does this also fail or lead to incomplete report results?

* The fact that the link you click on gives you that stack trace is strange.  This seems like a Tomcat version issue.  Can you try installing an earlier version of Tomcat on this (or another) server and running it instead and see if this particular problem disappears with that earlier version?

Thanks and sorry for these issues!
Mike



On 02/06/2012 06:01 PM, James Arbaugh wrote:

Good afternoon all,

 

I have been doing some testing of OpenMRS with Apache Tomcat 7.0.23 1.7.0_02-b13 on Linux 2.6.32.49-0.3-xen (Suse Linux Enterprise Server).  I find that the “Indicator Web Report” output format for the reporting module is no longer available when running a report.  I’ve tested this with OpenMRS Version: 1.8.3 Build 24510, and Version: 1.9.0 beta Build 25105; both with Reporting 0.7.0 (0.7.0.1 with OpenMRS 1.9) and Serialization Xstream 0.2.5.  I’m configuring a new server, so wonder if this is a dependency issue (something Linux related that is not installed) or if this is a bug related to the newer version of Tomcat.

 

Also, under Manage Report Definitions, it give a link, *** Fix Broken Definitions (10) ***.  On the old server, it doesn’t include the link to “Fix Broken Definitions”. The backup was done with mysqldump, and the SQL file was imported into a clean database.  When I click on the link with OpenMRS 1.8.3, it gives the following error…

 

An Internal Error has Occurred

org.apache.jasper.JasperException

 

/WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

 

Consult the help document.

Contact your friendly neighborhood administrator if it cannot be resolved.

 

Hide stack trace

** Root cause is: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)

org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)

org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)

org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

java.lang.Thread.run(Thread.java:722)

 

OpenMRS Version: 1.8.3 Build 24510

 

Or on OpenMRS 1.9 I get the following error…

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

org.apache.jasper.JasperException: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

                org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

                org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

                org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

                org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

                org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

                org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

                org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

                org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

                org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

                org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

                org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

 

Any thoughts or suggestions as to where the problem is?

 

Thanks,
James


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list

[hidden email] from OpenMRS Implementers' mailing list
James Arbaugh James Arbaugh
Reply | Threaded
Open this post in threaded view
|

Re: Reporting Module doesn't include Indicator Web Report

Thanks Mike for your assistance.  The problem was with the java version as you suspected.

 

I downgraded Java to 1.6.0_30 and both our problems are resolved; *** Fix Broken Definitions (2) ***, and the missing Indicator Web Report.  Apparently, there is an incompatibility issue with Java 1.7.

 

In addition to the reporting module errors, downgrading Java fixed a problem where the XForms designer would not load, and it prompted to download the form instead.

 

I have added a comment to the “Install Java” wiki page where it says to use the latest stable release.

https://wiki.openmrs.org/display/docs/Step+2+-+Install+Java?focusedCommentId=30212557&#

 

Shall I turn the java incompatibility issue into a ticket? And if so, for what module(s), and/or OpenMRS core?

 

Thanks for your help!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Michael Seaton
Sent: Friday, February 10, 2012 11:12 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Reporting Module doesn't include Indicator Web Report

 

Hi James,

This is strange.  It looks like from your message (thanks for all of this helpful info), that the most pertinent message is this:

---- Debugging information ----
message : Cannot find class org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message : Cannot find class org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
class : org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition
required-type : org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
-------------------------------

I don't really know why this would be happening, particularly when it works fine on another server.

Do you have different versions of Java on these servers?

Mike



On 02/10/2012 10:22 AM, James Arbaugh wrote:

Thanks Mike for taking the time to get back to me on some things to check.  I’ve checked what you suggested and came up with the following…

 

I previously had no broken links.  I started over again, clean copy of my database OpenMRS 1.8.3, and a deployment of OpenMRS Version: 1.8.3 Build 24510 on Tomcat 7.0.23.  Both servers have all of the same modules and same versions of OpenMRS and modules. 

Logic Module     0.5.0.1

Serialization Xstream      0.2.5

Data Entry Statistics        1.3.2

MRN Generator Module              1.4

Reporting            0.7.0

Patient Flags Module     1.3.2-r23863

Patient Image    0.3.3

HTML Form Entry             1.8.3-SNAPSHOT

BIRT Report Module       2.5.2.1

Tribe      1.5

XForms 4.0.9.1

Facility Data Module       2.0.2

Groovy                 2.0.4

Reporting Compatibility                1.5.5

HTML Widgets   1.6.0

Under administration it shows *** Fix Broken Definitions (2) ***When I click on the link, I get the same error message as before.  After clicking to fix them, it then has a link *** Fix Broken Definitions (4) ***. Clicking on it doesn’t continue to increase the broken definitions, but it does give the same error.

When I try to run the report with another output, like HTML, I get the following error message.  This even happens with Tomcat 6.0.20. You’re probably right about it being related to broken definitions.
http://pastebin.com/download.php?i=9JNPnbAb

I tried copying the Tomcat files from my production server (Apache Tomcat/6.0.20), all with the same versions of modules as above, same version of Tomcat, same version of OpenMRS, and a clean install of the database and it still shows *** Fix Broken Definitions (2) ***. This time, it doesn’t give any errors when clicking on the link to fix the broken items.  One of the broken definition is defined like this…
http://pastebin.com/download.php?i=FGkMBEbU

When I click to test the broken definition without making any changes, it gives the following error in a window…
http://pastebin.com/download.php?i=5qzF85GY

 

So, this says the problem isn’t entirely related to the Tomcat version after all.  Only the error message when clicking to Fix Broken Definitions would be related to the Tomcat version.

 

I’ve included the catalina.out log starting with a clean copy of the database from the production server, and Tomcat 6.0.20, while doing the steps in the 3rd bullet above.  http://pastebin.com/download.php?i=9WF3nk2R

 

What really confuses me is why the definitions should break by just moving it to another server.  Is there anything that is stored anywhere other than in the database?

 

Please let me know how I can help.

 

Thanks,

James

 

From: [hidden email] [[hidden email]] On Behalf Of Michael Seaton
Sent: Tuesday, February 07, 2012 10:07 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Reporting Module doesn't include Indicator Web Report

 

Hi James,

It does sound like there may be something due to Tomcat in there, but it's hard to be sure.  I think there are multiple issues at play, most likely, so it would be good to isolate them.

*  If you previously didn't have any "broken definitions" and now you have 10, that's one issue.  What changed in your OpenMRS version and module versions between the time when you had no broken definitions to the time you had 10 broken definitions.  Is it only that you upgraded the reporting module to 0.7?  Or did you also upgrade OpenMRS at the same time?  Do you have any modules that also use / extend the reporting module installed?

*  The fact that the "Indicator Web Report" is no longer available is _probably_ related to the broken definitions issue.  Can you successfully run your report using a different output format?  Or does this also fail or lead to incomplete report results?

* The fact that the link you click on gives you that stack trace is strange.  This seems like a Tomcat version issue.  Can you try installing an earlier version of Tomcat on this (or another) server and running it instead and see if this particular problem disappears with that earlier version?

Thanks and sorry for these issues!
Mike



On 02/06/2012 06:01 PM, James Arbaugh wrote:

Good afternoon all,

 

I have been doing some testing of OpenMRS with Apache Tomcat 7.0.23 1.7.0_02-b13 on Linux 2.6.32.49-0.3-xen (Suse Linux Enterprise Server).  I find that the “Indicator Web Report” output format for the reporting module is no longer available when running a report.  I’ve tested this with OpenMRS Version: 1.8.3 Build 24510, and Version: 1.9.0 beta Build 25105; both with Reporting 0.7.0 (0.7.0.1 with OpenMRS 1.9) and Serialization Xstream 0.2.5.  I’m configuring a new server, so wonder if this is a dependency issue (something Linux related that is not installed) or if this is a bug related to the newer version of Tomcat.

 

Also, under Manage Report Definitions, it give a link, *** Fix Broken Definitions (10) ***.  On the old server, it doesn’t include the link to “Fix Broken Definitions”. The backup was done with mysqldump, and the SQL file was imported into a clean database.  When I click on the link with OpenMRS 1.8.3, it gives the following error…

 

An Internal Error has Occurred

org.apache.jasper.JasperException

 

/WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

 

Consult the help document.

Contact your friendly neighborhood administrator if it cannot be resolved.

 

Hide stack trace

** Root cause is: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)

org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)

org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)

org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

java.lang.Thread.run(Thread.java:722)

 

OpenMRS Version: 1.8.3 Build 24510

 

Or on OpenMRS 1.9 I get the following error…

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

org.apache.jasper.JasperException: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

                org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

                org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

                org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

                org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

                org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

                org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

                org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

                org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

                org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

                org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

                org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

 

Any thoughts or suggestions as to where the problem is?

 

Thanks,
James


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list
Darius Jazayeri-3 Darius Jazayeri-3
Reply | Threaded
Open this post in threaded view
|

Re: Reporting Module doesn't include Indicator Web Report

James,

Sure, go ahead and create a ticket for Java 7 compatibility, and include these two known errors.

-Darius

On Fri, Feb 10, 2012 at 12:59 PM, James Arbaugh <[hidden email]> wrote:

Thanks Mike for your assistance.  The problem was with the java version as you suspected.

 

I downgraded Java to 1.6.0_30 and both our problems are resolved; *** Fix Broken Definitions (2) ***, and the missing Indicator Web Report.  Apparently, there is an incompatibility issue with Java 1.7.

 

In addition to the reporting module errors, downgrading Java fixed a problem where the XForms designer would not load, and it prompted to download the form instead.

 

I have added a comment to the “Install Java” wiki page where it says to use the latest stable release.

https://wiki.openmrs.org/display/docs/Step+2+-+Install+Java?focusedCommentId=30212557&#

 

Shall I turn the java incompatibility issue into a ticket? And if so, for what module(s), and/or OpenMRS core?

 

Thanks for your help!

 

James

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Michael Seaton
Sent: Friday, February 10, 2012 11:12 AM


To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Reporting Module doesn't include Indicator Web Report

 

Hi James,


This is strange.  It looks like from your message (thanks for all of this helpful info), that the most pertinent message is this:

---- Debugging information ----
message : Cannot find class org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message : Cannot find class org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
class : org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition
required-type : org.openmrs.module.reporting.dataset.definition.CohortIndicatorDataSetDefinition$CohortIndicatorAndDimensionColumn
-------------------------------

I don't really know why this would be happening, particularly when it works fine on another server.

Do you have different versions of Java on these servers?

Mike



On 02/10/2012 10:22 AM, James Arbaugh wrote:

Thanks Mike for taking the time to get back to me on some things to check.  I’ve checked what you suggested and came up with the following…

 

I previously had no broken links.  I started over again, clean copy of my database OpenMRS 1.8.3, and a deployment of OpenMRS Version: 1.8.3 Build 24510 on Tomcat 7.0.23.  Both servers have all of the same modules and same versions of OpenMRS and modules. 

Logic Module     0.5.0.1

Serialization Xstream      0.2.5

Data Entry Statistics        1.3.2

MRN Generator Module              1.4

Reporting            0.7.0

Patient Flags Module     1.3.2-r23863

Patient Image    0.3.3

HTML Form Entry             1.8.3-SNAPSHOT

BIRT Report Module       2.5.2.1

Tribe      1.5

XForms 4.0.9.1

Facility Data Module       2.0.2

Groovy                 2.0.4

Reporting Compatibility                1.5.5

HTML Widgets   1.6.0

Under administration it shows *** Fix Broken Definitions (2) ***When I click on the link, I get the same error message as before.  After clicking to fix them, it then has a link *** Fix Broken Definitions (4) ***. Clicking on it doesn’t continue to increase the broken definitions, but it does give the same error.

When I try to run the report with another output, like HTML, I get the following error message.  This even happens with Tomcat 6.0.20. You’re probably right about it being related to broken definitions.
http://pastebin.com/download.php?i=9JNPnbAb

I tried copying the Tomcat files from my production server (Apache Tomcat/6.0.20), all with the same versions of modules as above, same version of Tomcat, same version of OpenMRS, and a clean install of the database and it still shows *** Fix Broken Definitions (2) ***. This time, it doesn’t give any errors when clicking on the link to fix the broken items.  One of the broken definition is defined like this…
http://pastebin.com/download.php?i=FGkMBEbU

When I click to test the broken definition without making any changes, it gives the following error in a window…
http://pastebin.com/download.php?i=5qzF85GY

 

So, this says the problem isn’t entirely related to the Tomcat version after all.  Only the error message when clicking to Fix Broken Definitions would be related to the Tomcat version.

 

I’ve included the catalina.out log starting with a clean copy of the database from the production server, and Tomcat 6.0.20, while doing the steps in the 3rd bullet above.  http://pastebin.com/download.php?i=9WF3nk2R

 

What really confuses me is why the definitions should break by just moving it to another server.  Is there anything that is stored anywhere other than in the database?

 

Please let me know how I can help.

 

Thanks,

James

 

From: [hidden email] [[hidden email]] On Behalf Of Michael Seaton
Sent: Tuesday, February 07, 2012 10:07 AM
To: [hidden email]
Subject: Re: [OPENMRS-IMPLEMENTERS] Reporting Module doesn't include Indicator Web Report

 

Hi James,

It does sound like there may be something due to Tomcat in there, but it's hard to be sure.  I think there are multiple issues at play, most likely, so it would be good to isolate them.

*  If you previously didn't have any "broken definitions" and now you have 10, that's one issue.  What changed in your OpenMRS version and module versions between the time when you had no broken definitions to the time you had 10 broken definitions.  Is it only that you upgraded the reporting module to 0.7?  Or did you also upgrade OpenMRS at the same time?  Do you have any modules that also use / extend the reporting module installed?

*  The fact that the "Indicator Web Report" is no longer available is _probably_ related to the broken definitions issue.  Can you successfully run your report using a different output format?  Or does this also fail or lead to incomplete report results?

* The fact that the link you click on gives you that stack trace is strange.  This seems like a Tomcat version issue.  Can you try installing an earlier version of Tomcat on this (or another) server and running it instead and see if this particular problem disappears with that earlier version?

Thanks and sorry for these issues!
Mike



On 02/06/2012 06:01 PM, James Arbaugh wrote:

Good afternoon all,

 

I have been doing some testing of OpenMRS with Apache Tomcat 7.0.23 1.7.0_02-b13 on Linux 2.6.32.49-0.3-xen (Suse Linux Enterprise Server).  I find that the “Indicator Web Report” output format for the reporting module is no longer available when running a report.  I’ve tested this with OpenMRS Version: 1.8.3 Build 24510, and Version: 1.9.0 beta Build 25105; both with Reporting 0.7.0 (0.7.0.1 with OpenMRS 1.9) and Serialization Xstream 0.2.5.  I’m configuring a new server, so wonder if this is a dependency issue (something Linux related that is not installed) or if this is a bug related to the newer version of Tomcat.

 

Also, under Manage Report Definitions, it give a link, *** Fix Broken Definitions (10) ***.  On the old server, it doesn’t include the link to “Fix Broken Definitions”. The backup was done with mysqldump, and the SQL file was imported into a clean database.  When I click on the link with OpenMRS 1.8.3, it gives the following error…

 

An Internal Error has Occurred

org.apache.jasper.JasperException

 

/WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

 

Consult the help document.

Contact your friendly neighborhood administrator if it cannot be resolved.

 

Hide stack trace

** Root cause is: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}] org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)

org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)

org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)

org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:83)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)

org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)

org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)

org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)

org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)

org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)

org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)

org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)

org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)

org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)

org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300)

java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)

java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)

java.lang.Thread.run(Thread.java:722)

 

OpenMRS Version: 1.8.3 Build 24510

 

Or on OpenMRS 1.9 I get the following error…

HTTP Status 500 -

 

type Exception report

 

message

 

description The server encountered an internal error () that prevented it from fulfilling this request.

 

exception

 

org.apache.jasper.JasperException: /WEB-INF/view/module/reporting/definition/invalidSerializedDefinitions.jsp (line: 26, column: 5) "editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}" contains invalid expression(s): javax.el.ELException: Failed to parse the expression [editInvalidSerializedDefinition.form?uuid=${e.key.uuid}&type=${e.key.class.name}]

                org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)

                org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:408)

                org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:199)

                org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1218)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:870)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:889)

                org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

                org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)

                org.apache.jasper.compiler.Node$Root.accept(Node.java:475)

                org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)

                org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1790)

                org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)

                org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)

                org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)

                org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)

                org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

                org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)

                org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

                org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

                org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047)

                org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817)

                org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)

                org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)

                org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

                javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

                org.openmrs.module.web.filter.ForcePasswordChangeFilter.doFilter(ForcePasswordChangeFilter.java:65)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:76)

                org.openmrs.module.xforms.web.XformsFilter.doFilter(XformsFilter.java:60)

                org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:74)

                org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:58)

                org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:111)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.openmrs.web.filter.StartupFilter.doFilter(StartupFilter.java:107)

                org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)

                org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

 

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

 

Any thoughts or suggestions as to where the problem is?

 

Thanks,
James


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list


[hidden email] from OpenMRS Implementers' mailing list