strke1683
strke1683

Reputation: 51

SBT 1.0 crash - java.lang.VerifyError: Uninitialized object exists on backward branch

After installing SBT 1.0.1 on Windows 10, running any sbt command causes the error below. This is identical to error reported in the sbt git issue, but I already have JDK 1.8.0_144 installed.

C:\>java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

>sbt new sbt/scala-seed.g8
"C:\Users\****\.sbt\preloaded\org.scala-sbt\sbt\"1.0.1"\jars\sbt.jar"
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
java.lang.VerifyError: Uninitialized object exists on backward branch 162
Exception Details:
  Location:
    scala/util/matching/Regex.unapplySeq(Lscala/util/matching/Regex$Match;)Lscala/Option; @216: goto
  Reason:
    Error exists in the bytecode
  Bytecode:
    0x0000000: 2bc6 000a 2bb6 00ef c700 07b2 0052 b02b
    0x0000010: b600 f2b6 00f3 2ab6 0054 4d59 c700 0b57
    0x0000020: 2cc6 000d a700 c92c b600 f799 00c2 bb00

...

Upvotes: 2

Views: 2100

Answers (1)

strke1683
strke1683

Reputation: 51

This was fixed after removing a folder pointing to an older version of the JDK from the Path environment variable. The latest Oracle installed version of java.exe was earlier in the path, however I suspect that it was going to the old folder to find javac.exe for some of the steps sbt was running. I also had a JAVA_HOME environment variable set to the older JDK and removed that for safe measure.

Upvotes: 3

Related Questions