-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
area:best-effort-compilationAnything concerning `.betasty`, `-Ybest-effort` and `-Ywith-best-effort-tasty`Anything concerning `.betasty`, `-Ybest-effort` and `-Ywith-best-effort-tasty`area:private optionsIssues tied to -Y private/internal compiler settings.Issues tied to -Y private/internal compiler settings.area:replitype:bug
Milestone
Description
When calling sbt console
on a 3.5.0 project with Best Effort Compilation enabled, the console opens but any evaluation of Scala expression ends up with NullPointerException.
From stack trace, it seems to be related to dotty rather than SBT. SBT commands like :help
work.
Compiler version
Scala: 3.5.0
Java OpenJDK 64-Bit Server VM, 22.0.2
SBT: 1.10.1
Minimized code
build.sbt:
scalaVersion := "3.5.0"
scalacOptions ++= List("-Ybest-effort", "-Ywith-best-effort-tasty")
$> sbt console
scala> 1
Output
[error] java.lang.NullPointerException: Cannot invoke "java.nio.file.Path.toAbsolutePath()" because the return value of "dotty.tools.io.AbstractFile.jpath()" is null
[error] at dotty.tools.dotc.transform.Pickler.runOn(Pickler.scala:416)
[error] at dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:343)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] at dotty.tools.dotc.Run.runPhases$1(Run.scala:336)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:384)
[error] at dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:396)
[error] at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:69)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:396)
[error] at dotty.tools.dotc.Run.compileUnits(Run.scala:288)
[error] at dotty.tools.repl.ReplCompiler.compile(ReplCompiler.scala:88)
[error] at dotty.tools.repl.ReplDriver.compile(ReplDriver.scala:321)
[error] at dotty.tools.repl.ReplDriver.interpret(ReplDriver.scala:283)
[error] at dotty.tools.repl.ReplDriver.loop$1(ReplDriver.scala:196)
[error] at dotty.tools.repl.ReplDriver.runUntilQuit$$anonfun$1(ReplDriver.scala:199)
[error] at dotty.tools.repl.ReplDriver.withRedirectedOutput(ReplDriver.scala:238)
[error] at dotty.tools.repl.ReplDriver.runBody$$anonfun$1(ReplDriver.scala:212)
[error] at dotty.tools.runner.ScalaClassLoader$.asContext(ScalaClassLoader.scala:80)
[error] at dotty.tools.repl.ReplDriver.runBody(ReplDriver.scala:212)
[error] at dotty.tools.repl.ReplDriver.runUntilQuit(ReplDriver.scala:199)
[error] at xsbt.ConsoleInterface.run(ConsoleInterface.java:52)
[error] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
[error] at java.base/java.lang.reflect.Method.invoke(Method.java:580)
[error] at sbt.internal.inc.AnalyzingCompiler.invoke(AnalyzingCompiler.scala:329)
[error] at sbt.internal.inc.AnalyzingCompiler.console(AnalyzingCompiler.scala:233)
[error] at sbt.Console.console0$1(Console.scala:65)
[error] at sbt.Console.$anonfun$apply$5(Console.scala:75)
[error] at sbt.Run$.executeSuccess(Run.scala:187)
[error] at sbt.Console.$anonfun$apply$4(Console.scala:75)
[error] at sbt.internal.util.Terminal.withRawInput(Terminal.scala:146)
[error] at sbt.internal.util.Terminal.withRawInput$(Terminal.scala:144)
[error] at sbt.internal.util.Terminal$ProxyTerminal$.withRawInput(Terminal.scala:424)
[error] at sbt.Console.$anonfun$apply$3(Console.scala:75)
[error] at sbt.internal.util.Terminal$TerminalImpl.withRawOutput(Terminal.scala:1028)
[error] at sbt.internal.util.Terminal$ProxyTerminal$.withRawOutput(Terminal.scala:463)
[error] at sbt.Console.apply(Console.scala:72)
[error] at sbt.Console.apply(Console.scala:50)
[error] at sbt.Console.apply(Console.scala:42)
[error] at sbt.Defaults$.$anonfun$consoleTask$1(Defaults.scala:2287)
[error] at sbt.Defaults$.$anonfun$consoleTask$1$adapted(Defaults.scala:2273)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:63)
[error] at sbt.std.Transform$$anon$4.work(Transform.scala:69)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:283)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:24)
[error] at sbt.Execute.work(Execute.scala:292)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:283)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:65)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[error] at java.base/java.lang.Thread.run(Thread.java:1570)
[error] (Compile / console) java.lang.NullPointerException: Cannot invoke "java.nio.file.Path.toAbsolutePath()" because the return value of "dotty.tools.io.AbstractFile.jpath()" is null
noti0na1
Metadata
Metadata
Assignees
Labels
area:best-effort-compilationAnything concerning `.betasty`, `-Ybest-effort` and `-Ywith-best-effort-tasty`Anything concerning `.betasty`, `-Ybest-effort` and `-Ywith-best-effort-tasty`area:private optionsIssues tied to -Y private/internal compiler settings.Issues tied to -Y private/internal compiler settings.area:replitype:bug