eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
0 stars 0 forks source link

[pivot] Pivot.ocl AS can't be opened from Sample Ecore Editor #1360

Open eclipse-ocl-bot opened 1 month ago

eclipse-ocl-bot commented 1 month ago

| --- | --- | | Bugzilla Link | 439555 | | Status | NEW | | Importance | P3 normal | | Reported | Jul 14, 2014 12:24 EDT | | Modified | Jul 14, 2014 13:26 EDT | | Reporter | Adolfo Sanchez-Barbudo Herrera |

Description

Using OCL SDK All In One 5.0.1

Steps to reproduce.

  1. Open org.eclipse.ocl.examples.pivot/model/Pivot.ocl
  2. Right click on the editor -> OCL -> Save Abstract Syntax
  3. Open the created Pivot.ocl.oclas -> StackOverflowException[1]

[1] java.lang.StackOverflowError\ at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:94)\ at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)\ at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)\ at com.google.inject.internal.InjectorImpl$4$1.call(InjectorImpl.java:978)\ at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)\ at com.google.inject.internal.InjectorImpl$4.get(InjectorImpl.java:974)\ at org.eclipse.xtext.resource.XtextResourceFactory.createResource(XtextResourceFactory.java:19)\ at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.createResource(ResourceSetImpl.java:434)\ at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.createResource(ResourceSetImpl.java:423)\ at org.eclipse.ocl.examples.pivot.context.AbstractParserContext.createBaseResource(AbstractParserContext.java:62)\ at org.eclipse.ocl.examples.pivot.context.AbstractParserContext.parse(AbstractParserContext.java:121)\ at org.eclipse.ocl.examples.pivot.utilities.PivotUtil.getExpressionInOCL(PivotUtil.java:818)\ at org.eclipse.ocl.examples.pivot.utilities.PivotUtil.getExpressionInOCL(PivotUtil.java:807)\ at org.eclipse.ocl.examples.pivot.utilities.PivotUtil.getExpressionInOCL(PivotUtil.java:779)\ at org.eclipse.ocl.examples.pivot.internal.impl.OpaqueExpressionImpl.getExpressionInOCL(OpaqueExpressionImpl.java:375)\ at org.eclipse.ocl.examples.pivot.internal.impl.OpaqueExpressionImpl.eGet(OpaqueExpressionImpl.java:166)\ at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1011)\ at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1003)\ at org.eclipse.emf.edit.provider.ItemProviderAdapter.getValue(ItemProviderAdapter.java:167)\ at org.eclipse.emf.edit.provider.ItemProviderAdapter.getChildren(ItemProviderAdapter.java:381)\ at org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider.getChildren(AdapterFactoryContentProvider.java:175)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1475)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1480)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1480)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1480)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1480)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1480)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.decorate(DiagnosticDecorator.java:1428)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.redecorate(DiagnosticDecorator.java:1301)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator.handleDiagnostic(DiagnosticDecorator.java:1270)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator$DiagnosticDecoratorAdapter$Dispatcher.dispatch(DiagnosticDecorator.java:925)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator$DiagnosticDecoratorAdapter$Dispatcher.dispatch(DiagnosticDecorator.java:878)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator$DiagnosticDecoratorAdapter.updateDiagnostic(DiagnosticDecorator.java:979)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator$DiagnosticDecoratorAdapter.handleResourceDiagnostics(DiagnosticDecorator.java:1000)\ at org.eclipse.emf.edit.ui.provider.DiagnosticDecorator$DiagnosticAdapter.notifyChanged(DiagnosticDecorator.java:223)\ at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374)\ at org.eclipse.emf.ecore.resource.impl.ResourceImpl$ContentsEList.loaded(ResourceImpl.java:477)\ at org.eclipse.emf.ecore.resource.impl.ResourceImpl$ContentsEList.didAdd(ResourceImpl.java:438)\ at org.eclipse.emf.common.util.BasicEList.addUnique(BasicEList.java:419)\ at org.eclipse.emf.common.notify.impl.NotifyingListImpl.doAddUnique(NotifyingListImpl.java:325)\ at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique(NotifyingListImpl.java:282)\ at org.eclipse.emf.common.util.AbstractEList.add(AbstractEList.java:303)\ at org.eclipse.ocl.examples.xtext.base.cs2as.CS2PivotConversion.installRootElement(CS2PivotConversion.java:761)\ at org.eclipse.ocl.examples.xtext.base.cs2as.CS2PivotConversion.installRootContents(CS2PivotConversion.java:720)\ at org.eclipse.ocl.examples.xtext.base.cs2as.CS2PivotConversion.update(CS2PivotConversion.java:1291)\ at org.eclipse.ocl.examples.xtext.base.cs2as.CS2Pivot.update(CS2Pivot.java:511)\ at org.eclipse.ocl.examples.xtext.base.utilities.CS2PivotResourceAdapter.refreshPivotMappings(CS2PivotResourceAdapter.java:88)\ at org.eclipse.ocl.examples.xtext.base.utilities.CS2PivotLinker.afterModelLinked(CS2PivotLinker.java:69)\ at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.linkModel(AbstractCleaningLinker.java:49)\ at org.eclipse.xtext.resource.XtextResource.doLinking(XtextResource.java:292)\ at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLinking(LazyLinkingResource.java:88)\ at org.eclipse.ocl.examples.xtext.essentialocl.utilities.EssentialOCLCSResource.doLinking(EssentialOCLCSResource.java:217)\ at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:260)\ at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:250)\ at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:163)\ at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:81)\ at org.eclipse.ocl.examples.xtext.essentialocl.utilities.EssentialOCLCSResource.doLoad(EssentialOCLCSResource.java:225)\ at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518)\ at org.eclipse.ocl.examples.pivot.context.AbstractParserContext.createBaseResource(AbstractParserContext.java:72)\ at org.eclipse.ocl.examples.pivot.context.AbstractParserContext.parse(AbstractParserContext.java:121)\ at org.eclipse.ocl.examples.pivot.utilities.PivotUtil.getExpressionInOCL(PivotUtil.java:818)\ at org.eclipse.ocl.examples.pivot.utilities.PivotUtil.getExpressionInOCL(PivotUtil.java:807) ....

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Jul 14, 2014 13:18

(In reply to Adolfo Sanchez-Barbudo Herrera from comment #0)

  1. Open the created Pivot.ocl.oclas -> StackOverflowException[1]

The reported StacvkOverflow doesn't happen until the DiagnosticDEcorator tries to do some work. A quicker repro occurs if the model is validated.

A StackOverflow also occurs if org.eclipse.ocl.examples.pivot/model-gen/Pivot.oclas is opened with the default editor. Probably the same problem.

eclipse-ocl-bot commented 1 month ago

By Adolfo Sanchez-Barbudo Herrera on Jul 14, 2014 13:26

It doesn't occur with other simple examples I've checked, but it does with the PivotNameResolution.ocl file in my branch. Perhaps, importing the pivot metamodel is the common cause of the failure in those two particular files.