Skip to content

AssertionError when compile unknown annotation #8554

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

Closed
ohze opened this issue Mar 16, 2020 · 2 comments
Closed

AssertionError when compile unknown annotation #8554

ohze opened this issue Mar 16, 2020 · 2 comments

Comments

@ohze
Copy link

ohze commented Mar 16, 2020

minimized code

libraryDependencies += "org.testcontainers"  % "testcontainers" % "1.13.0"
import org.testcontainers.containers.GenericContainer
class SContainer extends GenericContainer[SContainer]("dockerImageName")

Crash output (click arrow to expand)

[info] Compiling 1 Scala source to /Users/thanhbv/ohze/dotty-example/target/scala-0.22/classes ...
[error] Bad symbolic reference. A signature
[error] refers to NonNull/T in package lombok which is not available.
[error] It may be completely missing from the current classpath, or the version on
[error] the classpath might be incompatible with the version used when compiling the signature.
[info] exception occurred while compiling /Users/thanhbv/ohze/dotty-example/src/main/scala/TestKit.scala
java.lang.AssertionError: assertion failed: no member new lombok.NonNull . <init>, members = Scope{} while compiling /Users/thanhbv/ohze/dotty-example/src/main/scala/TestKit.scala
[error] ## Exception when compiling 1 sources to /Users/thanhbv/ohze/dotty-example/target/scala-0.22/classes
[error] java.lang.AssertionError: assertion failed: no member new lombok.NonNull . <init>, members = Scope{}
[error] dotty.DottyPredef$.assertFail(DottyPredef.scala:17)
[error] dotty.tools.dotc.ast.tpd$.applyOverloaded(tpd.scala:1157)
[error] dotty.tools.dotc.ast.tpd$.resolveConstructor(tpd.scala:1375)
[error] dotty.tools.dotc.core.Annotations$Annotation$.deferredResolve$$anonfun$1(Annotations.scala:146)
[error] dotty.tools.dotc.core.Annotations$$anon$1.complete(Annotations.scala:124)
[error] dotty.tools.dotc.core.Annotations$LazyAnnotation.tree(Annotations.scala:56)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiAnnotation(ExtractAPI.scala:626)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiAnnotations$$anonfun$2(ExtractAPI.scala:611)
[error] scala.collection.immutable.List.foreach(List.scala:305)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiAnnotations(ExtractAPI.scala:611)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiDefinition(ExtractAPI.scala:330)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiDefinitions$$anonfun$1(ExtractAPI.scala:320)
[error] scala.collection.immutable.List.map(List.scala:223)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiDefinitions(ExtractAPI.scala:320)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.$anonfun$7(ExtractAPI.scala:281)
[error] dotty.tools.dotc.sbt.ThunkHolder.$anonfun$1(ThunkHolder.scala:28)
[error] xsbti.api.SafeLazy$Impl.get(SafeLazy.java:61)
[error] dotty.tools.dotc.sbt.ThunkHolder.forceThunks$$anonfun$1(ThunkHolder.scala:19)
[error] scala.collection.immutable.List.foreach(List.scala:305)
[error] dotty.tools.dotc.sbt.ThunkHolder.forceThunks(ThunkHolder.scala:19)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.forceThunks(ExtractAPI.scala:127)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiSource(ExtractAPI.scala:186)
[error] dotty.tools.dotc.sbt.ExtractAPI.run(ExtractAPI.scala:66)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:315)
[error] scala.collection.immutable.List.map(List.scala:219)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:316)
[error] dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:167)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] dotty.tools.dotc.Run.runPhases$5(Run.scala:177)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:185)
[error] dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:192)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:129)
[error] dotty.tools.dotc.Run.compile(Run.scala:112)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:36)
[error] dotty.tools.dotc.Driver.process(Driver.scala:189)
[error] dotty.tools.dotc.Main.process(Main.scala)
[error] xsbt.CachedCompilerImpl.run(CachedCompilerImpl.java:69)
[error] xsbt.CompilerInterface.run(CompilerInterface.java:41)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[error] sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
[error] sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
[error] sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
[error] sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
[error] sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1762)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1735)
[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:67)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error] sbt.Execute.work(Execute.scala:290)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] java.base/java.lang.Thread.run(Thread.java:834)
[error]            
[error] stack trace is suppressed; run last Compile / compileIncremental for the full output
[error] (Compile / compileIncremental) java.lang.AssertionError: assertion failed: no member new lombok.NonNull . <init>, members = Scope{}

Notes

  • scala 2 compile successfully
  • Add this to build.sbt => success:
libraryDependencies += "org.projectlombok" % "lombok" % "1.18.12" % Provided
@odersky
Copy link
Contributor

odersky commented Apr 5, 2020

@ohze Can you check again with latest master, please? There were some changes to annotation handling that might affect the behavior here.

@ohze
Copy link
Author

ohze commented Apr 6, 2020

@odersky it still fail on dotty 0.24.0-bin-20200405-060a3ec-NIGHTLY:

[info] Compiling 1 Scala source and 2 Java sources to /Users/thanhbv/ohze/dotty-example/target/scala-0.24/classes ...
[error] Bad symbolic reference. A signature
[error] refers to NonNull/T in package lombok which is not available.
[error] It may be completely missing from the current classpath, or the version on
[error] the classpath might be incompatible with the version used when compiling the signature.
[info] exception occurred while compiling /Users/thanhbv/ohze/dotty-example/src/main/scala/Main.scala
java.lang.AssertionError: assertion failed: no member new lombok.NonNull . <init>, members = Scope{} while compiling /Users/thanhbv/ohze/dotty-example/src/main/java/pk/B.java, /Users/thanhbv/ohze/dotty-example/src/main/java/pk/C.java, /Users/thanhbv/ohze/dotty-example/src/main/scala/Main.scala
[error] ## Exception when compiling 3 sources to /Users/thanhbv/ohze/dotty-example/target/scala-0.24/classes
[error] java.lang.AssertionError: assertion failed: no member new lombok.NonNull . <init>, members = Scope{}
[error] dotty.DottyPredef$.assertFail(DottyPredef.scala:17)
[error] dotty.tools.dotc.ast.Trees$Instance.applyOverloaded(Trees.scala:1537)
[error] dotty.tools.dotc.ast.Trees$Instance.resolveConstructor(Trees.scala:1569)
[error] dotty.tools.dotc.core.Annotations$Annotation$.deferredResolve$$anonfun$1(Annotations.scala:174)
[error] dotty.tools.dotc.core.Annotations$.dotty$tools$dotc$core$Annotations$$anon$2$$_$$lessinit$greater$$anonfun$2(Annotations.scala:159)
[error] dotty.tools.dotc.core.Annotations$LazyAnnotation.tree(Annotations.scala:83)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiAnnotation(ExtractAPI.scala:614)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiAnnotations$$anonfun$2(ExtractAPI.scala:599)
[error] scala.collection.immutable.List.foreach(List.scala:305)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiAnnotations(ExtractAPI.scala:599)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiDefinition(ExtractAPI.scala:330)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiDefinitions$$anonfun$1(ExtractAPI.scala:320)
[error] scala.collection.immutable.List.map(List.scala:223)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiDefinitions(ExtractAPI.scala:320)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.$anonfun$7(ExtractAPI.scala:281)
[error] dotty.tools.dotc.sbt.ThunkHolder.$anonfun$1(ThunkHolder.scala:28)
[error] xsbti.api.SafeLazy$Impl.get(SafeLazy.java:64)
[error] dotty.tools.dotc.sbt.ThunkHolder.forceThunks$$anonfun$1(ThunkHolder.scala:19)
[error] scala.collection.immutable.List.foreach(List.scala:305)
[error] dotty.tools.dotc.sbt.ThunkHolder.forceThunks(ThunkHolder.scala:19)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.forceThunks(ExtractAPI.scala:127)
[error] dotty.tools.dotc.sbt.ExtractAPICollector.apiSource(ExtractAPI.scala:186)
[error] dotty.tools.dotc.sbt.ExtractAPI.run(ExtractAPI.scala:66)
[error] dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:318)
[error] scala.collection.immutable.List.map(List.scala:219)
[error] dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:319)
[error] dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:165)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
[error] dotty.tools.dotc.Run.runPhases$5(Run.scala:175)
[error] dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:183)
[error] dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
[error] dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
[error] dotty.tools.dotc.Run.compileUnits(Run.scala:190)
[error] dotty.tools.dotc.Run.compileSources(Run.scala:127)
[error] dotty.tools.dotc.Run.compile(Run.scala:110)
[error] dotty.tools.dotc.Driver.doCompile(Driver.scala:36)
[error] dotty.tools.dotc.Driver.process(Driver.scala:189)
[error] dotty.tools.dotc.Main.process(Main.scala)
[error] xsbt.CachedCompilerImpl.run(CachedCompilerImpl.java:69)
[error] xsbt.CompilerInterface.run(CompilerInterface.java:41)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[error] java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[error] java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[error] java.base/java.lang.reflect.Method.invoke(Method.java:566)
[error] sbt.internal.inc.AnalyzingCompiler.call(AnalyzingCompiler.scala:248)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:122)
[error] sbt.internal.inc.AnalyzingCompiler.compile(AnalyzingCompiler.scala:95)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$4(MixedAnalyzingCompiler.scala:91)
[error] scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] sbt.internal.inc.MixedAnalyzingCompiler.timed(MixedAnalyzingCompiler.scala:186)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3(MixedAnalyzingCompiler.scala:82)
[error] sbt.internal.inc.MixedAnalyzingCompiler.$anonfun$compile$3$adapted(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.JarUtils$.withPreviousJar(JarUtils.scala:215)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compileScala$1(MixedAnalyzingCompiler.scala:77)
[error] sbt.internal.inc.MixedAnalyzingCompiler.compile(MixedAnalyzingCompiler.scala:146)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileInternal$1$adapted(IncrementalCompilerImpl.scala:343)
[error] sbt.internal.inc.Incremental$.doCompile(Incremental.scala:120)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$4(Incremental.scala:100)
[error] sbt.internal.inc.IncrementalCommon.recompileClasses(IncrementalCommon.scala:180)
[error] sbt.internal.inc.IncrementalCommon.cycle(IncrementalCommon.scala:98)
[error] sbt.internal.inc.Incremental$.$anonfun$compile$3(Incremental.scala:102)
[error] sbt.internal.inc.Incremental$.manageClassfiles(Incremental.scala:155)
[error] sbt.internal.inc.Incremental$.compile(Incremental.scala:92)
[error] sbt.internal.inc.IncrementalCompile$.apply(Compile.scala:75)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileInternal(IncrementalCompilerImpl.scala:348)
[error] sbt.internal.inc.IncrementalCompilerImpl.$anonfun$compileIncrementally$1(IncrementalCompilerImpl.scala:301)
[error] sbt.internal.inc.IncrementalCompilerImpl.handleCompilationError(IncrementalCompilerImpl.scala:168)
[error] sbt.internal.inc.IncrementalCompilerImpl.compileIncrementally(IncrementalCompilerImpl.scala:248)
[error] sbt.internal.inc.IncrementalCompilerImpl.compile(IncrementalCompilerImpl.scala:74)
[error] sbt.Defaults$.compileIncrementalTaskImpl(Defaults.scala:1765)
[error] sbt.Defaults$.$anonfun$compileIncrementalTask$1(Defaults.scala:1738)
[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:67)
[error] sbt.Execute.$anonfun$submit$2(Execute.scala:281)
[error] sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:19)
[error] sbt.Execute.work(Execute.scala:290)
[error] sbt.Execute.$anonfun$submit$1(Execute.scala:281)
[error] sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] java.base/java.lang.Thread.run(Thread.java:834)
[error]            
[error] stack trace is suppressed; run last Compile / compileIncremental for the full output
[error] (Compile / compileIncremental) java.lang.AssertionError: assertion failed: no member new lombok.NonNull . <init>, members = Scope{}

Update: Still fail on 0.25.0-bin-20200523-5358651-NIGHTLY

smarter added a commit to dotty-staging/dotty that referenced this issue Jun 1, 2020
smarter added a commit to dotty-staging/dotty that referenced this issue Jun 1, 2020
smarter added a commit to dotty-staging/dotty that referenced this issue Jun 1, 2020
@odersky odersky closed this as completed in 6f32b62 Jun 1, 2020
odersky added a commit that referenced this issue Jun 1, 2020
Fix #8554: silently ignore missing annotations like javac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants