[omniORB] setClientCallTimeout(obj, ) crash
Frederic Prin
frederic.prin at silvaco.com
Wed May 5 15:49:26 BST 2004
Hi,
I use omniORB4.0.3 and I sometimes experience crash when a client calls
setClientCallTimeout(obj, ).
The internal call oo = obj->_PR_getobj(); returns NULL and oo-> crash.
void
omniORB::setClientCallTimeout(CORBA::Object_ptr obj,
CORBA::ULong v)
{
omniObjRef* oo = obj->_PR_getobj();
oo->_setTimeout(v / 1000, (v % 1000) * 1000000);
}
What is the _PR_getobj(); job ?
Why it can returned NULL ?
This seems to appears when the client narrow an obj from a valid IOR
(using the name service) but the servant part is stopped at a breakpoint
location. (I believe it could also happen when the server machine is
dramatically overloaded). This is my code:
CORBA::Object_var interface_obj =
init_naming_context->resolve( string_to_name(
object_list[i] ) ) ;
PrincipalInterface_var principal_interface ;
try
{
principal_interface = PrincipalInterface::_narrow(
interface_obj ) ;
omniORB::setClientCallTimeout( interface_obj,
PrincipalInterfaceImpl::PING_TIMEOUT ); // CRASH!
if ( ! CORBA::is_nil( principal_interface ) )
{
principal_interface->GetStatus() ;
Thanks for any idea
Fred
(
Frédéric Prin )
Senior Software Engineer /
S I L V A C O (
Grenoble REsearch CEnter \
Tel 04 56 38 10 33 )
__________________________/___
/__/__/__/__/__/__/__/__/__/__/
/__/__/__/__/__/__/__/__/_____/
/__/__/__/__/__/__/__/__/__/__/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20040505/0da4b507/attachment.htm
More information about the omniORB-list
mailing list