<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Remote call hangs</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=638471909-16032007></SPAN><FONT face=Arial><FONT 
color=#0000ff><FONT size=2>Hi&nbsp;Wernke,</FONT></FONT></FONT></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT 
size=2></FONT></FONT></FONT>&nbsp;</DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>in 
fact&nbsp;the&nbsp;IDL files on both sides were not 
identical.</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>Now 
it's working.</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>The 
reason why I thought that the remote&nbsp;call hangs was, </FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>that 
the exception has been catched but not evaluated&nbsp;</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>i.e. 
there was no trace output.</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff size=2>Thank 
you very much !</FONT></SPAN></DIV>
<DIV><SPAN class=638471909-16032007><FONT face=Arial color=#0000ff 
size=2>Stefan</FONT></SPAN></DIV>
<DIV><FONT face=Arial><FONT color=#0000ff><FONT size=2><SPAN 
class=638471909-16032007></SPAN></FONT></FONT></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT><FONT face=Arial color=#0000ff 
size=2></FONT><BR></DIV>
<DIV class=OutlookMessageHeader lang=de dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>Von:</B> Wernke zur Borg 
[mailto:wernke.zur.borg@vega.de] <BR><B>Gesendet:</B> Donnerstag, 15. März 2007 
14:50<BR><B>An:</B> Daschner, Stefan<BR><B>Cc:</B> 
omniorb-list@omniorb-support.com<BR><B>Betreff:</B> RE: [omniORB] Remote call 
hangs<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff 
size=2></FONT>&nbsp;</DIV>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV></DIV><!-- Converted from text/rtf format -->
  <P><SPAN lang=de><FONT face=Arial size=2>Hi,</FONT></SPAN> </P>
  <P><SPAN lang=de><FONT face=Arial size=2>I have a server written in python and 
  running on Linux. The C++ client (running on Linux too) is doing 
  a</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial size=2>remote call which 
  transfers an object to the server. Normally this is working, but in one 
  special case</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial size=2>resp. for 
  one special object the remote call on client side hangs and the corresponding 
  method on server side is not</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial 
  size=2>called. In the omniORB trace I can see that in this case the server 
  sends the following giop message to the client</FONT></SPAN> <BR><SPAN 
  lang=de><FONT face=Arial size=2>after receiving the giop message representing 
  the remote call:</FONT></SPAN> </P>
  <P><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB: 
  sendChunk: to giop:tcp:127.0.0.1:13302 68 bytes</FONT></SPAN> <BR><SPAN 
  lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB:</FONT></SPAN> 
  <BR><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>4749 4f50 0102 
  0101 3800 0000 0400 0000 GIOP....8.......</FONT></SPAN> <BR><SPAN 
  lang=de><FONT face="Arial monospaced for SAP" size=2>0200 0000 0000 0000 1e00 
  0000 4944 4c3a ............IDL:</FONT></SPAN> <BR><SPAN lang=de><FONT 
  face="Arial monospaced for SAP" size=2>6f6d 672e 6f72 672f 434f 5242 412f 4d41 
  omg.org/CORBA/MA</FONT></SPAN> <BR><SPAN lang=de><FONT 
  face="Arial monospaced for SAP" size=2>5253 4841 4c3a 312e 3000 4540 1600 5441 
  RSHAL:1.0.E@..TA</FONT></SPAN> <BR><SPAN lang=de><FONT 
  face="Arial monospaced for SAP" size=2>0100 0000 </FONT></SPAN></P>
  <P><SPAN lang=de><FONT face=Arial size=2>In the working case the server sends 
  the following GIOP message:</FONT></SPAN> </P>
  <P><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB: 
  sendChunk: to giop:tcp:127.0.0.1:18199 28 bytes</FONT></SPAN> <BR><SPAN 
  lang=de><FONT face="Arial monospaced for SAP" size=2>omniORB:</FONT></SPAN> 
  <BR><SPAN lang=de><FONT face="Arial monospaced for SAP" size=2>4749 4f50 0102 
  0101 1000 0000 0400 0000 GIOP............</FONT></SPAN> <BR><SPAN 
  lang=de><FONT face="Arial monospaced for SAP" size=2>0000 0000 0000 0000 0000 
  0000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ............ 
  </FONT></SPAN></P>
  <P><SPAN lang=de><FONT face=Arial size=2>Does anybody know the reason for this 
  problem ?</FONT></SPAN> <BR><SPAN lang=de><FONT face=Arial size=2>How to solve 
  it ?</FONT></SPAN> </P>
  <P><SPAN lang=de><FONT face=Arial size=2>I'm using omniORBpy-3.0-rc1 on server 
  side and omniORB-4.1.0 on client side.</FONT></SPAN> </P></BLOCKQUOTE>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>Hi 
Stefan, </FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>I see 
two possible reasons:</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>1. You 
are not using the same version of your IDL file on both 
sides;</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>2. You 
encode the object at the client side in a way that is invalid w.r.t. the IDL 
used at the server side.</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>In 
both cases the server would raise a marshal exception, which is what you see in 
the response.</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff size=2>It 
would be helpful if you could post the IDL snippet that corresponds to the 
method and the C++ code that is calling the method.</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2>Furthermore, are you sure you have a try{} catch() block around the 
method call in the client? Do you evaluate the exception if it 
happens?</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2>Regards, Wernke</FONT></SPAN></DIV>
<DIV><SPAN class=648164713-15032007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN>&nbsp;</DIV></BODY></HTML>