Skip to content

"Bad superClass for class” crash #11115

Open
@Blaisorblade

Description

@Blaisorblade

Define and compile object Boxing, then load in a scala REPL (e.g. sbt console) and type

scala> val v: Boxing = Boxing
<console>:11: error: type mismatch;
 found   : Boxing.type
 required: Boxing
       val v: Boxing = Boxing
                       ^

That's strange—it mentions type Boxing tho it doesn't exist. Maybe because a valid but member-less Boxing.class has been created? But OK.
For the crash, try this:

val v: Boxing = null

Error at https://gist.github.com/Blaisorblade/83f7b997269a080890576c7a738f6972. Highlights:

java.lang.AssertionError: assertion failed:
  Bad superClass for class Boxing: <none>
     while compiling: <console>
        during phase: jvm
[...]
	at scala.reflect.internal.SymbolTable.throwAssertionError(SymbolTable.scala:163)
	at scala.tools.nsc.backend.jvm.BTypesFromSymbols.computeClassInfo(BTypesFromSymbols.scala:321)
	at scala.tools.nsc.backend.jvm.BTypesFromSymbols.$anonfun$classBTypeFromSymbol$6(BTypesFromSymbols.scala:107)
	at scala.tools.nsc.backend.jvm.BTypes$ClassBType$.apply(BTypes.scala:816)
	at scala.tools.nsc.backend.jvm.BTypesFromSymbols.classBTypeFromSymbol(BTypesFromSymbols.scala:104)
	at scala.tools.nsc.backend.jvm.BTypesFromSymbols.$anonfun$typeToBType$1(BTypesFromSymbols.scala:158)
[...]
java.lang.AssertionError: assertion failed: ClassBType.info not yet assigned: L$line2/$read$$iw$$iw$;
	at scala.tools.nsc.backend.jvm.BTypes$ClassBType.info(BTypes.scala:629)
	at scala.tools.nsc.backend.jvm.BTypes$ClassBType.isNestedClass(BTypes.scala:681)
	at scala.tools.nsc.backend.jvm.BTypes$ClassBType.enclosingNestedClassesChain(BTypes.scala:684)
	at scala.tools.nsc.backend.jvm.analysis.BackendUtils.$anonfun$addInnerClasses$1(BackendUtils.scala:361)
	at scala.tools.nsc.backend.jvm.analysis.BackendUtils.addInnerClasses(BackendUtils.scala:361)
	at scala.tools.nsc.backend.jvm.PostProcessor.setInnerClasses(PostProcessor.scala:125)
[...]

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions