1 Reply Latest reply on Sep 23, 2011 12:51 PM by huionn

    Help wanted debugging jbpm 3.3

    oxbow_lakes

      I find myself supporting an application which I didn't write and which makes heavy use of JBPM 3.3. Occasionally it starts spewing exceptions non-stop

       

      java.lang.NullPointerException

              at org.jbpm.graph.def.GraphElement.getRuntimeActionsForEvent(GraphElement.java:310)

              at org.jbpm.graph.def.GraphElement.fireAndPropagateEvent(GraphElement.java:217)

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

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:601)

              at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)

              at org.jbpm.taskmgmt.def.Task$$EnhancerByCGLIB$$8cd382f6.fireAndPropagateEvent(<generated>)

              at org.jbpm.job.Timer.execute(Timer.java:51)

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

              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:601)

              at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:157)

              at org.jbpm.job.Job$$EnhancerByCGLIB$$7ab55e8c.execute(<generated>)

              at be.jorambarrez.jbpm3_spring_integration.FixExceptionLengthJobExecutorThread.executeJob(FixExceptionLengthJobExecutorThread.java:164)

              at be.jorambarrez.jbpm3_spring_integration.SpringJobExecutorThread.access$101(SpringJobExecutorThread.java:24)

              at be.jorambarrez.jbpm3_spring_integration.SpringJobExecutorThread$2.doInTransactionWithoutResult(SpringJobExecutorThread.java:64)

              at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)

              at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)

              at be.jorambarrez.jbpm3_spring_integration.SpringJobExecutorThread.executeJob(SpringJobExecutorThread.java:59)

       

      Googling, I can see here (http://community.jboss.org/thread/112377?decorator=print&displayFullThread=true) that this has been encountered by others and is associated with not closing JbpmContext after each use. However, the class FixExceptionLengthJobExecutorThread is definitely using JbpmContext correctly, as I have the source code for that.

       

      I have no source code for the GraphElement, don't know where to find it and there is not a single class in there from my application. I don't know where to start trying to get to the bottom of this. Any help greatly appreciated - is this a bug in JBPM? Was it fixed in a different version? Can anyone point me to a workaround?