Scalac throws a NullPointerException (Possible BUG)

Scala compiler throws a NullPointerException when it tries to infer a type (I think), instead of return a compilation error.

Next, code that throws the error and the compiling code. The difference is in the ActorFlow.ask typing.

Fragment that throws the NPE error:

  override def streamBatchCommandsOneResponse(in: Source[ExecuteBatchCmd, NotUsed]): Future[IngestionMetrics] = {
    in.map(cmd => toAddBatch(cmd))
      .runFold(IngestionMetrics()) { (metrics, commands) =>
        ActorFlow.ask(gridIndex)((commands, replyTo: ActorRef[GridACK]) =>
          GridAddBatch(commands, Some(replyTo))
        )
        commands.foldLeft(metrics) {
          case (m, _: GridAddNode) => m.copy(nodes = m.nodes + 1)
          case (m, _: GridAddWay)  => m.copy(ways = m.ways + 1)
          case (m, _)              => m.copy(others = m.others + 1)
        }
      }
  }

Fragment that compile:

  override def streamBatchCommandsOneResponse(in: Source[ExecuteBatchCmd, NotUsed]): Future[IngestionMetrics] = {
    in.map(cmd => toAddBatch(cmd))
      .runFold(IngestionMetrics()) { (metrics, commands) =>
        ActorFlow.ask[Seq[GridBatchCommand], GridAddBatch, GridACK](gridIndex)((commands, replyTo: ActorRef[GridACK]) =>
          GridAddBatch(commands, Some(replyTo))
        )
        commands.foldLeft(metrics) {
          case (m, _: GridAddNode) => m.copy(nodes = m.nodes + 1)
          case (m, _: GridAddWay)  => m.copy(ways = m.ways + 1)
          case (m, _)              => m.copy(others = m.others + 1)
        }
      }
  }

Full Exception:

