<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Message</TITLE>
<META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
<BODY text=#000000 bgColor=#ffffff>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>I
first tried this ;-) It doesn't work!</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>I even
tried without any timeout.</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>The
narrow call is stuck indefinitly on a recv call after calling
remote_is_a().</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>Ii
also try a _non_existent() call: same issue: stuck indefinitly on a recv call
after calling remote_is_a().</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>But I
found something interresting on those server process (that correspond to my
dangling IOR):</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>They
was not completely dead! </FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>In
fact when I do a ps on the machine (a linux RH7.1) on which the server was first
started, I can see several entries for one given PID.</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>(linux
ps shows 1 entry per process' thread)</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2><SPAN
class=921222713-30072004><FONT face=Arial color=#0000ff size=2>another thing is
that the server process are reparented to 1. <SPAN
class=921222713-30072004><FONT face=Arial color=#0000ff size=2>so it is orphan
process </FONT></SPAN></FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>I
think that it is our in house licence server that SIGSTOP and forget to SIGCONT
such process when quitting.</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>(since
I found a lot of our per-application licence server daemon
running)</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2><SPAN
class=921222713-30072004><FONT face=Arial color=#0000ff size=2><SPAN
class=921222713-30072004></SPAN>So I believe the CORBA thread server was not
ended but is stuck</FONT></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2><SPAN
class=921222713-30072004><SPAN class=921222713-30072004><FONT face=Arial
color=#0000ff size=2>so my server process are orphan zombi process waiting
to be SIGCONT.</FONT></SPAN></SPAN></FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>the
narrow (recv) call was really waiting for something....</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>so the
TimeOut exception is quite good!</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>So,
once again, I apologise for polluting the mailing list...</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff size=2>and
thanks Sergei for suporting me!</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2>Fred</FONT></SPAN></DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=921222713-30072004><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
<DIV></DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B>
omniorb-list-bounces@omniorb-support.com
[mailto:omniorb-list-bounces@omniorb-support.com] <B>On Behalf Of </B>Serguei
Kolos<BR><B>Sent:</B> vendredi 30 juillet 2004 14:01<BR><B>To:</B>
omniorb-list@omniorb-support.com<BR><B>Subject:</B> Re: [omniORB] Strange
IOR<BR><BR></FONT></DIV>May be the timeout is too short. Could you try to
increase it and check what happens?<BR><BR>Frederic Prin wrote:<BR>
<BLOCKQUOTE
cite=mid!~!UENERkVCMDkAAQACAAAAAAAAAAAAAAAAABgAAAAAAAAABHyBg5AUZEKchcDvdvPsn8KAAAAQAAAAv4e2OWwC+U2DY9IMd19KxQEAAAAA@silvaco.com
type="cite">
<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:010000001f00000049444c3a49536d617274566965772f5356496e746572666163653a312e300000010000000000000060000000010102000c00000031302e36362e31302e313300008100000e000000fec79cf2400000544d0000000000000002000000000000000100000001000000010000001c00000001000000010001000100000001000105090101000100000009010100</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></BLOCKQUOTE></BODY></HTML>