Date: Thu, 01 Jun 2006 12:57:43 +0300 From: "R F" <roman321@ua.fm> To: freebsd-java@freebsd.org Subject: jdk1.5, BigDecimal via IIOP between amd64 and i386 issue Message-ID: <web-12721386@uafm2.trumo.net>
next in thread | raw e-mail | index | archive | help
Hi, I've ran into an issue while trying to pass BigDecimal via IIOP from i386 based client to amd64 based server (and vice-versa). Marshalling of say, String works just fine. Marshalling between two i386 or between two amd64 works fine. The following test interface yields below trace, when used between amd64 and i386: public interface Test extends Remote { public void func(BigDecimal d) throws RemoteException; } WARNING: "IOP00810211: (MARSHAL) Exception from readValue on ValueHandler in CDRInputStream" org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 211 completed: Maybe at com.sun.corba.se.impl.logging.ORBUtilSystemException.valuehandlerReadException(ORBUtilSystemException.java:6500) at com.sun.corba.se.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1045) 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 java.math.BigDecimal.readObject(BigDecimal.java:3153) 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:585) 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 _HelloImpl_Tie._invoke(Unknown Source) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:637) at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:189) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1680) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922) at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181) at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451) at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1187) at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:417) Caused by: java.io.StreamCorruptedException: Invalid indirection to offset 338 at com.sun.corba.se.impl.io.IIOPInputStream.inputRemoteMembersForReadFields(IIOPInputStream.java:2089) at com.sun.corba.se.impl.io.IIOPInputStream.readFields(IIOPInputStream.java:2008) at com.sun.corba.se.impl.io.InputStreamHook.readFields(InputStreamHook.java:216) at java.math.BigInteger.readObject(BigInteger.java:3098) 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:585) at com.sun.corba.se.impl.io.IIOPInputStream.invokeObjectReader(IIOPInputStream.java:1694) at com.sun.corba.se.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1212) at com.sun.corba.se.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:400) 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) ... 28 more Caused by: java.io.IOException: Invalid indirection to offset 338 at com.sun.corba.se.impl.io.IIOPInputStream$ActiveRecursionManager.getObject(IIOPInputStream.java:2684) at com.sun.corba.se.impl.io.IIOPInputStream.inputRemoteMembersForReadFields(IIOPInputStream.java:2077) ... 41 more Any ideas on the above? -- http://45griven.com - все домены по 45 гривен + 10 мегабайт под сайт и почту бесплатно.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?web-12721386>