~/p/simplexspatial (stream-on-direction|✚2) [1] $ sbt compile
[info] Loading settings for project global-plugins from metals.sbt ...
[info] Loading global plugins from /home/angelcc/.sbt/1.0/plugins
[info] Loading settings for project simplexspatial-build from plugins.sbt ...
[info] Loading project definition from /home/angelcc/projects/simplexspatial/project
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] Loading settings for project root from build.sbt ...
[info] Set current project to SimplexSpatial (in build file:/home/angelcc/projects/simplexspatial/)
[info] Executing in batch mode. For better performance use sbt's shell
[info] Compiling 57 Scala sources to /home/angelcc/projects/simplexspatial/core/target/scala-2.12/classes ...
[error] ## Exception when compiling 57 sources to /home/angelcc/projects/simplexspatial/core/target/scala-2.12/classes
[error] java.lang.NullPointerException
[error] scala.reflect.internal.Types$TypeRef.computeHashCode(Types.scala:2116)
[error] scala.reflect.internal.Types$UniqueType.<init>(Types.scala:1084)
[error] scala.reflect.internal.Types$TypeRef.<init>(Types.scala:2078)
[error] scala.reflect.internal.Types$ArgsTypeRef.<init>(Types.scala:1838)
[error] scala.reflect.internal.Types$ClassArgsTypeRef.<init>(Types.scala:2413)
[error] scala.reflect.internal.Types$TypeRef$.apply(Types.scala:2423)
[error] scala.reflect.internal.Types.copyTypeRef(Types.scala:3653)
[error] scala.reflect.internal.Types.copyTypeRef$(Types.scala:3645)
[error] scala.reflect.internal.SymbolTable.copyTypeRef(SymbolTable.scala:28)
[error] scala.reflect.internal.Types.appliedType(Types.scala:3729)
[error] scala.reflect.internal.Types.appliedType$(Types.scala:3714)
[error] scala.reflect.internal.SymbolTable.appliedType(SymbolTable.scala:28)
[error] scala.reflect.internal.Types.appliedType(Types.scala:3747)
[error] scala.reflect.internal.Types.appliedType$(Types.scala:3746)
[error] scala.reflect.internal.SymbolTable.appliedType(SymbolTable.scala:28)
[error] scala.reflect.internal.Definitions$DefinitionsClass$VarArityClass.specificType(Definitions.scala:607)
[error] scala.reflect.internal.Definitions$DefinitionsClass.functionType(Definitions.scala:625)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedFunctionUndoingEtaExpansion$6(Typers.scala:3137)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedFunctionUndoingEtaExpansion(Typers.scala:72)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:3033)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$101(Typers.scala:5628)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedFunction$1(Typers.scala:499)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5665)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5697)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3375)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:490)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedArgToPoly$1(Typers.scala:3765)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$doTypedApply$32(Typers.scala:3773)
[error] scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3773)
[error] scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3784)
[error] scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4862)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4871)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5687)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5797)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3357)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3357)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2489)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$102(Typers.scala:5662)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:499)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5697)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.doTypedFunction(Typers.scala:5808)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:3058)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$101(Typers.scala:5628)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedFunction$1(Typers.scala:499)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5665)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5697)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3375)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:490)
[error] scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgWithFormal$1(PatternTypers.scala:115)
[error] scala.tools.nsc.typechecker.PatternTypers$PatternTyper.$anonfun$typedArgsForFormals$4(PatternTypers.scala:129)
[error] scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals(PatternTypers.scala:129)
[error] scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals$(PatternTypers.scala:110)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedArgsForFormals(Typers.scala:201)
[error] scala.tools.nsc.typechecker.Typers$Typer.handleMonomorphicCall$1(Typers.scala:3714)
[error] scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3747)
[error] scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4862)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4871)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5687)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:5949)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5652)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5797)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3357)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3357)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2017)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1830)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5653)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5797)
[error] scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3357)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3357)
[error] scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5363)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5656)
[error] scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error] scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:115)
[error] scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:451)
[error] scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:104)
[error] scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1501)
[error] scala.tools.nsc.Global$Run.compileUnits(Global.scala:1485)
[error] scala.tools.nsc.Global$Run.compileSources(Global.scala:1478)
[error] scala.tools.nsc.Global$Run.compile(Global.scala:1604)
[error] xsbt.CachedCompiler0.run(CompilerInterface.scala:153)
[error] xsbt.CachedCompiler0.run(CompilerInterface.scala:125)
[error] xsbt.CompilerInterface.run(CompilerInterface.scala:39)
[error] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] java.lang.reflect.Method.invoke(Method.java:498)
[error] sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
[error] sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
[error] sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
[error] sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
[error] sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1762)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1735)
[error] scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error] sbt.Execute.work(Execute.scala:290)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] java.lang.Thread.run(Thread.java:748)
[error]            
[error] java.lang.NullPointerException
[error]         at scala.reflect.internal.Types$TypeRef.computeHashCode(Types.scala:2116)
[error]         at scala.reflect.internal.Types$UniqueType.<init>(Types.scala:1084)
[error]         at scala.reflect.internal.Types$TypeRef.<init>(Types.scala:2078)
[error]         at scala.reflect.internal.Types$ArgsTypeRef.<init>(Types.scala:1838)
[error]         at scala.reflect.internal.Types$ClassArgsTypeRef.<init>(Types.scala:2413)
[error]         at scala.reflect.internal.Types$TypeRef$.apply(Types.scala:2423)
[error]         at scala.reflect.internal.Types.copyTypeRef(Types.scala:3653)
[error]         at scala.reflect.internal.Types.copyTypeRef$(Types.scala:3645)
[error]         at scala.reflect.internal.SymbolTable.copyTypeRef(SymbolTable.scala:28)
[error]         at scala.reflect.internal.Types.appliedType(Types.scala:3729)
[error]         at scala.reflect.internal.Types.appliedType$(Types.scala:3714)
[error]         at scala.reflect.internal.SymbolTable.appliedType(SymbolTable.scala:28)
[error]         at scala.reflect.internal.Types.appliedType(Types.scala:3747)
[error]         at scala.reflect.internal.Types.appliedType$(Types.scala:3746)
[error]         at scala.reflect.internal.SymbolTable.appliedType(SymbolTable.scala:28)
[error]         at scala.reflect.internal.Definitions$DefinitionsClass$VarArityClass.specificType(Definitions.scala:607)
[error]         at scala.reflect.internal.Definitions$DefinitionsClass.functionType(Definitions.scala:625)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedFunctionUndoingEtaExpansion$6(Typers.scala:3137)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedFunctionUndoingEtaExpansion(Typers.scala:72)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:3033)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$101(Typers.scala:5628)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedFunction$1(Typers.scala:499)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5665)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5697)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3375)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:490)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedArgToPoly$1(Typers.scala:3765)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$doTypedApply$32(Typers.scala:3773)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.handlePolymorphicCall$1(Typers.scala:3773)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3784)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4862)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4871)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5687)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5797)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3357)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3357)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedBlock(Typers.scala:2489)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$102(Typers.scala:5662)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:499)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5697)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.doTypedFunction(Typers.scala:5808)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedFunction(Typers.scala:3058)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typed1$101(Typers.scala:5628)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedFunction$1(Typers.scala:499)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedOutsidePatternMode$1(Typers.scala:5665)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5697)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedArg$1(Typers.scala:3375)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedArg(Typers.scala:490)
[error]         at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgWithFormal$1(PatternTypers.scala:115)
[error]         at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.$anonfun$typedArgsForFormals$4(PatternTypers.scala:129)
[error]         at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals(PatternTypers.scala:129)
[error]         at scala.tools.nsc.typechecker.PatternTypers$PatternTyper.typedArgsForFormals$(PatternTypers.scala:110)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedArgsForFormals(Typers.scala:201)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.handleMonomorphicCall$1(Typers.scala:3714)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.doTypedApply(Typers.scala:3747)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4862)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4871)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5687)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedDefDef(Typers.scala:5949)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5652)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5797)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3357)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3357)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:2017)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedClassDef(Typers.scala:1830)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5653)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedStat$1(Typers.scala:5797)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.$anonfun$typedStats$10(Typers.scala:3357)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3357)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5363)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5656)
[error]         at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5733)
[error]         at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.apply(Analyzer.scala:115)
[error]         at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:451)
[error]         at scala.tools.nsc.typechecker.Analyzer$typerFactory$TyperPhase.run(Analyzer.scala:104)
[error]         at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1501)
[error]         at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1485)
[error]         at scala.tools.nsc.Global$Run.compileSources(Global.scala:1478)
[error]         at scala.tools.nsc.Global$Run.compile(Global.scala:1604)
[error]         at xsbt.CachedCompiler0.run(CompilerInterface.scala:153)
[error]         at xsbt.CachedCompiler0.run(CompilerInterface.scala:125)
[error]         at xsbt.CompilerInterface.run(CompilerInterface.scala:39)
[error]         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error]         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error]         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error]         at java.lang.reflect.Method.invoke(Method.java:498)
[error]         at sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
[error]         at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
[error]         at sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
[error]         at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
[error]         at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error]         at sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
[error]         at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
[error]         at sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
[error]         at sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
[error]         at sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
[error]         at sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
[error]         at sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
[error]         at sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
[error]         at sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
[error]         at sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
[error]         at sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
[error]         at sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
[error]         at sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
[error]         at sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
[error]         at sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
[error]         at sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1762)
[error]         at sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1735)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]         at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error]         at sbt.std.Transform$$anon$4.work(Transform.scala:67)
[error]         at sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error]         at sbt.Execute.work(Execute.scala:290)
[error]         at sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error]         at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error]         at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]         at java.lang.Thread.run(Thread.java:748)
[error] (core / Compile / compileIncremental) java.lang.NullPointerException
[error] Total time: 4 s, completed 19-Apr-2020 1

Maybe the error is related to java.lang.NullPointerException in scalac

Version:
sbt.version=1.3.10
scalaVersion := “2.12.11”

Hello,

If it’s a reproducible bug then it probably should be reported there: https://github.com/scala/bug/issues

1 Like

I will try to reproduce the error in a simpler example and will create and issue. I’m asking to be sure that it is not a stupid mistake that I can not see.

Thanks

Broadly speaking, if you get an NPE at compile time, that’s a bug pretty much by definition. It might be a compiler bug, or it might be a library bug (if you’re using a library that uses macros, it’s possible for this to happen), but it’s certainly a bug somewhere