Skip to content

Could not launch Scala 2.10.7, 2.11.12 REPL with Java 11 (without -nobootcp -nc workaround) #10603

Closed
@xuwei-k

Description

@xuwei-k
$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
$ scala -version
Scala code runner version 2.10.7 -- Copyright 2002-2017, LAMP/EPFL
$ scala
Welcome to Scala version 2.10.7 (Java HotSpot(TM) 64-Bit Server VM, Java 9.0.1).
Type in expressions to have them evaluated.
Type :help for more information.

scala> 
Failed to initialize compiler: NoClassDefFoundError.
This is most often remedied by a full clean and recompile.
Otherwise, your classpath may continue bytecode compiled by
different and incompatible versions of scala.

java.lang.NoClassDefFoundError: javax/tools/ToolProvider
	at scala.reflect.io.JavaToolsPlatformArchive.iterator(ZipArchive.scala:242)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.reflect.io.AbstractFile.foreach(AbstractFile.scala:92)
	at scala.tools.nsc.util.DirectoryClassPath.traverse(ClassPath.scala:308)
	at scala.tools.nsc.util.DirectoryClassPath.x$16$lzycompute(ClassPath.scala:317)
	at scala.tools.nsc.util.DirectoryClassPath.x$16(ClassPath.scala:317)
	at scala.tools.nsc.util.DirectoryClassPath.packages$lzycompute(ClassPath.scala:317)
	at scala.tools.nsc.util.DirectoryClassPath.packages(ClassPath.scala:317)
	at scala.tools.nsc.util.DirectoryClassPath.packages(ClassPath.scala:297)
	at scala.tools.nsc.util.MergedClassPath$$anonfun$packages$1.apply(ClassPath.scala:375)
	at scala.tools.nsc.util.MergedClassPath$$anonfun$packages$1.apply(ClassPath.scala:375)
	at scala.collection.Iterator$class.foreach(Iterator.scala:727)
	at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
	at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
	at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
	at scala.tools.nsc.util.MergedClassPath.packages$lzycompute(ClassPath.scala:375)
	at scala.tools.nsc.util.MergedClassPath.packages(ClassPath.scala:370)
	at scala.tools.nsc.symtab.SymbolLoaders$PackageLoader.doComplete(SymbolLoaders.scala:243)
	at scala.tools.nsc.symtab.SymbolLoaders$SymbolLoader.complete(SymbolLoaders.scala:194)
	at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1231)
	at scala.reflect.internal.Mirrors$RootsBase.init(Mirrors.scala:240)
	at scala.tools.nsc.Global.rootMirror$lzycompute(Global.scala:59)
	at scala.tools.nsc.Global.rootMirror(Global.scala:57)
	at scala.tools.nsc.Global.rootMirror(Global.scala:37)
	at scala.reflect.internal.Definitions$DefinitionsClass.<init>(Definitions.scala:166)
	at scala.reflect.internal.Definitions$definitions$.<init>(Definitions.scala:20)
	at scala.reflect.internal.SymbolTable.definitions$lzycompute(SymbolTable.scala:13)
	at scala.reflect.internal.SymbolTable.definitions(SymbolTable.scala:13)
	at scala.tools.nsc.Global$Run.<init>(Global.scala:1290)
	at scala.tools.nsc.interpreter.IMain.scala$tools$nsc$interpreter$IMain$$_initialize(IMain.scala:149)
	at scala.tools.nsc.interpreter.IMain$$anonfun$initialize$1.apply$mcZ$sp(IMain.scala:162)
	at scala.tools.nsc.interpreter.IMain$$anonfun$initialize$1.apply(IMain.scala:162)
	at scala.tools.nsc.interpreter.IMain$$anonfun$initialize$1.apply(IMain.scala:162)
	at scala.tools.nsc.io.package$$anon$3.call(package.scala:40)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.base/java.lang.Thread.run(Thread.java:844)


