some nullpointerexception error

  • INFO 2013-08-23 06:55:31,854 Login success for user: ‘admin’, ip: ‘127.0.0.1’ (DefaultUse

rAuditService.java [http-apr-8080-exec-9])

  • ERROR 2013-08-23 06:55:35,360 Error while executing action (ExceptionInterceptor.java [htt

p-apr-8080-exec-4])

java.lang.NullPointerException

at org.hisp.dhis.expression.DefaultExpressionService.explodeExpression(DefaultExpres

sionService.java:532)

at org.hisp.dhis.expression.DefaultExpressionService.explodeAndSubstituteExpressions

(DefaultExpressionService.java:508)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.

java:317)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(Refl

ectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMe

thodInvocation.java:150)

at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithI

nvocation(TransactionInterceptor.java:96)

at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithin

Transaction(TransactionAspectSupport.java:260)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Transac

tionInterceptor.java:94)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMe

thodInvocation.java:172)

at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvo

cationInterceptor.java:91)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMe

thodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.ja

va:204)

at com.sun.proxy.$Proxy62.explodeAndSubstituteExpressions(Unknown Source)

at org.hisp.dhis.de.action.GetMetaDataAction.execute(GetMetaDataAction.java:165)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocat

ion.java:450)

at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInv

ocation.java:289)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:252)

at org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor.intercept(XWorkPor

talUserInterceptor.java:87)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor.intercept(XWorkP

ortalModuleInterceptor.java:90)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor.intercept(XWorkPor

talMenuInterceptor.java:96)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor.intercept(XWorkP

ortalParamsInterceptor.java:118)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.interceptor.ContextInterceptor.intercept(ContextInterceptor.java:82

)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.interceptor.UserSettingInterceptor.intercept(UserSettingInterceptor

.java:80)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.security.intercept.LoginInterceptor.intercept(LoginInterceptor.java

:84)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.security.intercept.XWorkSecurityInterceptor.intercept(XWorkSecurity

Interceptor.java:112)

at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.ja

va:246)

