We are struggling with weird behavior on a workflow we are developing. When the ECN is created using the Submit Now option it fires off the Submit Now synch robot. The lifecycle has changed from Open to Under Review, but the code in the Synch Robot causes a failure seen below.
I have created a simple version of the workflow with just the synch robot and an activity after that and ran it on the now created ECN and now error is thrown on the Synch Robot.
Has anybody experienced anything like this? We are working with tech support, but are waiting for them to educated themselves on how the change process works before they can help us out.
wt.util.WTException: java.lang.NullPointerException
Nested exception is: java.lang.NullPointerException
Nested exception is: wt.util.WTException: java.lang.NullPointerException
Nested exception is: java.lang.NullPointerException
wt.workflow.WfException: wt.util.WTException: java.lang.NullPointerException
Nested exception is: java.lang.NullPointerException
Nested exception is: wt.util.WTException: java.lang.NullPointerException
Nested exception is: java.lang.NullPointerException
at wt.workflow.expr.WfExpression438118127.execute_INITIAL_SYNCH_EXPRESSION_(WfExpression438118127.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at wt.workflow.definer.WfExpression.executeFilter(WfExpression.java:1253)
at wt.workflow.definer.WfExpression.execute(WfExpression.java:517)
at wt.workflow.robots.WfSynchRobot.executeExpr(WfSynchRobot.java:1065)
at wt.workflow.robots.WfSynchRobot.checkInitialCondition(WfSynchRobot.java:626)
at wt.workflow.robots.WfSynchRobot.subscribeToObjectEvent(WfSynchRobot.java:907)
at wt.workflow.robots.WfSynchRobot.run(WfSynchRobot.java:212)
at wt.workflow.engine.StandardWfEngineService.runRobot(StandardWfEngineService.java:918)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at wt.queue.QueueEntry.execute(QueueEntry.java:232)
at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
at wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
java.lang.NullPointerException
Nested exception is: java.lang.NullPointerException
wt.util.WTException: java.lang.NullPointerException
Nested exception is: java.lang.NullPointerException
at wt.workflow.expr.WfExpression438118127.execute_INITIAL_SYNCH_EXPRESSION_(WfExpression438118127.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at wt.workflow.definer.WfExpression.executeFilter(WfExpression.java:1253)
at wt.workflow.definer.WfExpression.execute(WfExpression.java:517)
at wt.workflow.robots.WfSynchRobot.executeExpr(WfSynchRobot.java:1065)
at wt.workflow.robots.WfSynchRobot.checkInitialCondition(WfSynchRobot.java:626)
at wt.workflow.robots.WfSynchRobot.subscribeToObjectEvent(WfSynchRobot.java:907)
at wt.workflow.robots.WfSynchRobot.run(WfSynchRobot.java:212)
at wt.workflow.engine.StandardWfEngineService.runRobot(StandardWfEngineService.java:918)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at wt.queue.QueueEntry.execute(QueueEntry.java:232)
at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:287)
at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:904)
at wt.queue.PollingQueueThread.run(PollingQueueThread.java:115)
Looks like there is syn robot is running in the system which contain expression that is giving NPE.whenever state change event occurs for ECN that sync robot will fire and throws NPE. Also check if you able to change the state of ECN by set state
From stack trace it look like expression WfExpression438118127 is giving NPEYou can searchCreate some SQL to find out which process is in running state and using expression WfExpression438118127
Hope this help!!!
Thanks
Shreyas
Sent from my iPad
Thanks to all that have replied. Still haven't resolved the issue but are starting to narrow in on some causes. We've tried to delete all the old WF processes from this WF (Not many since it was being developed) and two of them can't be deleted. Looking at the logs, it reports that the ECN is not persistant. but the odd thing is both workflows which are for different ECNs give the same error.
I'm running some WinDU and WinRU tasks to see if that clears this up.
Hey Steve,
Did you modify anything in the workflow before submit later set state to under review? Did you create a new ECN or terminated the workflow by set-state back to open?
Just try to create a OOTB ECN from scratch using the OOTB ECN workflow. The submit now is supposed to promote the ECN to under review and terminate the submit later. If you remove the submit later task, you may get the null pointer.
I do recal getting that error before when trying to rearrange the OOTB process by removing the submit later activiity.
Start over and see,
Patrick