You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@eagle.apache.org by "Chang chen (JIRA)" <ji...@apache.org> on 2016/09/14 10:52:21 UTC
[jira] [Commented] (EAGLE-229)
java.lang.IncompatibleClassChangeError: class
net.sf.extcos.internal.JavaResourceAccessor$AnnotatedClassVisitor has
interface org.objectweb.asm.ClassVisitor as super class
[ https://issues.apache.org/jira/browse/EAGLE-229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15490123#comment-15490123 ]
Chang chen commented on EAGLE-229:
----------------------------------
BE CAREFUL: storm still depends asm 4.0
> java.lang.IncompatibleClassChangeError: class net.sf.extcos.internal.JavaResourceAccessor$AnnotatedClassVisitor has interface org.objectweb.asm.ClassVisitor as super class
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: EAGLE-229
> URL: https://issues.apache.org/jira/browse/EAGLE-229
> Project: Eagle
> Issue Type: Bug
> Affects Versions: v0.3.0
> Reporter: Hao Chen
> Assignee: Hao Chen
> Fix For: v0.4.0
>
>
> h1. Exception
> {code}
> 21399 [eXtcos managed thread 1] ERROR org.apache.storm.zookeeper.server.NIOServerCnxnFactory - Thread Thread[eXtcos managed thread 1,5,main] died
> java.lang.IncompatibleClassChangeError: class net.sf.extcos.internal.JavaResourceAccessor$AnnotatedClassVisitor has interface org.objectweb.asm.ClassVisitor as super class
> at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_75]
> at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_75]
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_75]
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_75]
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_75]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_75]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_75]
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_75]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_75]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_75]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_75]
> at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.7.0_75]
> at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[na:1.7.0_75]
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[na:1.7.0_75]
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[na:1.7.0_75]
> at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[na:1.7.0_75]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[na:1.7.0_75]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_75]
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_75]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_75]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_75]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_75]
> at net.sf.extcos.internal.JavaResourceAccessor.readClassData(JavaResourceAccessor.java:363) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at net.sf.extcos.internal.JavaResourceAccessor.setResourceUrl(JavaResourceAccessor.java:333) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at net.sf.extcos.internal.URLResource.getResourceAccessor(URLResource.java:93) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at net.sf.extcos.internal.URLResource.isClass(URLResource.java:126) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at net.sf.extcos.internal.RootFilter.filter(RootFilter.java:22) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at net.sf.extcos.internal.AbstractChainedFilter.filter(AbstractChainedFilter.java:89) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at net.sf.extcos.internal.ThreadingFilterInterceptor$1.run(ThreadingFilterInterceptor.java:48) ~[eagle-topology-0.3.0-incubating-assembly.jar:na]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_75]
> {code}
> h1. Root Cause
> Included "asm" or "asm-all" in "eagle-topology-assembly" by following dependencies:
> {code}
> <dependency>
> <groupId>org.apache.eagle</groupId>
> <artifactId>eagle-metric-collection</artifactId>
> <version>${project.version}</version>
> </dependency>
> {code}
> h1. Validation
> It will cause above problem if the jar contains class "org.objectweb.asm.ClassVisitor"
> {code}
> jar -tf lib/topology/eagle-topology-0.3.0-incubating-assembly.jar | grep org.objectweb.asm.ClassVisitor
> {code}
> h1. Solution
> {code}
> <exclusions>
> <exclusion>
> <groupId>org.ow2.asm</groupId>
> <artifactId>asm-all</artifactId>
> </exclusion>
> <exclusion>
> <groupId>org.ow2.asm</groupId>
> <artifactId>asm</artifactId>
> </exclusion>
> <exclusion>
> <groupId>asm</groupId>
> <artifactId>asm</artifactId>
> </exclusion>
> <exclusion>
> <groupId>asm</groupId>
> <artifactId>asm-all</artifactId>
> </exclusion>
> </exclusions>
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)