| Summary: | [JavaVMTypes]: BasicIndexOutOfBoundsException when using JavaVMTypes and refering class with "suppresswarnings" annotation | ||
|---|---|---|---|
| Product: | [Modeling] TMF | Reporter: | Eckle <xx.eckle> |
| Component: | Xtext | Assignee: | Project Inbox <tmf.xtext-inbox> |
| Status: | CLOSED WORKSFORME | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | sebastian.zarnekow, stephan.herrmann |
| Version: | 1.0.0 | Flags: | sebastian.zarnekow:
helios+
|
| Target Milestone: | M7 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Eckle
Is this bug still reproducable with Xtext 1.0M7? as information: we have bound an builderparticipant to the xtext builder, running some code generation with xpand. @Sebastian: sorry, we are using xtext 1.0.0m6, i changed the version above. workaround: change the annotation from e.g. @SuppressWarnings("unchecked") to @SuppressWarnings({"unchecked"})
Some significant changes made it into M7. I'm pretty sure this one was fixed as well. Do you have the possibility to verify that it is still present in M7? Otherwise I'ld like to close it. ok, i quick checked it with m7 and it was not reproducable. can be closed This has already been fixed. Here's a similar failure I just observed with xtend 2.3.1 (I believe) invoked via xtend-maven-plugin:2.3.0. I *think* the last action before desaster was to remove the xtend-gen folder, as to revert accidental persisting in svn. This was difficult to resolve, as the exception gave no clue on where in a big build the thing blew up. The Eclipse console showing maven log was overflowing in a fraction of a second, producing millions of instances of this stack trace. Once I was in this state, no "mvn clean install" would ever get me out of the bad state. Only an unreproduceable sequence of eclipse actions (clean, refresh, clean, build, clean other project etc. you get the idea) got me back into a state where "mvn clean install" would run to completion. I'm sorry these are no useful steps for reproducing (therefor not re-opening this bug), but couldn't you add some catch code that would give a useful error message? E.g.: which type was being sought? What data was corrupt as to trigger the IOOBE? What triggered the entire lookup? resolution of uriFragment 'xtextLink_::0.1.0.6.3.3.0.2.2.7.0::1::/0' failed. org.eclipse.emf.common.util.BasicEList$BasicIndexOutOfBoundsException: index=0, size=0 at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:352) at org.eclipse.xtext.common.types.access.impl.AbstractClassMirror.getEObject(AbstractClassMirror.java:83) at org.eclipse.xtext.common.types.access.TypeResource.getEObject(TypeResource.java:54) at org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider.findTypeByClass(ClasspathTypeProvider.java:126) at org.eclipse.xtext.common.types.access.impl.ClasspathTypeProvider.findTypeByName(ClasspathTypeProvider.java:82) at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getSingleElement(AbstractTypeScope.java:54) at org.eclipse.xtext.common.types.xtext.AbstractTypeScope.getElements(AbstractTypeScope.java:68) at org.eclipse.xtext.scoping.impl.AbstractScope$2.get(AbstractScope.java:135) at org.eclipse.xtext.scoping.impl.AbstractScope$2.get(AbstractScope.java:1) at org.eclipse.xtext.scoping.impl.AbstractScope$ParentIterable.iterator(AbstractScope.java:59) at com.google.common.collect.Iterables$3.next(Iterables.java:505) at com.google.common.collect.Iterables$3.next(Iterables.java:498) at com.google.common.collect.Iterators$5.hasNext(Iterators.java:540) at org.eclipse.xtext.scoping.impl.ImportScope.getLocalElementsByName(ImportScope.java:154) at org.eclipse.xtend.core.scoping.XtendImportedNamespaceScopeProvider$1.getLocalElementsByName(XtendImportedNamespaceScopeProvider.java:157) at org.eclipse.xtext.scoping.impl.ImportScope.getSingleLocalElementByName(ImportScope.java:140) at org.eclipse.xtend.core.scoping.XtendImportedNamespaceScopeProvider$1.getSingleLocalElementByName(XtendImportedNamespaceScopeProvider.java:150) at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:102) at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:105) at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:105) at org.eclipse.xtext.scoping.impl.AbstractScope.getSingleElement(AbstractScope.java:105) at org.eclipse.xtext.linking.impl.DefaultLinkingService.getLinkedObjects(DefaultLinkingService.java:121) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject(LazyLinkingResource.java:179) at org.eclipse.xtext.xbase.resource.XbaseResource.access$0(XbaseResource.java:1) at org.eclipse.xtext.xbase.resource.XbaseResource$2.exec(XbaseResource.java:239) at org.eclipse.xtext.xbase.resource.XbaseResource$2.exec(XbaseResource.java:1) at org.eclipse.xtext.util.OnChangeEvictingCache.execWithoutCacheClear(OnChangeEvictingCache.java:124) at org.eclipse.xtext.xbase.resource.XbaseResource.getEObject(XbaseResource.java:237) at org.eclipse.xtend.core.resource.XtendResource.getEObject(XtendResource.java:88) at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:219) at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:202) at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:262) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1475) at org.eclipse.xtext.common.types.impl.JvmTypeReferenceImplCustom.eResolveProxy(JvmTypeReferenceImplCustom.java:37) at org.eclipse.xtext.common.types.impl.JvmParameterizedTypeReferenceImpl.getType(JvmParameterizedTypeReferenceImpl.java:110) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider.linearizeTypeHierarchy(JvmFeatureScopeProvider.java:134) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider.createFeatureScopeForTypeRef(JvmFeatureScopeProvider.java:109) at org.eclipse.xtext.xbase.scoping.featurecalls.JvmFeatureScopeProvider.createFeatureScope(JvmFeatureScopeProvider.java:73) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider$JvmFeatureScopeAcceptor.createScope(XbaseScopeProvider.java:776) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createFeatureScopeForTypeRef(XbaseScopeProvider.java:380) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createFeatureCallScopeForReceiver(XbaseScopeProvider.java:403) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.createFeatureCallScope(XbaseScopeProvider.java:335) at org.eclipse.xtext.xbase.scoping.XbaseScopeProvider.getScope(XbaseScopeProvider.java:179) at org.eclipse.xtext.xbase.annotations.scoping.XbaseWithAnnotationsScopeProvider.getScope(XbaseWithAnnotationsScopeProvider.java:50) at org.eclipse.xtext.xbase.linking.XbaseLinkingScopeProvider.getScope(XbaseLinkingScopeProvider.java:42) at org.eclipse.xtext.linking.impl.DefaultLinkingService.getScope(DefaultLinkingService.java:59) at org.eclipse.xtext.linking.impl.DefaultLinkingService.getLinkedObjects(DefaultLinkingService.java:119) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.getEObject(LazyLinkingResource.java:179) at org.eclipse.xtext.xbase.resource.XbaseResource.access$0(XbaseResource.java:1) at org.eclipse.xtext.xbase.resource.XbaseResource$2.exec(XbaseResource.java:239) at org.eclipse.xtext.xbase.resource.XbaseResource$2.exec(XbaseResource.java:1) at org.eclipse.xtext.util.OnChangeEvictingCache.execWithoutCacheClear(OnChangeEvictingCache.java:124) at org.eclipse.xtext.xbase.resource.XbaseResource.getEObject(XbaseResource.java:237) at org.eclipse.xtend.core.resource.XtendResource.getEObject(XtendResource.java:88) at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:219) at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:202) at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:262) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1475) at org.eclipse.xtext.xbase.impl.XAbstractFeatureCallImpl.getFeature(XAbstractFeatureCallImpl.java:175) at org.eclipse.xtext.xbase.impl.XAbstractFeatureCallImpl.eGet(XAbstractFeatureCallImpl.java:434) at org.eclipse.xtext.xbase.impl.XMemberFeatureCallImpl.eGet(XMemberFeatureCallImpl.java:320) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1013) at org.eclipse.emf.ecore.impl.BasicEObjectImpl.eGet(BasicEObjectImpl.java:1005) at org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.hasNext(EContentsEList.java:409) at org.eclipse.emf.ecore.util.EcoreUtil.resolveCrossReferences(EcoreUtil.java:307) at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(EcoreUtil.java:287) at org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(EcoreUtil.java:274) at org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler.compile(XtendBatchCompiler.java:232) at org.eclipse.xtend.maven.AbstractXtend2CompilerMojo.compile(AbstractXtend2CompilerMojo.java:104) at org.eclipse.xtend.maven.XtendCompile.compileSources(XtendCompile.java:53) at org.eclipse.xtend.maven.XtendCompile.internalExecute(XtendCompile.java:45) at org.eclipse.xtend.maven.AbstractXtend2CompilerMojo.execute(AbstractXtend2CompilerMojo.java:69) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:107) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:534) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 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.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Hi Stephan, thanks for coming back to this issue. In the current master branch, we do already log the questionable type and add the stack only if debug log is enabled. I hope that this will make it easier to identify class path problems in the future. |