Skip to content

MissingRequirementError: object scala in compiler mirror not found. #7796

@cvogt2

Description

@cvogt2

Describe the bug

We see this metals crash every now and then. It may be a situation where the bloop file refers to files, which have not been put in place yet by our installation scripts.

error id: <REDACTED>
file://<WORKSPACE>/<REDACTED>.scala
### scala.reflect.internal.MissingRequirementError: object scala in compiler mirror not found.

occurred in the presentation compiler.



action parameters:
uri: file://<WORKSPACE>/<REDACTED>.scala
text:
```scala
<REDACTED>

presentation compiler configuration:
Scala version: 2.12.17
Classpath:
== [missing ], /.cache/bloop/semanticdb/com.sourcegraph.semanticdb-javac.0.11.0/semanticdb-javac-0.11.0.jar [exists ], /a-2.0.16.jar [missing ], /b-4.0.3.jar [missing ], /scala-compiler-2.12.17.jar [missing ], /scala-library-2.12.17.jar [missing ], /scala-reflect-2.12.17.jar [missing ], ...
Options:
-Wconf:msg=named\sor\sdefault\sarguments\stransformed\sthis\sannotation:silent -Yrangepos -Xplugin-require:semanticdb

Error stacktrace:

scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:24)
	scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:25)
	scala.reflect.internal.Mirrors$RootsBase.$anonfun$getModuleOrClass$5(Mirrors.scala:61)
	scala.reflect.internal.Symbols$Symbol.orElse(Symbols.scala:2604)
	scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:61)
	scala.reflect.internal.Mirrors$RootsBase.getModuleOrClass(Mirrors.scala:73)
	scala.reflect.internal.Mirrors$RootsBase.getPackage(Mirrors.scala:199)
	scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackage$lzycompute(Definitions.scala:196)
	scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackage(Definitions.scala:196)
	scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackageClass$lzycompute(Definitions.scala:197)
	scala.reflect.internal.Definitions$DefinitionsClass.ScalaPackageClass(Definitions.scala:197)
	scala.reflect.internal.Definitions$DefinitionsClass.AnyClass$lzycompute(Definitions.scala:292)
	scala.reflect.internal.Definitions$DefinitionsClass.AnyClass(Definitions.scala:292)
	scala.tools.nsc.symtab.classfile.ClassfileParser$ClassTypeCompleter.complete(ClassfileParser.scala:1265)
	scala.reflect.internal.Symbols$Symbol.completeInfo(Symbols.scala:1542)
	scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1514)
	scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1698)
	scala.reflect.internal.Definitions$DefinitionsClass.init(Definitions.scala:1504)
	scala.tools.nsc.Global$Run.<init>(Global.scala:1214)
	scala.tools.nsc.interactive.Global$TyperRun.<init>(Global.scala:1322)
	scala.tools.nsc.interactive.Global.newTyperRun(Global.scala:1345)
	scala.tools.nsc.interactive.Global.<init>(Global.scala:293)
	scala.meta.internal.pc.MetalsGlobal.<init>(MetalsGlobal.scala:49)
	scala.meta.internal.pc.ScalaPresentationCompiler.newCompiler(ScalaPresentationCompiler.scala:627)
	scala.meta.internal.pc.ScalaPresentationCompiler.$anonfun$compilerAccess$1(ScalaPresentationCompiler.scala:147)
	scala.meta.internal.pc.CompilerAccess.loadCompiler(CompilerAccess.scala:40)
	scala.meta.internal.pc.CompilerAccess.retryWithCleanCompiler(CompilerAccess.scala:182)
	scala.meta.internal.pc.CompilerAccess.$anonfun$withSharedCompiler$1(CompilerAccess.scala:155)
	scala.Option.map(Option.scala:230)
	scala.meta.internal.pc.CompilerAccess.withSharedCompiler(CompilerAccess.scala:154)
	scala.meta.internal.pc.CompilerAccess.$anonfun$withInterruptableCompiler$1(CompilerAccess.scala:92)
	scala.meta.internal.pc.CompilerAccess.$anonfun$onCompilerJobQueue$1(CompilerAccess.scala:209)
	scala.meta.internal.pc.CompilerJobQueue$Job.run(CompilerJobQueue.scala:152)
	java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	java.base/java.lang.Thread.run(Thread.java:840)

Short summary:

scala.reflect.internal.MissingRequirementError: object scala in compiler mirror not found.


### Expected behavior

A log message instead of a metals crash

### Operating system

Linux

### Editor/Extension

VS Code

### Version of Metals

v1.6.2

### Scala version/s

2.12.17

### Extra context or search terms

_No response_

Metadata

Metadata

Assignees

No one assigned

    Labels

    Scala 2improvementNot a bug or a feature, but something general we can improve

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions