- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Another Scala compiler crash.
Sat, 2011-10-29, 18:42
I have made some type changes to my project, hoping to track down and fix affected files using compiler errors. However now the compiler simply crashes with a NullPointerException. I have tried it with scala nightly build with the same result. -Verbose option does not help.
error: java.lang.NullPointerException at scala.tools.nsc.symtab.Types$TypeRef.baseTypeSeq(Types.scala:1943) at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:762) at scala.tools.nsc.symtab.Types$CompoundType.isNew$1(Types.scala:1324) at scala.tools.nsc.symtab.Types$CompoundType.addMixinBaseClasses$1(Types.scala:1333) at scala.tools.nsc.symtab.Types$CompoundType.computeBaseClasses$1(Types.scala:1335) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$1.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$1.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType.memo(Types.scala:1368) at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$2.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$2.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType.memo(Types.scala:1368) at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:1345) at scala.tools.nsc.symtab.Types$PolyType.baseClasses(Types.scala:2161) at scala.tools.nsc.symtab.Symbols$Symbol.ancestors(Symbols.scala:1188) at scala.tools.nsc.symtab.Symbols$Symbol.mixinClasses(Symbols.scala:1183) at scala.tools.nsc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:160) at scala.tools.nsc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:172) at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38) at scala.tools.nsc.symtab.Symbols$Symbol.rawInfo(Symbols.scala:794) at scala.tools.nsc.symtab.Symbols$Symbol.typeParams(Symbols.scala:915) at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3112) at scala.tools.nsc.symtab.Types$FindTypeCollector.traverse(Types.scala:3871) at scala.tools.nsc.symtab.Types$TypeTraverser.apply(Types.scala:3317) at scala.tools.nsc.symtab.Types$TypeTraverser.apply(Types.scala:3315) at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3211) at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3207) at scala.tools.nsc.symtab.Types$class.map2Conserve(Types.scala:4980) at scala.tools.nsc.symtab.SymbolTable.map2Conserve(SymbolTable.scala:13) at scala.tools.nsc.symtab.Types$TypeMap.mapOverArgs(Types.scala:3207) at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3114) at scala.tools.nsc.symtab.Types$FindTypeCollector.traverse(Types.scala:3871) at scala.tools.nsc.symtab.Types$TypeCollector.collect(Types.scala:3324) at scala.tools.nsc.symtab.Types$Type.find(Types.scala:613) at scala.tools.nsc.symtab.Types$Type.exists(Types.scala:624) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseTypeSeq$1.apply(Types.scala:1262) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseTypeSeq$1.apply(Types.scala:1262) at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:79) at scala.collection.immutable.List.exists(List.scala:45) at scala.tools.nsc.symtab.Types$CompoundType.baseTypeSeq(Types.scala:1262) at scala.tools.nsc.symtab.Types$PolyType.baseTypeSeq(Types.scala:2159) at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:762) at scala.tools.nsc.symtab.Symbols$Symbol.isNonBottomSubClass(Symbols.scala:1019) at scala.tools.nsc.symtab.Symbols$Symbol.isSubClass(Symbols.scala:1022) at scala.tools.nsc.symtab.Definitions$definitions$.isTupleType(Definitions.scala:403) at scala.tools.nsc.symtab.Definitions$definitions$.isTupleTypeOrSubtype(Definitions.scala:397) at scala.tools.nsc.symtab.Types$TypeRef.safeToString(Types.scala:1973) at scala.reflect.generic.Types$AbsType.toString(Types.scala:27) at java.lang.String.valueOf(String.java:2902) at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:185) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState$$anonfun$paramsString$1.apply(ParallelMatching.scala:722) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState$$anonfun$paramsString$1.apply(ParallelMatching.scala:722) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.TraversableLike$class.map(TraversableLike.scala:194) at scala.collection.immutable.List.map(List.scala:45) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState.paramsString(ParallelMatching.scala:722) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState.<init>(ParallelMatching.scala:709) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$$anonfun$expand$2.apply(ParallelMatching.scala:791) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$$anonfun$expand$2.apply(ParallelMatching.scala:781) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.TraversableLike$class.map(TraversableLike.scala:194) at scala.collection.immutable.List.map(List.scala:45) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.expand(ParallelMatching.scala:781) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.x$2(ParallelMatching.scala:43) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.rows(ParallelMatching.scala:43) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.expansion(ParallelMatching.scala:44) at scala.tools.nsc.matching.Matrix$class.handlePattern(Matrix.scala:98) at scala.tools.nsc.transform.ExplicitOuter.handlePattern(ExplicitOuter.scala:19) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.matchTranslation(ExplicitOuter.scala:422) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:511) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:783) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:781) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:780) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:480) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:797) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:460) at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:875) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:767) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:766) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:765) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:760) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:760) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:892) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.scala$tools$nsc$transform$ExplicitOuter$ExplicitOuterTransformer$$super$transformUnit(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:529) at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:95) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:318) at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30) at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:297) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:297) at scala.collection.Iterator$class.foreach(Iterator.scala:660) at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316) at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:297) at scala.tools.nsc.transform.ExplicitOuter$Phase.run(ExplicitOuter.scala:539) at scala.tools.nsc.Global$Run.compileSources(Global.scala:953) at scala.tools.nsc.Global$Run.compile(Global.scala:1038) at scala.tools.nsc.Main$.process(Main.scala:106) at scala.tools.nsc.Main$.main(Main.scala:123) at scala.tools.nsc.Main.main(Main.scala)
error: java.lang.NullPointerException at scala.tools.nsc.symtab.Types$TypeRef.baseTypeSeq(Types.scala:1943) at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:762) at scala.tools.nsc.symtab.Types$CompoundType.isNew$1(Types.scala:1324) at scala.tools.nsc.symtab.Types$CompoundType.addMixinBaseClasses$1(Types.scala:1333) at scala.tools.nsc.symtab.Types$CompoundType.computeBaseClasses$1(Types.scala:1335) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$1.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$1.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType.memo(Types.scala:1368) at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$2.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$2.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType.memo(Types.scala:1368) at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:1345) at scala.tools.nsc.symtab.Types$PolyType.baseClasses(Types.scala:2161) at scala.tools.nsc.symtab.Symbols$Symbol.ancestors(Symbols.scala:1188) at scala.tools.nsc.symtab.Symbols$Symbol.mixinClasses(Symbols.scala:1183) at scala.tools.nsc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:160) at scala.tools.nsc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:172) at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38) at scala.tools.nsc.symtab.Symbols$Symbol.rawInfo(Symbols.scala:794) at scala.tools.nsc.symtab.Symbols$Symbol.typeParams(Symbols.scala:915) at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3112) at scala.tools.nsc.symtab.Types$FindTypeCollector.traverse(Types.scala:3871) at scala.tools.nsc.symtab.Types$TypeTraverser.apply(Types.scala:3317) at scala.tools.nsc.symtab.Types$TypeTraverser.apply(Types.scala:3315) at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3211) at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3207) at scala.tools.nsc.symtab.Types$class.map2Conserve(Types.scala:4980) at scala.tools.nsc.symtab.SymbolTable.map2Conserve(SymbolTable.scala:13) at scala.tools.nsc.symtab.Types$TypeMap.mapOverArgs(Types.scala:3207) at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3114) at scala.tools.nsc.symtab.Types$FindTypeCollector.traverse(Types.scala:3871) at scala.tools.nsc.symtab.Types$TypeCollector.collect(Types.scala:3324) at scala.tools.nsc.symtab.Types$Type.find(Types.scala:613) at scala.tools.nsc.symtab.Types$Type.exists(Types.scala:624) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseTypeSeq$1.apply(Types.scala:1262) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseTypeSeq$1.apply(Types.scala:1262) at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:79) at scala.collection.immutable.List.exists(List.scala:45) at scala.tools.nsc.symtab.Types$CompoundType.baseTypeSeq(Types.scala:1262) at scala.tools.nsc.symtab.Types$PolyType.baseTypeSeq(Types.scala:2159) at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:762) at scala.tools.nsc.symtab.Symbols$Symbol.isNonBottomSubClass(Symbols.scala:1019) at scala.tools.nsc.symtab.Symbols$Symbol.isSubClass(Symbols.scala:1022) at scala.tools.nsc.symtab.Definitions$definitions$.isTupleType(Definitions.scala:403) at scala.tools.nsc.symtab.Definitions$definitions$.isTupleTypeOrSubtype(Definitions.scala:397) at scala.tools.nsc.symtab.Types$TypeRef.safeToString(Types.scala:1973) at scala.reflect.generic.Types$AbsType.toString(Types.scala:27) at java.lang.String.valueOf(String.java:2902) at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:185) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState$$anonfun$paramsString$1.apply(ParallelMatching.scala:722) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState$$anonfun$paramsString$1.apply(ParallelMatching.scala:722) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.TraversableLike$class.map(TraversableLike.scala:194) at scala.collection.immutable.List.map(List.scala:45) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState.paramsString(ParallelMatching.scala:722) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState.<init>(ParallelMatching.scala:709) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$$anonfun$expand$2.apply(ParallelMatching.scala:791) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$$anonfun$expand$2.apply(ParallelMatching.scala:781) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.TraversableLike$class.map(TraversableLike.scala:194) at scala.collection.immutable.List.map(List.scala:45) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.expand(ParallelMatching.scala:781) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.x$2(ParallelMatching.scala:43) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.rows(ParallelMatching.scala:43) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.expansion(ParallelMatching.scala:44) at scala.tools.nsc.matching.Matrix$class.handlePattern(Matrix.scala:98) at scala.tools.nsc.transform.ExplicitOuter.handlePattern(ExplicitOuter.scala:19) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.matchTranslation(ExplicitOuter.scala:422) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:511) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:783) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:781) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:780) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:480) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:797) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:460) at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:875) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:767) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:766) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:765) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:760) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:760) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:892) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.scala$tools$nsc$transform$ExplicitOuter$ExplicitOuterTransformer$$super$transformUnit(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:529) at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:95) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:318) at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30) at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:297) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:297) at scala.collection.Iterator$class.foreach(Iterator.scala:660) at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316) at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:297) at scala.tools.nsc.transform.ExplicitOuter$Phase.run(ExplicitOuter.scala:539) at scala.tools.nsc.Global$Run.compileSources(Global.scala:953) at scala.tools.nsc.Global$Run.compile(Global.scala:1038) at scala.tools.nsc.Main$.process(Main.scala:106) at scala.tools.nsc.Main$.main(Main.scala:123) at scala.tools.nsc.Main.main(Main.scala)
Sun, 2011-10-30, 16:47
#2
Re: Another Scala compiler crash.
The error happens during parallel matching, so it's likely that some interesting patterns in pattern matching are involved. Sorry I can't diagnose more from what I see.
Once you have pared it down, it would be great if you could file a ticket. You should see a speedy resolution then.
Thanks
-- Martin
On Sat, Oct 29, 2011 at 7:42 PM, Aleksey Nikiforov <lexn82@gmail.com> wrote:
--
Martin Odersky
Prof., EPFL and Chairman, Typesafe
PSED, 1015 Lausanne, Switzerland
Tel. EPFL: +41 21 693 6863
Tel. Typesafe: +41 21 691 4967
Once you have pared it down, it would be great if you could file a ticket. You should see a speedy resolution then.
Thanks
-- Martin
On Sat, Oct 29, 2011 at 7:42 PM, Aleksey Nikiforov <lexn82@gmail.com> wrote:
I have made some type changes to my project, hoping to track down and fix affected files using compiler errors. However now the compiler simply crashes with a NullPointerException. I have tried it with scala nightly build with the same result. -Verbose option does not help.
error: java.lang.NullPointerException at scala.tools.nsc.symtab.Types$TypeRef.baseTypeSeq(Types.scala:1943) at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:762) at scala.tools.nsc.symtab.Types$CompoundType.isNew$1(Types.scala:1324) at scala.tools.nsc.symtab.Types$CompoundType.addMixinBaseClasses$1(Types.scala:1333) at scala.tools.nsc.symtab.Types$CompoundType.computeBaseClasses$1(Types.scala:1335) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$1.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$1.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType.memo(Types.scala:1368) at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$2.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseClasses$2.apply(Types.scala:1345) at scala.tools.nsc.symtab.Types$CompoundType.memo(Types.scala:1368) at scala.tools.nsc.symtab.Types$CompoundType.baseClasses(Types.scala:1345) at scala.tools.nsc.symtab.Types$PolyType.baseClasses(Types.scala:2161) at scala.tools.nsc.symtab.Symbols$Symbol.ancestors(Symbols.scala:1188) at scala.tools.nsc.symtab.Symbols$Symbol.mixinClasses(Symbols.scala:1183) at scala.tools.nsc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:160) at scala.tools.nsc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:172) at scala.tools.nsc.transform.InfoTransform$Phase$$anon$1.transform(InfoTransform.scala:38) at scala.tools.nsc.symtab.Symbols$Symbol.rawInfo(Symbols.scala:794) at scala.tools.nsc.symtab.Symbols$Symbol.typeParams(Symbols.scala:915) at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3112) at scala.tools.nsc.symtab.Types$FindTypeCollector.traverse(Types.scala:3871) at scala.tools.nsc.symtab.Types$TypeTraverser.apply(Types.scala:3317) at scala.tools.nsc.symtab.Types$TypeTraverser.apply(Types.scala:3315) at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3211) at scala.tools.nsc.symtab.Types$TypeMap$$anonfun$mapOverArgs$1.apply(Types.scala:3207) at scala.tools.nsc.symtab.Types$class.map2Conserve(Types.scala:4980) at scala.tools.nsc.symtab.SymbolTable.map2Conserve(SymbolTable.scala:13) at scala.tools.nsc.symtab.Types$TypeMap.mapOverArgs(Types.scala:3207) at scala.tools.nsc.symtab.Types$TypeMap.mapOver(Types.scala:3114) at scala.tools.nsc.symtab.Types$FindTypeCollector.traverse(Types.scala:3871) at scala.tools.nsc.symtab.Types$TypeCollector.collect(Types.scala:3324) at scala.tools.nsc.symtab.Types$Type.find(Types.scala:613) at scala.tools.nsc.symtab.Types$Type.exists(Types.scala:624) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseTypeSeq$1.apply(Types.scala:1262) at scala.tools.nsc.symtab.Types$CompoundType$$anonfun$baseTypeSeq$1.apply(Types.scala:1262) at scala.collection.LinearSeqOptimized$class.exists(LinearSeqOptimized.scala:79) at scala.collection.immutable.List.exists(List.scala:45) at scala.tools.nsc.symtab.Types$CompoundType.baseTypeSeq(Types.scala:1262) at scala.tools.nsc.symtab.Types$PolyType.baseTypeSeq(Types.scala:2159) at scala.tools.nsc.symtab.Types$Type.baseTypeIndex(Types.scala:762) at scala.tools.nsc.symtab.Symbols$Symbol.isNonBottomSubClass(Symbols.scala:1019) at scala.tools.nsc.symtab.Symbols$Symbol.isSubClass(Symbols.scala:1022) at scala.tools.nsc.symtab.Definitions$definitions$.isTupleType(Definitions.scala:403) at scala.tools.nsc.symtab.Definitions$definitions$.isTupleTypeOrSubtype(Definitions.scala:397) at scala.tools.nsc.symtab.Types$TypeRef.safeToString(Types.scala:1973) at scala.reflect.generic.Types$AbsType.toString(Types.scala:27) at java.lang.String.valueOf(String.java:2902) at scala.collection.mutable.StringBuilder.append(StringBuilder.scala:185) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState$$anonfun$paramsString$1.apply(ParallelMatching.scala:722) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState$$anonfun$paramsString$1.apply(ParallelMatching.scala:722) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.TraversableLike$class.map(TraversableLike.scala:194) at scala.collection.immutable.List.map(List.scala:45) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState.paramsString(ParallelMatching.scala:722) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$FinalState.<init>(ParallelMatching.scala:709) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$$anonfun$expand$2.apply(ParallelMatching.scala:791) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix$$anonfun$expand$2.apply(ParallelMatching.scala:781) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.TraversableLike$class.map(TraversableLike.scala:194) at scala.collection.immutable.List.map(List.scala:45) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.expand(ParallelMatching.scala:781) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.x$2(ParallelMatching.scala:43) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.rows(ParallelMatching.scala:43) at scala.tools.nsc.matching.ParallelMatching$MatchMatrix.expansion(ParallelMatching.scala:44) at scala.tools.nsc.matching.Matrix$class.handlePattern(Matrix.scala:98) at scala.tools.nsc.transform.ExplicitOuter.handlePattern(ExplicitOuter.scala:19) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.matchTranslation(ExplicitOuter.scala:422) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:511) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:783) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:781) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:780) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:480) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:797) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$1.apply(TypingTransformers.scala:49) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:460) at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:875) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:767) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:766) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:765) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:53) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:760) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:891) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:889) at scala.collection.immutable.List.loop$1(List.scala:117) at scala.collection.immutable.List.mapConserve(List.scala:133) at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:889) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:761) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:760) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$TypingTransformer$$super$transform(TypingTransformers.scala:49) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$transform$2.apply(TypingTransformers.scala:51) at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:899) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:38) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:31) at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:51) at scala.tools.nsc.transform.ExplicitOuter$OuterPathTransformer.transform(ExplicitOuter.scala:257) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transform(ExplicitOuter.scala:521) at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:892) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.scala$tools$nsc$transform$ExplicitOuter$ExplicitOuterTransformer$$super$transformUnit(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer$$anonfun$transformUnit$1.apply(ExplicitOuter.scala:529) at scala.tools.nsc.symtab.SymbolTable.atPhase(SymbolTable.scala:95) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:529) at scala.tools.nsc.transform.ExplicitOuter$ExplicitOuterTransformer.transformUnit(ExplicitOuter.scala:318) at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30) at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:329) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:297) at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:297) at scala.collection.Iterator$class.foreach(Iterator.scala:660) at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:316) at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:297) at scala.tools.nsc.transform.ExplicitOuter$Phase.run(ExplicitOuter.scala:539) at scala.tools.nsc.Global$Run.compileSources(Global.scala:953) at scala.tools.nsc.Global$Run.compile(Global.scala:1038) at scala.tools.nsc.Main$.process(Main.scala:106) at scala.tools.nsc.Main$.main(Main.scala:123) at scala.tools.nsc.Main.main(Main.scala)
--
Martin Odersky
Prof., EPFL and Chairman, Typesafe
PSED, 1015 Lausanne, Switzerland
Tel. EPFL: +41 21 693 6863
Tel. Typesafe: +41 21 691 4967
Sun, 2011-10-30, 17:37
#3
Re: Another Scala compiler crash.
Thank you for the response. I have tracked down the problem and filed a ticket: https://issues.scala-lang.org/browse/SI-5127
Sorry for the dry presentation. Compiler crashes make me panic because they are out of my control and way over my head.
On Sun, Oct 30, 2011 at 10:42 AM, martin odersky <martin.odersky@epfl.ch> wrote:
Sorry for the dry presentation. Compiler crashes make me panic because they are out of my control and way over my head.
On Sun, Oct 30, 2011 at 10:42 AM, martin odersky <martin.odersky@epfl.ch> wrote:
The error happens during parallel matching, so it's likely that some interesting patterns in pattern matching are involved. Sorry I can't diagnose more from what I see.
Once you have pared it down, it would be great if you could file a ticket. You should see a speedy resolution then.
Thanks
-- Martin
Mon, 2011-10-31, 16:17
#4
Re: Another Scala compiler crash.
Thank you for the ticket, Aleksey. The fix is in r25913. I also added some code (in r25914) that helps debugging similar problems by pinpointing the unit that was currently transformed in the case of a crash in a transformation phase.
Cheers
-- Martin
On Sun, Oct 30, 2011 at 5:19 PM, Aleksey Nikiforov <lexn82@gmail.com> wrote:
--
Martin Odersky
Prof., EPFL and Chairman, Typesafe
PSED, 1015 Lausanne, Switzerland
Tel. EPFL: +41 21 693 6863
Tel. Typesafe: +41 21 691 4967
Cheers
-- Martin
On Sun, Oct 30, 2011 at 5:19 PM, Aleksey Nikiforov <lexn82@gmail.com> wrote:
Thank you for the response. I have tracked down the problem and filed a ticket: https://issues.scala-lang.org/browse/SI-5127
Sorry for the dry presentation. Compiler crashes make me panic because they are out of my control and way over my head.
On Sun, Oct 30, 2011 at 10:42 AM, martin odersky <martin.odersky@epfl.ch> wrote:The error happens during parallel matching, so it's likely that some interesting patterns in pattern matching are involved. Sorry I can't diagnose more from what I see.
Once you have pared it down, it would be great if you could file a ticket. You should see a speedy resolution then.
Thanks
-- Martin
--
Martin Odersky
Prof., EPFL and Chairman, Typesafe
PSED, 1015 Lausanne, Switzerland
Tel. EPFL: +41 21 693 6863
Tel. Typesafe: +41 21 691 4967
Given that compiler crashes happen so often it would be helpful to know the file that causes the crash, at the very least. Tracking down the crash by dissecting the project is a tremendous waste of time.