Since it looks like we should ensure that users have JRE6u14 (see below discussion), I think it would make sense to include it in the DHIS2 lite package, and not rely on whatever JRE the user has, even though the download will of course not be as “lite”.
Knut
···
On Wed, Aug 19, 2009 at 5:41 PM, Hiatt, Tom hiattt@who.int wrote:
Thanks!
Installing the newest version of Java seems to work although it still takes awhile for the data entry screen to show up. How many fields do you think is recommended for each custom form? Is there a way to make custom forms for dataset sections without breaking up the dataset?
Thanks again for your help,
Tom
From: Knut Staring [mailto:knutst@gmail.com]
Sent: 19 August 2009 17:12
To: Saptarshi Purkayastha
Cc: DHIS 2 developers; Hiatt, Tom
Subject: Re: [Dhis2-devs] Error help
Thanks, Saptarshi.
So Tom, it seems to me that the Java that comes on our machines is 1.6 update 11 (you can type “java -version” in a command prompt to verify this). So you could try installing the latest update, as Saptarshi suggest.
And, you can also try adding “
-XX:-UseGCOverheadLimit
” to the JAVA_OPTS environment variable and restart the server.Knut
On Wed, Aug 19, 2009 at 5:05 PM, Saptarshi Purkayastha sunbiz@gmail.com wrote:
This error may not necessarily be solved through allocating more PermSize or Heap space
You should disable the GC Overtime feature as mentioned here: http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html#par_gc.oom
Or Ideally, the new G1 garbage collector which was made to run neatly on parallel processors should solve this issue. JDK6u14 or JRE6u14 has G1 included… Please try if it solves the issue… try to reproduce it and if its solved then we can document it on the wiki and give Sun, a pat on its back!!
Regards,
Saptarshi PURKAYASTHA
Director R & D, HISP India
Health Information Systems Programme
My Tech Blog: http://sunnytalkstech.blogspot.com
You Live by CHOICE, Not by CHANCE
2009/8/19 Knut Staring knutst@gmail.com
Hi Tom,
You need to allocate more memory to Java, as indicated at the bottom of your message:
java.lang.OutOfMemoryError: GC overhead limit exceeded
I copy this to our developer list (which you should also subscribe to).
You should create an environment variable with the name JAVA_OPTS. Right click on My Computer, select Properties, and then the Advanced tab. Then Environment Variables and New.
The content of it could be like the following, or the figures could be even higher if you have a lot of RAM:
-Xmx768m -Xms768m -XX:PermSize=128m -XX:MaxPermSize=768m
Knut
On Wed, Aug 19, 2009 at 4:37 PM, Hiatt, Tom hiattt@who.int wrote:
Hi Knut,
Could you help me with this error I got making a custom form in DHIS?
Thanks,
Tom
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: java.lang.reflect.InvocationTargetException
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:284)
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:118)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkStyleInterceptor.intercept(WebWorkStyleInterceptor.java:89)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkSystemSettingInterceptor.intercept(WebWorkSystemSettingInterceptor.java:89)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkDataDictionaryModeInterceptor.intercept(WebWorkDataDictionaryModeInterceptor.java:109)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkDisplayPropertyInterceptor.intercept(WebWorkDisplayPropertyInterceptor.java:90)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkSortOrderInterceptor.intercept(WebWorkSortOrderInterceptor.java:124)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkI18nInterceptor.intercept(WebWorkI18nInterceptor.java:122)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.AbstractPreResultListener.intercept(AbstractPreResultListener.java:71)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
com.opensymphony.xwork.ActionChainResult.execute(ActionChainResult.java:156)
com.opensymphony.xwork.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:313)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:208)
org.hisp.dhis.webportal.interceptor.WebWorkPortalUserInterceptor.intercept(WebWorkPortalUserInterceptor.java:82)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webportal.interceptor.WebWorkPortalModuleInterceptor.intercept(WebWorkPortalModuleInterceptor.java:85)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webportal.interceptor.WebWorkPortalMenuInterceptor.intercept(WebWorkPortalMenuInterceptor.java:91)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webportal.interceptor.WebWorkPortalParamsInterceptor.intercept(WebWorkPortalParamsInterceptor.java:118)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkStyleInterceptor.intercept(WebWorkStyleInterceptor.java:89)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkSystemSettingInterceptor.intercept(WebWorkSystemSettingInterceptor.java:89)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkDataDictionaryModeInterceptor.intercept(WebWorkDataDictionaryModeInterceptor.java:109)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkDisplayPropertyInterceptor.intercept(WebWorkDisplayPropertyInterceptor.java:90)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkSortOrderInterceptor.intercept(WebWorkSortOrderInterceptor.java:124)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.security.intercept.WebWorkSecurityInterceptor.intercept(WebWorkSecurityInterceptor.java:98)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.WebWorkI18nInterceptor.intercept(WebWorkI18nInterceptor.java:122)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
org.hisp.dhis.webwork.interceptor.AbstractPreResultListener.intercept(AbstractPreResultListener.java:71)
com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)
com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:273)
com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
org.hisp.dhis.security.filter.RequiredLoginFilter.doFilter(RequiredLoginFilter.java:131)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter(AutomaticAccessFilter.java:107)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
root cause
java.lang.OutOfMemoryError: GC overhead limit exceeded
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.14 logs.
Apache Tomcat/6.0.14
–
Cheers,
Knut Staring
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
Mailing list: https://launchpad.net/~dhis2-devs
Post to : dhis2-devs@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-devs
More help : https://help.launchpad.net/ListHelp
–
Cheers,
Knut Staring
–
Cheers,
Knut Staring