[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mico-devel
Subject:    [mico-devel] Calls to _non_existent()  hanging intermittently
From:       "CARTER-HITCHIN, David, FM" <David.CARTER-HITCHIN () rbos ! com>
Date:       2005-12-05 15:38:37
Message-ID: 5BABED549FA0374BBBC0F5CC4DF9DB6939FF49 () lon0355xns ! fm ! rbsgrp ! net
[Download RAW message or body]

Hi,

I'm trying to track down the cause of a nasty problem in our code where a
call to _non_existent() hangs sometimes.  This is called as our process is
starting up, so this is a real pain for us - from our monitoring point of
view the process has initialised and is running, but it actually is stalled
whilst initialising.  I know it's hanging in this state as I can run a
pstack and then c++filt the mangaled function names and get:

CORBA::ORB::wait(CORBA::ORBInvokeRec*, long)
CORBA::Request::get_response(unsigned char)
CORBA::Request::invoke()
CORBA::ORB::non_existent(CORBA::Object*)
CORBA::Object::_non_existent()
gds_server_find_running_server_is_alive(ObjVar<CORBA::ORB>, char const*)

I then wait a few minutes and run the same commands and get the same stack.

Currently we're using Mico 2.3.10 and will be upgrading to 2.3.12 when that
becomes available.  We run C++ code compiled with GCC 3.4.1 on Solaris 8 and
Linux (RHEL3).  We have plans to upgrade our compiler to 3.4.4 in the very
near future and to GCC 4 eventually when that settles down.    I don't know
much about Mico or Corba, so any tips on how to debug this that would be
great.  Some thoughts I have are:

a) If the call timed out as opposed to hanging that would be much more
preferable.  Perhaps we can set a timeout somewhere as a parameter?
b) What kind of things would cause this and what kind of tests could I
devise to capture the problem?
c) Our process is mutli threaded. Perhaps _non_existent is not thread safe.
This may not be an issue anyway as none of the other threads are doing
anything with Corba by the time _non_existent() hangs.
d) If it's hanging whilst contacts a remote host, would it be worth decoding
args passed into the function call beforehand?  If so how would I do that
(forgive my ignorance of Corba/Mico here).

I've looked on Google, through the Mico documentation, through the Corba
spec and the source code for clues, but didn't find anything.  If there is
something in that lot that answers my questions, then forgive me, I
overlooked it.  

I also tried to download the whole archive of messages from this discussion
list, but that doesn't work:

http://www.mico.org/pipermail/mico-devel.mbox/mico-devel.mbox

Perhaps someone can check the link is ok?

Many thanks,

David Carter-Hitchin.
--
Royal Bank of Scotland
Interest Rate Derivatives IT
135 Bishopsgate
LONDON EC2M 3TP

Tel: +44 (0) 207 085 1088


***********************************************************************************
The Royal Bank of Scotland plc. Registered in Scotland No 90312.       Registered \
Office: 36 St Andrew Square, Edinburgh EH2 2YB.                                       \
Authorised and regulated by the Financial Services Authority       
This e-mail message is confidential and for use by the                      
addressee only. If the message is received by anyone other             
than the addressee, please return the message to the sender          
by replying to it and then delete the message from your                    
computer. Internet e-mails are not necessarily secure. The               
Royal Bank of Scotland plc does not accept responsibility for          
changes made to this message after it was sent.                              
                                                                                      \
 Whilst all reasonable care has been taken to avoid the                   
transmission of viruses, it is the responsibility of the recipient to        
ensure that the onward transmission, opening or use of this             
message and any attachments will not adversely affect its               
systems or data.  No responsibility is accepted by The Royal           
Bank of Scotland plc in this regard and the recipient should carry   
out such virus and other checks as it considers appropriate.           
                                                                                      \
Visit our websites at:                                                                \
 http://www.rbs.co.uk/CBFM                                                        
http://www.rbsmarkets.com                                                         
                                                                                      \
********************************************************************************

_______________________________________________
Mico-devel mailing list
Mico-devel@mico.org
http://www.mico.org/mailman/listinfo/mico-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic