Community
Participate
Working Groups
The Platform API for Marker update is very inefficient; a WorkspaceOperation for each call. The Acceleo use of this API is therefore very inappropriate; a separate call per attribute per marker. At one point once my Acceleo edit locked up; precise reason unclear; Visual VM showed no fewer than 13 threads attempting to do Acceleo marker updates, which may be provoking a deadlock. Please borrow code from org.eclipse.qvt.declarative.editor.ui.builder.MarkerProblemHandler so that all marker changes are aggregated, optimized and submitted as a single WorkspaceOperation. This is particularly important for languages where a single error may provoke thousands of marker changes.
I had to kill Eclipse a couple of times while editing Acceleo files. Visual VM showed many threads maintaining markers again. I therefore think that this is not just a major inefficiency; it's a critical deadlock. I've reverted to Acceleo 3.1.2 which is much more prectiable in its behaviour; ignore error markers until you Control-S.
See bug 358898; it seems every marker change wakes EGIT up.
A fix has been contributed on master and R3_2_maintenance
Marking as resolved.
Closing resolved bugs