Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1068075

Summary: Process definition gets corrupted without any actual changes
Product: [Retired] JBoss BPMS Platform 6 Reporter: Anton Giertli <agiertli>
Component: Eclipse ToolingAssignee: Kris Verlaenen <kverlaen>
Status: CLOSED EOL QA Contact: Jozef Marko <jomarko>
Severity: medium Docs Contact:
Priority: high    
Version: 6.0.0CC: mbaluch, rrajasek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 19:33:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
reproducer none

Description Anton Giertli 2014-02-21 12:35:57 UTC
Created attachment 865978 [details]
reproducer

Description of problem:

I have double clicked on the node, so the Properties window popped up. I have closed this window without doing *any* changes. The first weird thing is that JBDS think I have made some changes - the * char is visible in the process definition tab in the jbds.

When process is executed after making the changes it fails with:

java.lang.IllegalArgumentException: Could not find node to attach to: bpmn20:_14EFEB73-339B-4668-8D44-95D956BF4180
	at org.jbpm.bpmn2.xml.ProcessHandler.findNodeByIdOrUniqueIdInMetadata(ProcessHandler.java:282)
	at org.jbpm.bpmn2.xml.ProcessHandler.linkBoundaryEvents(ProcessHandler.java:347)
	at org.jbpm.bpmn2.xml.ProcessHandler.end(ProcessHandler.java:179)
	at org.drools.core.xml.ExtensibleXmlParser.endElement(ExtensibleXmlParser.java:422)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:863)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1789)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2965)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
	at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333)
	at org.drools.core.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:301)
	at org.drools.core.xml.ExtensibleXmlParser.read(ExtensibleXmlParser.java:180)
	at org.jbpm.compiler.xml.XmlProcessReader.read(XmlProcessReader.java:46)
	at org.jbpm.compiler.ProcessBuilderImpl.addProcessFromXml(ProcessBuilderImpl.java:275)
	at org.drools.compiler.compiler.PackageBuilder.addProcessFromXml(PackageBuilder.java:699)
	at org.drools.compiler.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:740)
	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:51)
	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:40)
	at org.jbpm.runtime.manager.impl.SimpleRuntimeEnvironment.addAsset(SimpleRuntimeEnvironment.java:104)
	at org.jbpm.runtime.manager.impl.RuntimeEnvironmentBuilder.addAsset(RuntimeEnvironmentBuilder.java:273)
	at org.jbpm.runtime.manager.impl.RuntimeEnvironmentBuilder.addAsset(RuntimeEnvironmentBuilder.java:56)
	at com.sample.ProcessTest.main(ProcessTest.java:36)
java.lang.IllegalArgumentException: Cannot add asset: unable to parse xml : Exception class java.lang.IllegalArgumentException : Could not find node to attach to: bpmn20:_14EFEB73-339B-4668-8D44-95D956BF4180,
	at org.jbpm.runtime.manager.impl.SimpleRuntimeEnvironment.addAsset(SimpleRuntimeEnvironment.java:111)
	at org.jbpm.runtime.manager.impl.RuntimeEnvironmentBuilder.addAsset(RuntimeEnvironmentBuilder.java:273)
	at org.jbpm.runtime.manager.impl.RuntimeEnvironmentBuilder.addAsset(RuntimeEnvironmentBuilder.java:56)
	at com.sample.ProcessTest.main(ProcessTest.java:36)

The process execution before saving the process goes without *any* issues.

Version-Release number of selected component (if applicable):

BPMN 2 Modeler - Diagram Editor
1.0.1.201312111931
SwitchYard tools
Version: 1.1.4.v20140122-1953-H431-Final
JBDS
Version: 7.1.0.GA-v20131208-0703-B592

How reproducible:
intermittently 

Steps to Reproduce:
1. Download the attachment
2. Execute ProcessTest.java - the output is not important, important is that it did not fail
3. Open Exception.bpmn2
4. Double click on ThrowException SubProcess so the properties window will be displayed
5. Close this window without doing any changes
6. Save the process
7. Execute ProcessTest.java again and observe the exception

Actual results:

Process execution fails after saving process definition

Expected results:

Process execution goes without issues after saving process definition
Additional info:

Some changes does not break the process, for example I was able to add script task without breaking it, however, this particular node seems to be causing the problems.

Comment 3 Marek Baluch 2014-10-06 10:29:26 UTC
Verified on JBDSIS 8.0.0.Alpha2