Сгенерированный скалярным кодом код вызывает переполнение стека во время компиляции
Я использую scalaxb для генерации кода Scala из XSD. (В частности, я использую плагин maven scalaxb.) Фаза генерации кода проходит без сучка и, глядя на них, сгенерированные файлы scala выглядят хорошо. Но когда я пытаюсь скомпилировать, я получаю переполнение стека:
[ERROR] error: java.lang.StackruError
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:754)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:845)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:837)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
[INFO] at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:821)
[INFO] at scala.tools.nsc.matching.MatrixAdditions$MatchMatrixOptimizer$lxtt$2$.transform(MatrixAdditions.scala:113)
...
[INFO] at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:311)
[INFO] at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:294)
[INFO] at scala.tools.nsc.transform.ExplicitOuter$Phase.run(ExplicitOuter.scala:539)
[INFO] at scala.tools.nsc.Global$Run.compileSources(Global.scala:949)
[INFO] at scala.tools.nsc.Global$Run.compile(Global.scala:1034)
[INFO] at scala.tools.nsc.Main$.process(Main.scala:106)
[INFO] at scala.tools.nsc.Main$.main(Main.scala:123)
[INFO] at scala.tools.nsc.Main.main(Main.scala)
[INFO] ... 6 more
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
Используемый мной xsd был протестирован и работает с jaxb.
Версия Scala 2.9.0-1, скалаксб 0.6.2.
1 ответ
Решение
Итак, согласно ОП, проблема была решена путем -Xss2048k
в jvmArg
,
В случае sbt и сложного xsd мне нужно увеличить размер стека до 4M во время sbt compile
с помощью этой команды:
sbt -J-Xss4M compile