Data Validation does not run - Tomcat log aborts

Hi

I’ve a strange problem. Version 2.20, and the start was an instance where data integrity was running normally.

After importing some data and making various updates, data validation now fails to run and the tomcat log only shows the following:

  • ERROR 2016-04-07 11:16:26,155 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-1])

java.lang.NullPointerException

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getCategoryOptionCombosNotInDataElementCategoryCombo(DefaultDataIntegrityService.java:326)

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(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:207)

at com.sun.proxy.$Proxy105.getCategoryOptionCombosNotInDataElementCategoryCombo(Unknown Source)

at org.hisp.dhis.dataintegrity.tasks.DataIntegrityTask.run(DataIntegrityTask.java:96)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

After this the log hangs - there is no “caused by” etc that usually provides a better guide to the source of the problem.

I can see that getCategoryOptionCombosNotInDataElementCategoryCombo fails - but there is no table called DataElementCategoryCombo…

Regards

Calle

···

Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


Hi

We managed to track down the root cause of this Data Validation crash: it was caused by an incorrect UID in one of the data capturing custom forms. When trying to open the custom data entry form, the incorrect UID is correctly intercepted and an actionable error message displayed to the user. But the same error is causing the data validation process to crash.

I wil report this as a bug.

Regards

Calle

···

On 7 April 2016 at 11:27, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi

I’ve a strange problem. Version 2.20, and the start was an instance where data integrity was running normally.

After importing some data and making various updates, data validation now fails to run and the tomcat log only shows the following:

  • ERROR 2016-04-07 11:16:26,155 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-1])

java.lang.NullPointerException

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getCategoryOptionCombosNotInDataElementCategoryCombo(DefaultDataIntegrityService.java:326)

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(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:207)

at com.sun.proxy.$Proxy105.getCategoryOptionCombosNotInDataElementCategoryCombo(Unknown Source)

at org.hisp.dhis.dataintegrity.tasks.DataIntegrityTask.run(DataIntegrityTask.java:96)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

After this the log hangs - there is no “caused by” etc that usually provides a better guide to the source of the problem.

I can see that getCategoryOptionCombosNotInDataElementCategoryCombo fails - but there is no table called DataElementCategoryCombo…

Regards

Calle


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg



Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


Hi Calle,

I have replied in the bug report here:

https://bugs.launchpad.net/dhis2/+bug/1569817

regards,

Lars

···

On Wed, Apr 13, 2016 at 12:38 PM, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi

We managed to track down the root cause of this Data Validation crash: it was caused by an incorrect UID in one of the data capturing custom forms. When trying to open the custom data entry form, the incorrect UID is correctly intercepted and an actionable error message displayed to the user. But the same error is causing the data validation process to crash.

I wil report this as a bug.

Regards

Calle


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

On 7 April 2016 at 11:27, Calle Hedberg calle.hedberg@gmail.com wrote:

Hi

I’ve a strange problem. Version 2.20, and the start was an instance where data integrity was running normally.

After importing some data and making various updates, data validation now fails to run and the tomcat log only shows the following:

  • ERROR 2016-04-07 11:16:26,155 Unexpected error occurred in scheduled task. (TaskUtils.java [taskScheduler-1])

java.lang.NullPointerException

at org.hisp.dhis.dataintegrity.DefaultDataIntegrityService.getCategoryOptionCombosNotInDataElementCategoryCombo(DefaultDataIntegrityService.java:326)

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(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:207)

at com.sun.proxy.$Proxy105.getCategoryOptionCombosNotInDataElementCategoryCombo(Unknown Source)

at org.hisp.dhis.dataintegrity.tasks.DataIntegrityTask.run(DataIntegrityTask.java:96)

at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)

at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)

at java.util.concurrent.FutureTask.run(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)

at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

at java.lang.Thread.run(Unknown Source)

After this the log hangs - there is no “caused by” etc that usually provides a better guide to the source of the problem.

I can see that getCategoryOptionCombosNotInDataElementCategoryCombo fails - but there is no table called DataElementCategoryCombo…

Regards

Calle


Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg



Calle Hedberg

46D Alma Road, 7700 Rosebank, SOUTH AFRICA

Tel/fax (home): +27-21-685-6472

Cell: +27-82-853-5352

Iridium SatPhone: +8816-315-19119

Email: calle.hedberg@gmail.com

Skype: calle_hedberg


Lars Helge Øverland

Lead developer, DHIS 2

University of Oslo

Skype: larshelgeoverland

http://www.dhis2.org