Validation problems [message #1834877] |
Thu, 19 November 2020 10:00  |
Eclipse User |
|
|
|
I have an RCP built on Papyrus so that I can add tooling specific to our DSML. We have a specific Profile we use but the models we create are straight UML so can also be edited in vanilla Papyrus. I want to add some validation constraints to our RCP and so have created the requisite plugin but the validation threw an exception when run. I tried running validation in the Papyrus RCP against the same model and got the same result. I then tried creating a small model from scratch with our profile applied and the validation ran without errors.
Unsurprisingly, I conclude from that that we have somehow managed to corrupt our model such that it breaks validation. That leaves me with two questions:
1) Might it be possible in future to stop the validation from failing and instead identify where the issue is with the model?
2) Is there any hope of tracking down the nature of the issue with the model from the error in the log?
The log entry is below.
Thanks,
Oliver
!ENTRY org.eclipse.emf.edit.ui 2 0 2020-11-19 14:44:13.070
!MESSAGE
!STACK 0
java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:397)
at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:469)
at org.eclipse.papyrus.infra.services.validation.commands.AbstractValidateCommand.runValidation(AbstractValidateCommand.java:169)
at org.eclipse.papyrus.infra.services.validation.commands.ValidateModelCommand.doExecuteWithResult(ValidateModelCommand.java:79)
at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:248)
at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150)
at org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper.execute(GMFtoEMFCommandWrapper.java:123)
at org.eclipse.papyrus.infra.services.validation.handler.AbstractCommandHandler.execute(AbstractCommandHandler.java:157)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:438)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.handleWidgetSelection(AbstractContributionItem.java:449)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem.lambda$2(AbstractContributionItem.java:475)
at org.eclipse.e4.ui.workbench.renderers.swt.AbstractContributionItem$$Lambda$429/0000000000000000.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4213)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1037)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4030)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3630)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1158)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1047)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:658)
at org.eclipse.ui.internal.Workbench$$Lambda$208/0000000000000000.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:557)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1447)
Caused by: java.lang.NullPointerException
at org.eclipse.ocl.pivot.uml.internal.labels.SlotLabelGenerator.buildLabelFor(SlotLabelGenerator.java:29)
at org.eclipse.ocl.pivot.uml.internal.labels.SlotLabelGenerator.buildLabelFor(SlotLabelGenerator.java:1)
at org.eclipse.ocl.pivot.labels.LabelGeneratorRegistry.buildSubLabelFor(LabelGeneratorRegistry.java:216)
at org.eclipse.ocl.pivot.labels.LabelGeneratorRegistry.buildLabelFor(LabelGeneratorRegistry.java:197)
at org.eclipse.ocl.pivot.labels.AbstractLabelGeneratorBuilder.buildLabelFor(AbstractLabelGeneratorBuilder.java:44)
at org.eclipse.ocl.pivot.labels.LabelGeneratorRegistry.labelFor(LabelGeneratorRegistry.java:300)
at org.eclipse.ocl.pivot.utilities.NameUtil.qualifiedNameFor(NameUtil.java:173)
at org.eclipse.ocl.pivot.utilities.LabelUtil.getLabel(LabelUtil.java:282)
at org.eclipse.ocl.pivot.internal.labels.LabelSubstitutionLabelProvider.getObjectLabel(LabelSubstitutionLabelProvider.java:26)
at org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(EObjectValidator.java:103)
at org.eclipse.uml2.uml.util.UMLValidator.validate_MultiplicityConforms(UMLValidator.java:26901)
at org.eclipse.emf.ecore.util.EObjectValidator.validate_EveryMultiplicityConforms(EObjectValidator.java:579)
at org.eclipse.uml2.uml.util.UMLValidator.validateSlot(UMLValidator.java:12663)
at org.eclipse.uml2.uml.util.UMLValidator.validate(UMLValidator.java:4151)
at org.eclipse.emf.ecore.util.EObjectValidator.validate(EObjectValidator.java:324)
at org.eclipse.ocl.pivot.validation.ComposedEValidator.validate(ComposedEValidator.java:125)
at org.eclipse.papyrus.uml.service.validation.internal.OCLEValidatorAdapter.validate(OCLEValidatorAdapter.java:94)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:82)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:309)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:122)
at org.eclipse.papyrus.infra.services.validation.commands.AbstractValidateCommand.validate(AbstractValidateCommand.java:228)
at org.eclipse.papyrus.infra.services.validation.commands.ValidationOperation.run(ValidationOperation.java:58)
at org.eclipse.papyrus.infra.ui.util.TransactionUIHelper$2.run(TransactionUIHelper.java:120)
at org.eclipse.emf.transaction.impl.PrivilegedRunnable.run(PrivilegedRunnable.java:87)
at org.eclipse.papyrus.infra.ui.util.TransactionUIHelper$PrivilegedRunnableWithProgress.run(TransactionUIHelper.java:158)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
Root exception:
java.lang.NullPointerException
at org.eclipse.ocl.pivot.uml.internal.labels.SlotLabelGenerator.buildLabelFor(SlotLabelGenerator.java:29)
at org.eclipse.ocl.pivot.uml.internal.labels.SlotLabelGenerator.buildLabelFor(SlotLabelGenerator.java:1)
at org.eclipse.ocl.pivot.labels.LabelGeneratorRegistry.buildSubLabelFor(LabelGeneratorRegistry.java:216)
at org.eclipse.ocl.pivot.labels.LabelGeneratorRegistry.buildLabelFor(LabelGeneratorRegistry.java:197)
at org.eclipse.ocl.pivot.labels.AbstractLabelGeneratorBuilder.buildLabelFor(AbstractLabelGeneratorBuilder.java:44)
at org.eclipse.ocl.pivot.labels.LabelGeneratorRegistry.labelFor(LabelGeneratorRegistry.java:300)
at org.eclipse.ocl.pivot.utilities.NameUtil.qualifiedNameFor(NameUtil.java:173)
at org.eclipse.ocl.pivot.utilities.LabelUtil.getLabel(LabelUtil.java:282)
at org.eclipse.ocl.pivot.internal.labels.LabelSubstitutionLabelProvider.getObjectLabel(LabelSubstitutionLabelProvider.java:26)
at org.eclipse.emf.ecore.util.EObjectValidator.getObjectLabel(EObjectValidator.java:103)
at org.eclipse.uml2.uml.util.UMLValidator.validate_MultiplicityConforms(UMLValidator.java:26901)
at org.eclipse.emf.ecore.util.EObjectValidator.validate_EveryMultiplicityConforms(EObjectValidator.java:579)
at org.eclipse.uml2.uml.util.UMLValidator.validateSlot(UMLValidator.java:12663)
at org.eclipse.uml2.uml.util.UMLValidator.validate(UMLValidator.java:4151)
at org.eclipse.emf.ecore.util.EObjectValidator.validate(EObjectValidator.java:324)
at org.eclipse.ocl.pivot.validation.ComposedEValidator.validate(ComposedEValidator.java:125)
at org.eclipse.papyrus.uml.service.validation.internal.OCLEValidatorAdapter.validate(OCLEValidatorAdapter.java:94)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:82)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:309)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:143)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:313)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.doValidateContents(UMLDiagnostician.java:110)
at org.eclipse.papyrus.infra.services.validation.internal.EcoreDiagnostician.validate(EcoreDiagnostician.java:85)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:190)
at org.eclipse.papyrus.uml.service.validation.internal.UMLDiagnostician.validate(UMLDiagnostician.java:122)
at org.eclipse.papyrus.infra.services.validation.commands.AbstractValidateCommand.validate(AbstractValidateCommand.java:228)
at org.eclipse.papyrus.infra.services.validation.commands.ValidationOperation.run(ValidationOperation.java:58)
at org.eclipse.papyrus.infra.ui.util.TransactionUIHelper$2.run(TransactionUIHelper.java:120)
at org.eclipse.emf.transaction.impl.PrivilegedRunnable.run(PrivilegedRunnable.java:87)
at org.eclipse.papyrus.infra.ui.util.TransactionUIHelper$PrivilegedRunnableWithProgress.run(TransactionUIHelper.java:158)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04267 seconds