Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

java.lang.AssertionError: NoDenotation.owner when compiling with coverage #17625

Closed
reid-spencer opened this issue May 30, 2023 · 4 comments
Closed
Labels
area:coverage Code coverage, see https://dotty.epfl.ch/docs/internals/coverage.html itype:bug itype:crash stat:duplicate

Comments

@reid-spencer
Copy link

reid-spencer commented May 30, 2023

My GitHub workflow compiles my project with sbt-scoveralls plugin active to run the tests with coverage enabled. In that case, dotty yields an AssertionError. Note that regular compilations do not produce this symptom. This was a surprising result. The impact of this issue is that my project won't be able to produce coverage metrics until this is fixed (i.e. not a huge deal).

Compiler version

3.3.0
(does not occur in 3.2.2)

Minimized code

Minimizing this could take a while.

In the meantime, reproduction of it is quite straightforward.:

> project language
> clean
> coverage
> Test/compile

You can see the issue from where it was detected in this GitHub Workflow Output.

This is all the help I can provide for now. If a smaller test case is needed, please let me know.

Output (click the arrow to expand)

info] compiling 36 Scala sources to /Users/reid/Code/reactific/riddl/language/target/scala-3.3.0/classes ...
java.lang.AssertionError: NoDenotation.owner while running MegaPhase{crossVersionChecks, protectedAccessors, extmethods, uncacheGivenAliases, elimByName, hoistSuperArgs, forwardDepChecks, specializeApplyMethods, tryCatchPatterns, patternMatcher} on /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/RiddlParserInput.scala
[info] exception occurred while compiling /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/AST.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/CommonOptions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/Messages.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/Parser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/Riddl.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/AbstractDefinitions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Actions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/At.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Definitions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Expressions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Options.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/TypeExpression.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ActionParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/AdaptorParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ApplicationParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/CommonParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ContextParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/DomainParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/EntityParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/EpicParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ExpressionParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/FunctionParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/GherkinParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/HandlerParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/InputStack.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/NoWhiteSpaceParsers.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ParsingContext.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ProjectorParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ReferenceParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/RepositoryParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/RiddlParserInput.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/SagaParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/StreamingParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/Terminals.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/TopLevelParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/TypeParser.scala
java.lang.AssertionError: NoDenotation.owner while compiling /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/AST.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/CommonOptions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/Messages.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/Parser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/Riddl.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/AbstractDefinitions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Actions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/At.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Definitions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Expressions.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/Options.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/ast/TypeExpression.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ActionParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/AdaptorParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ApplicationParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/CommonParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ContextParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/DomainParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/EntityParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/EpicParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ExpressionParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/FunctionParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/GherkinParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/HandlerParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/InputStack.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/NoWhiteSpaceParsers.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ParsingContext.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ProjectorParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/ReferenceParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/RepositoryParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/RiddlParserInput.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/SagaParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/StreamingParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/Terminals.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/TopLevelParser.scala, /Users/reid/Code/reactific/riddl/language/src/main/scala/com/reactific/riddl/language/parsing/TypeParser.scala
[error] ## Exception when compiling 36 sources to /Users/reid/Code/reactific/riddl/language/target/scala-3.3.0/classes
[error] java.lang.AssertionError: NoDenotation.owner
[error] dotty.tools.dotc.core.SymDenotations$NoDenotation$.owner(SymDenotations.scala:2576)
[error] dotty.tools.dotc.transform.HoistSuperArgs$Hoister.hoistSuperArgsFromCall(HoistSuperArgs.scala:185)
[error] dotty.tools.dotc.transform.HoistSuperArgs$Hoister.hoistSuperArgsFromConstr(HoistSuperArgs.scala:218)
[error] dotty.tools.dotc.transform.HoistSuperArgs.$anonfun$7(HoistSuperArgs.scala:230)
[error] dotty.tools.dotc.core.Decorators$.loop$1(Decorators.scala:94)
[error] dotty.tools.dotc.core.Decorators$.mapconserve(Decorators.scala:110)
[error] dotty.tools.dotc.transform.HoistSuperArgs.transformTypeDef(HoistSuperArgs.scala:230)
[error] dotty.tools.dotc.transform.MegaPhase.goTypeDef(MegaPhase.scala:995)
[error] dotty.tools.dotc.transform.MegaPhase.goTypeDef(MegaPhase.scala:996)
[error] dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:256)
[error] dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:425)
[error] dotty.tools.dotc.transform.MegaPhase.loop$1(MegaPhase.scala:438)
[error] dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:438)
[error] dotty.tools.dotc.transform.MegaPhase.mapPackage$1(MegaPhase.scala:379)
[error] dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:382)
[error] dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:427)
[error] dotty.tools.dotc.transform.MegaPhase.transformUnit(MegaPhase.scala:454)
[error] dotty.tools.dotc.transform.MegaPhase.run(MegaPhase.scala:466)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:324)
[error] scala.collection.immutable.List.map(List.scala:250)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:328)
[error] dotty.tools.dotc.Run.runPhases$1$$anonfun$1(Run.scala:247)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1321)
[error] dotty.tools.dotc.Run.runPhases$1(Run.scala:263)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:271)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$adapted$1(Run.scala:280)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:67)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:280)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:195)
[error] dotty.tools.dotc.Run.compile(Run.scala:179)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:35)
[error] dotty.tools.xsbt.CompilerBridgeDriver.run(CompilerBridgeDriver.java:88)
[error] dotty.tools.xsbt.CompilerBridge.run(CompilerBridge.java:22)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:91)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$7(MixedAnalyzingCompiler.scala:193)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:248)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:183)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4$adapted(MixedAnalyzingCompiler.scala:163)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:239)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:163)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:211)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$5(Incremental.scala:179)
[error] sbt.internal.inc.Incremental$.$anonfun$apply$5$adapted(Incremental.scala:177)
[error] sbt.internal.inc.Incremental$$anon$2.run(Incremental.scala:463)
[error] sbt.internal.inc.IncrementalCommon$CycleState.next(IncrementalCommon.scala:116)
[error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:56)
[error] sbt.internal.inc.IncrementalCommon$$anon$1.next(IncrementalCommon.scala:52)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:263)
[error] sbt.internal.inc.Incremental$.$anonfun$incrementalCompile$8(Incremental.scala:418)
[error] sbt.internal.inc.Incremental$.withClassfileManager(Incremental.scala:505)
[error] sbt.internal.inc.Incremental$.incrementalCompile(Incremental.scala:405)
[error] sbt.internal.inc.Incremental$.apply(Incremental.scala:171)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:534)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:488)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:332)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:425)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:137)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:2363)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$2(Defaults.scala:2313)
[error] sbt.internal.server.BspCompileTask$.$anonfun$compute$1(BspCompileTask.scala:30)
[error] sbt.internal.io.Retry$.apply(Retry.scala:46)
[error] sbt.internal.io.Retry$.apply(Retry.scala:28)
[error] sbt.internal.io.Retry$.apply(Retry.scala:23)
[error] sbt.internal.server.BspCompileTask$.compute(BspCompileTask.scala:30)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:2311)
[error] scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error] sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error] sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error] sbt.Execute.work(Execute.scala:291)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error] java.base/java.lang.Thread.run(Thread.java:833)
[error]            
[error] stack trace is suppressed; run last Compile / compileIncremental for the full output
[error] (Compile / compileIncremental) java.lang.AssertionError: NoDenotation.owner
[error] Total time: 22 s, completed May 30, 2023, 12:18:27 PM
[IJ]
@reid-spencer reid-spencer added itype:bug itype:crash stat:needs triage Every issue needs to have an "area" and "itype" label labels May 30, 2023
@som-snytt
Copy link
Contributor

This surfaced on discord, so it must be a thing.

#17605

@reid-spencer reid-spencer changed the title ava.lang.AssertionError: NoDenotation.owner when compiling with coverage java.lang.AssertionError: NoDenotation.owner when compiling with coverage May 30, 2023
@jchyb jchyb added stat:duplicate area:coverage Code coverage, see https://dotty.epfl.ch/docs/internals/coverage.html and removed stat:needs triage Every issue needs to have an "area" and "itype" label labels May 31, 2023
@jchyb
Copy link
Contributor

jchyb commented May 31, 2023

This appears to be a duplicate, but I'm going to leave it so we can test when the fix is made for the other issue, without making a second (potentially redundant) minimization

@pribor
Copy link

pribor commented Jun 2, 2023

It is worth mentioning that it works in 3.3.1

@reid-spencer
Copy link
Author

Confirmed. I rebuilt with 3.3.1-RC1, and it compiled without complaint.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:coverage Code coverage, see https://dotty.epfl.ch/docs/internals/coverage.html itype:bug itype:crash stat:duplicate
Projects
None yet
Development

No branches or pull requests

4 participants