lightbend-labs / mima

A tool for catching binary incompatibility in Scala
Apache License 2.0
459 stars 71 forks source link

Errors updating to 0.9.1 - key not found and method overloads mismatch #639

Closed johanandren closed 3 years ago

johanandren commented 3 years ago

Not entirely sure this is a mima issue, but, the PR upgrading Akka to MiMa 0.9.1 failed with these two errors:

[error] java.util.NoSuchElementException: key not found: <noclass>$inflating$
[error]     at scala.collection.MapLike.default(MapLike.scala:235)
[error]     at scala.collection.MapLike.default$(MapLike.scala:234)
[error]     at scala.collection.AbstractMap.default(Map.scala:65)
[error]     at scala.collection.MapLike.apply(MapLike.scala:144)
[error]     at scala.collection.MapLike.apply$(MapLike.scala:143)
[error]     at scala.collection.AbstractMap.apply(Map.scala:65)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.withOwner$1(MimaUnpickler.scala:48)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.symbolToClass$1(MimaUnpickler.scala:54)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.$anonfun$unpickleClass$16(MimaUnpickler.scala:84)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.$anonfun$unpickleClass$16$adapted(MimaUnpickler.scala:83)
[error]     at scala.collection.Iterator.foreach(Iterator.scala:943)
[error]     at scala.collection.Iterator.foreach$(Iterator.scala:943)
[error]     at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.unpickleClass(MimaUnpickler.scala:83)
[error]     at com.typesafe.tools.mima.core.ClassfileParser.parsePickle(ClassfileParser.scala:147)
[error]     at com.typesafe.tools.mima.core.ClassfileParser.parseClassAttributes(ClassfileParser.scala:64)
[error]     at com.typesafe.tools.mima.core.ClassfileParser.com$typesafe$tools$mima$core$ClassfileParser$$parseClass(ClassfileParser.scala:19)
[error]     at com.typesafe.tools.mima.core.ClassfileParser$.parseInPlace(ClassfileParser.scala:168)
[error]     at com.typesafe.tools.mima.core.ConcreteClassInfo.afterLoading(ClassInfo.scala:44)
[error]     at com.typesafe.tools.mima.core.ClassInfo.flags(ClassInfo.scala:76)
[error]     at com.typesafe.tools.mima.core.InfoLike.isPublic(InfoLike.scala:14)
[error]     at com.typesafe.tools.mima.core.PackageInfo.isAccessible$1(PackageInfo.scala:81)
[error]     at com.typesafe.tools.mima.core.PackageInfo.$anonfun$accessibleClasses$1(PackageInfo.scala:75)
[error]     at com.typesafe.tools.mima.core.PackageInfo.$anonfun$accessibleClasses$1$adapted(PackageInfo.scala:75)

and

java.lang.AssertionError: assertion failed: method overloads mismatch; bytecode=List(def mergeDisjointKeys: (Lscala.collection.immutable.Set;Lscala.collection.immutable.Map;Lakka.persistence.typed.internal.VersionVector;Lscala.collection.immutable.Map;)Lscala.collection.immutable.Map;) pickle=Stream(SymbolInfo(VALsym, mergeDisjointKeys, owner=1, isScopedPrivate=true), SymbolInfo(VALsym, mergeDisjointKeys, owner=1, isScopedPrivate=false)) for object akka.persistence.typed.crdt.ORSet
[error]     at scala.Predef$.assert(Predef.scala:223)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.$anonfun$unpickleClass$8(MimaUnpickler.scala:66)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.$anonfun$unpickleClass$8$adapted(MimaUnpickler.scala:63)
[error]     at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:399)
[error]     at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:725)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.doMethods$1(MimaUnpickler.scala:63)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.$anonfun$unpickleClass$18(MimaUnpickler.scala:91)
[error]     at com.typesafe.tools.mima.core.MimaUnpickler$.$anonfun$unpickleClass$18$adapted(MimaUnpickler.scala:86)
SethTisue commented 3 years ago

0.9.2 has some bugfixes by Dale — try that?

johanandren commented 3 years ago

Fails the same way (on both 2.12 and 2.13): https://travis-ci.com/github/akka/akka/jobs/508848660