Failed to initialize the REPL due to an unexpected error.
This is a bug, please, report it along with the error diagnostics printed below.
java.lang.NullPointerException
	at scala.tools.nsc.interpreter.ExprTyper$codeParser$.applyRule(ExprTyper.scala:24)
	at scala.tools.nsc.interpreter.ExprTyper$codeParser$.stmts(ExprTyper.scala:35)
	at scala.tools.nsc.interpreter.ExprTyper$$anonfun$parse$2.apply(ExprTyper.scala:43)
	at scala.tools.nsc.interpreter.ExprTyper$$anonfun$parse$2.apply(ExprTyper.scala:42)
	at scala.tools.nsc.reporters.Reporter.withIncompleteHandler(Reporter.scala:51)
	at scala.tools.nsc.interpreter.ExprTyper$class.parse(ExprTyper.scala:42)
	at scala.tools.nsc.interpreter.IMain$exprTyper$.parse(IMain.scala:1074)
	at scala.tools.nsc.interpreter.IMain.parse(IMain.scala:1078)
	at scala.tools.nsc.interpreter.IMain$$anonfun$showCodeIfDebugging$1.apply(IMain.scala:1168)
	at scala.tools.nsc.interpreter.IMain$$anonfun$showCodeIfDebugging$1.apply(IMain.scala:1168)
	at scala.tools.nsc.interpreter.IMain.beSilentDuring(IMain.scala:238)
	at scala.tools.nsc.interpreter.IMain.showCodeIfDebugging(IMain.scala:1168)
	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:800)
	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:761)
	at scala.tools.nsc.interpreter.IMain.bind(IMain.scala:618)
	at scala.tools.nsc.interpreter.IMain.bind(IMain.scala:661)
	at scala.tools.nsc.interpreter.IMain$$anonfun$quietBind$1.apply(IMain.scala:660)
	at scala.tools.nsc.interpreter.IMain$$anonfun$quietBind$1.apply(IMain.scala:660)
	at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:232)
	at scala.tools.nsc.interpreter.IMain.quietBind(IMain.scala:660)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1$$anonfun$apply$mcZ$sp$2.apply$mcV$sp(ILoop.scala:853)
	at scala.tools.nsc.interpreter.ILoopInit$class.runThunks(ILoopInit.scala:122)
	at scala.tools.nsc.interpreter.ILoop.runThunks(ILoop.scala:42)
	at scala.tools.nsc.interpreter.ILoopInit$class.postInitialization(ILoopInit.scala:95)
	at scala.tools.nsc.interpreter.ILoop.postInitialization(ILoop.scala:42)
	at scala.tools.nsc.interpreter.ILoopInit$$anonfun$createAsyncListener$1.apply$mcV$sp(ILoopInit.scala:63)
	at scala.tools.nsc.interpreter.ILoopInit$$anonfun$createAsyncListener$1.apply(ILoopInit.scala:60)
	at scala.tools.nsc.interpreter.ILoopInit$$anonfun$createAsyncListener$1.apply(ILoopInit.scala:60)
	at scala.tools.nsc.io.package$$anon$3.call(package.scala:40)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.base/java.lang.Thread.run(Thread.java:844)
$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
$ scala -version
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL
$ scala
Welcome to Scala 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 9.0.1).
Type in expressions for evaluation. Or try :help.
Exception in thread "main" 
scala> java.lang.NoClassDefFoundError: javax/script/Compilable
	at scala.tools.nsc.interpreter.ILoop.createInterpreter(ILoop.scala:118)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1$$anonfun$startup$1$1$$anonfun$apply$1.apply(ILoop.scala:971)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1$$anonfun$startup$1$1$$anonfun$apply$1.apply(ILoop.scala:971)
	at scala.tools.nsc.interpreter.ILoop.savingReader(ILoop.scala:96)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1$$anonfun$startup$1$1.apply(ILoop.scala:970)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:990)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:891)
	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:891)
	at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97)
	at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:891)
	at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:74)
	at scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:87)
	at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:98)
	at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:103)
	at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
[ERROR] Failed to disable litteral next character
java.lang.InterruptedException
	at java.base/java.lang.Object.wait(Native Method)
	at java.base/java.lang.Object.wait(Object.java:516)
	at java.base/java.lang.ProcessImpl.waitFor(ProcessImpl.java:494)
	at jline.internal.TerminalLineSettings.waitAndCapture(TerminalLineSettings.java:339)
	at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:311)
	at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:282)
	at jline.internal.TerminalLineSettings.undef(TerminalLineSettings.java:158)
	at jline.UnixTerminal.disableLitteralNextCharacter(UnixTerminal.java:194)
	at jline.console.ConsoleReader.readLine(ConsoleReader.java:2450)
	at jline.console.ConsoleReader.readLine(ConsoleReader.java:2373)
	at jline.console.ConsoleReader.readLine(ConsoleReader.java:2361)
	at scala.tools.nsc.interpreter.jline.InteractiveReader.readOneLine(JLineReader.scala:59)
	at scala.tools.nsc.interpreter.InteractiveReader$$anonfun$readLine$2.apply(InteractiveReader.scala:37)
	at scala.tools.nsc.interpreter.InteractiveReader$$anonfun$readLine$2.apply(InteractiveReader.scala:37)
	at scala.tools.nsc.interpreter.InteractiveReader$.restartSysCalls(InteractiveReader.scala:44)
	at scala.tools.nsc.interpreter.InteractiveReader$class.readLine(InteractiveReader.scala:37)
	at scala.tools.nsc.interpreter.jline.InteractiveReader.readLine(JLineReader.scala:27)
	at scala.tools.nsc.interpreter.SplashReader.readLine(InteractiveReader.scala:142)
	at scala.tools.nsc.interpreter.SplashLoop.run(InteractiveReader.scala:71)
	at java.base/java.lang.Thread.run(Thread.java:844)


Exception in thread "Thread-1" java.lang.InterruptedException
	at java.base/java.util.concurrent.SynchronousQueue.put(SynchronousQueue.java:875)
	at scala.tools.nsc.interpreter.SplashLoop.run(InteractiveReader.scala:77)
	at java.base/java.lang.Thread.run(Thread.java:844)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions