IncompatibleClassChangeError with upickle 1.3.14 and 1.3.15
See original GitHub issueHere is a stacktrack which running mill with upickle 1.3.15.
java.lang.IncompatibleClassChangeError: Implementing class
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:756)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
java.net.URLClassLoader.access$100(URLClassLoader.java:74)
java.net.URLClassLoader$1.run(URLClassLoader.java:369)
java.net.URLClassLoader$1.run(URLClassLoader.java:363)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:362)
java.lang.ClassLoader.loadClass(ClassLoader.java:418)
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
java.lang.ClassLoader.loadClass(ClassLoader.java:351)
ammonite.runtime.Storage$.<clinit>(Storage.scala:110)
ammonite.runtime.Storage$Folder$$anon$34.apply(Storage.scala:330)
ammonite.runtime.Storage$Folder$$anon$34.apply(Storage.scala:323)
ammonite.interp.DependencyLoader.load(DependencyLoader.scala:32)
ammonite.interp.Interpreter.loadIvy(Interpreter.scala:628)
ammonite.runtime.ImportHook$BaseIvy.resolve(ImportHook.scala:191)
mill.main.MillIvyHook$.resolve(MillIvyHook.scala:16)
ammonite.runtime.ImportHook$BaseIvy.$anonfun$handle$7(ImportHook.scala:200)
scala.util.Either.flatMap(Either.scala:352)
ammonite.runtime.ImportHook$BaseIvy.handle(ImportHook.scala:199)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$4(Interpreter.scala:178)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.resolveSingleImportHook(Interpreter.scala:172)
ammonite.interp.Interpreter.$anonfun$resolveImportHooks$1(Interpreter.scala:225)
ammonite.util.Res$.$anonfun$map$1(Res.scala:43)
ammonite.util.Res$.$anonfun$fold$1(Res.scala:32)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
scala.collection.immutable.List.foldLeft(List.scala:79)
ammonite.util.Res$.fold(Res.scala:30)
ammonite.util.Res$.map(Res.scala:43)
ammonite.interp.Interpreter.resolveImportHooks(Interpreter.scala:225)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$14(Interpreter.scala:583)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$12(Interpreter.scala:579)
scala.Option.getOrElse(Option.scala:201)
ammonite.interp.Interpreter.loop$1(Interpreter.scala:579)
ammonite.interp.Interpreter.processAllScriptBlocks(Interpreter.scala:617)
ammonite.interp.Interpreter.$anonfun$processModule$6(Interpreter.scala:412)
ammonite.util.Catching.flatMap(Res.scala:115)
ammonite.interp.Interpreter.$anonfun$processModule$5(Interpreter.scala:403)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.processModule(Interpreter.scala:393)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$6(Interpreter.scala:184)
ammonite.util.Res$.$anonfun$map$1(Res.scala:43)
ammonite.util.Res$.$anonfun$fold$1(Res.scala:32)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
scala.collection.immutable.List.foldLeft(List.scala:79)
ammonite.util.Res$.fold(Res.scala:30)
ammonite.util.Res$.map(Res.scala:43)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$5(Interpreter.scala:181)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$resolveSingleImportHook$4(Interpreter.scala:173)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.resolveSingleImportHook(Interpreter.scala:172)
ammonite.interp.Interpreter.$anonfun$resolveImportHooks$1(Interpreter.scala:225)
ammonite.util.Res$.$anonfun$map$1(Res.scala:43)
ammonite.util.Res$.$anonfun$fold$1(Res.scala:32)
scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
scala.collection.immutable.List.foldLeft(List.scala:79)
ammonite.util.Res$.fold(Res.scala:30)
ammonite.util.Res$.map(Res.scala:43)
ammonite.interp.Interpreter.resolveImportHooks(Interpreter.scala:225)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$14(Interpreter.scala:583)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.$anonfun$processAllScriptBlocks$12(Interpreter.scala:579)
scala.Option.getOrElse(Option.scala:201)
ammonite.interp.Interpreter.loop$1(Interpreter.scala:579)
ammonite.interp.Interpreter.processAllScriptBlocks(Interpreter.scala:617)
ammonite.interp.Interpreter.$anonfun$processModule$6(Interpreter.scala:412)
ammonite.util.Catching.flatMap(Res.scala:115)
ammonite.interp.Interpreter.$anonfun$processModule$5(Interpreter.scala:403)
ammonite.util.Res$Success.flatMap(Res.scala:62)
ammonite.interp.Interpreter.processModule(Interpreter.scala:393)
mill.main.RunScript$.$anonfun$evaluateRootModule$1(RunScript.scala:94)
ammonite.util.Res$Success.flatMap(Res.scala:62)
mill.main.RunScript$.evaluateRootModule(RunScript.scala:87)
mill.main.RunScript$.runScript(RunScript.scala:49)
mill.main.MainRunner.$anonfun$runScript$1(MainRunner.scala:119)
mill.main.MainRunner.watchLoop2(MainRunner.scala:68)
mill.main.MainRunner.runScript(MainRunner.scala:94)
mill.MillMain$.main0(MillMain.scala:299)
mill.MillMain$.main(MillMain.scala:104)
mill.MillMain.main(MillMain.scala)
How to reproduce:
- checkout mill repo, e.g. from tag 0.9.8
- change the upickle depenency version in
build.sc
line 100 to either1.3.14
or1.3.15
- run the following:
mill -i dev.assembly && rm -rf ~/.mill && out/dev/assembly/dest/mill -i main.test
This is probably because mill loads plugins via $ivy
import which are build with older versions of upickle.
Issue Analytics
- State:
- Created 2 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
com-lihaoyi/upickle - GitHub
uPickle : a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala - GitHub - com-lihaoyi/upickle: uPickle: a simple, ...
Read more >µPickle 2.0.0
uPickle (pronounced micro-pickle) is a lightweight JSON and binary (MessagePack) serialization library for Scala. It's key features are:.
Read more >UPickle - com.lihaoyi - Maven Repository
Version Scala Vulnerabilities Usages Date
2.0.x 2.0.0 0.4 (3) · 0.4 (2.13) · 0.4 (2.12) · 0.4 (2.11) Central 43 Apr 30, 2022
1.6.x 2.0.x...
Read more >wifi_station_scan() callback argument status is FAIL or CANCEL at ...
IncompatibleClassChangeError with upickle 1.3.14 and 1.3.15, 6, 2021-05-28, 2022-10-14. "user.username" 这样的key怎么解决解析? 1, 2019-08-29, 2022-10-06.
Read more >IncompatibleClassChangeError with upickle 1.3.14 and 1.3.15 #283 ...
IncompatibleClassChangeError with upickle 1.3.14 and 1.3.15 issue from test/amnaredo github repository.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
We haven’t been following strict semver - normally this kind of bin-compat breakage would bump the second number, and only “huge” source-compat breakages would bump the first. I can go push tags for uPickle and Ammonite to get numbered versions out
@lihaoyi Thank you! I’ll update those in mill too.