Unexpected ArrayIndexOutOfBoundsException from scala.tools.nsc.util.HashSet
Migrated from http://lampsvn.epfl.ch/trac/scala/ticket/2911
Reporter BenHutchison
This looks like a bug, but Im not sure. I just spotted it in passing within an Eclipse SDT stacktrace, and unfortunately dont know how to reproduce it.
Here's the top of the stack trace. From a look at the HashSet src, it doesnt seem like line 31 should ever throw a bounds exception in correct operation.
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16484 at scala.tools.nsc.util.HashSet.findEntryOrUpdate(HashSet.scala:31)
I googled and found another user report a year ago thats very similar, also within Eclipse:
http://old.nabble.com/-scala-tools--Building-eclipse-plug-in-fails-%28scaladoc%29-td22079605.html Speculating as to why it's showed up twice in SDT, maybe there's some missing synchronization from SDT's usage of the compiler?
Here's some more stack trace context; it was observed when launching JUnit tests from within Eclipse SDT (nightly build of Jan 15th):
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16484
at scala.tools.nsc.util.HashSet.findEntryOrUpdate(HashSet.scala:31)
at scala.tools.nsc.symtab.Types$class.unique(Types.scala:2640)
at scala.tools.nsc.symtab.Types$class.singleType(Types.scala:2319)
at scala.tools.nsc.symtab.SymbolTable.singleType(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Symbols$ClassSymbol.typeOfThis(Symbols.scala:1985)
at scala.tools.nsc.symtab.Types$ThisType.underlying(Types.scala:1028)
at scala.tools.nsc.symtab.Types$SimpleTypeProxy$class.isHigherKinded(Types.scala:173)
at scala.tools.nsc.symtab.Types$SingletonType.isHigherKinded(Types.scala:951)
at scala.tools.nsc.transform.UnCurry.scala$tools$nsc$transform$UnCurry$$expandAlias(UnCurry.scala:51)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:60)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:58)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2736)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:81)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:58)
at scala.tools.nsc.transform.UnCurry.transformInfo(UnCurry.scala:131)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$class.paramType$1(ScalaStructureBuilder.scala:393)
...
Reporter BenHutchison
This looks like a bug, but Im not sure. I just spotted it in passing within an Eclipse SDT stacktrace, and unfortunately dont know how to reproduce it.
Here's the top of the stack trace. From a look at the HashSet src, it doesnt seem like line 31 should ever throw a bounds exception in correct operation.
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16484 at scala.tools.nsc.util.HashSet.findEntryOrUpdate(HashSet.scala:31)
I googled and found another user report a year ago thats very similar, also within Eclipse:
http://old.nabble.com/-scala-tools--Building-eclipse-plug-in-fails-%28scaladoc%29-td22079605.html Speculating as to why it's showed up twice in SDT, maybe there's some missing synchronization from SDT's usage of the compiler?
Here's some more stack trace context; it was observed when launching JUnit tests from within Eclipse SDT (nightly build of Jan 15th):
Caused by: java.lang.ArrayIndexOutOfBoundsException: 16484
at scala.tools.nsc.util.HashSet.findEntryOrUpdate(HashSet.scala:31)
at scala.tools.nsc.symtab.Types$class.unique(Types.scala:2640)
at scala.tools.nsc.symtab.Types$class.singleType(Types.scala:2319)
at scala.tools.nsc.symtab.SymbolTable.singleType(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Symbols$ClassSymbol.typeOfThis(Symbols.scala:1985)
at scala.tools.nsc.symtab.Types$ThisType.underlying(Types.scala:1028)
at scala.tools.nsc.symtab.Types$SimpleTypeProxy$class.isHigherKinded(Types.scala:173)
at scala.tools.nsc.symtab.Types$SingletonType.isHigherKinded(Types.scala:951)
at scala.tools.nsc.transform.UnCurry.scala$tools$nsc$transform$UnCurry$$expandAlias(UnCurry.scala:51)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:60)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:58)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2736)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:81)
at scala.tools.nsc.transform.UnCurry$$anon$2.apply(UnCurry.scala:58)
at scala.tools.nsc.transform.UnCurry.transformInfo(UnCurry.scala:131)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$class.paramType$1(ScalaStructureBuilder.scala:393)
...
Leave a comment
on 2010-01-27 06:05 *
By tracImporter
Trac author: malayeri
We think that the Eclipse plugin might be causing a race condition in the compiler. Miles, feel free to change to change status to wontfix.
We think that the Eclipse plugin might be causing a race condition in the compiler. Miles, feel free to change to change status to wontfix.
on 2010-01-27 06:10 *
By tracImporter
Trac author: plocinic
I found the same exception a couple of days ago in my eclipse logs (maybe it helps):
I found the same exception a couple of days ago in my eclipse logs (maybe it helps):
java.lang.ArrayIndexOutOfBoundsException: 8041
at scala.tools.nsc.util.HashSet.findEntryOrUpdate(HashSet.scala:31)
at scala.tools.nsc.symtab.Types$class.unique(Types.scala:2660)
at scala.tools.nsc.symtab.Types$class.rawTypeRef(Types.scala:2452)
at scala.tools.nsc.symtab.SymbolTable.rawTypeRef(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$class.typeRef(Types.scala:2444)
at scala.tools.nsc.symtab.SymbolTable.typeRef(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$SubstSymMap.toType(Types.scala:3218)
at scala.tools.nsc.symtab.Types$SubstSymMap.toType(Types.scala:3215)
at scala.tools.nsc.symtab.Types$SubstMap.subst(Types.scala:3169)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3205)
at scala.tools.nsc.symtab.Types$SubstSymMap.apply(Types.scala:3234)
at scala.tools.nsc.symtab.Types$SubstSymMap.apply(Types.scala:3215)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:2856)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:2852)
at scala.tools.nsc.symtab.Types$class.map2Conserve(Types.scala:4534)
at scala.tools.nsc.symtab.SymbolTable.map2Conserve(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$TypeMap.mapOverArgs(Types.scala:2852)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2762)
at scala.tools.nsc.symtab.Types$SubstSymMap.apply(Types.scala:3230)
at scala.tools.nsc.symtab.Types$SubstSymMap.apply(Types.scala:3215)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$17.apply(Types.scala:2874)
at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$17.apply(Types.scala:2871)
at scala.collection.LinearSeqLike$class.exists(LinearSeqLike.scala:117)
at scala.collection.immutable.List.exists(List.scala:46)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2871)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2776)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3190)
at scala.tools.nsc.symtab.Types$SubstSymMap.apply(Types.scala:3234)
at scala.tools.nsc.symtab.Types$Type.substSym(Types.scala:538)
at scala.tools.nsc.symtab.Types$class.matchesQuantified$1(Types.scala:4420)
at scala.tools.nsc.symtab.Types$class.matchesType(Types.scala:4451)
at scala.tools.nsc.symtab.SymbolTable.matchesType(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$Type.matches(Types.scala:636)
at scala.tools.nsc.symtab.Types$Type.findMember(Types.scala:813)
at scala.tools.nsc.symtab.Types$Type.nonPrivateMember(Types.scala:469)
at scala.tools.nsc.symtab.Definitions$definitions$.getMember(Definitions.scala:491)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2417)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3270)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3270)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:716)
at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:3270)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3325)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3944)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4098)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4164)
at scala.tools.nsc.typechecker.Typers$Typer.typedIf$1(Typers.scala:3138)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3825)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4098)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4164)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:4244)
at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:919)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1144)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:516)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:514)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1304)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:758)
at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:867)
at scala.tools.nsc.symtab.Symbols$Symbol.annotations(Symbols.scala:114)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.liftedTree1$1(ScalaStructureBuilder.scala:499)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.addAnnotations(ScalaStructureBuilder.scala:499)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$DefOwner$class.addDef(ScalaStructureBuilder.scala:445)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Builder.addDef(ScalaStructureBuilder.scala:584)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:655)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1623)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:686)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1710)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1708)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:97)
at scala.collection.immutable.List.foreach(List.scala:46)
at scala.tools.nsc.ast.Trees$Traverser.traverseStats(Trees.scala:1708)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:674)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:628)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:628)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:693)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:625)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:625)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:624)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1623)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:686)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1710)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseStats$1.apply(Trees.scala:1708)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:97)
at scala.collection.immutable.List.foreach(List.scala:46)
at scala.tools.nsc.ast.Trees$Traverser.traverseStats(Trees.scala:1708)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:674)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:628)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2$$anonfun$apply$2.apply(ScalaStructureBuilder.scala:628)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:693)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:625)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$2.apply(ScalaStructureBuilder.scala:625)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:624)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:97)
at scala.collection.immutable.List.foreach(List.scala:46)
at scala.tools.nsc.ast.Trees$Traverser.traverseTrees(Trees.scala:1702)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverse$1.apply(Trees.scala:1594)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverse$1.apply(Trees.scala:1594)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1593)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.scala$tools$eclipse$javaelements$ScalaStructureBuilder$StructureBuilderTraverser$$super$traverse(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$1.apply(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$1.apply(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:693)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:620)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:1702)
at scala.collection.LinearSeqLike$class.foreach(LinearSeqLike.scala:97)
at scala.collection.immutable.List.foreach(List.scala:46)
at scala.tools.nsc.ast.Trees$Traverser.traverseTrees(Trees.scala:1702)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverse$1.apply(Trees.scala:1594)
at scala.tools.nsc.ast.Trees$Traverser$$anonfun$traverse$1.apply(Trees.scala:1594)
at scala.tools.nsc.ast.Trees$Traverser.atOwner(Trees.scala:1717)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:1593)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.scala$tools$eclipse$javaelements$ScalaStructureBuilder$StructureBuilderTraverser$$super$traverse(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$1.apply(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$$anonfun$traverse$1.apply(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:693)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:620)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$buildStructure$1.apply(ScalaCompilationUnit.scala:87)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$buildStructure$1.apply(ScalaCompilationUnit.scala:78)
at scala.tools.eclipse.util.Cached$$anonfun$apply$3.apply(Cached.scala:58)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:56)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.apply(ScalaPresentationCompiler.scala:67)
at scala.tools.eclipse.ScalaPresentationCompiler.withCompilerResult(ScalaPresentationCompiler.scala:90)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:374)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:373)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:38)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:369)
at scala.tools.eclipse.ScalaProject.withCompilerResult(ScalaProject.scala:373)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withCompilerResult(ScalaCompilationUnit.scala:37)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withCompilerResult(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.buildStructure(ScalaCompilationUnit.scala:78)
at scala.tools.eclipse.javaelements.ScalaSourceFile.buildStructure(ScalaSourceFile.scala:40)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:193)
at scala.tools.eclipse.javaelements.ScalaSourceFile.getCorrespondingElement(ScalaSourceFile.scala:93)
at scala.tools.eclipse.javaelements.ScalaSourceFile.getType(ScalaSourceFile.scala:98)
at org.eclipse.jdt.internal.core.CompilationUnit.getHandleFromMemento(CompilationUnit.java:738)
at org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento(JavaElement.java:273)
at org.eclipse.jdt.internal.core.PackageFragment.getHandleFromMemento(PackageFragment.java:276)
at org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento(JavaElement.java:273)
at org.eclipse.jdt.internal.core.PackageFragmentRoot.getHandleFromMemento(PackageFragmentRoot.java:445)
at org.eclipse.jdt.internal.core.JavaProject.getHandleFromMemento(JavaProject.java:1524)
at org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento(JavaElement.java:273)
at org.eclipse.jdt.internal.core.JavaModel.getHandleFromMemento(JavaModel.java:167)
at org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento(JavaElement.java:273)
at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:2452)
at org.eclipse.jdt.core.JavaCore.create(JavaCore.java:2427)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.createFromElement(OpenTypeHistory.java:389)
at org.eclipse.jdt.internal.corext.util.History.load(History.java:275)
at org.eclipse.jdt.internal.corext.util.History.load(History.java:166)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.<init>(OpenTypeHistory.java:199)
at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.getInstance(OpenTypeHistory.java:185)
at org.eclipse.jdt.internal.ui.JavaPlugin.initializeAfterLoad(JavaPlugin.java:381)
at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:36)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
on 2010-03-05 04:27 *
By tracImporter
Trac author: ijuma
CC Change: mlists@…
CC Change: mlists@…
on 2010-09-07 06:54 *
By Iulian Dragos
I stepped on this as well. It looks like the ScalaStructureBuilder is calling .tpe and other methods in the presentation compiler from the UI thread. Unfortunately, the lazy nature of types makes this very dangerous, since a call to .tpe may trigger the typechecker, and mess up the symbol table. Everything should be called through the 'ask' methods, otherwise race conditions like this will happen. Here's my stack trace, anyway:
java.lang.ArrayIndexOutOfBoundsException: 13373
at scala.tools.nsc.util.HashSet.findEntryOrUpdate(HashSet.scala:30)
at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$unique(Types.scala:2722)
at scala.tools.nsc.symtab.Types$class.singleType(Types.scala:2444)
at scala.tools.nsc.symtab.SymbolTable.singleType(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Symbols$ClassSymbol.typeOfThis(Symbols.scala:1990)
at scala.tools.nsc.symtab.Types$ThisType.underlying(Types.scala:1049)
at scala.tools.nsc.symtab.Types$SimpleTypeProxy$class.boundSyms(Types.scala:188)
at scala.tools.nsc.symtab.Types$SingletonType.boundSyms(Types.scala:971)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3245)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3214)
at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:2819)
at scala.tools.nsc.symtab.Types$SubstMap.apply(Types.scala:3248)
at scala.tools.nsc.symtab.Types$Type.subst(Types.scala:538)
at scala.tools.nsc.symtab.Types$Type.instantiateTypeParams(Types.scala:399)
at scala.tools.nsc.symtab.Types$TypeRef.instantiateTypeParams(Types.scala:1712)
at scala.tools.nsc.symtab.Types$TypeRef.transform(Types.scala:1621)
at scala.tools.nsc.symtab.Types$TypeRef$$anonfun$baseTypeSeq$5.apply(Types.scala:1808)
at scala.tools.nsc.symtab.Types$TypeRef$$anonfun$baseTypeSeq$5.apply(Types.scala:1808)
at scala.tools.nsc.symtab.BaseTypeSeqs$BaseTypeSeq.map(BaseTypeSeqs.scala:119)
at scala.tools.nsc.symtab.Types$TypeRef.baseTypeSeq(Types.scala:1808)
at scala.tools.nsc.symtab.BaseTypeSeqs$$anonfun$compoundBaseTypeSeq$1.apply(BaseTypeSeqs.scala:204)
at scala.tools.nsc.symtab.BaseTypeSeqs$$anonfun$compoundBaseTypeSeq$1.apply(BaseTypeSeqs.scala:202)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.tools.nsc.symtab.BaseTypeSeqs$class.compoundBaseTypeSeq(BaseTypeSeqs.scala:202)
at scala.tools.nsc.symtab.SymbolTable.compoundBaseTypeSeq(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$CompoundType.baseTypeSeq(Types.scala:1215)
at scala.tools.nsc.symtab.Types$PolyType.baseTypeSeq(Types.scala:1976)
at scala.tools.nsc.symtab.Types$TypeRef.baseTypeSeq(Types.scala:1808)
at scala.tools.nsc.symtab.BaseTypeSeqs$$anonfun$compoundBaseTypeSeq$1.apply(BaseTypeSeqs.scala:204)
at scala.tools.nsc.symtab.BaseTypeSeqs$$anonfun$compoundBaseTypeSeq$1.apply(BaseTypeSeqs.scala:202)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.tools.nsc.symtab.BaseTypeSeqs$class.compoundBaseTypeSeq(BaseTypeSeqs.scala:202)
at scala.tools.nsc.symtab.SymbolTable.compoundBaseTypeSeq(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$CompoundType.baseTypeSeq(Types.scala:1215)
at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:708)
at scala.tools.nsc.symtab.Types$CompoundType.baseType(Types.scala:1284)
at scala.tools.nsc.symtab.Types$PolyType.baseType(Types.scala:1979)
at scala.tools.nsc.symtab.Types$TypeRef.baseType(Types.scala:1780)
at scala.tools.nsc.symtab.Types$TypeRef.baseType(Types.scala:1785)
at scala.tools.nsc.symtab.Types$TypeRef.baseType(Types.scala:1785)
at scala.tools.nsc.symtab.Types$class.firstTry$1(Types.scala:4299)
at scala.tools.nsc.symtab.Types$class.scala$tools$nsc$symtab$Types$$isSubType2(Types.scala:4458)
at scala.tools.nsc.symtab.Types$$anonfun$isSubType$1.apply$mcZ$sp(Types.scala:4172)
at scala.tools.nsc.symtab.Types$undoLog$.undoUnless(Types.scala:127)
at scala.tools.nsc.symtab.Types$class.isSubType(Types.scala:4159)
at scala.tools.nsc.symtab.SymbolTable.isSubType(SymbolTable.scala:13)
at scala.tools.nsc.symtab.Types$Type.$less$colon$less(Types.scala:592)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:943)
at scala.tools.nsc.typechecker.Typers$Typer.adapt(Typers.scala:780)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4083)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2141)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2151)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedArgs$3.apply(Typers.scala:2150)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:206)
at scala.collection.immutable.List.map(List.scala:45)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgs(Typers.scala:2150)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2350)
at scala.tools.nsc.typechecker.Typers$Typer.tryNamesDefaults$1(Typers.scala:2325)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2346)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3239)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$tryTypedApply$1$1.apply(Typers.scala:3239)
at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:699)
at scala.tools.nsc.typechecker.Typers$Typer.tryTypedApply$1(Typers.scala:3239)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3298)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3924)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:2141)
at scala.tools.nsc.typechecker.Typers$Typer.typedArgToPoly$1(Typers.scala:2408)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$29.apply(Typers.scala:2417)
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$29.apply(Typers.scala:2417)
at scala.Tuple2$Zipped$$anonfun$map$1.apply(Tuple2.scala:61)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.Tuple2$Zipped.map(Tuple2.scala:59)
at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:2417)
at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:3300)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3924)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:1890)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3769)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4139)
at scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:2013)
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3796)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4078)
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:4139)
at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:4215)
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1174)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$getterTypeCompleter$1.apply(Namers.scala:549)
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$getterTypeCompleter$1.apply(Namers.scala:547)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1338)
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1336)
at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:743)
at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:718)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$class.addForwarder$1(ScalaStructureBuilder.scala:112)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$$anonfun$addForwarders$1$2.apply(ScalaStructureBuilder.scala:103)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$$anonfun$addForwarders$1$2.apply(ScalaStructureBuilder.scala:102)
at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:827)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:826)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$class.addForwarders$1(ScalaStructureBuilder.scala:102)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$$anonfun$complete$1.apply(ScalaStructureBuilder.scala:190)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$$anonfun$complete$1.apply(ScalaStructureBuilder.scala:163)
at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:80)
at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:80)
at scala.collection.Iterator$class.foreach(Iterator.scala:631)
at scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:161)
at scala.collection.mutable.HashTable$class.foreachEntry(HashTable.scala:194)
at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:39)
at scala.collection.mutable.HashMap.foreach(HashMap.scala:80)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Owner$class.complete(ScalaStructureBuilder.scala:163)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser$Builder.complete(ScalaStructureBuilder.scala:727)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.atBuilder(ScalaStructureBuilder.scala:837)
at scala.tools.eclipse.javaelements.ScalaStructureBuilder$StructureBuilderTraverser.traverse(ScalaStructureBuilder.scala:763)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$buildStructure$1.apply(ScalaCompilationUnit.scala:100)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$buildStructure$1.apply(ScalaCompilationUnit.scala:91)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply$mcV$sp(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.apply(ScalaPresentationCompiler.scala:67)
at scala.tools.eclipse.ScalaPresentationCompiler.withCompilerResult(ScalaPresentationCompiler.scala:90)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:368)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:367)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply$mcV$sp(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:39)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:363)
at scala.tools.eclipse.ScalaProject.withCompilerResult(ScalaProject.scala:367)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$withCompilerResult$1.apply(ScalaCompilationUnit.scala:49)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withDocument(ScalaCompilationUnit.scala:44)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withDocument(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withCompilerResult(ScalaCompilationUnit.scala:49)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withCompilerResult(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.buildStructure(ScalaCompilationUnit.scala:91)
at scala.tools.eclipse.javaelements.ScalaSourceFile.buildStructure(ScalaSourceFile.scala:40)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:193)
at scala.tools.eclipse.javaelements.ScalaSourceFile.getCorrespondingElement(ScalaSourceFile.scala:96)
at scala.tools.eclipse.javaelements.ScalaSourceFile.getType(ScalaSourceFile.scala:102)
at org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypeAdding(JavaModelManager.java:4111)
at org.eclipse.jdt.internal.core.search.indexing.AbstractIndexer.addTypeDeclaration(AbstractIndexer.java:186)
at org.eclipse.jdt.internal.core.search.indexing.AbstractIndexer.addClassDeclaration(AbstractIndexer.java:47)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser$ClassOwner$class.addClass(ScalaIndexBuilder.scala:83)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser$Builder.addClass(ScalaIndexBuilder.scala:225)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser.traverse(ScalaIndexBuilder.scala:234)
at scala.reflect.generic.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:566)
at scala.reflect.generic.Trees$Traverser$$anonfun$traverseTrees$1.apply(Trees.scala:566)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61)
at scala.collection.immutable.List.foreach(List.scala:45)
at scala.reflect.generic.Trees$Traverser.traverseTrees(Trees.scala:566)
at scala.reflect.generic.Trees$Traverser$$anonfun$traverse$1.apply$mcV$sp(Trees.scala:465)
at scala.reflect.generic.Trees$Traverser.atOwner(Trees.scala:581)
at scala.reflect.generic.Trees$Traverser.traverse(Trees.scala:464)
at scala.tools.nsc.ast.Trees$Traverser.traverse(Trees.scala:881)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser.scala$tools$eclipse$javaelements$ScalaIndexBuilder$IndexBuilderTraverser$$super$traverse(ScalaIndexBuilder.scala:232)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser$$anonfun$traverse$1.apply$mcV$sp(ScalaIndexBuilder.scala:232)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser.atBuilder(ScalaIndexBuilder.scala:303)
at scala.tools.eclipse.javaelements.ScalaIndexBuilder$IndexBuilderTraverser.traverse(ScalaIndexBuilder.scala:232)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$addToIndexer$1.apply(ScalaCompilationUnit.scala:119)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$addToIndexer$1.apply(ScalaCompilationUnit.scala:115)
at scala.tools.eclipse.util.Cached$$anonfun$apply$3.apply(Cached.scala:58)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:56)
at scala.tools.eclipse.ScalaPresentationCompiler$CachedCompilerResult.apply(ScalaPresentationCompiler.scala:67)
at scala.tools.eclipse.ScalaPresentationCompiler.withCompilerResult(ScalaPresentationCompiler.scala:90)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:368)
at scala.tools.eclipse.ScalaProject$$anonfun$withCompilerResult$1.apply(ScalaProject.scala:367)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply$mcV$sp(Cached.scala:22)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$$anonfun$apply$1.apply(Cached.scala:21)
at scala.tools.eclipse.util.Cached$class.locked(Cached.scala:83)
at scala.tools.eclipse.util.Cached$class.apply(Cached.scala:20)
at scala.tools.eclipse.ScalaProject$$anon$1.apply(ScalaProject.scala:39)
at scala.tools.eclipse.ScalaProject.withPresentationCompiler(ScalaProject.scala:363)
at scala.tools.eclipse.ScalaProject.withCompilerResult(ScalaProject.scala:367)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$withCompilerResult$1.apply(ScalaCompilationUnit.scala:49)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withDocument(ScalaCompilationUnit.scala:44)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withDocument(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.withCompilerResult(ScalaCompilationUnit.scala:49)
at scala.tools.eclipse.javaelements.ScalaSourceFile.withCompilerResult(ScalaSourceFile.scala:40)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$class.addToIndexer(ScalaCompilationUnit.scala:115)
at scala.tools.eclipse.javaelements.ScalaSourceFile.addToIndexer(ScalaSourceFile.scala:40)
at scala.tools.eclipse.ScalaSourceIndexer$$anonfun$indexDocument$1.apply(ScalaSourceIndexer.scala:23)
at scala.tools.eclipse.ScalaSourceIndexer$$anonfun$indexDocument$1.apply(ScalaSourceIndexer.scala:23)
at scala.Option.map(Option.scala:74)
at scala.tools.eclipse.ScalaSourceIndexer.indexDocument(ScalaSourceIndexer.scala:23)
at scala.tools.eclipse.contribution.weaving.jdt.indexerprovider.IndexerProviderAspect.ajc$around$scala_tools_eclipse_contribution_weaving_jdt_indexerprovider_IndexerProviderAspect$1$16276a3c(IndexerProviderAspect.aj:30)
at org.eclipse.jdt.internal.core.search.JavaSearchParticipant.indexDocument(JavaSearchParticipant.java:68)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager.indexDocument(IndexManager.java:359)
at org.eclipse.jdt.internal.core.search.indexing.IndexManager$1.execute(IndexManager.java:734)
at org.eclipse.jdt.internal.core.search.processing.JobManager.run(JobManager.java:404)
at java.lang.Thread.run(Thread.java:637)
Updating tickets (#1000069, #1000195, #1000213, #1000223, #1000006, #1000021, #1000038, #1000048, #1000051, #1000052, #1000075, #1000103, #1000109, #1000115, #1000119, #1000156, #1000186, #1000207, #1000238, #1000262, #1000263, #380, #389, #683, #1238, #1331, #1635, #1645, #1715, #1729, #1744, #1783, #1839, #1869, #1885, #1890, #1902, #1918, #1919, #1924, #1925, #1946, #1964, #1991, #2131, #2233, #2342, #2348, #2408, #2459, #2499, #2523, #2572, #2582, #2602, #2614, #2615, #2675, #2710, #2745, #2763, #2816, #2830, #2834, #2878, #2879, #2887, #2888, #2901, #2911, #2912, #2922, #2937, #2938, #2942, #2951, #2955, #2957, #2961, #2964, #2965, #2974, #2975, #2989, #2990, #3002, #3055, #3070, #3087, #3135, #3139, #3173, #3182, #3184, #3200, #3213, #3214, #3221, #3243, #3251)
The code referenced in the stack traces has been heavily modified since the problem has been reported and doesn't match any more.
The problem has not been reported again since the last comment.
No reproducible test case is available.
Closing this ticket as it cannot be used anymore.
The problem has not been reported again since the last comment.
No reproducible test case is available.
Closing this ticket as it cannot be used anymore.