LinkageError of plug-in's msgpack version conflicting
See original GitHub issuePlug-in modules which depending msgpack
would be version conflicting with embulk-core
.
This problem continues to occur sharing msgpack
module between embulk-core
and 3rd-plugin
. Therefore is it be changed to link core and plugin with serialized binary-array?
Example
It could not parse with LinkageError with msgpack break binary compatible 0.8.11 to 0.8.12. https://github.com/msgpack/msgpack-java/compare/0.8.11...0.8.12
-
Embulk(v0.8.25) msgpack(v0.8.11)
-
3rd-plugin msgpack (v0.8.12)
-
StackTrace
Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "org.embulk.spi.PageReader.getJson(Lorg/embulk/spi/Column;)Lorg/msgpack/value/Value;" the class loader (instance of org/embulk/plugin/PluginClassLoader) of the current class, org/embulk/output/fluentd/ColumnVisitor$$anonfun$jsonColumn$1$$anonfun$apply$6, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for the method's defining class, org/embulk/spi/PageReader, have different Class objects for the type org/msgpack/value/Value used in the signature
at org.embulk.output.fluentd.ColumnVisitor$$anonfun$jsonColumn$1$$anonfun$apply$6.apply(ColumnVisitor.scala:30)
at org.embulk.output.fluentd.ColumnVisitor$$anonfun$jsonColumn$1$$anonfun$apply$6.apply(ColumnVisitor.scala:30)
at org.embulk.output.fluentd.ColumnVisitor.value(ColumnVisitor.scala:36)
at org.embulk.output.fluentd.ColumnVisitor.jsonColumn(ColumnVisitor.scala:30)
at org.embulk.spi.Column.visit(Column.java:62)
at org.embulk.spi.Schema.visitColumns(Schema.java:81)
at org.embulk.output.fluentd.FluentdTransactionalPageOutput$$anonfun$asIterator$1.apply(FluentdTransactionalPageOutput.scala:23)
at org.embulk.output.fluentd.FluentdTransactionalPageOutput$$anonfun$asIterator$1.apply(FluentdTransactionalPageOutput.scala:21)
at scala.collection.Iterator$$anon$9.next(Iterator.scala:162)
at scala.collection.Iterator$$anon$16.hasNext(Iterator.scala:599)
at scala.collection.Iterator$class.foreach(Iterator.scala:891)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
at org.embulk.output.fluentd.Emitter$.apply(Emitter.scala:34)
at org.embulk.output.fluentd.FluentdTransactionalPageOutput.add(FluentdTransactionalPageOutput.scala:14)
at org.embulk.exec.LocalExecutorPlugin$ScatterTransactionalPageOutput$OutputWorker.call(LocalExecutorPlugin.java:394)
at org.embulk.exec.LocalExecutorPlugin$ScatterTransactionalPageOutput$OutputWorker.call(LocalExecutorPlugin.java:319)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Suppressed: java.lang.LinkageError: loader constraint violation: when resolving method "org.embulk.spi.PageReader.getJson(Lorg/embulk/spi/Column;)Lorg/msgpack/value/Value;" the class loader (instance of org/embulk/plugin/PluginClassLoader) of the current class, org/embulk/output/fluentd/ColumnVisitor$$anonfun$jsonColumn$1$$anonfun$apply$6, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for the method's defining class, org/embulk/spi/PageReader, have different Class objects for the type org/msgpack/value/Value used in the signature
... 20 more
Suppressed: java.lang.LinkageError: loader constraint violation: when resolving method "org.embulk.spi.PageReader.getJson(Lorg/embulk/spi/Column;)Lorg/msgpack/value/Value;" the class loader (instance of org/embulk/plugin/PluginClassLoader) of the current class, org/embulk/output/fluentd/ColumnVisitor$$anonfun$jsonColumn$1$$anonfun$apply$6, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for the method's defining class, org/embulk/spi/PageReader, have different Class objects for the type org/msgpack/value/Value used in the signature
... 20 more
Issue Analytics
- State:
- Created 6 years ago
- Comments:6 (6 by maintainers)
Top Results From Across the Web
[Bug Report] Conflict between msgpack 1.0.0 and the ... - GitHub
Bug report AirSim Version: a0d4d0e UE/Unity version: N/A autopilot ... will have both msgpack and msgpack-python installed, which conflict.
Read more >MessagePack: It's like JSON. but fast and small.
MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller.
Read more >msgpack : 0.6.7 - Maven Central Repository Search
MessagePack for Java is a binary-based efficient object serialization library in Java. Licenses. The Apache Software License, Version 2.0.
Read more >View All Attachments for Bug 623824 - Gentoo's Bugzilla
[info] Resolving org.apache.maven#maven-plugin-api;3.3.3 . ... The version in the manifest is not picked up by an other sibling bundles in this project or ......
Read more >java.lang.NoClassDefFoundError: com/fasterxml/jackson/core ...
15 Answers 15 · This give me the hint that the problem was a conflict between versions. I didn't know that spring-boot already...
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
I wrote reproducing code here https://github.com/civitaspo/embulk-filter-linkage_error
@civitaspo Thank you for confirming-!