Having problems with your account or logging in?
A lot of changes are happening in the community right now. Some may affect you. READ MORE HERE
Highlighted
SendilNatarajan Absent Member.
Absent Member.
6356 views

CORBA Server not registering

Hi All,

I'm using a Corba orbix server. My server is not registering with the Orbix demon process (psit shows no server). Is there a way to find the reason for it? any diagnostic message? I tried with ORBIXDIGANOSTIC set to 2 in my application code but still it gives no information about it. I have checked my application code it does every thing correctly like setting proper server name in imp_ready, and my putit command also registers the same server name with proper binary path.

I appreciate any help for this?

Tags (1)
0 Likes
15 Replies
Micro Focus Frequent Contributor
Micro Focus Frequent Contributor

RE: CORBA Server not registering

Hi Sendil,

Thank you for raising question.

Orbix servers should be registered with the Orbix 3 Daemon using the "putit" command. Information on how to register a server with "putit" can be found in our knowledgebase article here:

community.microfocus.com/.../27232.registering-servers-with-putit.aspx

Thank you and best regards,

Pat

Micro Focus SupportLine

0 Likes
SendilNatarajan Absent Member.
Absent Member.

RE: CORBA Server not registering

Hi,

Thanks for your reply. I already did putit, but when I did 'psit' it is not showing the registered server

Please see my steps

1. Registered the server using putit

2. Started the server application code. Here I have Corba.._.impl_ready(<servername>, timeout)

3. psit - not lists my registered server

4. Corba client - when started throws "cannot communicate with server, binding failed"

0 Likes
Micro Focus Contributor
Micro Focus Contributor

RE: CORBA Server not registering

Can you paste the output from your server start-up and orbixd output here?

0 Likes
SendilNatarajan Absent Member.
Absent Member.

RE: CORBA Server not registering

My server just says successfully back grounded

when I give $orbixd, it gives message like

[orbixd:Initialisation of server "IT_daemon" failed... ]

10088-- Communication failure

 - TCP/IP Socket interface failure

          Reason: Address already in use

 [Completion status : COMPLETED_NO]

The Corba client gives error message like

10085-- Communication failure

 - no server at host : 10.41.248.87

 [Completion status : COMPLETED_NO]

Binding failed:

0 Likes
Micro Focus Contributor
Micro Focus Contributor

RE: CORBA Server not registering

The address in use error from the orbixd is most likely because it is already running. Just run pingit -h localhost from the same command prompt to verify this. The client command looks as though it is trying to connect (possibly via _bind) to a host that is not running the orbixd. Simply run pingit -h 10.41.248.87 to confirm that there is no orbixd there. Check what host the client should connect to and how it is connecting.

0 Likes
SendilNatarajan Absent Member.
Absent Member.

RE: CORBA Server not registering

This is what I exactly get while starting my server

INFO: server successfully backgrounded.

[orbixd:New Connection (testhost.axls.com,ServerManagerNew,*,testqa,pid=14549172,optimised) ]

This tells me that my server was able to connect with the orbixd, but still psit shows no active servers.

There are no active servers at node testhost.axls.com.

0 Likes
Micro Focus Contributor
Micro Focus Contributor

RE: CORBA Server not registering

Is that all the output you see? How have you configured the Orbix diagnostics? You should see something more like:

[orbixd:New Connection (testhost.axls.com,ServerManagerNew,*,testqa,pid=14549172,optimised) ]

[orbixd:Registering Persistent Server ServerManagerNew(pid = 14549172) ]

[orbixd:Dynamically assigning internet port <OS assigned port> ]

Can you restart the orbixd with the -t flag?

Can you send on the output of lsit and catit ServerManagerNew?

0 Likes
SendilNatarajan Absent Member.
Absent Member.

RE: CORBA Server not registering

Hi Marting,

I really appreciate your help. Please see the complete details of what you have requested.

I have set the orbix diag using ORBIXDIAGNOSTICS = 2

putit command

------------------

$ORBIX_BINDIR/putit ServerManagerNew /home/testqa/TEST_HOME/bin.aix6/xlc/test_orbix_server_V8.5782

echo "== chmod of server application in orbix "

$ORBIX_BINDIR/chmodit i+all ServerManagerNew

$ORBIX_BINDIR/chmodit l+all ServerManagerNew

-bash-4.2$ orbixd -t &

[1] 21299256

-bash-4.2$ [ 06:06:58.623 orbixd@testhost.axls.com Server "IT_daemon" is now available to the network ]

[ Configuration TCP/1570/Orbix-XDR ]

-bash-4.2$ pingit -h 10.41.248.87

[[ 2411726606:07:41.550: New Connection (orbixd10.41.248.87@,testhost.axls.comIT_daemon ,New Connection (*testhost.axls.com,,testqa24117266,,pid=*21299256,,optimised) ]testqa

,pid=24117266,optimised) ]

[ 06:07:41.550 orbixd@testhost.axls.com  Incoming request `_IT_PING' to object 0 of type IT_daemon ]

[ 06:07:41.551 orbixd@testhost.axls.com  Outgoing reply to `_IT_PING' from object 0 of type IT_daemon ]

Trying to contact 10.41.248.87 and it's running.

[ 06:07:41.552 orbixd@testhost.axls.com End of Connection (testhost.axls.com,24117266,*,testqa,pid=24117266) ]

-bash-4.2$ lsit

[ 06:10:42.219 orbixd@testhost.axls.com New Connection (testhost.axls.com,5963956,*,testqa,pid=5963956,optimised) ]

[5963956:New Connection (testhost.axls.com,IT_daemon,*,testqa,pid=21299256,optimised) ]

[ 06:10:42.220 orbixd@testhost.axls.com  Incoming request `_IT_PING' to object 0 of type IT_daemon ]

[ 06:10:42.221 orbixd@testhost.axls.com  Outgoing reply to `_IT_PING' from object 0 of type IT_daemon ]

Root directory

[ 06:10:42.221 orbixd@testhost.axls.com  Incoming request `listServers' to object 0 of type IT_daemon ]

[ 06:10:42.222 orbixd@testhost.axls.com  Outgoing reply to `listServers' from object 0 of type IT_daemon ]

   ServerManagerNew

[ 06:10:42.224 orbixd@testhost.axls.com End of Connection (testhost.axls.com,5963956,*,testqa,pid=5963956) ]

Server details for server  : ServerManagerNew

  Comms           : tcp

  Code            : cdr

  Activation      : shared

  Owner           : testqa

  Launch          : ;all;

  Invoke          : ;all;

     Marker         Launch Command

     *              /home/testqa/TEST_HOME/bin.aix6/xlc/test_orbix_server_V8.5782

Server Output After Starting

-------------------------------

INFO: server successfully backgrounded.

[ 06:16:18.586 orbixd@testhost.axls.com New Connection (testhost.axls.com,ServerManagerNew,*,testqa,pid=5963830,optimised) ]

-bash-4.2$ psit

[ 06:18:02.570 orbixd@testhost.axls.com New Connection (testhost.axls.com,21823712,*,testqa,pid=21823712,optimised) ]

[21823712:New Connection (testhost.axls.com,IT_daemon,*,testqa,pid=21299256,optimised) ]

[ 06:18:02.571 orbixd@testhost.axls.com  Incoming request `_IT_PING' to object 0 of type IT_daemon ]

[ 06:18:02.571 orbixd@testhost.axls.com  Outgoing reply to `_IT_PING' from object 0 of type IT_daemon ]

[ 06:18:02.572 orbixd@testhost.axls.com  Incoming request `listActiveServers' to object 0 of type IT_daemon ]

[ 06:18:02.572 orbixd@testhost.axls.com  Outgoing reply to `listActiveServers' from object 0 of type IT_daemon ]

There are no active servers at node testhost.axls.com.

[ 06:18:02.574 orbixd@testhost.axls.com End of Connection (testhost.axls.com,21823712,*,testqa,pid=21823712) ]

0 Likes
Micro Focus Contributor
Micro Focus Contributor

RE: CORBA Server not registering

This is a little strange. It looks like your server is connecting, but not registering for some reason. Does the server continue to run after the connection message? The output you show is from the orbixd after starting and not from the server. What output do you see in your server? What platform are you on? Could you get a pstack or any stack trace from the server?

You say you are ORBIXDIAGNOSTICS, not this is not an Orbix environment variable, but possibly your code is passing this to the setDiagnostics on the Orbix ORB.

0 Likes
SendilNatarajan Absent Member.
Absent Member.

RE: CORBA Server not registering

1. Yes, the server is running (actually after executing the impl_ready it goes in a wait mode listening for client requests).

2. The only output from my server after setting the diag by setDiagnostics(2) is "server is backgrounded successfully"

3. There is not stack trace, and as I said earlier it waits in impl_ready for client requests.

0 Likes
Micro Focus Contributor
Micro Focus Contributor

RE: CORBA Server not registering

What do you mean by there is not a stack trace? Can you generate one?

Try setDiagnostics(3) and please paste the full server output here. We have only seen the orbixd output when you run the server in all previous posts.

0 Likes
SendilNatarajan Absent Member.
Absent Member.

RE: CORBA Server not registering

Hi,

After some break, I tried this one again and got the stack trace. I think the orbix server is stuck with some lock while initializing and I don't know the reason. I'll put the stack trace below.

0x09000000008a6838  global_lock_ppc_mp_eh() + 0x24

0x0900000000888f5c  _mutex_lock(??, ??, ??) + 0x23c

0x0900000001c88034  IT_PODMutex_i::lock(IT_ExceptionHandler&)() + 0x34

0x0900000001c87fd0  IT_Mutex::lock(IT_ExceptionHandler&)() + 0x10

0x0900000001d57fb4  IT_SelectWaker::send()() + 0x60

0x0900000001d50008  IT_NetworkThreads::checkout(GEN_SOCKET,IT_NetworkThreads::Ability)() + 0x2b8

0x0900000001d502ec  IT_NetworkThreads::checkout_all(GEN_SOCKET)() + 0x138

0x0900000001d5c00c  EventHandler::deregister_fd_from_network_threads(GEN_SOCKET)() + 0x5c

0x0900000001d5c454  EventHandler::unregisterFD(GEN_SOCKET)() + 0x14

0x0900000001c9c458  OrbixProtocol::exchangeChannelConnectionMessage(IT_RefCountedPtr<IT_Channel>,unsigned char,const char*,unsigned int)() + 0x530

0x0900000001c9c64c  OrbixProtocol::ConnectClientChannel(const char*,const char*,const char*,const char*,const char*,unsigned int,IT_RefCountedPtr<IT_Channel>)() + 0x14c

0x0900000001d69260  ChannelTable::open_channel_for_a_profile(CORBA::Object*,ObjectReferenceImpl*,const char*,const char*,const char*,const char*,const char*,unsigned char&,CORBA::SystemException*&,CORBA::Environment&)() + 0x2cc

0x0900000001d68bb8  ChannelTable::open_channel_for_ior(CORBA::Object*,ObjectReferenceImpl*,IT_Profile_Iterator*,const char*,unsigned char&,CORBA::SystemException*&,CORBA::Environment&)() + 0x198

0x0900000001d686a4  ChannelTable::find_and_open_channel(CORBA::Object*,const char*,CORBA::SystemException*&,unsigned char&,CORBA::Environment&)() + 0x218

0x0900000001d689fc  ChannelTable::openChannel(CORBA::Request&,CORBA::SystemException*&,unsigned char&,CORBA::Environment&)() + 0x68

0x0900000001d8b110  mtChannelTable::openChannel(CORBA::Request&,CORBA::SystemException*&,unsigned char&,CORBA::Environment&)() + 0xc

0x0900000001c6349c  IT_ObjectImpl::openChannel(CORBA::Request&,CORBA::SystemException*&,unsigned char&,CORBA::Environment&)() + 0x1b8

0x0900000001d3e098  FRFInterface::initialiseRequest(CORBA::Request&,CORBA::Environment&)() + 0xb0

0x0900000001caa144  IT_RequestImpl::initialiseBuffer(CORBA::Environment&)() + 0x74

0x0900000001caa9f8  IT_RequestImpl::IT_RequestImpl(CORBA::Request*,CORBA::Object*,const char*,CORBA::Environment&,unsigned char,unsigned char)() + 0x130

0x0900000001ca4da0  CORBA::Request::Request(CORBA::Object*,const char*,CORBA::Environment&,unsigned char,unsigned char)() + 0xbc

0x0900000001c9d50c  OrbixProtocol::locateObject(CORBA::Object*,char*&,CORBA::Environment&)() + 0x88

0x0900000001c63934  IT_ObjectImpl::_IT_PING(CORBA::Environment&)() + 0x140

0x0900000001cfcfec  CORBA::Object::_IT_PING(CORBA::Environment&)() + 0x10

0x0900000001cd36f8  IT_FactoryTableImpl::bind(const char*,const char*,const char*,const char*,CORBA::Object*&,const CORBA::Context&,CORBA::Environment&)() + 0x2ec

0x0900000001cd30fc  IT_FactoryTableImpl::NewWithObject(const char*,CORBA::Environment&,const CORBA::Context&,CORBA::Object*&,const char*,const char*,const char*)() + 0x258

0x0900000001cd2cdc  IT_FactoryTableImpl::New(const char*,CORBA::Environment&,const CORBA::Context&,const char*,const char*,const char*)() + 0x4c0

0x0900000001d355a4  CORBA::FactoryTable::New(const char*,CORBA::Environment&,const CORBA::Context&,const char*,const char*,const char*)() + 0x10

0x0900000001c46a08  IT_daemon::_bind(const char*,const char*,const CORBA::Context&,CORBA::Environment&)() + 0x30

0x0900000001c46a90  IT_daemon::_bind(const char*,const char*,CORBA::Environment&)() + 0x60

0x0900000001d6b31c  DaemonManager::bind_to_daemon(const char*,CORBA::Environment&)() + 0x168

0x0900000001d6b958  DaemonManager::registerPersistentServer(const char*,char*&,char*&,unsigned int&,CORBA::Environment&)() + 0x5c

0x0900000001d45d38  FRRInterface::ImplIsReady(const char*,unsigned char&,CORBA::Environment&)() + 0x57c

0x0900000001d43ce4  IT_BOAImpl::impl_is_ready(CORBA::ImplementationDef_ptr,unsigned int,CORBA::Environment&)() + 0x244

0x0900000001d427dc  CORBA::BOA::impl_is_ready(CORBA::ImplementationDef_ptr,unsigned int,CORBA::Environment&)() + 0x18

0x000000010265d3f8  dsrv::orbix::CorbaOrbixServer::initServer(const u::DsrvCorbaConfig&)(??, ??) + 0x9b8

0x000000010265ff1c  dsrv::orbix::OrbixServerManager::startServer(const u::DsrvCorbaConfig&)(??, ??) + 0xbc

0x0000000100074a28  dsrv::DispatchServer::startCorbaServer(port::smart_ptr<dsrv::common::ICorbaServerManager,port::smart_ptr_traits<dsrv::common::ICorbaServerManager> >&)(??, ??) + 0x2e8

0x000000010001bf30  main_init(int,char**,port::smart_ptr<dsrv::common::ICorbaServerManager,port::smart_ptr_traits<dsrv::common::ICorbaServerManager> >&)(??, ??, ??) + 0x550

0x000000010002244c  main0(int,char**,port::smart_ptr<dsrv::common::ICorbaServerManager,port::smart_ptr_traits<dsrv::common::ICorbaServerManager> >&)(??, ??, ??) + 0x2c

0x0000000100000b80  main(??, ??) + 0xe0

0x00000001000002f8  __start() + 0x70

0 Likes
Micro Focus Frequent Contributor
Micro Focus Frequent Contributor

RE: CORBA Server not registering

Thank you for the stack trace. It appears the server did attempt to contact the daemon, but may have encountered an exception.

Please try increasing the server's diagnostic level ("setDiagnostics(3)") and paste the full server output here.

0 Likes
Micro Focus Frequent Contributor
Micro Focus Frequent Contributor

RE: CORBA Server not registering

In addition the high-diagnostic server output, please also provide your configuration files, found in the directory:

<ORBIX_HOME>/config/

The stack trace you provided shows a single thread. Is this the complete stack trace for this server? If not, please provide the trace information from the other threads.

As a quick test, you may try configuring the daemon to use IIOP, rather than the default Orbix protocol. This can be set by adding the following line to the common.cfg configuration file:

 IT_DAEMON_PROTOCOL = "IIOP";

Finally, please confirm the exact versions of Orbix, Java and the underlying OS you are using.

Thank you and best regards,

Pat

Micro Focus SupportLine

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.