8 Replies Latest reply on Aug 4, 2011 4:59 AM by mpiraccini

    Strange error in process with subprocess

    mpiraccini

      Hi guys,

       

      I developed that process with a SubProcess (designed with the new BPMN2 editor).  The xml definition is attached.

       

      test-error-subprocess.jpg

      ...when I complet the WorkItem for the UserTask, I have this error:

       

      java.lang.IllegalArgumentException: Completing a node instance that has no outgoing connection not suppoerted.

          at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.nodeInstanceCompleted(WorkflowProcessInstanceImpl.java:430)

          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:142)

          at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)

          at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162)

          at org.jbpm.workflow.instance.node.CompositeNodeInstance.triggerCompleted(CompositeNodeInstance.java:128)

          at org.jbpm.workflow.instance.node.CompositeNodeInstance.nodeInstanceCompleted(CompositeNodeInstance.java:312)

          at org.jbpm.workflow.instance.node.EndNodeInstance.internalTrigger(EndNodeInstance.java:63)

          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)

          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)

          at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:100)

          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:122)

          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:185)

          at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:150)

          at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:47)

          at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:162)

          at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:143)

          at org.jbpm.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:239)

          at org.jbpm.workflow.instance.node.HumanTaskNodeInstance.triggerCompleted(HumanTaskNodeInstance.java:90)

          at org.jbpm.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:301)

          at org.jbpm.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:277)

          at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:333)

          at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:119)

      (...)

       

      But -of course- the Task has outgoing connections...it's a bug or am I missing something?

        • 1. Re: Strange error in process with subprocess
          eaa

          The only strange thing I'm seeing is that the subprocess node doesn't have an outgoing connection. So, when the gateway inside your subprocess evaluates to true, the subprocess is ended, but there is no "next node". This should be a compilation-time error.  Try to add an end node after the subprocess to see what happens.

          • 2. Re: Strange error in process with subprocess
            eaa

            Or do the end node inside your subprocess a "terminate process" one:

            • 3. Re: Strange error in process with subprocess
              mpiraccini

              You mean that way?

              test-error-subprocess2.jpg

              Loading this definition, I have this error:

               

              java.lang.IllegalArgumentException: Could not find source node for connection:SubProcess_1

                  at org.jbpm.bpmn2.xml.ProcessHandler.linkConnections(ProcessHandler.java:164)

                  at org.jbpm.bpmn2.xml.SubProcessHandler.handleCompositeContextNode(SubProcessHandler.java:97)

                  at org.jbpm.bpmn2.xml.SubProcessHandler.end(SubProcessHandler.java:83)

                  at org.drools.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:414)

                  at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)

                  at org.apache.xerces.impl.xs.XMLSchemaValidator.endElement(Unknown Source)

                  at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)

                  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

                  at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

                  at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

                  at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

                  at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

                  at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

                  at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)

                  at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)

                  at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:293)

                  at org.drools.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:172)

                  at org.jbpm.compiler.xml.XmlProcessReader.read(XmlProcessReader.java:46)

                  at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:249)

                  at org.drools.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:516)

                  at org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:560)

                  at org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:28)

              • 4. Re: Strange error in process with subprocess
                eaa

                Well... that definitively seems like a bug to me... In your particular case, try making the end node inside the subprocess a "terminate end event" (just like the one you have outside the subprocess).

                • 5. Re: Strange error in process with subprocess
                  mpiraccini

                  That worked

                  I 'll add a Jira for the previous process definition.

                  • 6. Re: Strange error in process with subprocess
                    eaa

                    I mean... It seems like a bug. What if you don't want to end the entire process inside your subprocess... ?

                    • 7. Re: Strange error in process with subprocess
                      eaa

                      According to bpmn2 standard, this is a valid process definition:

                      http://community.jboss.org/servlet/JiveServlet/showImage/2-619339-16834/test-error-subprocess2.jpg

                      So, the parsing error you are getting is a bug.

                      • 8. Re: Strange error in process with subprocess
                        mpiraccini