Bug 481395 - Validation UI project causes UI freezes
Summary: Validation UI project causes UI freezes
Status: RESOLVED FIXED
Alias: None
Product: Viatra
Classification: Modeling
Component: Query (show other bugs)
Version: oldinquery   Edit
Hardware: All All
: P3 normal
Target Milestone: 1.1 RC   Edit
Assignee: Abel Hegedus CLA
QA Contact: Istvan Rath CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 470392
  Show dependency tree
 
Reported: 2015-11-04 05:41 EST by EPP Error Reports CLA
Modified: 2015-11-06 04:33 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description EPP Error Reports CLA 2015-11-04 05:41:32 EST
The generic UI contribution of the Viewers framework can cause UI freezes, as its it loads constraint specifications to decide whether they correspond to the current editor, regardless whether they have been loaded before, and this might result in loading multiple bundles.

The culprit here is the ValidationManager#loadConstraintSpecificationsFromExtensions() method. What needs to be done is similar to the actions required for bug 470392: make sure that the classes are not loaded until necessary; deciding whether the contribution needs to be shown should not require loading the patterns themselves.


The freeze was reported multiple times using the error reporter service. The original reports are as follows:

    code:                   0
    plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
    message:                UI freeze of 1.5s at 17:49:41.099
    fingerprint:            30e789ef
    exception class:        org.eclipse.epp.internal.logging.aeri.ui.log.StandInStacktraceProvider$StandInException
    exception message:      Stand-In Stacktrace supplied by the Eclipse Error Reporting
    number of children:     3
    
    org.eclipse.epp.internal.logging.aeri.ui.log.StandInStacktraceProvider$StandInException: Stand-In Stacktrace supplied by the Eclipse Error Reporting
    at org.eclipse.ui.internal.monitoring.DefaultUiFreezeEventLogger.log(DefaultUiFreezeEventLogger.java:104)
    at org.eclipse.ui.internal.monitoring.EventLoopMonitorThread.logEvent(EventLoopMonitorThread.java:785)
    at org.eclipse.ui.internal.monitoring.EventLoopMonitorThread.run(EventLoopMonitorThread.java:638)
   

---   

      code:                   0
      plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
      message:                Sample at 17:49:41.449 (+0.350s)
Thread 'main' tid=1 (RUNNABLE)
      fingerprint:            1bc867df
      exception class:        java.lang.Exception
      exception message:      Stack Trace
      number of children:     0
    
    java.lang.Exception: Stack Trace
    at java.lang.Class.getDeclaredFields0(null:-2)
    at java.lang.Class.privateGetDeclaredFields(null:-1)
    at java.lang.Class.getField0(null:-1)
    at java.lang.Class.getField(null:-1)
    at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:274)
    at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
    at org.eclipse.incquery.runtime.api.impl.BaseGeneratedEMFPQuery.getClassifierLiteral(BaseGeneratedEMFPQuery.java:45)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification$GeneratedPQuery.doGetContainedBodies(StateIsCompositeQuerySpecification.java:111)
    at org.eclipse.incquery.runtime.matchers.psystem.queries.BasePQuery.ensureInitialized(BasePQuery.java:169)
    at org.eclipse.incquery.runtime.api.impl.BaseQuerySpecification.ensureInitializedInternalSneaky(BaseQuerySpecification.java:89)
    at org.eclipse.incquery.runtime.api.impl.BaseGeneratedEMFQuerySpecification.<init>(BaseGeneratedEMFQuerySpecification.java:37)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification.<init>(StateIsCompositeQuerySpecification.java:39)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification.<init>(StateIsCompositeQuerySpecification.java:38)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification$LazyHolder.make(StateIsCompositeQuerySpecification.java:74)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification$LazyHolder.<clinit>(StateIsCompositeQuerySpecification.java:71)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification.instance(StateIsCompositeQuerySpecification.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.incquery.runtime.extensibility.SingletonExtensionFactory.create(SingletonExtensionFactory.java:44)
    at org.eclipse.incquery.runtime.extensibility.PQueryExtensionFactory.create(PQueryExtensionFactory.java:28)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.processWellbehavingExtension(ExtensionBasedSurrogateQueryLoader.java:86)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.getKnownSurrogateQueryFQNs(ExtensionBasedSurrogateQueryLoader.java:71)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.loadKnownSurrogateQueriesIntoRegistry(ExtensionBasedSurrogateQueryLoader.java:54)
    at org.eclipse.incquery.runtime.IncQueryRuntimePlugin.start(IncQueryRuntimePlugin.java:27)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(null:-2)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318)
    at org.eclipse.osgi.container.Module.doStart(Module.java:571)
    at org.eclipse.osgi.container.Module.start(Module.java:439)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
    at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:398)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(null:-1)
    at org.eclipse.incquery.validation.runtime.ValidationUtil.<clinit>(ValidationUtil.java:34)
    at org.eclipse.incquery.validation.runtime.ui.EditorReferenceTester.test(EditorReferenceTester.java:27)
    at org.eclipse.core.internal.expressions.Property.test(Property.java:58)
    at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:100)
    at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53)
    at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:75)
    at org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer.isVisible(ContributionsAnalyzer.java:256)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.computeVisibility(ContributionRecord.java:166)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.updateVisibility(ContributionRecord.java:96)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:188)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:199)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.showMenu(MenuManagerShowProcessor.java:230)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.menuAboutToHide(MenuManagerShowProcessor.java:110)
    at org.eclipse.jface.internal.MenuManagerEventHelper.showEventPostHelper(MenuManagerEventHelper.java:92)
    at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:467)
    at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:461)
    at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:493)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:255)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1118)
    at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:5023)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4691)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1633)
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2117)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5050)
    at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(OS.java:-2)
    at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:262)
    at org.eclipse.swt.widgets.Display.runPopups(Display.java:4221)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3763)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
   

---   

      code:                   0
      plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
      message:                Sample at 17:49:41.866 (+0.417s)
Thread 'main' tid=1 (RUNNABLE) [5 child-status duplicates removed by Error Reporting]
      fingerprint:            3589eec2
      exception class:        java.lang.Exception
      exception message:      Stack Trace
      number of children:     0
    
    java.lang.Exception: Stack Trace
    at org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.createObject(XMLHelperImpl.java:885)
    at org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.createObject(XMLHelperImpl.java:922)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromFactory(XMLHandler.java:2222)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObjectFromFeatureType(XMLHandler.java:2195)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.createObject(XMLHandler.java:2071)
    at org.eclipse.emf.ecore.xmi.impl.XMIHandler.createObject(XMIHandler.java:128)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.handleFeature(XMLHandler.java:1876)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.processElement(XMLHandler.java:1030)
    at org.eclipse.emf.ecore.xmi.impl.XMIHandler.processElement(XMIHandler.java:81)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:1008)
    at org.eclipse.emf.ecore.xmi.impl.XMLHandler.startElement(XMLHandler.java:719)
    at org.eclipse.emf.ecore.xmi.impl.XMIHandler.startElement(XMIHandler.java:163)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(null:-1)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(null:-1)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(null:-1)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(null:-1)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(null:-1)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(null:-1)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(null:-1)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(null:-1)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(null:-1)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(null:-1)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(null:-1)
    at org.eclipse.emf.ecore.xmi.impl.XMLLoadImpl.load(XMLLoadImpl.java:175)
    at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doLoad(XMLResourceImpl.java:261)
    at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518)
    at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1297)
    at org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.loadPackage(UMLPackageImpl.java:17520)
    at org.eclipse.uml2.uml.internal.impl.UMLPackageImpl.init(UMLPackageImpl.java:1910)
    at org.eclipse.uml2.uml.UMLPackage.<clinit>(UMLPackage.java:83)
    at sun.misc.Unsafe.ensureClassInitialized(null:-2)
    at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(null:-1)
    at sun.reflect.ReflectionFactory.newFieldAccessor(null:-1)
    at java.lang.reflect.Field.acquireFieldAccessor(null:-1)
    at java.lang.reflect.Field.getFieldAccessor(null:-1)
    at java.lang.reflect.Field.get(null:-1)
    at org.eclipse.emf.ecore.plugin.RegistryReader$EPackageDescriptor.getEPackage(RegistryReader.java:275)
    at org.eclipse.emf.ecore.impl.EPackageRegistryImpl.getEPackage(EPackageRegistryImpl.java:127)
    at org.eclipse.incquery.runtime.api.impl.BaseGeneratedEMFPQuery.getClassifierLiteral(BaseGeneratedEMFPQuery.java:45)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification$GeneratedPQuery.doGetContainedBodies(StateIsCompositeQuerySpecification.java:111)
    at org.eclipse.incquery.runtime.matchers.psystem.queries.BasePQuery.ensureInitialized(BasePQuery.java:169)
    at org.eclipse.incquery.runtime.api.impl.BaseQuerySpecification.ensureInitializedInternalSneaky(BaseQuerySpecification.java:89)
    at org.eclipse.incquery.runtime.api.impl.BaseGeneratedEMFQuerySpecification.<init>(BaseGeneratedEMFQuerySpecification.java:37)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification.<init>(StateIsCompositeQuerySpecification.java:39)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification.<init>(StateIsCompositeQuerySpecification.java:38)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification$LazyHolder.make(StateIsCompositeQuerySpecification.java:74)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification$LazyHolder.<clinit>(StateIsCompositeQuerySpecification.java:71)
    at org.eclipse.incquery.uml.derivedfeatures.util.StateIsCompositeQuerySpecification.instance(StateIsCompositeQuerySpecification.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.incquery.runtime.extensibility.SingletonExtensionFactory.create(SingletonExtensionFactory.java:44)
    at org.eclipse.incquery.runtime.extensibility.PQueryExtensionFactory.create(PQueryExtensionFactory.java:28)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.processWellbehavingExtension(ExtensionBasedSurrogateQueryLoader.java:86)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.getKnownSurrogateQueryFQNs(ExtensionBasedSurrogateQueryLoader.java:71)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.loadKnownSurrogateQueriesIntoRegistry(ExtensionBasedSurrogateQueryLoader.java:54)
    at org.eclipse.incquery.runtime.IncQueryRuntimePlugin.start(IncQueryRuntimePlugin.java:27)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(null:-2)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318)
    at org.eclipse.osgi.container.Module.doStart(Module.java:571)
    at org.eclipse.osgi.container.Module.start(Module.java:439)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
    at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:398)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(null:-1)
    at org.eclipse.incquery.validation.runtime.ValidationUtil.<clinit>(ValidationUtil.java:34)
    at org.eclipse.incquery.validation.runtime.ui.EditorReferenceTester.test(EditorReferenceTester.java:27)
    at org.eclipse.core.internal.expressions.Property.test(Property.java:58)
    at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:100)
    at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53)
    at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:75)
    at org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer.isVisible(ContributionsAnalyzer.java:256)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.computeVisibility(ContributionRecord.java:166)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.updateVisibility(ContributionRecord.java:96)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:188)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:199)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.showMenu(MenuManagerShowProcessor.java:230)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.menuAboutToHide(MenuManagerShowProcessor.java:110)
    at org.eclipse.jface.internal.MenuManagerEventHelper.showEventPostHelper(MenuManagerEventHelper.java:92)
    at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:467)
    at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:461)
    at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:493)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:255)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1118)
    at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:5023)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4691)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1633)
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2117)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5050)
    at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(OS.java:-2)
    at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:262)
    at org.eclipse.swt.widgets.Display.runPopups(Display.java:4221)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3763)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
   

---   

      code:                   0
      plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
      message:                Sample at 17:49:42.202 (+0.336s)
Thread 'main' tid=1 (RUNNABLE)
      fingerprint:            e10f3b73
      exception class:        java.lang.Exception
      exception message:      Stack Trace
      number of children:     5
    
    java.lang.Exception: Stack Trace
    at org.eclipse.incquery.uml.derivedfeatures.util.ActionOutputQuerySpecification.<init>(ActionOutputQuerySpecification.java:36)
    at org.eclipse.incquery.uml.derivedfeatures.util.ActionOutputQuerySpecification.<init>(ActionOutputQuerySpecification.java:35)
    at org.eclipse.incquery.uml.derivedfeatures.util.ActionOutputQuerySpecification$LazyHolder.make(ActionOutputQuerySpecification.java:71)
    at org.eclipse.incquery.uml.derivedfeatures.util.ActionOutputQuerySpecification$LazyHolder.<clinit>(ActionOutputQuerySpecification.java:68)
    at org.eclipse.incquery.uml.derivedfeatures.util.ActionOutputQuerySpecification.instance(ActionOutputQuerySpecification.java:46)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.incquery.runtime.extensibility.SingletonExtensionFactory.create(SingletonExtensionFactory.java:44)
    at org.eclipse.incquery.runtime.extensibility.PQueryExtensionFactory.create(PQueryExtensionFactory.java:28)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.processWellbehavingExtension(ExtensionBasedSurrogateQueryLoader.java:86)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.getKnownSurrogateQueryFQNs(ExtensionBasedSurrogateQueryLoader.java:71)
    at org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.loadKnownSurrogateQueriesIntoRegistry(ExtensionBasedSurrogateQueryLoader.java:54)
    at org.eclipse.incquery.runtime.IncQueryRuntimePlugin.start(IncQueryRuntimePlugin.java:27)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:771)
    at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1)
    at java.security.AccessController.doPrivileged(null:-2)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:764)
    at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:721)
    at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:941)
    at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:318)
    at org.eclipse.osgi.container.Module.doStart(Module.java:571)
    at org.eclipse.osgi.container.Module.start(Module.java:439)
    at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:454)
    at org.eclipse.osgi.internal.hooks.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:531)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
    at org.eclipse.osgi.internal.loader.sources.SingleSourcePackage.loadClass(SingleSourcePackage.java:36)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:398)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(null:-1)
    at org.eclipse.incquery.validation.runtime.ValidationUtil.<clinit>(ValidationUtil.java:34)
    at org.eclipse.incquery.validation.runtime.ui.EditorReferenceTester.test(EditorReferenceTester.java:27)
    at org.eclipse.core.internal.expressions.Property.test(Property.java:58)
    at org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:100)
    at org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53)
    at org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:75)
    at org.eclipse.e4.ui.internal.workbench.ContributionsAnalyzer.isVisible(ContributionsAnalyzer.java:256)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.computeVisibility(ContributionRecord.java:166)
    at org.eclipse.e4.ui.workbench.renderers.swt.ContributionRecord.updateVisibility(ContributionRecord.java:96)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:188)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerRendererFilter.updateElementVisibility(MenuManagerRendererFilter.java:199)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.showMenu(MenuManagerShowProcessor.java:230)
    at org.eclipse.e4.ui.workbench.renderers.swt.MenuManagerShowProcessor.menuAboutToHide(MenuManagerShowProcessor.java:110)
    at org.eclipse.jface.internal.MenuManagerEventHelper.showEventPostHelper(MenuManagerEventHelper.java:92)
    at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:467)
    at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:461)
    at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:493)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:255)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4362)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1113)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1137)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1118)
    at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:5023)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:4691)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:339)
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1633)
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2117)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5050)
    at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(OS.java:-2)
    at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:262)
    at org.eclipse.swt.widgets.Display.runPopups(Display.java:4221)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3763)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(null:-2)
    at sun.reflect.NativeMethodAccessorImpl.invoke(null:-1)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(null:-1)
    at java.lang.reflect.Method.invoke(null:-1)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
   

---   

        code:                   0
        plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
        message:                Thread 'EventAdmin Async Event Dispatcher Thread' tid=34 (WAITING)
Waiting for: org.eclipse.swt.widgets.RunnableLock@5c364d8b
        fingerprint:            b043c11b
        exception class:        java.lang.Exception
        exception message:      Stack Trace
        number of children:     0
    
    java.lang.Exception: Stack Trace
    at java.lang.Object.wait(null:-2)
    at java.lang.Object.wait(null:-1)
    at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:199)
    at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:145)
    at org.eclipse.swt.widgets.Display.syncExec(Display.java:4761)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:211)
    at org.eclipse.e4.ui.internal.di.UIEventObjectSupplier$UIEventHandler.handleEvent(UIEventObjectSupplier.java:53)
    at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197)
    at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
   

---   

        code:                   0
        plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
        message:                Thread 'Java indexing' tid=30 (WAITING)
Waiting for: org.eclipse.jdt.internal.core.search.indexing.IndexManager@016f796e
        fingerprint:            7c705654
        exception class:        java.lang.Exception
        exception message:      Stack Trace
        number of children:     0
    
    java.lang.Exception: Stack Trace
    at java.lang.Object.wait(null:-2)
    at java.lang.Object.wait(null:-1)
    at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:382)
    at java.lang.Thread.run(null:-1)
   

---   

        code:                   0
        plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
        message:                Thread 'EMF Reference Cleaner' tid=20 (WAITING)
Waiting for: java.lang.ref.ReferenceQueue$Lock@5ebf9f8e
        fingerprint:            25fbd6cf
        exception class:        java.lang.Exception
        exception message:      Stack Trace
        number of children:     0
    
    java.lang.Exception: Stack Trace
    at java.lang.Object.wait(null:-2)
    at java.lang.ref.ReferenceQueue.remove(null:-1)
    at java.lang.ref.ReferenceQueue.remove(null:-1)
    at org.eclipse.emf.common.util.CommonUtil$1ReferenceClearingQueuePollingThread.run(CommonUtil.java:70)
   

---   

        code:                   0
        plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
        message:                Thread 'Worker-JM' tid=19 (WAITING)
Waiting for: java.util.ArrayList@308bcbc7
        fingerprint:            71d460f9
        exception class:        java.lang.Exception
        exception message:      Stack Trace
        number of children:     0
    
    java.lang.Exception: Stack Trace
    at java.lang.Object.wait(null:-2)
    at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java:59)
   

---   

        code:                   0
        plugin:                 org.eclipse.ui.monitoring_1.0.0.v20150512-1436
        message:                Thread 'Thread-7' tid=40 (TIMED_WAITING)
        fingerprint:            ae0778db
        exception class:        java.lang.Exception
        exception message:      Stack Trace
        number of children:     0
    
    java.lang.Exception: Stack Trace
    at java.lang.Thread.sleep(null:-2)
    at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:68)
   
  

General Information:

    reported-by:      Akos Horvath
    anonymous-id:     d1d08937-a84b-4a32-ac52-c6e3d2c5fbd1
    eclipse-build-id: 4.5.0.I20150603-2000
    eclipse-product:  org.eclipse.epp.package.committers.product
    operating system: Windows8 6.2.0 (x86_64) - win32
    jre-version:      1.8.0_25-b18

The following plug-ins were present on the execution stack (*):
    1. org.eclipse.core.databinding.observable_1.5.0.v20150422-0725
    2. org.eclipse.core.databinding_1.5.0.v20150422-0725
    3. org.eclipse.core.expressions_3.5.0.v20150421-2214
    4. org.eclipse.core.jobs_3.7.0.v20150330-2103
    5. org.eclipse.core.runtime_3.11.0.v20150405-1723
    6. org.eclipse.e4.ui.di_1.1.0.v20150422-0725
    7. org.eclipse.e4.ui.workbench_1.3.0.v20150531-1948
    8. org.eclipse.e4.ui.workbench.renderers.swt_0.13.0.v20150603-0857
    9. org.eclipse.e4.ui.workbench.swt_0.13.0.v20150504-0621
    10. org.eclipse.emf.common_2.11.0.v20150512-0501
    11. org.eclipse.emf_2.6.0.v20150601-0402
    12. org.eclipse.emf.ecore_2.11.0.v20150512-0501
    13. org.eclipse.emf.ecore.xmi_2.11.0.v20150512-0501
    14. org.eclipse.equinox.app_1.3.300.v20150423-1356
    15. org.eclipse.equinox.event_1.3.100.v20140115-1647
    16. org.eclipse.equinox.launcher_1.3.100.v20150511-1540
    17. org.eclipse.equinox.p2.updatechecker_1.1.200.v20131119-0908
    18. org.eclipse.incquery.runtime_1.0.0.201506301446
    19. org.eclipse.incquery.runtime.matchers_1.0.0.201506301446
    20. org.eclipse.incquery.uml_1.0.0.201506301446
    21. org.eclipse.incquery.validation.runtime_1.0.0.201506301446
    22. org.eclipse.incquery.validation.runtime.ui_1.0.0.201506301446
    23. org.eclipse.jdt.core_3.11.0.v20150602-1242
    24. org.eclipse.jdt_3.11.0.v20150603-2000
    25. org.eclipse.jface_3.11.0.v20150602-1400
    26. org.eclipse.osgi_3.10.100.v20150529-1857
    27. org.eclipse.swt_3.104.0.v20150528-0211
    28. org.eclipse.ui_3.107.0.v20150507-1945
    29. org.eclipse.ui.ide.application_1.1.0.v20150422-0725
    30. org.eclipse.ui.ide_3.11.0.v20150510-1749
    31. org.eclipse.ui.monitoring_1.0.0.v20150512-1436
    32. org.eclipse.uml2.uml_5.1.0.v20150601-0733
    33. org.eclipse.uml2_5.0.0.v20150601-0733

