Hi, 
I am gettin a Stakcoverflow exception when I try to use ActionHandler or 
DecisionHandlers/AssignmentHandler in my code. 
Following is my processdefinition file
<?xml version="1.0" encoding="UTF-8"?>
  | <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="timer_19">
  |    <start-state name="start">
  |     <transition to="decision" ></transition>
  |     </start-state>          
  |      <decision name="decision">             
  |             <handler 
class="com.workflow.CostCenterDecisionHandler"></handler>
  |             <transition to="to_end" name="to_end">          
  |                     <condition>
  |                             <![CDATA[to_end]]>
  |                     </condition>    
  |             </transition>
  |             <transition to="taskNode" name="taskNode">
  |                     <condition>
  |                             <![CDATA[taskNode]]>
  |                     </condition>                    
  |             </transition>
  |      </decision>            
  |     <task-node name="taskNode" create-tasks="true">
  |             <task name="approve_task" description="hula">
  |                     <assignment 
class="com.workflow.CostCenterAssignmentHandler">
  |                     </assignment>                                           
                        
  |             </task>                                                         
        
  |             <transition to="decision" name="decision"/>                     
                        
  |     </task-node>    
  |     <end-state name="to_end"></end-state>
  | </process-definition>[/url]

Here I am trying to come back to task node with new task untill decision node 
explicitly decides to move to end state.
I have tested this using junit in Eclipse it works fine. Only when I persist in 
db and then try to end a task by fetching task instance using Id from db, it 
gives me STACKOVERFLOW exception. 
Following is the stachtrace

  | Caused by: java.lang.StackOverflowError
  |     at java.lang.System.arraycopy(Native Method)
  |     at 
java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
  |     at 
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:490)
  |     at java.lang.StringBuffer.append(StringBuffer.java:302)
  |     at 
org.apache.log4j.helpers.ISO8601DateFormat.format(ISO8601DateFormat.java:124)
  |     at java.text.DateFormat.format(DateFormat.java:314)
  |     at 
org.apache.log4j.helpers.PatternParser$DatePatternConverter.convert(PatternParser.java:436)
  |     at 
org.apache.log4j.helpers.PatternConverter.format(PatternConverter.java:56)
  |     at org.apache.log4j.PatternLayout.format(PatternLayout.java:495)
  |     at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:292)
  |     at 
org.apache.log4j.DailyRollingFileAppender.subAppend(DailyRollingFileAppender.java:349)
  |     at org.apache.log4j.WriterAppender.append(WriterAppender.java:150)
  |     at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
  |     at 
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
  |     at org.apache.log4j.Category.callAppenders(Category.java:187)
  |     at org.apache.log4j.Category.forcedLog(Category.java:372)
  |     at org.apache.log4j.Category.log(Category.java:864)
  |     at 
org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:137)
  |     at org.hibernate.loader.Loader.loadCollection(Loader.java:1911)
  |     at 
org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71)
  |     at 
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520)
  |     at 
org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
  |     at 
org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersistentCollection.java:161)
  |     at org.hibernate.collection.PersistentMap.get(PersistentMap.java:127)
  |     at 
org.jbpm.graph.def.ProcessDefinition.getDefinition(ProcessDefinition.java:431)
  |     at 
org.jbpm.graph.def.ProcessDefinition.getFileDefinition(ProcessDefinition.java:441)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$FastClassByCGLIB$$b47a0f4a.invoke(<generated>)
  |     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  |     at 
org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$4e8ff03.getFileDefinition(<generated>)
  |     at 
org.jbpm.instantiation.ProcessClassLoader.findResource(ProcessClassLoader.java:47)
  |     at java.lang.ClassLoader.getResource(ClassLoader.java:977)
  |     at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159)
  |     at org.apache.commons.logging.LogFactory$3.run(LogFactory.java:627)
  |     at java.security.AccessController.doPrivileged(Native Method)
  |     at 
org.apache.commons.logging.LogFactory.getResourceAsStream(LogFactory.java:623)
  |     at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:281)
  |     at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
  |     at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79)
  |     at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:63)
  |     at 
org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514)
  |     at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576)
  |     at org.hibernate.loader.Loader.doQuery(Loader.java:661)
  |     at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
  |     at org.hibernate.loader.Loader.loadCollection(Loader.java:1919)
  |     at 
org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71)
  |     at 
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520)
  |     at 
org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
  |     at 
org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersistentCollection.java:161)
  |     at org.hibernate.collection.PersistentMap.get(PersistentMap.java:127)
  |     at 
org.jbpm.graph.def.ProcessDefinition.getDefinition(ProcessDefinition.java:431)
  |     at 
org.jbpm.graph.def.ProcessDefinition.getFileDefinition(ProcessDefinition.java:441)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$FastClassByCGLIB$$b47a0f4a.invoke(<generated>)
  |     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  |     at 
org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$4e8ff03.getFileDefinition(<generated>)
  |     at 
org.jbpm.instantiation.ProcessClassLoader.findResource(ProcessClassLoader.java:47)
  |     at java.lang.ClassLoader.getResource(ClassLoader.java:977)
  |     at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159)
  |     at org.apache.commons.logging.LogFactory$3.run(LogFactory.java:627)
  |     at java.security.AccessController.doPrivileged(Native Method)
  |     at 
org.apache.commons.logging.LogFactory.getResourceAsStream(LogFactory.java:623)
  |     at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:281)
  |     at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
  |     at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:79)
  |     at org.hibernate.type.NullableType.nullSafeSet(NullableType.java:63)
  |     at 
org.hibernate.loader.Loader.bindPositionalParameters(Loader.java:1514)
  |     at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1576)
  |     at org.hibernate.loader.Loader.doQuery(Loader.java:661)
  |     at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
  |     at org.hibernate.loader.Loader.loadCollection(Loader.java:1919)
  |     at 
org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:71)
  |     at 
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:520)
  |     at 
org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:60)
  |     at 
org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1627)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:344)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86)
  |     at 
org.hibernate.collection.AbstractPersistentCollection.readElementByIndex(AbstractPersistentCollection.java:161)
  |     at org.hibernate.collection.PersistentMap.get(PersistentMap.java:127)
  |     at 
org.jbpm.graph.def.ProcessDefinition.getDefinition(ProcessDefinition.java:431)
  |     at 
org.jbpm.graph.def.ProcessDefinition.getFileDefinition(ProcessDefinition.java:441)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$FastClassByCGLIB$$b47a0f4a.invoke(<generated>)
  |     at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  |     at 
org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161)
  |     at 
org.jbpm.graph.def.ProcessDefinition$$EnhancerByCGLIB$$4e8ff03.getFileDefinition(<generated>)
  |     at 
org.jbpm.instantiation.ProcessClassLoader.findResource(ProcessClassLoader.java:47)
  | 
I get a very huge stack trace with above repeating block of trace.

I have already spent 4 days debuging the issue. Any input/help from any body is 
appreciated.

ThankX in advance

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

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

Reply via email to