[jboss-jira] [JBoss JIRA] Commented: (JBAS-1268) DescriptorSupport does not validate its serializable fields adequately

Ind Kosei (JIRA) jira-events at lists.jboss.org
Tue Feb 12 19:14:04 EST 2008


    [ http://jira.jboss.com/jira/browse/JBAS-1268?page=comments#action_12399285 ] 
            
Ind Kosei commented on JBAS-1268:
---------------------------------

I am getting the same error. What is the resolution for this issue? Could you please tell me?
Thanks

> DescriptorSupport does not validate its serializable fields adequately
> ----------------------------------------------------------------------
>
>                 Key: JBAS-1268
>                 URL: http://jira.jboss.com/jira/browse/JBAS-1268
>             Project: JBoss Application Server
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>            Reporter: Scott M Stark
>         Assigned To: Scott M Stark
>             Fix For:  JBossAS-4.0.2RC1, JBossAS-3.2.7 Final
>
>   Original Estimate: 1 hour
>  Remaining Estimate: 1 hour
>
> Although the javax.management.modelmbean.DescriptorSupport does attempt to validate whether its fields are Serializable, it does not validate all of the values references. This causes failures when accessing mbeans over rmi as shown in this twiddle example:
> [starksm at banshee9100 bin]$ twiddle.sh -s lamia:1099 invoke "jboss.web:service=WebServer" stopConnectors
> 21:49:02,437 ERROR [Twiddle] Exec failed
> java.lang.reflect.UndeclaredThrowableException
>         at $Proxy0.getMBeanInfo(Unknown Source)
>         at org.jboss.console.twiddle.command.InvokeCommand.invoke(InvokeCommand.java:173)
>         at org.jboss.console.twiddle.command.InvokeCommand.execute(InvokeCommand.java:277)
>         at org.jboss.console.twiddle.Twiddle.main(Twiddle.java:288)
> Caused by: java.io.NotSerializableException: org.jboss.mx.util.MBeanProxyExt
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
>         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>         at java.util.HashMap.writeObject(HashMap.java:978)
>         at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at java.io.ObjectOutputStream.access$100(ObjectOutputStream.java:122)
>         at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1475)
>         at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:405)
>         at javax.management.modelmbean.DescriptorSupport.writeObject(DescriptorSupport.java:559)
>         at sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at java.io.ObjectOutputStream.access$100(ObjectOutputStream.java:122)
>         at java.io.ObjectOutputStream$PutFieldImpl.writeFields(ObjectOutputStream.java:1475)
>         at java.io.ObjectOutputStream.writeFields(ObjectOutputStream.java:405)
>         at javax.management.modelmbean.ModelMBeanAttributeInfo.writeObject(ModelMBeanAttributeInfo.java:312)
>         at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:324)
>         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:809)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1296)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050)
>         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1332)
>         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1304)
>         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1247)
>         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
>         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
>         at java.rmi.MarshalledObject.<init>(MarshalledObject.java:92)
>         at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvoker.java:364)
>         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)
>         at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:247)
>         at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:223)
>         at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
>         at org.jboss.invocation.jrmp.server.JRMPInvoker_Stub.invoke(Unknown Source)
>         at org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:135)
>         at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:163)
>         at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:103)
>         at org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:60)
>         at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
>         at org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:55)
>         at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:91)
>         ... 4 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list