Please note that:
* Messages, stacktraces, and nested status objects may be shortened.
* Bug fields like status, resolution, and whiteboard are sent
  back to reporters.
* The list of present bundles and their respective versions was
  calculated by package naming heuristics. This may or may not reflect reality.

Other Resources:
* Report: https://dev.eclipse.org/recommenders/committers/confess/#/problems/559bf54ce4b0cf2e4bf531d8  
* Manual: https://dev.eclipse.org/recommenders/community/confess/#/guide


Thank you for your assistance.
Your friendly error-reports-inbox.

This bug was created on behalf of ujhelyiz@xxxxxxxxxxxx.
Comment 1 Abel Hegedus CLA 2015-11-04 07:27:03 EST
Based on these three traces, the culprit is 
org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.loadKnownSurrogateQueriesIntoRegistry(ExtensionBasedSurrogateQueryLoader.java:54)
    at org.eclipse.incquery.runtime.IncQueryRuntimePlugin.start(IncQueryRuntimePlugin.java:27)
Comment 2 Zoltan Ujhelyi CLA 2015-11-04 07:41:54 EST
(In reply to Abel Hegedus from comment #1)
> Based on these three traces, the culprit is 
> org.eclipse.incquery.runtime.internal.ExtensionBasedSurrogateQueryLoader.
> loadKnownSurrogateQueriesIntoRegistry(ExtensionBasedSurrogateQueryLoader.
> java:54)
>     at
> org.eclipse.incquery.runtime.IncQueryRuntimePlugin.
> start(IncQueryRuntimePlugin.java:27)

Indeed. We should think about a way to handle these definitions without loading the incquery runtime...
Comment 3 Abel Hegedus CLA 2015-11-04 09:03:19 EST
I can get around loading the incquery.runtime plugin when checking the Validation contributions, but it breaks the ValidationManager API as I would need to remove a method that I want to set as deprecated anyway (initializeValidationEngine(Notifier notifier, String editorId))

While this method is there, the class loader initializes the plugin while loading the IncQueryScope class before invoking ValidationManager.isConstraintSpecificationsRegisteredForEditorId(editorId) even though it is not used there.
Comment 4 Eclipse Genie CLA 2015-11-04 09:46:40 EST
New Gerrit change created: https://git.eclipse.org/r/59663
Comment 5 Abel Hegedus CLA 2015-11-04 09:47:55 EST
I think I managed to fix the issue without breaking any API, see Gerrit change.
Comment 6 Zoltan Ujhelyi CLA 2015-11-04 09:49:50 EST
(In reply to Abel Hegedus from comment #3)
> I can get around loading the incquery.runtime plugin when checking the
> Validation contributions, but it breaks the ValidationManager API as I would
> need to remove a method that I want to set as deprecated anyway
> (initializeValidationEngine(Notifier notifier, String editorId))

What if we move the code not requiring to a base class of the existing ValidationManager? That way, we maintain compatibility, but still can use the features without starting IncQuery runtime.
Comment 8 Abel Hegedus CLA 2015-11-05 08:19:32 EST
We have merged an internal refactor to avoid starting the incquery.runtime plugin before it is really necessary.
Comment 9 Eclipse Genie CLA 2015-11-05 09:56:27 EST
New Gerrit change created: https://git.eclipse.org/r/59745
Comment 10 Abel Hegedus CLA 2015-11-05 09:58:22 EST
The first change only avoids loading incquery.runtime if there are no registered validation constraints at all. I have done the switch to the provider based approach now.
Comment 12 Abel Hegedus CLA 2015-11-06 04:33:45 EST
Added provider based handling of constraint specifications loaded from extensions to avoid starting incquery.runtime during enablement checking.