This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Summary: | Unexpected IllegalArgumentException: old node must be in the tree | ||
---|---|---|---|
Product: | soa | Reporter: | Nikita Krjukov <supernikita> |
Component: | BPEL Mapper | Assignee: | Sergey Lunegov <slunegov> |
Status: | NEW --- | ||
Severity: | blocker | ||
Priority: | P3 | ||
Version: | 6.x | ||
Hardware: | All | ||
OS: | All | ||
Issue Type: | DEFECT | Exception Reporter: | |
Attachments: |
The test BPEL project
Exception stack trace |
Description
Nikita Krjukov
2008-12-09 22:01:41 UTC
Created attachment 74765 [details]
The test BPEL project
Created attachment 74767 [details]
Exception stack trace
I found another similar issue #150906 Related to GF ESB distribution. Not to NB 7.0 update no67 keyword I reduced the priority because a workaround has already applied, which prevents appearance of the Exception at all. An additional investigation required to understand what was the initial reason of the exception. The workaround code is located at the BpelMapperUpdater:327 and :354. It can be rolled back to reproduce the exception again. I tried analyzing again but failed. But I'd like to put some notes, which should be helpful next time: 1. It seems the BPEL model's transaction doesn't support rollback. It looks like if an exception happens somewhere in middle of transaction, then the model can come to an inconsistent state. It can be an indirect reason of BPEL model's vulnerability. 2. Once the exception happened it is necessary to close editor and reopen it again to start next iteration. It because the BPEL model becomes corrupted such way that Undo works wrong. Undo adds a new Editor children to the From component. So the model becomes inconsistent with sources. The BPEL sources doesn't contain an editor in from at all, but BPEL model can contain multiple editor components at corresponding place. 3. I think the good idea is to use JUnit tests (at BPEL model) to solve this puzzle. The tests can call methods separately. It's helpful to locate harmful place in code. |