Reading ecore causes stack overflow [message #505657] |
Mon, 04 January 2010 09:12 |
|
Hi,
I have managed to break EMF, not the best of ways to start the new year ;-(
I have a set of ecore models that all of a sudden started to throw StackOverflowError exceptions when I ran the generator. I figured that the genmodel had become corrupted so I tried to generate a new one. I found out that that also throws a StackOverflowError when reading in the ecore.
While there are five ecore files, I have narrowed it down to a set of two that cause the problem, org.eclipse.ormf.model.base.ecore and org.eclipse.ormf.model.project.ecore; project depends on base.
I very much appreciate ideas on where to start in debugging this.
While these files can be checked out of the ORMF SVN repository, I have tried to make life simple making a zip of these available here ormf.design.model.zip.
Many thanks in advance,
Joel
The exception, note the I have truncated the message to trim the isBounded calls that repeat ad infinitum.
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:479)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:946)
at org.eclipse.emf.importer.ui.contribution.base.ModelImporterDetailPage.refreshModel(ModelImporterDetailPage.java:374)
at org.eclipse.emf.importer.ui.contribution.base.ModelImporterDetailPage.doHandleEvent(ModelImporterDetailPage.java:169)
at org.eclipse.emf.converter.ui.contribution.base.ModelConverterPage.handleEvent(ModelConverterPage.java:145)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3697)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1314)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1337)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1322)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1136)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3557)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3215)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:825)
at org.eclipse.jface.window.Window.open(Window.java:801)
at org.eclipse.ui.internal.handlers.WizardHandler$New.executeHandler(WizardHandler.java:253)
at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:273)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:293)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
at org.eclipse.ui.internal.handlers.SlaveHandlerService.executeCommand(SlaveHandlerService.java:241)
at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3697)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1314)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1337)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1322)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1136)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3557)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3215)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2407)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2371)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2220)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:367)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:611)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:566)
at org.eclipse.equinox.launcher.Main.run(Main.java:1363)
Caused by: java.lang.StackOverflowError
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3392)
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3417)
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3392)
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3417)
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3392)
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3417)
at org.eclipse.emf.ecore.util.EcoreValidator.isBounded(EcoreValidator.java:3392)
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.03057 seconds