Community
Participate
Working Groups
Build Identifier: I20100608-0911 In principal, validation can easily be made parallel. Because of proxy objects, one has to call EcoreUtil.resolveAll(). However, doing so I got concurrent modification inside EMFT Validation: The ModelValidationService singleton stores constraint proxies in a cache. When the first constraints are required, the proxies are replaced by the actual constraints. Since all AbstractCostraintProviders access the singleton, we have a problem. In subsequent validations, no exceptions are thrown because all proxies have been replaced. Reproducible: Sometimes
Created attachment 184030 [details] Typical stack traces I attached a file containing 3 stack traces with CME / AIOBE.
EMF itself offers no guarantee on multi-thread access (https://wiki.eclipse.org/EMF/FAQ#Is_EMF_thread-safe.3F). Proxy resolution is only one of the aspects.