Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [EMF Forms] opening a view model hangs for very long time
[EMF Forms] opening a view model hangs for very long time [message #1716022] Mon, 30 November 2015 15:55 Go to next message
Erwin De Ley is currently offline Erwin De LeyFriend
Messages: 52
Registered: August 2013
Member
First of all, thanks for the EMF Forms fwk. After your nice presentations at EclipseCon Europe, I'm trying it out for the new Triquetrum project, and am happy with the initial results!

I'm using Mars.1 Eclipse Modeling Tools version, with EMF forms 1.8 etc obtained from http://download.eclipse.org/ecp/nightly/p2/. Full installation details are in the attached file.

When creating a new View model file, from my ecore model, that goes fast, no blocking/hanging there.

When opening an existing view model (i.e. as the first from a list of existing ones), this takes very long, rendering my eclipse "Not responding" during that period. THis can easily take 10-15 minutes or so. When it's opened all works well, and opening more view models is instantaneous. Remark that when closing all files and then re-opening, the first one is blocked again for such a long time.

Do you have an idea what the problem could be? It seems to be some kind of internal timeout or so, but we couldn't find any probable cause for that.

The only error I see in the error log, appearing at the time the view model editor is effectively opened, is :

org.eclipse.emf.ecp.view.validation
Error
Mon Nov 30 16:40:53 CET 2015
Plug-in "org.eclipse.emf.ecp.view.validation.bean.default" was unable to instantiate class "org.eclipse.emf.ecp.view.internal.validation.bean.DefaultValidationProvider".

org.eclipse.core.runtime.CoreException: Plug-in "org.eclipse.emf.ecp.view.validation.bean.default" was unable to instantiate class "org.eclipse.emf.ecp.view.internal.validation.bean.DefaultValidationProvider".
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:194)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:186)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55)
at org.eclipse.emf.ecp.view.internal.validation.ValidationServiceImpl.readValidationProvider(ValidationServiceImpl.java:329)
at org.eclipse.emf.ecp.view.internal.validation.ValidationServiceImpl.instantiate(ValidationServiceImpl.java:283)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl.instantiate(ViewModelContextImpl.java:223)
at org.eclipse.emf.ecp.view.internal.context.ViewModelContextImpl.<init>(ViewModelContextImpl.java:176)
at org.eclipse.emf.ecp.view.spi.context.ViewModelContextFactory.createViewModelContext(ViewModelContextFactory.java:55)
at org.eclipse.emf.ecp.ide.editor.view.ViewEditorPart.showView(ViewEditorPart.java:397)
at org.eclipse.emf.ecp.ide.editor.view.ViewEditorPart.createPartControl(ViewEditorPart.java:326)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPartControl(CompatibilityPart.java:151)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPartControl(CompatibilityEditor.java:99)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:341)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:898)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:879)
at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:121)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:345)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:264)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:129)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:971)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:640)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:746)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:711)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:695)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$1.handleEvent(PartServiceImpl.java:99)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:186)
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.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36)
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.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:85)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:494)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:458)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:724)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:396)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1166)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3234)
at org.eclipse.ui.internal.WorkbenchPage.access$25(WorkbenchPage.java:3149)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:3131)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3126)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3090)
at org.eclipse.ui.actions.OpenWithMenu.openEditor(OpenWithMenu.java:336)
at org.eclipse.ui.actions.OpenWithMenu$2.handleEvent(OpenWithMenu.java:182)
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.Display.runDeferredEvents(Display.java:4180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3769)
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(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
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)
Caused by: javax.validation.ValidationException: Unable to find a default provider
at javax.validation.Validation$GenericBootstrapImpl.configure(Validation.java:264)
at org.eclipse.emf.ecp.view.validation.bean.BeanValidationProvider.instantiateValidator(BeanValidationProvider.java:57)
at org.eclipse.emf.ecp.view.validation.bean.BeanValidationProvider.<init>(BeanValidationProvider.java:53)
at org.eclipse.emf.ecp.view.validation.bean.BeanValidationProvider.<init>(BeanValidationProvider.java:49)
at org.eclipse.emf.ecp.view.internal.validation.bean.DefaultValidationProvider.<init>(DefaultValidationProvider.java:15)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
at java.lang.Class.newInstance(Class.java:442)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:184)
... 93 more
Re: [EMF Forms] opening a view model hangs for very long time [message #1716045 is a reply to message #1716022] Mon, 30 November 2015 20:10 Go to previous messageGo to next message
Erwin De Ley is currently offline Erwin De LeyFriend
Messages: 52
Registered: August 2013
Member
As extra info : the same phenomenon after closing my eclipse with a view model open in an editor and then start eclipse again. The splash screen remains blocked while loading org.eclipse.emf.ecp.view.model.common for > 10 minutes.
And then it opens, with the same error msg.

thanks
erwin
Re: [EMF Forms] opening a view model hangs for very long time [message #1716057 is a reply to message #1716045] Mon, 30 November 2015 21:57 Go to previous messageGo to next message
Eugen Neufeld is currently offline Eugen NeufeldFriend
Messages: 161
Registered: May 2015
Senior Member
Hi Erwin,
You used the nightly update site for your install and selected all the features from it. The problem is, that the nightly update site should be used in target files only, or only if you know what you are installing.
The target update site contains some experimental features, see here for a detailed description.
So I would recommend to deinstall this feature: Bean Validation Feature incl. Sources org.eclipse.emf.ecp.view.validation.bean.feature.source.feature

Cheers,
Eugen


--
Eugen Neufeld

Get professional Eclipse developer support:
http://eclipsesource.com/en/services/developer-support/
Re: [EMF Forms] opening a view model hangs for very long time [message #1716213 is a reply to message #1716057] Wed, 02 December 2015 09:19 Go to previous messageGo to next message
Erwin De Ley is currently offline Erwin De LeyFriend
Messages: 52
Registered: August 2013
Member
Hi Eugen,

Thanks for the reply. Deinstalling the validation feature and then some others did not change the situation for me.
As a final resort I deleted my eclipse install and reinstalled a fresh eclipse for modeling Mars.1.
But the problem of a long wait time remains, with a slight variation.

What I see now is :
- after a fresh eclipse startup on my triquetrum workspace, opening a first existing view model still hangs for a long time
- after a fresh eclipse startup and then first creating a new viewmodel from an ecore model it works fine.
I.e. opening other existing view model files is quick. But the difference with the situation described before (with the nightly build version) is that this remains ok after closing all model files and then opening one of the view model files again.

With the "hanging" cases, the error log now no longer has the msg about a validation provider, but another one (info level), again only shown after the waiting period :
org.eclipse.equinox.ds
Info
Wed Dec 02 09:51:50 CET 2015
Could not bind a reference of component EMFFormsViewService. The reference is: Reference[name = Provider, interface = org.eclipse.emf.ecp.view.spi.provider.IViewProvider, policy = dynamic, cardinality = 0..n, target = null, bind = addProvider, unbind = removeProvider]

I would be interested to know if this is a phenomenon only occurring for my install, or if some other EMF form users see something similar?

thanks
erwin
Re: [EMF Forms] opening a view model hangs for very long time [message #1716218 is a reply to message #1716213] Wed, 02 December 2015 09:36 Go to previous message
Eugen Neufeld is currently offline Eugen NeufeldFriend
Messages: 161
Registered: May 2015
Senior Member
Hi Erwin,
We had some auto reports from the new error report tooling that there are some long running tasks when using the view model editor for some users.
My analyzes of the reports didn't show anything I could change.
When we startup the view model editor we resolve the referenced ecore. And on those reports emf wasn't able to initialize those ecores correctly.
Can you check whether your ecore files are all up to date, eg the plugin.xml doesn't contain outdated information.

Personally I didn't had such behavior and don't have an ecore witch allows me to reproduce the error.

Cheers,
Eugen


--
Eugen Neufeld

Get professional Eclipse developer support:
http://eclipsesource.com/en/services/developer-support/
Previous Topic:[EMF Forms] Error running org.eclipse.emf.ecp.makeithappen.application.sample.e3
Next Topic:[EMF Forms] Custom Control Area Questions
Goto Forum:
  


Current Time: Thu Jul 09 00:04:51 GMT 2020

Powered by FUDForum. Page generated in 0.01725 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top