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)