at org.hisp.dhis.interceptor.SystemSettingInterceptor.intercept(SystemSettingInterce

···


此致

easy

莫愁前路无知己,天下谁人不识君。

Hi,

can you please tell us which dhis version / build?

This is likely to be caused by invalid indicator expressions. Can you please run the integrity checks (in data administration -> integrity checks) and look for invalid numerators and denominators?

regards,

Lars

Hi Lars/Devs,

I am experiencing exactly the same issue after upgrading a 2.10 database to 2.12. Ran integrity checks, and there were no invalid indicators.

This only seems to happen when the data entry page is loaded. Strangely, if I have a cached set of forms on my system, I do not get this error.

Really need to figure out what may be causing this. :-/

Regards,

Jason

···

On Fri, Aug 23, 2013 at 12:52 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi,

can you please tell us which dhis version / build?

This is likely to be caused by invalid indicator expressions. Can you please run the integrity checks (in data administration → integrity checks) and look for invalid numerators and denominators?

regards,

Lars


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

I think I have managed to get to the bottom of this. I believe there is a weakness in the explodeExpression method, which causes this NPE when there are invalid expressions present in the system. Version 2.10 seemed to be rather tolerant of this but wit the change to UIDs in expressions, some of the “invalid” expressions were not being upgraded, which I noticed in the logs. After the ugprade to 2.12 (from 2.10), there were a large number of expressions which were invalid.

  1. Blank expressions. These very likely were from our original import from 1.4, and have been there all along, but never really been detected.

  2. Invalid expressions which were unable to be upgraded.These were all the ones which did not have UIDs in them .

I was not exactly sure (am still not am) what the implications of removing these were. In some cases, I got a key violation with expressiondataelement and I removed these as well. After all of that witchcraft, I started up the system again, and it worked.

I think the explodeExpression method is expecting valid expressions, but these were not being picked up in the integrity checks for some reason and ends up throwing this exception which prevents the download of metadata during data entry.

Regards,

Jason

···

On Fri, Oct 11, 2013 at 11:01 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Lars/Devs,

I am experiencing exactly the same issue after upgrading a 2.10 database to 2.12. Ran integrity checks, and there were no invalid indicators.

This only seems to happen when the data entry page is loaded. Strangely, if I have a cached set of forms on my system, I do not get this error.

Really need to figure out what may be causing this. :-/

Regards,

Jason

On Fri, Aug 23, 2013 at 12:52 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi,

can you please tell us which dhis version / build?

This is likely to be caused by invalid indicator expressions. Can you please run the integrity checks (in data administration → integrity checks) and look for invalid numerators and denominators?

regards,

Lars


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

Hi Jason,

you are right in that the relevant code is a bit optimistic when it comes to expression validity.

Are you able to send me the database (without any data/sensitive stuff) in its invalid state? The weird thing is that this is not being picked up in the integrity checks. Will be useful to see what kind of corner case is causing this.

cheers

Lars

···

On Fri, Oct 11, 2013 at 4:14 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

I think I have managed to get to the bottom of this. I believe there is a weakness in the explodeExpression method, which causes this NPE when there are invalid expressions present in the system. Version 2.10 seemed to be rather tolerant of this but wit the change to UIDs in expressions, some of the “invalid” expressions were not being upgraded, which I noticed in the logs. After the ugprade to 2.12 (from 2.10), there were a large number of expressions which were invalid.

  1. Blank expressions. These very likely were from our original import from 1.4, and have been there all along, but never really been detected.
  1. Invalid expressions which were unable to be upgraded.These were all the ones which did not have UIDs in them .

I was not exactly sure (am still not am) what the implications of removing these were. In some cases, I got a key violation with expressiondataelement and I removed these as well. After all of that witchcraft, I started up the system again, and it worked.

I think the explodeExpression method is expecting valid expressions, but these were not being picked up in the integrity checks for some reason and ends up throwing this exception which prevents the download of metadata during data entry.

Regards,

Jason

On Fri, Oct 11, 2013 at 11:01 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Lars/Devs,

I am experiencing exactly the same issue after upgrading a 2.10 database to 2.12. Ran integrity checks, and there were no invalid indicators.

This only seems to happen when the data entry page is loaded. Strangely, if I have a cached set of forms on my system, I do not get this error.

Really need to figure out what may be causing this. :-/

Regards,

Jason

On Fri, Aug 23, 2013 at 12:52 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi,

can you please tell us which dhis version / build?

This is likely to be caused by invalid indicator expressions. Can you please run the integrity checks (in data administration -> integrity checks) and look for invalid numerators and denominators?

regards,

Lars


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

Hi Lars,

I am stuck with this once again on another database, upgrading to 2.13. I have tried to clear out absolutely everything which I think might be causing this, but it is being stubborn once again.

Could you let me know all possible tables which might be contributing to this error?

Regards,

Jason

···

On Mon, Oct 14, 2013 at 2:40 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi Jason,

you are right in that the relevant code is a bit optimistic when it comes to expression validity.

Are you able to send me the database (without any data/sensitive stuff) in its invalid state? The weird thing is that this is not being picked up in the integrity checks. Will be useful to see what kind of corner case is causing this.

cheers

Lars

On Fri, Oct 11, 2013 at 4:14 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

I think I have managed to get to the bottom of this. I believe there is a weakness in the explodeExpression method, which causes this NPE when there are invalid expressions present in the system. Version 2.10 seemed to be rather tolerant of this but wit the change to UIDs in expressions, some of the “invalid” expressions were not being upgraded, which I noticed in the logs. After the ugprade to 2.12 (from 2.10), there were a large number of expressions which were invalid.

  1. Blank expressions. These very likely were from our original import from 1.4, and have been there all along, but never really been detected.
  1. Invalid expressions which were unable to be upgraded.These were all the ones which did not have UIDs in them .

I was not exactly sure (am still not am) what the implications of removing these were. In some cases, I got a key violation with expressiondataelement and I removed these as well. After all of that witchcraft, I started up the system again, and it worked.

I think the explodeExpression method is expecting valid expressions, but these were not being picked up in the integrity checks for some reason and ends up throwing this exception which prevents the download of metadata during data entry.

Regards,

Jason

On Fri, Oct 11, 2013 at 11:01 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Lars/Devs,

I am experiencing exactly the same issue after upgrading a 2.10 database to 2.12. Ran integrity checks, and there were no invalid indicators.

This only seems to happen when the data entry page is loaded. Strangely, if I have a cached set of forms on my system, I do not get this error.

Really need to figure out what may be causing this. :-/

Regards,

Jason

On Fri, Aug 23, 2013 at 12:52 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi,

can you please tell us which dhis version / build?

This is likely to be caused by invalid indicator expressions. Can you please run the integrity checks (in data administration → integrity checks) and look for invalid numerators and denominators?

regards,

Lars


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

Hi Jason,

did you resolve this…? Are you seeing any invalid indicator numerators or denominators when running integrity checks?

cheers

Lars

···

On Sun, Nov 3, 2013 at 5:07 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Lars,

I am stuck with this once again on another database, upgrading to 2.13. I have tried to clear out absolutely everything which I think might be causing this, but it is being stubborn once again.

Could you let me know all possible tables which might be contributing to this error?

Regards,

Jason

On Mon, Oct 14, 2013 at 2:40 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi Jason,

you are right in that the relevant code is a bit optimistic when it comes to expression validity.

Are you able to send me the database (without any data/sensitive stuff) in its invalid state? The weird thing is that this is not being picked up in the integrity checks. Will be useful to see what kind of corner case is causing this.

cheers

Lars

On Fri, Oct 11, 2013 at 4:14 PM, Jason Pickering jason.p.pickering@gmail.com wrote:

I think I have managed to get to the bottom of this. I believe there is a weakness in the explodeExpression method, which causes this NPE when there are invalid expressions present in the system. Version 2.10 seemed to be rather tolerant of this but wit the change to UIDs in expressions, some of the “invalid” expressions were not being upgraded, which I noticed in the logs. After the ugprade to 2.12 (from 2.10), there were a large number of expressions which were invalid.

  1. Blank expressions. These very likely were from our original import from 1.4, and have been there all along, but never really been detected.
  1. Invalid expressions which were unable to be upgraded.These were all the ones which did not have UIDs in them .

I was not exactly sure (am still not am) what the implications of removing these were. In some cases, I got a key violation with expressiondataelement and I removed these as well. After all of that witchcraft, I started up the system again, and it worked.

I think the explodeExpression method is expecting valid expressions, but these were not being picked up in the integrity checks for some reason and ends up throwing this exception which prevents the download of metadata during data entry.

Regards,

Jason

On Fri, Oct 11, 2013 at 11:01 AM, Jason Pickering jason.p.pickering@gmail.com wrote:

Hi Lars/Devs,

I am experiencing exactly the same issue after upgrading a 2.10 database to 2.12. Ran integrity checks, and there were no invalid indicators.

This only seems to happen when the data entry page is loaded. Strangely, if I have a cached set of forms on my system, I do not get this error.

Really need to figure out what may be causing this. :-/

Regards,

Jason

On Fri, Aug 23, 2013 at 12:52 PM, Lars Helge Øverland larshelge@gmail.com wrote:

Hi,

can you please tell us which dhis version / build?

This is likely to be caused by invalid indicator expressions. Can you please run the integrity checks (in data administration -> integrity checks) and look for invalid numerators and denominators?

regards,

Lars


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