Visibroker and wstrings (was: RE: [omniORB] wstring corruptio n, omniOrb -> Orbacus )

brk@jenkon.com brk@jenkon.com
Fri, 15 Mar 2002 10:17:49 -0800


I can't figure out how to turn any real tracing on for VB - here's the best
I can manage for the moment. This is VB's side of the omniORB conversation.
Does this sort of thing help at all, or should I get Ethereal?

D:\vbroker\examples\basic\bank_naming>vbj
-DORBpropStorage=d:\vbroker\properties\new.properties
-DSVCnameroot=NameService -Dvbroker.orb.debug=true -Dvbroker.orb.warn=2
-Dvbroker.orb.bufferDebug=true Server
IIOP package has been initialized
QoS package has been initialized
URLNaming package has been initialized
Interface Repository package has been initialized
NamingBindInterceptor.NamingBindInterceptor: Entering
NamingBindInterceptor.NamingBindInterceptor: Leaving
NameService fail-over activated.
INS package has been initialized
IOP package has been initialized
CONV_FRAME package has been initialized
rmi/CORBA package has been initialized
ORB.getLocalHost: 209.210.37.31
IOR:IOR[type_id=IDL:Bank/AccountManager:1.0,profiles={com.inprise.vbroker.II
OP.ProfileImpl[version=1.2,host=209.210.37.31,port=4799,object_key=Transient
Id[poaName=/,id={11 bytes:
[B][a][n][k][M][a][n][a][g][e][r]},sec=473,usec=455857516],components={com.i
nprise.vbroker.IOP.CapabilitiesComponentImpl{nothing},com.inprise.vbroker.IO
P.OrbTypeComponentImpl{type=1447645952},com.inprise.vbroker.CONV_FRAME.CodeS
etsComponentImpl{struct com.inprise.vbroker.CONV_FRAME.CodeSetComponentInfo
{
com.inprise.vbroker.CONV_FRAME.CodeSetComponent ForCharData=struct
com.inprise.vbroker.CONV_FRAME.CodeSetComponent {
int native_code_set=65537,
int[] conversion_code_sets={}
}, com.inprise.vbroker.CONV_FRAME.CodeSetComponent ForWcharData=struct
com.inprise.vbroker.CONV_FRAME.CodeSetComponent {
int native_code_set=65801,
int[] conversion_code_sets={}
}
}}}]}]
Stub[repository_id=IDL:Bank/AccountManager:1.0,key=TransientId[poaName=/,id=
{11bytes:
[B][a][n][k][M][a][n][a][g][e][r]},sec=473,usec=455857516],ior=IOR[type_id=I
DL:Bank/AccountManager:1.0,profiles={com.inprise.vbroker.IIOP.ProfileImpl[ve
rsion=1.2,host=209.210.37.31,port=4799,object_key=TransientId[poaName=/,id={
11 bytes:
[B][a][n][k][M][a][n][a][g][e][r]},sec=473,usec=455857516],components={com.i
nprise.vbroker.IOP.CapabilitiesComponentImpl{nothing},com.inprise.vbroker.IO
P.OrbTypeComponentImpl{type=1447645952},com.inprise.vbroker.CONV_FRAME.CodeS
etsComponentImpl{struct com.inprise.vbroker.CONV_FRAME.CodeSetComponentInfo
{com.inprise.vbroker.CONV_FRAME.CodeSetComponent ForCharData=struct
com.inprise.vbroker.CONV_FRAME.CodeSetComponent {
int native_code_set=65537,
int[] conversion_code_sets={}
},
com.inprise.vbroker.CONV_FRAME.CodeSetComponent ForWcharData=struct
com.inprise.vbroker.CONV_FRAME.CodeSetComponent {
int native_code_set=65801,
int[] conversion_code_sets={}
}
}}}]}],current_ior=IOR[type_id=IDL:Bank/AccountManager:1.0,profiles={com.inp
rise.vbroker.IIOP.ProfileImpl[version=1.2,host=209.210.37.31,port=4799,objec
t_key=TransientId[poaName=/,id={11 bytes:
[B][a][n][k][M][a][n][a][g][e][r]},sec=473,usec=455857516],components={com.i
nprise.vbroker.IOP.CapabilitiesComponentImpl{nothing},com.inprise.vbroker.IO
P.OrbTypeComponentImpl{type=1447645952},com.inprise.vbroker.CONV_FRAME.CodeS
etsComponentImpl{struct com.inprise.vbroker.CONV_FRAME.CodeSetComponentInfo
{
com.inprise.vbroker.CONV_FRAME.CodeSetComponent ForCharData=struct
com.inprise.vbroker.CONV_FRAME.CodeSetComponent {
int native_code_set=65537,
int[] conversion_code_sets={}
},
com.inprise.vbroker.CONV_FRAME.CodeSetComponent ForWcharData=struct
com.inprise.vbroker.CONV_FRAME.CodeSetComponent {
int native_code_set=65801,
int[] conversion_code_sets={}
}
}}}]}],connector=null,codebase=null] is ready.
Reading 12 bytes at offset 0 from
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799] with
timeout 0 msecs ... complete
Reading 48 bytes at offset 12 from
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799] with
timeout 0 msecs ... complete
Writing 24 bytes at offset 0 to
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799]
timeout 0 msecs... complete
Reading 12 bytes at offset 0 from
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799] with
timeout 0 msecs ... complete
Reading 120 bytes at offset 12 from
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799] with
timeout 0 msecs ... complete
Reading 12 bytes at offset 0 from
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799] with
timeout 0 msecs ... Sending exception to client: 
org.omg.CORBA.MARSHAL: underflow during read from stream  minor code: 0
completed: No
org.omg.CORBA.MARSHAL: underflow during read from stream  minor code: 0
completed: No
        at
