-
発生条件
-
実際の結果は以下のtravis参照すれば、すべてわかるようにしてあるはず
-
sbt 0.13.2-RC1, 0.13.5-M1, 0.13.5-M2 のどれか
-
かつ、Scala 2.11.0-RC1, RC3, RC4 のどれか (2.11.0-M8以前は試していない)
-
かつ、NameHashing のオプションを ON にした場合
-
逆に発生しない条件で言い換えると
-
sbt 0.13.2-M3, 0.13.2-M2, 0.13.2-M1 では、 Scala2.11.x で NameHashing を ON にしても発生しない
-
sbt 0.13.2-RC1, 0.13.5-M1, 0.13.5-M2 で NameHashing 有効にしても、Scala2.10.4だと発生しない
-
NameHashingのオプションをoffにすると、sbtやScalaのversionに関係なく発生しない
-
発生するコード
-
かなりの量をコード生成して、大量にあって切り出せていない、すいません
-
ほかのプロジェクトでも、同じ条件で試すと同じエラー発生
-
その他個人的予想など
-
sbt 0.13.2系もしくは0.13.5系のSNAPSHOTはまだ試していない
-
ログを見る限り無限ループしてるように見える
-
stack traceに
ExtractUsedNames.scala
がでてくるので、その履歴を見る限り、このあたり https://github.com/sbt/sbt/commit/70fecfe767f5d9 のコミットでバグ入れた?
Last active
August 29, 2015 13:58
-
-
Save xuwei-k/10002590 to your computer and use it in GitHub Desktop.
NameHashing を有効にすると sbt が コンパイル時に stack overflow するバグ?
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
java.lang.StackOverflowError | |
at scala.PartialFunction$$anonfun$runWith$1.apply(PartialFunction.scala:136) | |
at scala.PartialFunction$$anonfun$runWith$1.apply(PartialFunction.scala:135) | |
at scala.collection.immutable.Set$Set2.foreach(Set.scala:113) | |
at scala.collection.TraversableLike$class.collect(TraversableLike.scala:282) | |
at scala.collection.AbstractTraversable.collect(Traversable.scala:104) | |
at xsbt.Compat$MacroExpansionOf$.unapply(Compat.scala:125) | |
at xsbt.ExtractUsedNames.xsbt$ExtractUsedNames$$handleTreeNode$1(ExtractUsedNames.scala:86) | |
at xsbt.ExtractUsedNames$$anonfun$handleMacroExpansion$1$1.apply(ExtractUsedNames.scala:58) | |
at xsbt.ExtractUsedNames$$anonfun$handleMacroExpansion$1$1.apply(ExtractUsedNames.scala:58) | |
at scala.reflect.internal.Trees$ForeachTreeTraverser.traverse(Trees.scala:1616) | |
at scala.reflect.internal.Trees$TreeContextApiImpl.foreach(Trees.scala:106) | |
at xsbt.ExtractUsedNames.handleMacroExpansion$1(ExtractUsedNames.scala:58) | |
at xsbt.ExtractUsedNames.xsbt$ExtractUsedNames$$handleTreeNode$1(ExtractUsedNames.scala:88) | |
at xsbt.ExtractUsedNames$$anonfun$handleMacroExpansion$1$1.apply(ExtractUsedNames.scala:58) | |
at xsbt.ExtractUsedNames$$anonfun$handleMacroExpansion$1$1.apply(ExtractUsedNames.scala:58) | |
at scala.reflect.internal.Trees$ForeachTreeTraverser.traverse(Trees.scala:1616) | |
at scala.reflect.internal.Trees$TreeContextApiImpl.foreach(Trees.scala:106) | |
at xsbt.ExtractUsedNames.handleMacroExpansion$1(ExtractUsedNames.scala:58) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment