[ 
https://issues.apache.org/jira/browse/EAGLE-229?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hao Chen updated EAGLE-229:
---------------------------
    Affects Version/s: v0.3.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)

Reply via email to