Skip to content

extending javax.swing.SwingWorker from inner class causes crash #16343

Closed
@flomebul

Description

@flomebul

Compiler version

Scala 3.2.1

Minimized code

class Issue16343:
  class MyWorker extends javax.swing.SwingWorker[Unit, Unit]

Output (click arrow to expand)

scalac: java.lang.StackOverflowError while running MegaPhase{firstTransform, checkReentrant, elimPackagePrefixes, cookComments, checkStatic, checkLoopingImplicits, betaReduce, inlineVals, expandSAMs, elimRepeated, refchecks} on E:\Users\Luc\Documents\Home\ProjIntl\Scala_3.2\src\main\scala\scala_3_2\Issue7894569.scala
scalac: java.lang.StackOverflowError while compiling E:\Users\Luc\Documents\Home\ProjIntl\Scala_3.2\src\main\scala\scala_3_2\Issue7894569.scala
scalac: Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError
	at dotty.tools.dotc.core.Names$TermName.derived(Names.scala:207)
	at dotty.tools.dotc.core.NameKinds$QualifiedNameKind.apply(NameKinds.scala:131)
	at dotty.tools.dotc.core.SymDenotations$SymDenotation.dotty$tools$dotc$core$SymDenotations$SymDenotation$$_$qualify$1(SymDenotations.scala:494)
	at dotty.tools.dotc.core.SymDenotations$SymDenotation$$anon$1.applyOrElse(SymDenotations.scala:497)
	at dotty.tools.dotc.core.SymDenotations$SymDenotation$$anon$1.applyOrElse(SymDenotations.scala:496)
	at scala.PartialFunction$OrElse.apply(PartialFunction.scala:266)
	at dotty.tools.dotc.core.Names$SimpleName.replace(Names.scala:342)
	at dotty.tools.dotc.core.Names$SimpleName.replace(Names.scala:341)
	at dotty.tools.dotc.core.Names$Name.replaceDeep(Names.scala:81)
	at dotty.tools.dotc.core.SymDenotations$SymDenotation.fullNameSeparated(SymDenotations.scala:497)
	at dotty.tools.dotc.core.NameOps$.expandedName(NameOps.scala:145)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$outerAccName(ExplicitOuter.scala:199)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessor(ExplicitOuter.scala:194)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessors(ExplicitOuter.scala:140)
	at dotty.tools.dotc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:53)
	at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform(DenotTransformers.scala:42)
	at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform$(DenotTransformers.scala:34)
	at dotty.tools.dotc.transform.ExplicitOuter.transform(ExplicitOuter.scala:36)
	at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:833)
	at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:882)
	at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:120)
	at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:114)
	at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:107)
	at dotty.tools.dotc.core.Symbols$ClassSymbol.classDenot(Symbols.scala:460)
	at dotty.tools.dotc.core.Symbols$.toClassDenot(Symbols.scala:500)
	at dotty.tools.dotc.core.Contexts$Context.effectiveScope(Contexts.scala:272)
	at dotty.tools.dotc.core.Contexts$Context.nestingLevel(Contexts.scala:275)
	at dotty.tools.dotc.core.Symbols$.newSymbol$default$8(Symbols.scala:522)
	at dotty.tools.dotc.transform.ExplicitOuter$.newOuterSym(ExplicitOuter.scala:182)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessor(ExplicitOuter.scala:195)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessors(ExplicitOuter.scala:140)
	at dotty.tools.dotc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:53)
	at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform(DenotTransformers.scala:42)
	at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform$(DenotTransformers.scala:34)
	at dotty.tools.dotc.transform.ExplicitOuter.transform(ExplicitOuter.scala:36)
	at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:833)
	at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:882)
	at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:120)
	at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:114)
	at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:107)
	at dotty.tools.dotc.core.Symbols$ClassSymbol.classDenot(Symbols.scala:460)
	at dotty.tools.dotc.core.Symbols$.toClassDenot(Symbols.scala:500)
	at dotty.tools.dotc.core.Contexts$Context.effectiveScope(Contexts.scala:272)
	at dotty.tools.dotc.core.Contexts$Context.nestingLevel(Contexts.scala:275)
	at dotty.tools.dotc.core.Symbols$.newSymbol$default$8(Symbols.scala:522)
	at dotty.tools.dotc.transform.ExplicitOuter$.newOuterSym(ExplicitOuter.scala:182)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessor(ExplicitOuter.scala:195)
	at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessors(ExplicitOuter.scala:140)
	at dotty.tools.dotc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:53)
	at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform(DenotTransformers.scala:42)
	at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform$(DenotTransformers.scala:34)
	at dotty.tools.dotc.transform.ExplicitOuter.transform(ExplicitOuter.scala:36)
	at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:833)
	at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:882)
	at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:120)
...
...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions