[
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)