| Summary: | BasicEMap is not deserializable | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Modeling] EMF | Reporter: | Caspar D. <caspar_d> | ||||||||||
| Component: | Core | Assignee: | Ed Merks <Ed.Merks> | ||||||||||
| Status: | CLOSED FIXED | QA Contact: | |||||||||||
| Severity: | normal | ||||||||||||
| Priority: | P3 | CC: | saulius.tvarijonas | ||||||||||
| Version: | 2.6.0 | Flags: | caspar_d:
review?
(Ed.Merks) |
||||||||||
| Target Milestone: | --- | ||||||||||||
| Hardware: | All | ||||||||||||
| OS: | All | ||||||||||||
| Whiteboard: | |||||||||||||
| Attachments: |
|
||||||||||||
Created attachment 182030 [details]
Testcase (as zipped plugins)
Run EmapSerializationProblem_Test as a Junit test case.
Created attachment 182132 [details]
Patch
Seems there was a bit more amiss than just the delegateEList not
being initialized, but I think this patch fixes it.
Created attachment 182462 [details]
Other way of addressing the issue.
I think this approach is simpler and also fixes the problem, right?
Hehe, yes, so it seems :-) Either patch is fine for me. Thanks! The fixes are committed to CVS for 2.7. The fixes are available in a published build. Try again to resolve as fixed (and available in a build). Oh, I guess I have to close them! |
Created attachment 182029 [details] Stacktrace Deserialiation of a BasicEMap will invoke readObject(ObjectInputStream), which repeatedly calls put(key,value), which expects the delegateEList field to be initalized. But it's null, giving an NPE, see attached stack- trage. Seems readObject should call initializeDelegateEList() as the constructor does.