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 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
> 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