You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "John Sisson (JIRA)" <de...@geronimo.apache.org> on 2006/07/27 16:22:14 UTC
[jira] Updated: (GERONIMO-2233) Deployment fails with
InvalidConfigException: Unable to deserialize GBeanState when Sun JMX RI
JAR is on classpath in EAR
[ http://issues.apache.org/jira/browse/GERONIMO-2233?page=all ]
John Sisson updated GERONIMO-2233:
----------------------------------
Attachment: jira-g-2233.zip
Attached test maven project that builds an ear that reproduces the problem. You will need to manually download the "JMX 1.2 Reference Implementation" binrary from http://java.sun.com/products/JavaManagement/download.html, extract the jmxri.jar file from it and place it in your m2 local repository.
See deploy and undeploy scripts in root dir of attached zip.
> Deployment fails with InvalidConfigException: Unable to deserialize GBeanState when Sun JMX RI JAR is on classpath in EAR
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: GERONIMO-2233
> URL: http://issues.apache.org/jira/browse/GERONIMO-2233
> Project: Geronimo
> Issue Type: Bug
> Security Level: public(Regular issues)
> Components: deployment
> Affects Versions: 1.1, 1.0
> Reporter: John Sisson
> Priority: Minor
> Fix For: 1.1.x
>
> Attachments: jira-g-2233.zip
>
>
> h1. Problem
> Deployment of an EAR that contains the Sun JMX RI 1.2 JAR in the classpath set in the META-INF/MANIFEST.MF file of the JAR in the EAR fails.
> h1. Symptoms
> The following error is seen on the server console:
> {code}
> 23:58:47,831 ERROR [GBeanInstanceState] Error while starting; GBean is now in the FAILED state: abstractName="geronimo-test/jira-g-n
> nnn/1.0-SNAPSHOT/ear?configurationName=geronimo-test/jira-g-nnnn/1.0-SNAPSHOT/ear"
> org.apache.geronimo.kernel.config.InvalidConfigException: Unable to deserialize GBeanState
> at org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:120)
> at org.apache.geronimo.kernel.config.SerializedGBeanState.getGBeans(SerializedGBeanState.java:65)
> at org.apache.geronimo.kernel.config.ConfigurationData.getGBeans(ConfigurationData.java:171)
> at org.apache.geronimo.kernel.config.Configuration.<init>(Configuration.java:277)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:933)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:267)
> at org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:526)
> at org.apache.geronimo.kernel.basic.BasicKernel.startGBean(BasicKernel.java:361)
> at org.apache.geronimo.kernel.config.KernelConfigurationManager.load(KernelConfigurationManager.java:161)
> at org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:292)
> at org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:260)
> at org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:235)
> at org.apache.geronimo.kernel.config.KernelConfigurationManager.loadConfiguration(KernelConfigurationManager.java:112)
> at org.apache.geronimo.kernel.config.KernelConfigurationManager$$FastClassByCGLIB$$b117102f.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
> at org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:338)
> at org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<generated>)
> at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
> at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
> at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:122)
> at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:852)
> at org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:239)
> at org.apache.geronimo.system.jmx.MBeanGBeanBridge.invoke(MBeanGBeanBridge.java:168)
> at mx4j.server.interceptor.InvokerMBeanServerInterceptor.invoke(InvokerMBeanServerInterceptor.java:221)
> at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120)
> at mx4j.server.interceptor.SecurityMBeanServerInterceptor.invoke(SecurityMBeanServerInterceptor.java:84)
> at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120)
> at mx4j.server.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:120)
> at mx4j.server.interceptor.ContextClassLoaderMBeanServerInterceptor.invoke(ContextClassLoaderMBeanServerInterceptor.java:203
> )
> at mx4j.server.MX4JMBeanServer.invoke(MX4JMBeanServer.java:1043)
> at mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java:219)
> at sun.reflect.GeneratedMethodAccessor347.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain(RMIConnectionSubjectInvoker.java:99)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000(RMIConnectionSubjectInvoker.java:31)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run(RMIConnectionSubjectInvoker.java:90)
> at java.security.AccessController.doPrivileged(Native Method)
> at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)
> at mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke(RMIConnectionSubjectInvoker.java:86)
> at mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke(RMIConnectionSubjectInvoker.java:80)
> at $Proxy0.invoke(Unknown Source)
> at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:221)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
> at sun.rmi.transport.Transport$1.run(Transport.java:148)
> at java.security.AccessController.doPrivileged(Native Method)
> at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
> at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
> at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
> at java.lang.Thread.run(Thread.java:534)
> Caused by: java.lang.ClassCastException: cannot assign instance of javax.management.ObjectName to field org.apache.geronimo.gbean.Ab
> stractName.objectName of type javax.management.ObjectName in instance of org.apache.geronimo.gbean.AbstractName
> at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:1885)
> at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1076)
> at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1851)
> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1769)
> at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
> at org.apache.geronimo.gbean.GBeanData.readExternal(GBeanData.java:222)
> at org.apache.geronimo.kernel.config.SerializedGBeanState.loadGBeans(SerializedGBeanState.java:111)
> ... 64 more
> {code}
> h1. Cause
> Yet to be determined.
> The following also has no effect on the problem when specified in the environment section of the deployment plan:
> {code}
> <non-overridable-classes>
> <filter>javax.management</filter>
> </non-overridable-classes>
> {code}
> h1. Solution
> Yet to be determined.
> h1. Workaround
> Removal of the sun JMX RI jar from the classpath prevents the problem.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira