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

OpSuite fails in Scala 2.13 community build #2360

Closed
SethTisue opened this issue Aug 3, 2018 · 1 comment
Closed

OpSuite fails in Scala 2.13 community build #2360

SethTisue opened this issue Aug 3, 2018 · 1 comment

Comments

@SethTisue
Copy link
Member

SethTisue commented Aug 3, 2018

(after first applying #2359 so the tests compile on Scala 2.13.0-pre-329c477)

well, this looks pretty hairy:

[cats] [info] OpSuite:
[cats] [info] - Eq[Op[Function1, Char, Int]].serializable.can serialize and deserialize *** FAILED *** (65 milliseconds)
[cats] [info]   ClassCastException was thrown during property evaluation.
[cats] [info]     Message: cannot assign instance of java.lang.invoke.SerializedLambda to field org.scalacheck.Gen$$anon$5.f$5 of type scala.Function2 in instance of org.scalacheck.Gen$$anon$5
[cats] [info]     Occurred when passed generated values (
[cats] [info]   
[cats] [info]     )

[cats] [info]   org.scalatest.exceptions.GeneratorDrivenPropertyCheckFailedException:
[cats] [info]   at org.scalatest.enablers.CheckerAsserting$$anon$2.indicateFailure(CheckerAsserting.scala:232)
[cats] [info]   at org.scalatest.enablers.CheckerAsserting$$anon$2.indicateFailure(CheckerAsserting.scala:220)
[cats] [info]   at org.scalatest.enablers.UnitCheckerAsserting$CheckerAssertingImpl.check(CheckerAsserting.scala:159)
[cats] [info]   at org.scalatest.prop.Checkers.check(Checkers.scala:374)
[cats] [info]   at org.scalatest.prop.Checkers.check$(Checkers.scala:372)
[cats] [info]   at cats.tests.OpSuite.check(OpSuite.scala:11)
[cats] [info]   at org.typelevel.discipline.scalatest.Discipline.$anonfun$checkAll$3(Discipline.scala:14)
[cats] [info]   at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[cats] [info]   at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
[cats] [info]   at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
[cats] [info]   at org.scalatest.Transformer.apply(Transformer.scala:22)
[cats] [info]   at org.scalatest.Transformer.apply(Transformer.scala:20)
[cats] [info]   at org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186)
[cats] [info]   at org.scalatest.TestSuite.withFixture(TestSuite.scala:196)
[cats] [info]   at org.scalatest.TestSuite.withFixture$(TestSuite.scala:195)
[cats] [info]   at org.scalatest.FunSuite.withFixture(FunSuite.scala:1560)
[cats] [info]   at org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184)
[cats] [info]   at org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196)
[cats] [info]   at org.scalatest.SuperEngine.runTestImpl(Engine.scala:289)
[cats] [info]   at org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196)
[cats] [info]   at org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178)
[cats] [info]   at org.scalatest.FunSuite.runTest(FunSuite.scala:1560)
[cats] [info]   at org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229)
[cats] [info]   at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396)
[cats] [info]   at scala.collection.immutable.List.foreach(List.scala:299)
[cats] [info]   at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
[cats] [info]   at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379)
[cats] [info]   at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
[cats] [info]   at org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229)
[cats] [info]   at org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228)
[cats] [info]   at org.scalatest.FunSuite.runTests(FunSuite.scala:1560)
[cats] [info]   at org.scalatest.Suite.run(Suite.scala:1147)
[cats] [info]   at org.scalatest.Suite.run$(Suite.scala:1129)
[cats] [info]   at org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560)
[cats] [info]   at org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233)
[cats] [info]   at org.scalatest.SuperEngine.runImpl(Engine.scala:521)
[cats] [info]   at org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233)
[cats] [info]   at org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232)
[cats] [info]   at org.scalatest.FunSuite.run(FunSuite.scala:1560)
[cats] [info]   at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:314)
[cats] [info]   at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:507)
[cats] [info]   at sbt.TestRunner.runTest$1(TestFramework.scala:106)
[cats] [info]   at sbt.TestRunner.run(TestFramework.scala:117)
[cats] [info]   at sbt.TestFramework$$anon$2$$anonfun$$lessinit$greater$1.$anonfun$apply$1(TestFramework.scala:262)
[cats] [info]   at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:233)
[cats] [info]   at sbt.TestFramework$$anon$2$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:262)
[cats] [info]   at sbt.TestFramework$$anon$2$$anonfun$$lessinit$greater$1.apply(TestFramework.scala:262)
[cats] [info]   at sbt.TestFunction.apply(TestFramework.scala:271)
[cats] [info]   at sbt.Tests$.processRunnable$1(Tests.scala:307)
[cats] [info]   at sbt.Tests$.$anonfun$makeSerial$1(Tests.scala:313)
[cats] [info]   at sbt.std.Transform$$anon$3.$anonfun$apply$2(System.scala:46)
[cats] [info]   at sbt.std.Transform$$anon$4.work(System.scala:66)
[cats] [info]   at sbt.Execute.$anonfun$submit$2(Execute.scala:263)
[cats] [info]   at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[cats] [info]   at sbt.Execute.work(Execute.scala:272)
[cats] [info]   at sbt.Execute.$anonfun$submit$1(Execute.scala:263)
[cats] [info]   at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:174)
[cats] [info]   at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[cats] [info]   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[cats] [info]   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[cats] [info]   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[cats] [info]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[cats] [info]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[cats] [info]   at java.lang.Thread.run(Thread.java:748)
[cats] [info]   Cause: java.lang.ClassCastException: cannot assign instance of java.lang.invoke.SerializedLambda to field org.scalacheck.Gen$$anon$5.f$5 of type scala.Function2 in instance of org.scalacheck.Gen$$anon$5
[cats] [info]   at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2287)
[cats] [info]   at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1417)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2293)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
[cats] [info]   at scala.collection.generic.DefaultSerializationProxy.readObject(DefaultSerializationProxy.scala:46)
[cats] [info]   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[cats] [info]   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[cats] [info]   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[cats] [info]   at java.lang.reflect.Method.invoke(Method.java:498)
[cats] [info]   at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1170)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2178)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1975)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1567)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1975)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1567)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2287)
[cats] [info]   at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2211)
[cats] [info]   at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2069)
[cats] [info]   at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
[cats] [info]   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
[cats] [info]   at cats.kernel.laws.SerializableLaws$.$anonfun$serializable$1(SerializableLaws.scala:43)
[cats] [info]   at org.scalacheck.Prop$.$anonfun$apply$1(Prop.scala:307)
[cats] [info]   at org.scalacheck.PropFromFun.apply(Prop.scala:22)
[cats] [info]   at org.scalacheck.Prop$.$anonfun$delay$1(Prop.scala:476)
[cats] [info]   at org.scalacheck.Prop$.$anonfun$apply$1(Prop.scala:307)
[cats] [info]   at org.scalacheck.PropFromFun.apply(Prop.scala:22)
[cats] [info]   at org.scalacheck.Test$.workerFun$1(Test.scala:326)
[cats] [info]   at org.scalacheck.Test$.$anonfun$check$1(Test.scala:355)
[cats] [info]   at org.scalacheck.Test$.$anonfun$check$1$adapted(Test.scala:355)
[cats] [info]   at org.scalacheck.Platform$.$anonfun$runWorkers$4(Platform.scala:50)
[cats] [info]   at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53)
[cats] [info]   at scala.concurrent.package$.blocking(package.scala:120)
[cats] [info]   at org.scalacheck.Platform$.$anonfun$runWorkers$2(Platform.scala:50)
[cats] [info]   at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:608)
[cats] [info]   at scala.util.Success.$anonfun$map$1(Try.scala:261)
[cats] [info]   at scala.util.Try$.apply(Try.scala:209)
[cats] [info]   at scala.util.Success.map(Try.scala:261)
[cats] [info]   at scala.concurrent.Future.$anonfun$map$1(Future.scala:244)
[cats] [info]   at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:29)
[cats] [info]   at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:29)
[cats] [info]   at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:60)
[cats] [info]   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[cats] [info]   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[cats] [info]   at java.lang.Thread.run(Thread.java:748)
@SethTisue
Copy link
Member Author

SethTisue commented Aug 3, 2018

I gather from googling the error message that Java deserialization unhelpfully suppresses the original exception that is the true cause, and then you get this exception later instead

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants