Description of problem: Changing the name of a process variable, or deleting a process var which is referenced as the Target of a DataOutput causes the process to be un-openable. Steps to Reproduce: 1. Create a new BP 2. Add a process variable "myvar", datatype "String" 3. Add a user task 4. Add a data output called "myoutput", datatype "String" and set target to "myvar" 5. Save the process 6. Optional: If the process is not completely refreshed when you save it in the version being tested, close and re-open the process 7. Change the name of the process variable from "myvar" to "yourvar" 8. Save the process 9. Optional: If the process is not completely refreshed when you save it in the version being tested, close and re-open the process 10. At this point, the process cannot be opened and is shown in the XML editor. The problem is caused by <bpmn2:targetRef>myvar</bpmn2:targetRef> in the <bpmn2:dataOutputAssociation> which refers to the old process variable. I think this error happens for other DataOutputs too, e.g. on Start Events, CatchIntermediateEvents with DataOutput, CallActivity.
This behaviour is by design.