eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
0 stars 0 forks source link

[pivot] ISE in CompleteClassImpl.getPrimaryClass #1471

Closed eclipse-ocl-bot closed 5 hours ago

eclipse-ocl-bot commented 5 hours ago

| --- | --- | | Bugzilla Link | 461648 | | Status | RESOLVED FIXED | | Importance | P3 normal | | Reported | Mar 07, 2015 13:58 EDT | | Modified | Sep 11, 2017 06:21 EDT | | See also | 522106 | | Reporter | Ed Willink |

Description

The following stack trace from EditTests.testEdit_Paste_OCLstdlib looks a bit like some difficult to explain traces from AERI.

Thread [main] (Suspended (exception java.lang.IllegalStateException)) \ owns: org.eclipse.ocl.pivot.internal.complete.CompleteInheritanceImpl (id=572) \ org.eclipse.ocl.pivot.internal.CompleteClassImpl.getPrimaryClass() line: 493 \ org.eclipse.ocl.pivot.internal.complete.PartialClasses.getCompleteInheritance() line: 441 \ org.eclipse.ocl.pivot.internal.CompleteClassImpl.getCompleteInheritance() line: 429 \ org.eclipse.ocl.pivot.internal.complete.PartialClasses$1$1.next() line: 482 \ org.eclipse.ocl.pivot.internal.complete.PartialClasses$1$1.next() line: 1 \ org.eclipse.ocl.pivot.internal.complete.CompleteInheritanceImpl(org.eclipse.ocl.pivot.internal.library.executor.ReflectiveInheritance).gatherUninstalledInheritances(java.util.List) line: 111 \ org.eclipse.ocl.pivot.internal.complete.CompleteInheritanceImpl(org.eclipse.ocl.pivot.internal.library.executor.ReflectiveInheritance).initialize() line: 210 \ org.eclipse.ocl.pivot.internal.complete.CompleteInheritanceImpl(org.eclipse.ocl.pivot.internal.library.executor.ReflectiveInheritance).getDepth() line: 149 \ org.eclipse.ocl.pivot.internal.complete.CompleteInheritanceImpl(org.eclipse.ocl.pivot.types.AbstractInheritance).getFragment(org.eclipse.ocl.pivot.CompleteInheritance) line: 176 \ org.eclipse.ocl.pivot.internal.complete.CompleteInheritanceImpl(org.eclipse.ocl.pivot.types.AbstractInheritance).isSubInheritanceOf(org.eclipse.ocl.pivot.CompleteInheritance) line: 207 \ org.eclipse.ocl.pivot.internal.ClassImpl.conformsTo(org.eclipse.ocl.pivot.StandardLibrary, org.eclipse.ocl.pivot.Type) line: 1125 \ org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation.evaluate(org.eclipse.ocl.pivot.evaluation.Evaluator, java.lang.Object, java.lang.Object) line: 37 \ org.eclipse.ocl.pivot.internal.IteratorExpImpl.validateClosureElementTypeIsSourceElementType(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 700 \ org.eclipse.ocl.pivot.util.PivotValidator.validateIteratorExp_validateClosureElementTypeIsSourceElementType(org.eclipse.ocl.pivot.IteratorExp, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 2550 \ org.eclipse.ocl.pivot.util.PivotValidator.validateIteratorExp(org.eclipse.ocl.pivot.IteratorExp, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 2259 \ org.eclipse.ocl.pivot.util.PivotValidator.validate(int, java.lang.Object, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 808 \ org.eclipse.ocl.pivot.util.PivotValidator(org.eclipse.emf.ecore.util.EObjectValidator).validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 324 \ org.eclipse.emf.ecore.util.Diagnostician.doValidate(org.eclipse.emf.ecore.EValidator, org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 171 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 158 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 181 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 161 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 181 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 161 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 185 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 161 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 185 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 161 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 185 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 161 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 185 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EClass, org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 161 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map<java.lang.Object,java.lang.Object>) line: 137 \ org.eclipse.emf.ecore.util.Diagnostician.validate(org.eclipse.emf.ecore.EObject, java.util.Map<?,?>) line: 120 \ org.eclipse.ocl.examples.pivot.tests.PivotTestCase.assertNoValidationErrors(java.lang.String, org.eclipse.emf.ecore.EObject) line: 307 \ org.eclipse.ocl.examples.pivot.tests.PivotTestCase.assertNoValidationErrors(java.lang.String, org.eclipse.emf.ecore.resource.Resource) line: 299 \ org.eclipse.ocl.examples.test.xtext.EditTests.testEdit_Paste_OCLstdlib() line: 758 \ sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, java.lang.Object, java.lang.Object[]) line: not available [native method] \ sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 39 \ sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 25 \ java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 597 \ org.eclipse.ocl.examples.test.xtext.EditTests(junit.framework.TestCase).runTest() line: 176 \ org.eclipse.ocl.examples.test.xtext.EditTests(junit.framework.TestCase).runBare() line: 141 \ junit.framework.TestResult$1.protect() line: 122 \ junit.framework.TestResult.runProtected(junit.framework.Test, junit.framework.Protectable) line: 142 \ junit.framework.TestResult.run(junit.framework.TestCase) line: 125 \ org.eclipse.ocl.examples.test.xtext.EditTests(junit.framework.TestCase).run(junit.framework.TestResult) line: 129 \ junit.framework.TestSuite.runTest(junit.framework.Test, junit.framework.TestResult) line: 255 \ junit.framework.TestSuite.run(junit.framework.TestResult) line: 250 \ org.junit.internal.runners.JUnit38ClassRunner.run(org.junit.runner.notification.RunNotifier) line: 84 \ org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(org.eclipse.jdt.internal.junit.runner.TestExecution) line: 86 \ org.eclipse.jdt.internal.junit.runner.TestExecution.run(org.eclipse.jdt.internal.junit.runner.ITestReference[]) line: 38 \ org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(java.lang.String[], java.lang.String, org.eclipse.jdt.internal.junit.runner.TestExecution) line: 459 \ org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(org.eclipse.jdt.internal.junit.runner.TestExecution) line: 675 \ org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run() line: 382 \ org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(java.lang.String[]) line: 192

eclipse-ocl-bot commented 5 hours ago

By Ed Willink on Sep 11, 2017 06:21

Bug 522106 finally provides a policy for console logging.

The reported trace here falls into the should-be-handled-by-caller category.

Since the caller is a JUnit plugin test, we are happy to see the JUnit filure in the JUnit view. AERI is not troubled.