We're working on reproducing this in the simplest manner possible. so far it 
seems not to happen on HSQL. 

i didnt want to add it in as a jira ticket until i was sure it wasnt just a 
configuration blunder. 

here are the steps we took though to reproduce the issue:

1. jbpm 3.2.1 deployed from the available EAR onto JBoss AS 4.0.5GA (on another 
machine we just have the console war and the behaviour is the same)
2. postgres 8.2
3. JDK 1.5
4. standard postgres jbpm-ds.xml
5. deploy the process, literally, Start->Fork->Join->End
6. start an instance from the web console

We got a stacktrace with the remote debugger as below. The error seems to be 
that it is trying to update the version of the parent token using lock while it 
is executing the join. the hibernate code in the trace is trying to execute an 
update to increment the version of the token and receiving a 0 record count 
from the update. it thinks that means that the where clause failed and 
therefore it's looking for an obsolete version to update. 

if you still think this may be a bug as opposed to misconfiguration, i will 
enter a jira ticket for it. 


  | 14:21:56,810 ERROR [STDERR] org.hibernate.StaleObjectStateException: Row 
was updated or deleted by another transaction (or unsaved-value mapping was 
incorrect): [org.jbpm.graph.exe.Token#41]
  | 
  |         at 
org.hibernate.persister.entity.AbstractEntityPersister.forceVersionIncrement(AbstractEntityPersister.java:1191)
  | 
  |         at 
org.hibernate.event.def.AbstractLockUpgradeEventListener.upgradeLock(AbstractLockUpgradeEventListener.java:82)
  | 
  |         at 
org.hibernate.event.def.DefaultLockEventListener.onLock(DefaultLockEventListener.java:64)
  | 
  |         at org.hibernate.impl.SessionImpl.fireLock(SessionImpl.java:584)
  | 
  |         at org.hibernate.impl.SessionImpl.lock(SessionImpl.java:576)
  | 
  |         at org.jbpm.graph.node.Join.execute(Join.java:110)
  | 
  |         at org.jbpm.graph.def.Node.enter(Node.java:318)
  | 
  |         at sun.reflect.GeneratedMethodAccessor222.invoke(Unknown Source)
  | 
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  | 
  |         at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185)
  | 
  |         at 
org.jbpm.graph.def.Node$$EnhancerByCGLIB$$205a4b1d.enter(<generated>)
  | 
  |         at org.jbpm.graph.def.Transition.take(Transition.java:151)
  | 
  |         at org.jbpm.graph.def.Node.leave(Node.java:393)
  | 
  |         at org.jbpm.graph.def.Node.leave(Node.java:357)
  | 
  |         at org.jbpm.graph.node.Fork.execute(Fork.java:142)
  | 
  |         at org.jbpm.graph.def.Node.enter(Node.java:318)
  | 
  |         at sun.reflect.GeneratedMethodAccessor222.invoke(Unknown Source)
  | 
  |         at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  | 
  |         at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185)
  | 
  |         at 
org.jbpm.graph.def.Node$$EnhancerByCGLIB$$205a4b1d.enter(<generated>)
  | 
  |         at org.jbpm.graph.def.Transition.take(Transition.java:151)
  | 
  |         at org.jbpm.graph.def.Node.leave(Node.java:393)
  | 
  |         at org.jbpm.graph.node.StartState.leave(StartState.java:70)
  | 
  |         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:585)
  | 
  |         at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:185)
  | 
  |         at 
org.jbpm.graph.def.Node$$EnhancerByCGLIB$$205a4b1d.leave(<generated>)
  | 
  |         at org.jbpm.graph.exe.Token.signal(Token.java:194)
  | 
  |         at org.jbpm.graph.exe.Token.signal(Token.java:165)
  | 
  |         at 
org.jbpm.jsf.core.action.StartProcessActionListener.handleAction(StartProcessActionListener.java:70)
  | 
  |         at 
org.jbpm.jsf.core.impl.JbpmActionListenerWrapper.processAction(JbpmActionListenerWrapper.java:82)
  | 
  |         at 
javax.faces.event.ActionEvent.processListener(ActionEvent.java:77)
  | 
  |         at 
javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:758)
  | 
  |         at javax.faces.component.UICommand.broadcast(UICommand.java:368)
  | 
  |         at 
javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:448)
  | 
  |         at 
javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752)
  | 
  |         at 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
  | 
  |         at 
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:248)
  | 
  |         at 
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | 
  |         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | 
  |         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  | 
  |         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  |         at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
  |         at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  | 
  |         at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  | 
  |         at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
  | 
  |         at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
  | 
  |         at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
  | 
  |         at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
  | 
  |         at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  | 
  |         at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  | 
  |         at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  | 
  |         at 
org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
  |         at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  | 
  |         at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  | 
  |         at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  | 
  |         at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  | 
  |         at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
  | 
  |         at 
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
  | 
  |         at java.lang.Thread.run(Thread.java:595)
  | 

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4068338#4068338

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4068338
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to