com.inprise.vbroker.orb.CDRInputStream.read_short(CDRInputStream.java:1441)
        at
com.inprise.vbroker.orb.CDRInputStream.read_wchar(CDRInputStream.java:2026)
        at
com.inprise.vbroker.orb.CDRInputStream.read_wchar_array(CDRInputStream.java:
2363)
        at
com.inprise.vbroker.orb.CDRInputStream.read_wstring(CDRInputStream.java:2157
)
        at Bank.AccountManagerPOA._invoke(AccountManagerPOA.java:74)
        at Bank.AccountManagerPOA._invoke(AccountManagerPOA.java:51)
        at com.inprise.vbroker.poa.POAImpl.invoke(POAImpl.java:2355)
        at
com.inprise.vbroker.poa.ActivationRecord.invoke(ActivationRecord.java:104)
        at
com.inprise.vbroker.GIOP.GiopProtocolAdapter.doRequest(GiopProtocolAdapter.j
ava:492)
        at
com.inprise.vbroker.IIOP.ServerProtocolAdapter.doRequest(ServerProtocolAdapt
er.java:64)
        at
com.inprise.vbroker.GIOP.GiopProtocolAdapter.dispatchMessage(GiopProtocolAda
pter.java:653)
        at
com.inprise.vbroker.orb.TPDispatcherImpl$TPDispatcher.run(TPDispatcherImpl.j
ava:99)
        at
com.inprise.vbroker.orb.ThreadPool$PoolWorker.run(ThreadPool.java:76)
Writing 68 bytes at offset 0 to
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799]
timeout 0 msecs... complete
failed
Client aborted connection:
com.inprise.vbroker.IIOP.ServerProtocolAdapter[connection=Connection[socket=
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799]]]
Removing incoming
connection[connection=Connection[socket=Socket[addr=brk.jenkon-dev.com/209.2
10.37.31,port=4800,localport=4799]]] from the CCM...
Closing connection
Writing 12 bytes at offset 0 to
Socket[addr=brk.jenkon-dev.com/209.210.37.31,port=4800,localport=4799]
timeout 0 msecs... failed
> -----Original Message-----
> From:	Duncan Grisby [SMTP:dgrisby@uk.research.att.com]
> Sent:	Friday, March 15, 2002 9:34 AM
> To:	brk@jenkon.com
> Cc:	omniorb-list@uk.research.att.com
> Subject:	Re: Visibroker and wstrings (was: RE: [omniORB] wstring
> corruption, omniOrb -> Orbacus ) 
> 
> On Friday 15 March, brk@jenkon.com wrote:
> 
> > Thanks Duncan, that does indeed help! The next thing is to actually call
> the
> > method, which goes like this:
> > 
> > omniORB:  send codeset service context: ( ISO-8859-1,UTF-16)
> > omniORB: sendChunk: to giop:tcp:209.210.37.31:4504 132 bytes
> > 4749 4f50 0102 0100 7800 0000 0400 0000 GIOP....x.......
> > 0300 0000 0000 0000 2400 0000 0056 4201 ........$....VB.
> > 0000 0002 2f00 2020 0000 000b 4261 6e6b ..../.  ....Bank
> > 4d61 6e61 6765 7220 0000 01d9 178c 6e71 Manager ......nq
> > 0500 0000 6e65 7773 005f 6964 0100 0000 ....news._id....
> > 0100 0000 0c00 0000 0100 0000 0100 0100 ................
> > 0901 0100 0301 0c01 1800 0000 fffe 6800 ..............h.
> > 6500 6c00 6c00 6f00 2000 7400 6800 6500 e.l.l.o. .t.h.e.
>  > 7200 6500                               r.e.
> > omniORB: inputMessage: from giop:tcp:209.210.37.31:4504 68 bytes
> > 4749 4f50 0102 0101 3800 0000 0400 0000 GIOP....8.......
> > 0200 0000 0000 0000 1e00 0000 4944 4c3a ............IDL:
> > 6f6d 672e 6f72 672f 434f 5242 412f 4d41 omg.org/CORBA/MA
> > 5253 4841 4c3a 312e 3000 01d9 0000 0000 RSHAL:1.0.......
> > 0100 0000                               ....
> > omniORB: throw MARSHAL from GIOP_C.cc:241 (NO,0x00000000)
> 
> That shows that the MARSHAL exception came from Visibroker. Is it
> possible to turn any tracing on on Visibroker to see why it was
> unhappy?
> 
> Try to get a trace of Visibroker talking to itself. If Visibroker
> doesn't have an option like -ORBtraceLevel 40 in omniORB, try using
> Ethereal (www.ethereal.com) to snoop the packets.
> 
> Cheers,
> 
> Duncan.
> 
> -- 
>  -- Duncan Grisby  \  Research Engineer  --
>   -- AT&T Laboratories Cambridge          --
>    -- http://www.uk.research.att.com/~dpg1 --