[ https://issues.apache.org/jira/browse/KARAF-5242?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tommy Svensson updated KARAF-5242: ---------------------------------- Description: I get the following stack trace in the log: {{ Caused by: java.lang.ClassNotFoundException: Unable to load class 'se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1$_closure5' because the bundle wiring for aps-admin-web-a2 is no longer valid. at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1515) ~[?:?] at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:79) ~[?:?] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1958) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?] ... 44 more }} Note that '_closure1' is an inner class and that '_closure5' is in inner class of '_closure_1'. Bytecode wise they both reside in WebContentServer.class, and there is no such thing as "se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1.class" nor "se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1$_closure5.class"! >From decompiled WebContentServer.class: {{ public class WebContentServer extends VertxConsumer implements Consumer<Vertx>, Constants { ... public class _closure1 extends Closure implements GeneratedClosure { public _closure1(Object _thisObject) { super(WebContentServer.this, _thisObject); } public Object doCall(Consumed<Router> router) { WebContentServer.pfaccess$01((WebContentServer)this.getThisObject(), router); class _closure5 extends Closure implements GeneratedClosure { public _closure5(Object _thisObject) { super(_closure1.this, _thisObject); } ... }} This is compiled from Groovy code which is still compatible with java5 byte code standard. I have not read anywhere that java8 is not capable of running java5 byte code, and when the code is run in unit tests with java8 there is no problem. So I conclude that this problem resides in Karaf or more probably Felix which is at the bottom as I understand it. It is with Karaf I have the problem so it is here I report this. was: I get the following stack trace in the log: {{ Caused by: java.lang.ClassNotFoundException: Unable to load class 'se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1$_closure5' because the bundle wiring for aps-admin-web-a2 is no longer valid. at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1515) ~[?:?] at org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:79) ~[?:?] at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1958) ~[?:?] at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?] ... 44 more }} Note that '_closure1' is an inner class and that '_closure5' is in inner class of '_closure_1'. Bytecode wise they both reside in WebContentServer.class, and there is no such thing as "se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1.class" nor "se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1$_closure5.class"! >From decompiled WebContentServer.class: {{ public class WebContentServer extends VertxConsumer implements Consumer<Vertx>, Constants { ... public class _closure1 extends Closure implements GeneratedClosure { public _closure1(Object _thisObject) { super(WebContentServer.this, _thisObject); } public Object doCall(Consumed<Router> router) { WebContentServer.pfaccess$01((WebContentServer)this.getThisObject(), router); class _closure5 extends Closure implements GeneratedClosure { public _closure5(Object _thisObject) { super(_closure1.this, _thisObject); } ... }} This is compiled from Groovy code with is still compatible with java5 byte code standard. I have not read anywhere that java8 is not capable of running java5 byte code, and when the code is run in unit tests with java8 there is no problem. So I conclude that this problem resides in Karaf or more probably Felix which is at the bottom as I understand it. It is with Karaf I have the problem so it is here I report this. > Classloading not compliant with java .class structure/content > ------------------------------------------------------------- > > Key: KARAF-5242 > URL: https://issues.apache.org/jira/browse/KARAF-5242 > Project: Karaf > Issue Type: Bug > Affects Versions: 4.1.1 > Environment: Linux run in Vagrant. > /usr/lib/jvm/java-8-openjdk-amd64/bin/java > Reporter: Tommy Svensson > > I get the following stack trace in the log: > {{ > Caused by: java.lang.ClassNotFoundException: Unable to load class > 'se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1$_closure5' > because the bundle wiring for aps-admin-web-a2 is no longer valid. > at > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1515) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:79) > ~[?:?] > at > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1958) > ~[?:?] > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?] > ... 44 more > }} > Note that '_closure1' is an inner class and that '_closure5' is in inner > class of '_closure_1'. > Bytecode wise they both reside in WebContentServer.class, and there is no > such thing as > "se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1.class" nor > "se.natusoft.osgi.aps.web.adminweb.WebContentServer$_closure1$_closure5.class"! > > From decompiled WebContentServer.class: > {{ > public class WebContentServer extends VertxConsumer implements > Consumer<Vertx>, Constants { > ... > public class _closure1 extends Closure implements GeneratedClosure { > public _closure1(Object _thisObject) { > super(WebContentServer.this, _thisObject); > } > public Object doCall(Consumed<Router> router) { > > WebContentServer.pfaccess$01((WebContentServer)this.getThisObject(), router); > class _closure5 extends Closure implements GeneratedClosure { > public _closure5(Object _thisObject) { > super(_closure1.this, _thisObject); > } > ... > }} > This is compiled from Groovy code which is still compatible with java5 byte > code standard. I have not read anywhere that java8 is not capable of running > java5 byte code, and when the code is run in unit tests with java8 there is > no problem. So I conclude that this problem resides in Karaf or more probably > Felix which is at the bottom as I understand it. It is with Karaf I have the > problem so it is here I report this. -- This message was sent by Atlassian JIRA (v6.4.14#64029)