This was due to a missing null-check when accessing the (nullable) feedback recipient group. Fixed in 2.26-SNAP and backported to 2.25.
On Thu, Oct 13, 2016 at 4:52 PM, Stian Sandvold <st...@dhis2.org> wrote: > Have you set up feedback recipient groups? > —— > Stian Sandvold > Software developer, DHIS 2 > University of Oslo > http://www.dhis2.org > > > > > On 13 Oct 2016, at 15:40, Jason Pickering <jason.p.picker...@gmail.com> > wrote: > > When accessing messages from the dashboard, I get this error. Any ideas? > > Version:2.25Build revision:332e86dBuild date:2016-10-13 08:37 > > * ERROR 2016-10-13 15:38:27,628 Error while executing action > (ExceptionInterceptor.java [http-bio-127.0.0.1-8090-exec-18]) > java.lang.NullPointerException > at org.hisp.dhis.configuration.DefaultConfigurationService. > isUserInFeedbackRecipientUserGroup(DefaultConfigurationService.java:91) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection > (AopUtils.java:302) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > invokeJoinpoint(ReflectiveMethodInvocation.java:190) > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:157) > at org.springframework.transaction.interceptor.TransactionInterceptor$1. > proceedWithInvocation(TransactionInterceptor.java:99) > at org.springframework.transaction.interceptor.TransactionAspectSupport. > invokeWithinTransaction(TransactionAspectSupport.java:281) > at org.springframework.transaction.interceptor. > TransactionInterceptor.invoke(TransactionInterceptor.java:96) > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > at org.springframework.aop.framework.JdkDynamicAopProxy. > invoke(JdkDynamicAopProxy.java:208) > at com.sun.proxy.$Proxy63.isUserInFeedbackRecipientUserGroup(Unknown > Source) > at org.hisp.dhis.message.DefaultMessageService. > hasAccessToManageFeedbackMessages(DefaultMessageService.java:478) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection > (AopUtils.java:302) > at org.springframework.aop.framework.ReflectiveMethodInvocation. > invokeJoinpoint(ReflectiveMethodInvocation.java:190) > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:157) > at org.springframework.transaction.interceptor.TransactionInterceptor$1. > proceedWithInvocation(TransactionInterceptor.java:99) > at org.springframework.transaction.interceptor.TransactionAspectSupport. > invokeWithinTransaction(TransactionAspectSupport.java:281) > at org.springframework.transaction.interceptor. > TransactionInterceptor.invoke(TransactionInterceptor.java:96) > at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed( > ReflectiveMethodInvocation.java:179) > at org.springframework.aop.framework.JdkDynamicAopProxy. > invoke(JdkDynamicAopProxy.java:208) > at com.sun.proxy.$Proxy76.hasAccessToManageFeedbackMessages(Unknown > Source) > at org.hisp.dhis.dashboard.message.action.GetMessagesAction.execute( > GetMessagesAction.java:113) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:891) > at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1293) > at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68) > at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor. > callMethodWithDebugInfo(XWorkMethodAccessor.java:117) > at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod( > XWorkMethodAccessor.java:108) > at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1369) > at ognl.ASTMethod.getValueBody(ASTMethod.java:90) > at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212) > at ognl.SimpleNode.getValue(SimpleNode.java:258) > at ognl.Ognl.getValue(Ognl.java:494) > at ognl.Ognl.getValue(Ognl.java:458) > at com.opensymphony.xwork2.ognl.OgnlUtil$2.execute(OgnlUtil.java:309) > at com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecute( > OgnlUtil.java:340) > at com.opensymphony.xwork2.ognl.OgnlUtil.getValue(OgnlUtil.java:307) > at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction( > DefaultActionInvocation.java:423) > at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly( > DefaultActionInvocation.java:287) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:250) > at org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor. > intercept(XWorkPortalUserInterceptor.java:85) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor. > intercept(XWorkPortalModuleInterceptor.java:91) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor. > intercept(XWorkPortalMenuInterceptor.java:94) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor. > intercept(XWorkPortalParamsInterceptor.java:150) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.interceptor.ContextInterceptor.intercept( > ContextInterceptor.java:83) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.interceptor.UserSettingInterceptor.intercept( > UserSettingInterceptor.java:81) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.security.intercept.LoginInterceptor. > intercept(LoginInterceptor.java:85) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept( > XWorkSecurityInterceptor.java:116) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept( > SystemSettingInterceptor.java:115) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.interceptor.I18nInterceptor.intercept( > I18nInterceptor.java:139) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept( > ParametersInterceptor.java:229) > at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:98) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor. > intercept(StaticParametersInterceptor.java:191) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.hisp.dhis.interceptor.ExceptionInterceptor.intercept( > ExceptionInterceptor.java:113) > at com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:244) > at org.apache.struts2.impl.StrutsActionProxy.execute( > StrutsActionProxy.java:54) > at org.apache.struts2.dispatcher.Dispatcher.serviceAction( > Dispatcher.java:564) > at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction( > ExecuteOperations.java:81) > at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter. > doFilter(StrutsPrepareAndExecuteFilter.java:99) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > at org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > at org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.access.ExceptionTranslationFilter. > doFilter(ExceptionTranslationFilter.java:113) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.session.SessionManagementFilter. > doFilter(SessionManagementFilter.java:103) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication. > AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter. > java:113) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.servletapi. > SecurityContextHolderAwareRequestFilter.doFilter( > SecurityContextHolderAwareRequestFilter.java:154) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.savedrequest.RequestCacheAwareFilter. > doFilter(RequestCacheAwareFilter.java:45) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication.www. > BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.hisp.dhis.security.filter.CorsFilter.doFilter(CorsFilter.java:91) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication. > AbstractAuthenticationProcessingFilter.doFilter( > AbstractAuthenticationProcessingFilter.java:199) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication. > AbstractAuthenticationProcessingFilter.doFilter( > AbstractAuthenticationProcessingFilter.java:199) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.hisp.dhis.security.filter.CustomAuthenticationFilter.doFilter( > CustomAuthenticationFilter.java:64) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.oauth2.provider.authentication. > OAuth2AuthenticationProcessingFilter.doFilter( > OAuth2AuthenticationProcessingFilter.java:140) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication.logout. > LogoutFilter.doFilter(LogoutFilter.java:110) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.hisp.dhis.security.filter.AutomaticAccessFilter.doFilter( > AutomaticAccessFilter.java:115) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.header.HeaderWriterFilter. > doFilterInternal(HeaderWriterFilter.java:57) > at org.springframework.web.filter.OncePerRequestFilter. > doFilter(OncePerRequestFilter.java:107) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.context.request.async. > WebAsyncManagerIntegrationFilter.doFilterInternal( > WebAsyncManagerIntegrationFilter.java:50) > at org.springframework.web.filter.OncePerRequestFilter. > doFilter(OncePerRequestFilter.java:107) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.context.SecurityContextPersistenceFilt > er.doFilter(SecurityContextPersistenceFilter.java:87) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.FilterChainProxy.doFilterInternal( > FilterChainProxy.java:192) > at org.springframework.security.web.FilterChainProxy.doFilter( > FilterChainProxy.java:160) > at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate( > DelegatingFilterProxy.java:346) > at org.springframework.web.filter.DelegatingFilterProxy.doFilter( > DelegatingFilterProxy.java:262) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter. > doFilterInternal(OpenSessionInViewFilter.java:151) > at org.springframework.web.filter.OncePerRequestFilter. > doFilter(OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.springframework.web.filter.CharacterEncodingFilter. > doFilterInternal(CharacterEncodingFilter.java:121) > at org.springframework.web.filter.OncePerRequestFilter. > doFilter(OncePerRequestFilter.java:107) > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.catalina.core.StandardWrapperValve.invoke( > StandardWrapperValve.java:221) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:122) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke( > AuthenticatorBase.java:505) > at org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:169) > at org.apache.catalina.valves.ErrorReportValve.invoke( > ErrorReportValve.java:103) > at org.apache.catalina.valves.AccessLogValve.invoke( > AccessLogValve.java:956) > at org.apache.catalina.core.StandardEngineValve.invoke( > StandardEngineValve.java:116) > at org.apache.catalina.connector.CoyoteAdapter.service( > CoyoteAdapter.java:436) > at org.apache.coyote.http11.AbstractHttp11Processor.process( > AbstractHttp11Processor.java:1078) > at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler. > process(AbstractProtocol.java:625) > at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor. > run(JIoEndpoint.java:316) > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:617) > at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( > TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > > > -- > Jason P. Pickering > email: jason.p.picker...@gmail.com > tel:+46764147049 <+46764147049> > _______________________________________________ > 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 > > -- Halvdan Hoem Grelland Software developer, DHIS 2 University of Oslo http://www.dhis2.org <https://www.dhis2.org/>
_______________________________________________ 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