[tao-users] TAO Server and Client disconnection
Prabhakar Bhatt
prabhakar.bhatt at gmail.com
Thu Sep 22 01:35:18 CDT 2016
Hi,
Greetings to everybody.
We are using ACE+TAO 2.0a in out project and facing following issues in
one of the customer production.
The details as follows:
==================================================================
TAO VERSION: 2.0a
HOST MACHINE and OPERATING SYSTEM: LINUX (Red Hat
Enterprise Linux Server release 5.2 (Tikanga) )
TARGET MACHINE and OPERATING SYSTEM, if different from
HOST: LINUX (Red Hat Enterprise Linux Server release 5.2 (Tikanga) )
COMPILER NAME AND VERSION (AND PATCHLEVEL):
gcc-c++-4.1.2-42.el5
CONTENTS OF $ACE_ROOT/ace/config.h : #include
"ace/config-linux.h"
CONTENTS OF
$ACE_ROOT/include/makeinclude/platform_macros.GNU :include
$(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX=/tmp/TAO-INSTAL
CONTENTS OF
$ACE_ROOT/bin/MakeProjectCreator/config/default.features: File is not
present.
LEVEL OF URGENCY (LOW, MEDIUM, or HIGH): HIGH
AREA/CLASS/EXAMPLE AFFECTED: Change in BiDirectional Port
causes disconnection between server and client AND TAO traces not logged.
DOES THE PROBLEM AFFECT:
COMPILATION? No
LINKING? No
On Unix systems, did you run make
realclean first? No
EXECUTION? Yes
OTHER (please specify)? No
==================================================================
SYNOPSIS and DESCRIPTION as follows :
=============================================================================
1. We are setting following debug options in orb_init at server side. But
logs are seen only at the process startup. After that no logs are seen.
*Orb_init signature : MCC_T_CHAR *defaultOptions_p[] = {"dummy",
"-ORBDebug", "-ORBDebugLevel","99","-ORBLogFile",(char
*)procInfo.proc_trace_info.trace_file,0};*
2. We are using BIDIRECTIONAL port usage in our Server and Client
application for communication. Two thread are being used at server side to
Communication with client. One thread is uses a callback of client to send
the actual data, second thread calls client callback for polling mechanism
. When everything is going fine both the threads at server use 6001 to
communicate with client. But suddenly polling thread callback request from
the server will be sent to client on different port ( Ex : 52345). After
this connection is lost between the server and client. After analyzing the
pcaps it is confirmed that signature remains for all the disconnections and
RST( at TCP Level) is received from the client for request on port 42345.
Even though BiDirectional is set why the request is going on new port.
Configuration : # TAO Naming
NameServiceIOR=corbaloc:iiop:localhost:3075/NameService
# TAO IIOP Endpoint
TAO_ORBENDPOINT="iiop://:6000/portspan=31"
Bidirectional policy :
At client : POAPolicyList[1] =
m_client_orb->create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE, pol);
At Server :
callsPOAPolicyList[0] =
m_rootPOA->create_lifespan_policy(PortableServer::TRANSIENT);
callsPOAPolicyList[1] =
m_server_orb->create_policy(BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE, pol2);
Additional policies are set before calling the Client side callback every
time at server side :
policyList[0] =
callbackRef->_get_orb()->create_policy(Messaging::RELATIVE_RT_TIMEOUT_POLICY_TYPE,
rt_timeout_any);
CORBA::Object_var object =
callbackRef->_set_policy_overrides(policyList, CORBA::ADD_OVERRIDE);
=============================================================================================================
Please do let me know your answers/suggestions.
Thaks and Regards,
Prabhakar Bhatt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.isis.vanderbilt.edu/pipermail/tao-users/attachments/20160922/ffe990f1/attachment.html>
More information about the tao-users
mailing list