Community
Participate
Working Groups
When I try to start up a JMX connector server with load-time weaving enabled I get these error messages for what look like proxies. This happens on JRockIT 1.5.0_02 and also on the Sun 1.5.0_02 VM. I think the easiest thing would be to put them on the not woven list in WeavingAdaptor (see patch). Here is sample code that generates the problem with LTW enabled in the web app using it: JMXServiceURL url = new JMXServiceURL ("service:jmx:rmi:///jndi/rmi://localhost:7132/perfmon"); JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server); connectorServer.start(); // error happens here Stack Traces: error can't find type com.sun.jmx.remote.internal.PRef java.lang.ClassCastException: org.aspectj.weaver.ResolvedTypeX$Missing at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType (BcelWorld.java:273) at org.aspectj.weaver.tools.WeavingAdaptor$WeavingClassFileProvider.<init> (WeavingAdaptor.java:353) at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes (WeavingAdaptor.java:227) at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass (WeavingAdaptor.java:178) at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:55) at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform (ClassPreProcessorAgentAdapter.java:52) at sun.instrument.TransformerManager.transform(Unknown Source) at sun.instrument.InstrumentationImpl.transform(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at javax.management.remote.rmi.NoCallStackClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at javax.management.remote.rmi.RMIConnector$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnector.<clinit>(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.objectToBind(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.start(Unknown Source) at aspectPerfManage.config.SimpleConfig.doConfig(SimpleConfig.aj:40) at aspectPerfManage.config.SimpleConfig.ajc$before$aspectPerfManage_config_SimpleCo nfig$1$81249c3e_aroundBody0(SimpleConfig.aj:64) at aspectPerfManage.config.SimpleConfig$AjcClosure1.run (SimpleConfig.aj:1) at aspectPerfManage.error.ErrorHandling.ajc$around$aspectPerfManage_error_ErrorHand ling$1$ed5f19b0proceed(ErrorHandling.aj) at aspectPerfManage.error.ErrorHandling.ajc$around$aspectPerfManage_error_ErrorHand ling$1$ed5f19b0(ErrorHandling.aj:48) at aspectPerfManage.config.SimpleConfig.ajc$before$aspectPerfManage_config_SimpleCo nfig$1$81249c3e(SimpleConfig.aj:1) at servlets.BookStoreServlet.<clinit>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1048) at org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:750) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:130) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio n(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) error can't find type com.sun.jmx.remote.internal.ProxyStub java.lang.ClassCastException: org.aspectj.weaver.ResolvedTypeX$Missing at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType (BcelWorld.java:273) at org.aspectj.weaver.tools.WeavingAdaptor$WeavingClassFileProvider.<init> (WeavingAdaptor.java:353) at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes (WeavingAdaptor.java:227) at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass (WeavingAdaptor.java:178) at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:55) at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform (ClassPreProcessorAgentAdapter.java:52) at sun.instrument.TransformerManager.transform(Unknown Source) at sun.instrument.InstrumentationImpl.transform(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at javax.management.remote.rmi.NoCallStackClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at javax.management.remote.rmi.RMIConnector$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnector.<clinit>(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.objectToBind(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.start(Unknown Source) at aspectPerfManage.config.SimpleConfig.doConfig(SimpleConfig.aj:40) at aspectPerfManage.config.SimpleConfig.ajc$before$aspectPerfManage_config_SimpleCo nfig$1$81249c3e_aroundBody0(SimpleConfig.aj:64) at aspectPerfManage.config.SimpleConfig$AjcClosure1.run (SimpleConfig.aj:1) at aspectPerfManage.error.ErrorHandling.ajc$around$aspectPerfManage_error_ErrorHand ling$1$ed5f19b0proceed(ErrorHandling.aj) at aspectPerfManage.error.ErrorHandling.ajc$around$aspectPerfManage_error_ErrorHand ling$1$ed5f19b0(ErrorHandling.aj:48) at aspectPerfManage.config.SimpleConfig.ajc$before$aspectPerfManage_config_SimpleCo nfig$1$81249c3e(SimpleConfig.aj:1) at servlets.BookStoreServlet.<clinit>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1048) at org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:750) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:130) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio n(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:684) at java.lang.Thread.run(Unknown Source) error can't find type com.sun.jmx.remote.internal.ProxyStub java.lang.ClassCastException: org.aspectj.weaver.ResolvedTypeX$Missing at org.aspectj.weaver.bcel.BcelWorld.addSourceObjectType (BcelWorld.java:273) at org.aspectj.weaver.tools.WeavingAdaptor$WeavingClassFileProvider.<init> (WeavingAdaptor.java:353) at org.aspectj.weaver.tools.WeavingAdaptor.getWovenBytes (WeavingAdaptor.java:227) at org.aspectj.weaver.tools.WeavingAdaptor.weaveClass (WeavingAdaptor.java:178) at org.aspectj.weaver.loadtime.Aj.preProcess(Aj.java:55) at org.aspectj.weaver.loadtime.ClassPreProcessorAgentAdapter.transform (ClassPreProcessorAgentAdapter.java:52) at sun.instrument.TransformerManager.transform(Unknown Source) at sun.instrument.InstrumentationImpl.transform(Unknown Source) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at javax.management.remote.rmi.NoCallStackClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at javax.management.remote.rmi.RMIConnector$2.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnector.<clinit>(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.objectToBind(Unknown Source) at javax.management.remote.rmi.RMIConnectorServer.start(Unknown Source) at aspectPerfManage.config.SimpleConfig.doConfig(SimpleConfig.aj:40) at aspectPerfManage.config.SimpleConfig.ajc$before$aspectPerfManage_config_SimpleCo nfig$1$81249c3e_aroundBody0(SimpleConfig.aj:64) at aspectPerfManage.config.SimpleConfig$AjcClosure1.run (SimpleConfig.aj:1) at aspectPerfManage.error.ErrorHandling.ajc$around$aspectPerfManage_error_ErrorHand ling$1$ed5f19b0proceed(ErrorHandling.aj) at aspectPerfManage.error.ErrorHandling.ajc$around$aspectPerfManage_error_ErrorHand ling$1$ed5f19b0(ErrorHandling.aj:48) at aspectPerfManage.config.SimpleConfig.ajc$before$aspectPerfManage_config_SimpleCo nfig$1$81249c3e(SimpleConfig.aj:1) at servlets.BookStoreServlet.<clinit>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1048) at org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:750) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:130) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnectio n(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:684) at java.lang.Thread.run(Unknown Source)
Created attachment 24860 [details] adds the jmx remote internal package to the set that's excluded from weaving; since that also appears to include dynamic proxies
oops - I edited the wrong bug. Please ignore the last comment. It belongs to bug #104075.
Actually, it posted in the right place, so the last comment stands. I was confused by bugzilla showing me this bug after editing the other one. Sorry! (In reply to comment #2) > oops - I edited the wrong bug. Please ignore the last comment. It belongs to > bug #104075.
were u using -Daj5.def ? I can now have it working thanks to a small fix. -Daj5.def was beeing assigned to an odd jmx internal classloader without valid reasons. Please confirm / infirm just for reference. I 'll commit in some hours
committed
I am not using aj5.def; I am just using an aop.xml file and I see these errors.
can you give it another try with cvs head, and tell me if your aop.xml is in system classpath or some deployed webapp instead. I ll attach my sample here so that u can try it as well
cannot reproduce please attach a test case / sample app that fails on cvs head f.e.: log for attached app when -Daj.weaving.verbose=true attached and shows correct loading of proxy things
Created attachment 25119 [details] working sample app
should be fine based on sample remind to fix when M3 ships
This seems to be working even for aop.xml files. I tried the CVS HEAD version in one environment and it now looks like it is working without having to exclude a number of, but still need to get another application working properly against CVS HEAD to confirm that it's working for me.
was M3 remind