Skip to content

java.lang.VerifyError when run tests with coverage #450

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
sergewar opened this issue Aug 6, 2022 · 4 comments
Closed

java.lang.VerifyError when run tests with coverage #450

sergewar opened this issue Aug 6, 2022 · 4 comments

Comments

@sergewar
Copy link

sergewar commented Aug 6, 2022

When tried introduce scoverage in project with scala 3 (3.2.0-RC3) faced with next error

[info] sss.IsTest *** ABORTED ***
[info]   java.lang.VerifyError: Constructor must call super() or this() before return
[info] Exception Details:
[info]   Location:
[info]     sss/UserId$.<init>()V @0: return
[info]   Reason:
[info]     Error exists in the bytecode
[info]   Bytecode:
[info]     0000000: b1
[info]   at sss.Is$.<clinit>(Is.scala:11)
[info]   at sss.IsTest.testFun$proxy1$1(IsTest.scala:9)
[info]   at sss.IsTest.$init$$$anonfun$1(IsTest.scala:8)
[info]   at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
[info]   at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info]   at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:[31](https://github.com/sergewar/scala-scoverage-error/runs/7668222941?check_suite_focus=true#step:5:32))
[info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:22)
[info]   at org.scalatest.Transformer.apply(Transformer.scala:21)
[info]   at org.scalatest.flatspec.AnyFlatSpecLike$$anon$5.apply(AnyFlatSpecLike.scala:1697)

Full stack trace here https://github.com/sergewar/scala-coverage-error/runs/7668222941?check_suite_focus=true#step:5:48

Example project https://github.com/sergewar/scala-coverage-error

@ckipp01
Copy link
Member

ckipp01 commented Aug 8, 2022

Thanks for the report @sergewar. Is this the full stacktrace? I don't see any mention of scoverage in there? Either way, you'll need to report this upstream to https://github.com/lampepfl/dotty as that's where the instrumentation for coverage in Scala 3 is happening.

@sergewar
Copy link
Author

sergewar commented Aug 8, 2022

I created ticket for scoverage because when run tests w/o coverage sbt clean reload test all tests passed and all good https://github.com/sergewar/scala-scoverage-error/runs/7668222941?check_suite_focus=true#step:4:1
But when run the same tests with coverage sbt clean reload coverage test coverageReport I get error
Full stack trace https://github.com/sergewar/scala-scoverage-error/runs/7668222941?check_suite_focus=true#step:5:48

[error] java.lang.VerifyError: Constructor must call super() or this() before return
[error] Exception Details:
[error]   Location:
[error]     sss/UserId$.<init>()V @0: return
[error]   Reason:
[error]     Error exists in the bytecode
[error]   Bytecode:
[error]     0000000: b1                                     
[error] 
[error] 	at sss.Is$.<clinit>(Is.scala:11)
[error] 	at sss.IsTest.testFun$proxy1$1(IsTest.scala:9)
[error] 	at sss.IsTest.$init$$$anonfun$1(IsTest.scala:8)
[error] 	at org.scalatest.Transformer.apply$$anonfun$1(Transformer.scala:22)
[error] 	at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[error] 	at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:31)
[error] 	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[error] 	at org.scalatest.Transformer.apply(Transformer.scala:22)
[error] 	at org.scalatest.Transformer.apply(Transformer.scala:21)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike$$anon$5.apply(AnyFlatSpecLike.scala:1697)
[error] 	at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
[error] 	at org.scalatest.TestSuite.withFixture$(TestSuite.scala:138)
[error] 	at org.scalatest.flatspec.AnyFlatSpec.withFixture(AnyFlatSpec.scala:1685)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.invokeWithFixture$1(AnyFlatSpecLike.scala:1703)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.runTest$$anonfun$1(AnyFlatSpecLike.scala:1707)
[error] 	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.runTest(AnyFlatSpecLike.scala:1707)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.runTest$(AnyFlatSpecLike.scala:[51](https://github.com/sergewar/scala-scoverage-error/runs/7668222941?check_suite_focus=true#step:5:52))
[error] 	at org.scalatest.flatspec.AnyFlatSpec.runTest(AnyFlatSpec.scala:1685)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.runTests$$anonfun$1(AnyFlatSpecLike.scala:1765)
[error] 	at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:413)
[error] 	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] 	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] 	at scala.collection.immutable.List.foreach(List.scala:333)
[error] 	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
[error] 	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:390)
[error] 	at org.scalatest.SuperEngine.traverseSubNodes$1$$anonfun$1(Engine.scala:427)
[error] 	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
[error] 	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
[error] 	at scala.collection.immutable.List.foreach(List.scala:333)
[error] 	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:429)
[error] 	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:396)
[error] 	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:475)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.runTests(AnyFlatSpecLike.scala:1765)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.runTests$(AnyFlatSpecLike.scala:51)
[error] 	at org.scalatest.flatspec.AnyFlatSpec.runTests(AnyFlatSpec.scala:1685)
[error] 	at org.scalatest.Suite.run(Suite.scala:1114)
[error] 	at org.scalatest.Suite.run$(Suite.scala:564)
[error] 	at org.scalatest.flatspec.AnyFlatSpec.org$scalatest$flatspec$AnyFlatSpecLike$$super$run(AnyFlatSpec.scala:1685)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.run$$anonfun$1(AnyFlatSpecLike.scala:1810)
[error] 	at org.scalatest.SuperEngine.runImpl(Engine.scala:535)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.run(AnyFlatSpecLike.scala:1810)
[error] 	at org.scalatest.flatspec.AnyFlatSpecLike.run$(AnyFlatSpecLike.scala:51)
[error] 	at org.scalatest.flatspec.AnyFlatSpec.run(AnyFlatSpec.scala:1685)
[error] 	at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:321)
[error] 	at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:516)
[error] 	at sbt.TestRunner.runTest$1(TestFramework.scala:146)
[error] 	at sbt.TestRunner.run(TestFramework.scala:161)
[error] 	at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:324)
[error] 	at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:284)
[error] 	at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:324)
[error] 	at sbt.TestFramework$$anon$3$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:324)
[error] 	at sbt.TestFunction.apply(TestFramework.scala:336)
[error] 	at sbt.Tests$.$anonfun$toTask$1(Tests.scala:435)
[error] 	at sbt.std.Transform$$anon$3.$anonfun$apply$2(Transform.scala:46)
[error] 	at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error] 	at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error] 	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error] 	at sbt.Execute.work(Execute.scala:291)
[error] 	at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error] 	at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error] 	at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[error] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[error] 	at java.base/java.lang.Thread.run(Thread.java:833)
[error] (Test / executeTests) java.lang.VerifyError: Constructor must call super() or this() before return
[error] Exception Details:
[error]   Location:
[error]     sss/UserId$.<init>()V @0: return
[error]   Reason:
[error]     Error exists in the bytecode
[error]   Bytecode:
[error]     0000000: b1                                     
[error] Total time: 8 s, completed Aug 4, 2022, 8:31:44 AM

Error: Process completed with exit code 1.

@ckipp01
Copy link
Member

ckipp01 commented Aug 8, 2022

I created ticket for scoverage because when run tests w/o coverage sbt clean reload test all tests passed and all good

Sure, but for Scala 3 all sbt-scoverage is doing is setting the correct compiler flag for the compiler to create coverage data. In this scenario that seems to be screwing up compilation somehow, so the report will need to go there.

@sergewar
Copy link
Author

sergewar commented Aug 9, 2022

Thank you! Joined to discussion in upstream project

@sergewar sergewar closed this as completed Aug 9, 2022
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