Details
-
Bug
-
Status: Approved
-
Must
-
Resolution: Fixed
-
None
-
None
-
None
-
Low
Description
This page runs out of memory when there are more than 1000 active visits. The production server at Mirebalais has 8GB of memory allocated to Tomcat. Still the Active Visits page crashes with the error below. I think there are a few performance improvements we could do to the ActiveVisitsPageController
type Exception report message Java heap space description The server encountered an internal error that prevented it from fulfilling this request. exception java.lang.OutOfMemoryError: Java heap space java.util.Arrays.copyOf(Arrays.java:2367) java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130) java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114) java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415) java.lang.StringBuffer.append(StringBuffer.java:237) java.io.StringWriter.write(StringWriter.java:101) groovy.lang.GString.writeTo(GString.java:173) groovy.lang.GString.toString(GString.java:161) org.codehaus.groovy.reflection.stdclasses.StringCachedClass.coerceArgument(StringCachedClass.java:45) org.codehaus.groovy.reflection.ParameterTypes.coerceArgumentsToClasses(ParameterTypes.java:138) org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrap.invoke(PojoMetaMethodSite.java:207) org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52) org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) SimpleTemplateScript4.run(SimpleTemplateScript4.groovy:45) groovy.text.SimpleTemplateEngine$SimpleTemplate$1.writeTo(SimpleTemplateEngine.java:165) groovy.text.SimpleTemplateEngine$SimpleTemplate$1.toString(SimpleTemplateEngine.java:177) org.openmrs.ui.framework.fragment.GroovyFragmentView.render(GroovyFragmentView.java:46) org.openmrs.ui.framework.fragment.FragmentFactory.processThisFragment(FragmentFactory.java:195) org.openmrs.ui.framework.fragment.FragmentFactory.process(FragmentFactory.java:124) org.openmrs.ui.framework.page.PageFactory.process(PageFactory.java:123) org.openmrs.ui.framework.page.PageFactory.handle(PageFactory.java:86) org.openmrs.module.uiframework.PageController.handlePath(PageController.java:116) org.openmrs.module.uiframework.PageController.handleUrlWithDotPage(PageController.java:83) sun.reflect.GeneratedMethodAccessor1283.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:606) org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426) org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.52 (Ubuntu) logs.