JDK-6410798 : Many "IOP00800008: (MARSHAL) Not enough space left in current chunk" in Tiger-Mustang interop mode
  • Type: Bug
  • Component: other-libs
  • Sub-Component: corba:orb
  • Affected Version: 5.0u10,6
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic,windows_xp
  • CPU: generic
  • Submitted: 2006-04-10
  • Updated: 2011-02-16
  • Resolved: 2010-02-11
Related Reports
Relates :  
Description
It is an interop scenario where the server side runs Tiger as the Mustang side runs Mustang.
Since the build 2 of Tiger Update 7, loads of warning stacks as the one below are printed when:
- a JMX IIOP connector server is deployed over Tiger U7 b2
- a JMX IIOP connector client is deployed over Mustang (tried b76 and b77)
When both sides use Tiger, all is fine.
When both sides use Mustang, all is fine.
Was fine with the server side deployed over Tiger U7 build 1.
See Comments to reproduce the issue.

Apr 4, 2006 10:51:45 PM com.sun.corba.se.impl.io.InputStreamHook throwOptionalDataIncompatibleException
WARNING: "IOP00800008: (MARSHAL) Not enough space left in current chunk"
org.omg.CORBA.MARSHAL:   vmcid: OMG  minor code: 8  completed: No
	at com.sun.corba.se.impl.logging.OMGSystemException.rmiiiopOptionalDataIncompatible2(OMGSystemException.java:2709)
	at com.sun.corba.se.impl.logging.OMGSystemException.rmiiiopOptionalDataIncompatible2(OMGSystemException.java:2731)
	at com.sun.corba.se.impl.io.InputStreamHook.throwOptionalDataIncompatibleException(InputStreamHook.java:348)
	at com.sun.corba.se.impl.io.InputStreamHook$InReadObjectPastDefaultsRemoteDidNotUseWOState.readData(InputStreamHook.java:342)
	at com.sun.corba.se.impl.io.IIOPInputStream.read(IIOPInputStream.java:653)
	at javax.management.MBeanFeatureInfo.readObject(MBeanFeatureInfo.java:222)
	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:589)
	at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
	at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1548)
	at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:398)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
	at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.read_Array(ValueHandlerImpl.java:756)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:325)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
	at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
	at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1892)
	at com.sun.corba.se.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2311)
	at com.sun.corba.se.impl.io.IIOPInputStream.defaultReadObjectDelegate(IIOPInputStream.java:570)
	at com.sun.corba.se.impl.io.InputStreamHook.defaultReadObject(InputStreamHook.java:183)
	at javax.management.MBeanInfo.readObject(MBeanInfo.java:669)
	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:589)
	at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694)
	at com.sun.corba.se.impl.io.IIOPInputStream.inputObjectUsingFVD(IIOPInputStream.java:1548)
	at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:398)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:327)
	at com.sun.corba.se.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:293)
	at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1034)
	at com.sun.corba.se.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:253)
	at com.sun.jmx.remote.internal.PInputStream.read_value(Unknown Source)
	at org.omg.stub.javax.management.remote.rmi._RMIConnection_Stub.getMBeanInfo(Unknown Source)
	at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.getMBeanInfo(RMIConnector.java:1037)
	at com.sun.jdmk.remote.cascading.proxy.CascadingProxy.getMBeanInfo(CascadingProxy.java:359)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getNewMBeanClassName(DefaultMBeanServerInterceptor.java:321)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:307)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)
	at com.sun.jdmk.remote.cascading.proxy.ProxyCascadingAgent.showMBean(ProxyCascadingAgent.java:763)
	at com.sun.jdmk.remote.cascading.proxy.ProxyCascadingAgent.start(ProxyCascadingAgent.java:435)
	at com.sun.jdmk.remote.cascading.proxy.ProxyCascadingAgent.start(ProxyCascadingAgent.java:291)
	at javasoft.sqe.jmx.test.functional.CascadingInstance.start(CascadingInstance.java:163)
	at javasoft.sqe.jmx.test.functional.CascadingTest5.run(CascadingTest5.java:96)
	at javasoft.sqe.jmx.share.TestStarter.<init>(TestStarter.java:40)
	at javasoft.sqe.jmx.share.TestStarter.main(TestStarter.java:98)

Comments
EVALUATION No resources available for further work on this bug.
29-10-2008

EVALUATION Requires further investigation. The InputStreamHook code is monitoring the state of the value type unmarshaling. This failure occurs in InReadObjectPastDefaultsRemoteDidNotUseWOState, which seems to indicate that the remote size did not use writeObject, but the local side did do a readObject after the default read object in the stream. It would be very helpful to know what data type is involved, as this is likely a case of a compatible binary evolution of a class between Java 5 and Java 6 (for example, perhaps a BigDecimal or BigInteger?) that is causing an error in the RMI-IIOP marshaling code.
12-08-2006