[prev in list] [next in list] [prev in thread] [next in thread]
List: omniorb-list
Subject: Re: [omniORB] Strange IOR
From: Serguei Kolos <Serguei.Kolos () cern ! ch>
Date: 2004-07-30 12:01:17
Message-ID: 410A388D.6090804 () cern ! ch
[Download RAW message or body]
[Attachment #2 (multipart/alternative)]
May be the timeout is too short. Could you try to increase it and check
what happens?
Frederic Prin wrote:
> Hi Sergei,
> Thanks for your response, unfortunatly the machine on which this IOR
> had been generated is still alive. I can even ping it (it atkes about
> 20us, and my timeout is set to 2000ms).
> but it has certainly be rebooted after the IOR had been generated
> killing all running servers... I don't think it's the reason why the
> narrow call throw a TRANSIENT__CallTimedout .
> Furthermore, when I step into the _narrow call, and did step by step
> debug, I found the line that generate the exception:
>
> void
> giopStream::CommFailure::_raise(CORBA::ULong minor,
> CORBA::CompletionStatus status,
> CORBA::Boolean retry,
> const char* filename,
> CORBA::ULong linenumber)
> {
> // cut...
> throw CommFailure(minor,status,retry,filename,linenumber); //
> here minor=0x41540008 or minor=0x41540002
> }
>
> which is caught and rethrown as a TRANSIENT exception (with same
> minor code) by
>
>
> void
> omniObjRef::_invoke(omniCallDescriptor& call_desc, CORBA::Boolean
> do_assert)
> {
> // cut...
> CORBA::TRANSIENT ex2(ex.minor(), ex.completed());
> if( !_omni_callTransientExceptionHandler(this, retries++, ex2) )
> OMNIORB_THROW(TRANSIENT,ex.minor(),ex.completed()); //
> here minor=0x41540008 or minor=0x41540002
> // cut...
> }
>
> What is strange is that if I step by step debug down to the throw
> CommFailure, I get a correct minor code = 0x41540002 which is "Connect
> failed "
> But if I only put a breakpoint on the throw CommFailure line and wait
> for the debuger to stop, I get a minor code = 0x41540008 which is
> "Call timed out"
>
> The pb is that my Name Service will become polluted by dangling
> reference... and that my clients can no more discriminate a real dead
> server from server blocked in a debugger or eavily loaded.
>
> I do use omniORB-4.0.3 release snapshot. I will try soon the
> omniORB-4.0.4!
>
> If someone has another idea, I thank him in advance!
>
> Thanks fro reading.
>
> FredP
>
> -----Original Message-----
> From: omniorb-list-bounces@omniorb-support.com
> [mailto:omniorb-list-bounces@omniorb-support.com] On Behalf Of
> Serguei Kolos
> Sent: vendredi 30 juillet 2004 09:16
> To: omniorb-list@omniorb-support.com
> Subject: Re: [omniORB] Strange IOR
>
> If the computer (on which this dead IOR has been generated) is
> switched off then the
> only way to terminate a remote call is the timeout. TCP/IP (and
> therefore CORBA) can't
> tell anything apart from there were no reply in certain amount of
> time.
> If you switch that machine on then most probably you will get
> another minor code.
>
> Cheers,
> Sergei
>
> Frederic Prin wrote:
>
> > Hi all,
> >
> > I have some IOR registered on my Name Service that are dangling
> > (the corresponding server is dead).
> > When a clients tries to resolve + _narrow it I catch a TRANSIENT
> > exception when trying to narrow (that is good) but with a bad
> > minor code = 0x41540008
> >
> > Which is omni::TRANSIENT_CallTimedout !
> >
> > Indeed, I do set a setClientCallTimeout() before the narrow call
> > but since the IOR points on a dead server the servant cannot be
> > contacted so I am expecting another minor code.
> >
> > I tried to get more information on those IOR with catior but
> > unfortunatly it fails with a MARSHALL exception...
> >
> > meije{ bin }:14 > catior
> > IOR:010000001f00000049444c3a49536d617274566965772f5356496e746572666163653a312e3000 \
> > 00010000000000000060000000010102000c00000031302e36362e31302e313300008100000e000000 \
> > fec79cf2400000544d0000000000000002000000000000000100000001000000010000001c00000001000000010001000100000001000105090101000100000009010100
> >
> > Type ID: "IDL:ISmartView/SVInterface:1.0"
> > Profiles:
> > 1. IIOP 1.2 10.66.10.13 33024 "....@..TM....."
> >
> > Invalid stringified IOR supplied.
> > (CORBA::MARSHAL: minor = MARSHAL_PassEndOfMessage)
> >
> > (I copy/paste the IOR from a kind of Name Service explorer (not
> > of my own) maybe it is wrongly displayed)
> >
> > Any ideas
> >
> > Thanks
> >
> > Fred
> > (
> > Frédéric Prin )
> > Senior Software Engineer /
> > S I L V A C O (
> > Grenoble REsearch CEnter \
> > Tel 04 56 38 10 33 )
> > __________________________/___
> > /__/__/__/__/__/__/__/__/__/__/
> > /__/__/__/__/__/__/__/__/_____/
> > /__/__/__/__/__/__/__/__/__/__/
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > omniORB-list mailing list
> > omniORB-list@omniorb-support.com
> > http://www.omniorb-support.com/mailman/listinfo/omniorb-list
> >
> >
[Attachment #5 (text/html)]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
May be the timeout is too short. Could you try to increase it and check
what happens?<br>
<br>
Frederic Prin wrote:<br>
<blockquote type="cite"
cite="mid!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAABHyBg5AUZEKchcDvdvPsn8KAAAAQAAAAv4e2OWwC+U2DY9IMd19KxQEAAAAA@silvaco.com">
<meta http-equiv="Content-Type" content="text/html; ">
<title>Message</title>
<meta content="MSHTML 6.00.2800.1106" name="GENERATOR">
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">Hi Sergei,</font></span></div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">Thanks for your response, unfortunatly the
machine on which this IOR had been generated is still alive. I can even
ping it (it atkes about 20us, and my timeout is set to 2000ms).</font></span></div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">but it has certainly be rebooted after the
IOR had been generated killing all running servers... I don't think
it's the reason why the narrow call throw a TRANSIENT_<font
color="#000000">_CallTimedout .</font></font></span></div>
<div><span class="359451408-30072004"><font face="Arial" size="2">Furthermore,
when I step into the _narrow call, and did step by step debug, I found
the line that generate the exception:</font></span></div>
<blockquote dir="ltr" style="margin-right: 0px;">
<div><span class="359451408-30072004"><font face="Courier"
color="#0000ff" size="2">void<br>
giopStream::CommFailure::_raise(CORBA::ULong minor,<br>
CORBA::CompletionStatus status,<br>
CORBA::Boolean retry,<br>
const char* filename,<br>
CORBA::ULong linenumber)<br>
{<br>
// cut...</font></span></div>
<div><span class="359451408-30072004"><font face="Courier"
color="#0000ff" size="2"> <strong><font color="#ff0000">throw
CommFailure</font></strong>(minor,status,retry,filename,linenumber);
// here minor=0x41540008 or minor=0x41540002 </font></span></div>
<div><span class="359451408-30072004"><font face="Courier"
color="#0000ff" size="2">}</font></span><span
class="359451408-30072004"><font face="Arial" color="#0000ff" size="2"><br>
</font></span></div>
</blockquote>
<div dir="ltr"><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">which is caught and rethrown as a
TRANSIENT exception (with same minor code) by</font></span></div>
<div dir="ltr"> </div>
<blockquote dir="ltr" style="margin-right: 0px;">
<div dir="ltr"><span class="359451408-30072004"><font face="Courier"
color="#0000ff" size="2">void<br>
omniObjRef::_invoke(omniCallDescriptor& call_desc, CORBA::Boolean
do_assert)<br>
{</font></span></div>
<div dir="ltr"><span class="359451408-30072004"><font face="Courier"
color="#0000ff" size="2">// cut...</font></span></div>
<div dir="ltr"><span class="359451408-30072004"><font face="Courier"
color="#0000ff" size="2">CORBA::TRANSIENT ex2(ex.minor(),
ex.completed());<br>
if( !_omni_callTransientExceptionHandler(this, retries++, ex2) )<br>
<font color="#00ff00"><strong>OMNIORB_THROW</strong></font>(TRANSIENT,ex.minor(),ex.completed());
// here minor=0x41540008 or minor=0x41540002 </font></span></div>
<div dir="ltr"><span class="359451408-30072004"><font
color="#0000ff" size="2"><span class="359451408-30072004"><font
face="Courier" color="#0000ff" size="2">// cut...</font></span></font></span></div>
<div dir="ltr"><span class="359451408-30072004"><font
color="#0000ff" size="2"><font face="Courier">}</font></font></span></div>
</blockquote>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">What is strange is that if I step by step
debug down to the <font face="Courier"><font color="#ff0000">throw
CommFailure</font>, I get a correct minor code = 0x41540002 which is </font><font
face="Times New Roman"><font color="#000000">"<span
style="font-size: 10pt; font-family: 'Times New Roman';">Connect
failed "</span></font></font></font></span></div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">But if I only put a breakpoint on the <font
face="Courier" color="#ff0000">throw CommFailure</font> line and wait
for the debuger to stop, I get a <font face="Courier">minor code =
0x41540008 which is "<span
style="font-size: 10pt; font-family: 'Times New Roman';"><font
color="#000000">Call timed out"</font></span></font></font></span></div>
<div> </div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2">The pb is that my Name Service will become
polluted by dangling reference... and that my clients can no more
discriminate a real dead server from server blocked in a debugger or
eavily loaded.</font></span></div>
<div> </div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2"><font face="Courier" color="#000000"><span
style="font-size: 10pt; font-family: 'Times New Roman';">I do use
omniORB-4.0.3 release snapshot. I will try soon the \
omniORB-4.0.4!</span></font></font></span></div> <div> </div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2"><font face="Courier" color="#000000"><span
style="font-size: 10pt; font-family: 'Times New Roman';"><span
class="359451408-30072004"><font face="Arial" color="#0000ff" size="2">If
someone has another idea, I thank him in \
advance!</font></span></span></font></font></span></div> <div> </div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2"><font face="Arial" color="#0000ff"><span
style="font-size: 10pt; font-family: 'Times New Roman';"><span
class="359451408-30072004">Thanks fro \
reading.</span></span></font></font></span></div> <div> </div>
<div><span class="359451408-30072004"><font face="Arial"
color="#0000ff" size="2"><font face="Arial" color="#0000ff"><span
style="font-size: 10pt; font-family: 'Times New Roman';"><span
class="359451408-30072004">FredP</span></span></font></font></span></div>
<div dir="ltr"><font face="Arial" color="#0000ff" size="2"><br>
</font></div>
<blockquote dir="ltr" style="margin-right: 0px;">
<div class="OutlookMessageHeader" lang="en-us" dir="ltr"
align="left"><font face="Tahoma" size="2">-----Original Message-----<br>
<b>From:</b> <a class="moz-txt-link-abbreviated" \
href="mailto:omniorb-list-bounces@omniorb-support.com">omniorb-list-bounces@omniorb-support.com</a>
[<a class="moz-txt-link-freetext" \
href="mailto:omniorb-list-bounces@omniorb-support.com">mailto:omniorb-list-bounces@omniorb-support.com</a>] \
<b>On Behalf Of </b>Serguei Kolos<br>
<b>Sent:</b> vendredi 30 juillet 2004 09:16<br>
<b>To:</b> <a class="moz-txt-link-abbreviated" \
href="mailto:omniorb-list@omniorb-support.com">omniorb-list@omniorb-support.com</a><br>
<b>Subject:</b> Re: [omniORB] Strange IOR<br>
<br>
</font></div>
If the computer (on which this dead IOR has been generated) is switched
off then the<br>
only way to terminate a remote call is the timeout. TCP/IP (and
therefore CORBA) can't <br>
tell anything apart from there were no reply in certain amount of time.<br>
If you switch that machine on then most probably you will get another
minor code.<br>
<br>
Cheers,<br>
Sergei<br>
<br>
Frederic Prin wrote:<br>
<blockquote
cite="mid!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAABHyBg5AUZEKchcDvdvPsn8KAAAAQAAAADVmcYU5aoUuKDJ5vHPoo8wEAAAAA@silvaco.com"
type="cite">
<meta content="MS Exchange Server version 6.0.4630.0"
name="Generator">
<!-- Converted from text/rtf format -->
<p><font face="Arial" size="2">Hi all,</font> </p>
<p><font face="Arial" size="2">I have some IOR registered on my
Name Service that are dangling (the corresponding server is dead).</font>
<br>
<font face="Arial" size="2">When a clients tries to resolve +
_narrow it I catch a TRANSIENT exception when trying to narrow (that is
good) but with a bad minor code = 0x41540008</font></p>
<p><font face="Arial" size="2">Which is
omni::TRANSIENT_CallTimedout !</font> </p>
<p><font face="Arial" size="2">Indeed, I do set a
setClientCallTimeout() before the narrow call but since the IOR points
on a dead server the servant cannot be contacted so I am expecting
another minor code.</font></p>
<p><font face="Arial" size="2">I tried to get more information on
those IOR with catior but unfortunatly it fails with a MARSHALL
exception…</font> </p>
<ul>
<p><font face="Courier" size="2">meije{ bin }:14 > catior
IOR:010000001f00000049444c3a49536d617274566965772f5356496e746572666163653a312e30000001 \
0000000000000060000000010102000c00000031302e36362e31302e313300008100000e000000fec79cf2 \
400000544d0000000000000002000000000000000100000001000000010000001c00000001000000010001000100000001000105090101000100000009010100</font></p>
<p><font face="Courier" size="2">Type ID:
"IDL:ISmartView/SVInterface:1.0"</font> <br>
<font face="Courier" size="2">Profiles:</font> <br>
<font face="Courier" size="2">1. IIOP 1.2 10.66.10.13 33024 <a
class="moz-txt-link-rfc2396E" \
href="mailto:....@..TM.....">"....@..TM....."</a></font> </p>
<p><font face="Courier" size="2">Invalid stringified IOR
supplied.</font> <br>
<font face="Courier" size="2">(CORBA::MARSHAL: minor =
MARSHAL_PassEndOfMessage)</font> </p>
</ul>
<p><font face="Arial" size="2">(I copy/paste the IOR from a kind
of Name Service explorer (not of my own) maybe it is wrongly displayed)</font>
</p>
<p><font face="Arial" size="2">Any ideas</font> </p>
<p><font face="Arial" size="2">Thanks</font> </p>
<p><font face="Arial" size="2">Fred</font> <br>
<font face="Courier New" \
size="2">   \
; \
(</font> <br>
<font face="Courier New" size="2"> </font><b> <font
face="Courier New">Frédéric Prin</font></b><font face="Courier New"
size="2"> )</font> <br>
<font face="Courier New" size="2"> Senior Software \
Engineer /</font> <br>
<font face="Courier New" \
size="2"> S I L V A C \
O (</font> <br>
<font face="Courier New" size="2"> Grenoble REsearch \
CEnter \</font> <br>
<font face="Courier New" size="2"> Tel 04 56 38 10 \
33 )</font> <br>
<font face="Courier New" size="2">
__________________________/___</font> <br>
<font face="Courier New" size="2">
/__/__/__/__/__/__/__/__/__/__/</font> <br>
<font face="Courier New" size="2">
/__/__/__/__/__/__/__/__/_____/</font> <br>
<font face="Courier New" size="2"> /__/__/__/__/__/__/__/__/__/__/</font>
</p>
<pre wrap=""><hr width="90%" size="4">
_______________________________________________
omniORB-list mailing list
<a class="moz-txt-link-abbreviated"
href="mailto:omniORB-list@omniorb-support.com">omniORB-list@omniorb-support.com</a>
<a class="moz-txt-link-freetext"
href="http://www.omniorb-support.com/mailman/listinfo/omniorb-list">http://www.omniorb-support.com/mailman/listinfo/omniorb-list</a>
</pre>
</blockquote>
</blockquote>
</blockquote>
</body>
</html>
_______________________________________________
omniORB-list mailing list
omniORB-list@omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic