Discussion:
[omniORB] Problem with OmniORB 4.1.2 under Windows Vista ("::_narrow()" hangs)
José (bluemail)
2008-08-04 18:02:06 UTC
Permalink
Hi all,



we got a problem with OmniORB 4.1.2 under Windows Vista (Visual Studio
2008)!



We made a simple client-server application and during stress-tests we found
out that it can happen that "::_narrow()" call on client side hangs and
throw an exception after a while !



We debug the client and found out that it looks like that there is a problem
with opening sockets.

In the following while-loop within "tcpendpoint.cc", the constructor "new
tcpConnection(pd_new_conn_socket,this)" is not called in case of our
"_narrow hangs problem" !



Snippet:

----------

while (1) {

pd_new_conn_socket = RC_INVALID_SOCKET;

if (!Select()) break;

if (pd_new_conn_socket != RC_INVALID_SOCKET) {

return new tcpConnection(pd_new_conn_socket,this);

}

if (pd_poked)

return 0;

}





Do you have any ideas which will help us to solve this problem ?

(it also occurs in case of a switched-off Firewall)

See at the end of the mail for an output with tracing enabled.



Thanks and best regards

Thomas







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

omniORB: Version: 4.1.2

omniORB: Distribution date: Thu Feb 14 14:19:08 GMT 2008 dgrisby

omniORB: My addresses are:

omniORB: 169.254.211.173

omniORB: 10.236.208.137

omniORB: 192.168.159.1

omniORB: 192.168.18.1

omniORB: 127.0.0.1

omniORB: Maximum supported GIOP version is 1.0

omniORB: Native char code sets: UTF-8 ISO-8859-1.

omniORB: Transmission char code sets: UTF-8(1.2) UTF-8(1.1) ISO-8859-1(1.2)
ISO-8859-1(1.1) ISO-8859-1(1.0).

omniORB: Native wide char code sets: UTF-16.

omniORB: Transmission wide char code sets: UTF-16(1.2).

omniORB: Information: the omniDynamic library is not linked.

omniORB: Current configuration is as follows:

omniORB: DefaultInitRef (file) =

omniORB: DefaultInitRef (args) =

omniORB: abortOnInternalError = 0

omniORB: abortOnNativeException = 0

omniORB: acceptBiDirectionalGIOP = 0

omniORB: acceptMisalignedTcIndirections = 0

omniORB: bootstrapAgentHostname =

omniORB: bootstrapAgentPort = 900

omniORB: clientCallTimeOutPeriod = 0

omniORB: clientConnectTimeOutPeriod = 0

omniORB: clientTransportRule = * unix,ssl,tcp

omniORB: configFile = [none]

omniORB: connectionWatchImmediate = 0

omniORB: connectionWatchPeriod = 50000

omniORB: copyValuesInLocalCalls = 1

omniORB: diiThrowsSysExceptions = 0

omniORB: dumpConfiguration = 0

omniORB: endPoint = giop:tcp::

omniORB: endPointPublish = addr

omniORB: giopMaxMsgSize = 2097152

omniORB: giopTargetAddressMode = KeyAddr

omniORB: id = omniORB4

omniORB: idleThreadTimeout = 10

omniORB: immediateAddressSwitch = 0

omniORB: inConScanPeriod = 0

omniORB: lcdMode = 0

omniORB: maxGIOPConnectionPerServer = 5

omniORB: maxGIOPVersion = 1.0

omniORB: maxInterleavedCallsPerConnection = 5

omniORB: maxServerThreadPerConnection = 100

omniORB: maxServerThreadPoolSize = 100

omniORB: maxSocketRecv = 131072

omniORB: maxSocketSend = 131072

omniORB: nativeCharCodeSet = ISO-8859-1

omniORB: nativeWCharCodeSet = UTF-16

omniORB: objectTableSize = 0

omniORB: offerBiDirectionalGIOP = 0

omniORB: oneCallPerConnection = 1

omniORB: outConScanPeriod = 0

omniORB: poaHoldRequestTimeout = 0

omniORB: poaUniquePersistentSystemIds = 1

omniORB: principal = [Null]

omniORB: resetTimeOutOnRetries = 0

omniORB: scanGranularity = 5

omniORB: serverCallTimeOutPeriod = 0

omniORB: serverTransportRule = * unix,ssl,tcp

omniORB: socketSendBuffer = 16384

omniORB: strictIIOP = 1

omniORB: supportBootstrapAgent = 0

omniORB: supportCurrent = 1

omniORB: supportPerThreadTimeOut = 0

omniORB: tcAliasExpand = 0

omniORB: threadPerConnectionLowerLimit = 9000

omniORB: threadPerConnectionPolicy = 1

omniORB: threadPerConnectionUpperLimit = 10000

omniORB: threadPoolWatchConnection = 1

omniORB: traceExceptions = 1

omniORB: traceFile = [stderr]

omniORB: traceInvocationReturns = 0

omniORB: traceInvocations = 0

omniORB: traceLevel = 40

omniORB: traceThreadId = 0

omniORB: traceTime = 0

omniORB: unixTransportDirectory = /tmp/omni-%u

omniORB: unixTransportPermission = 777

omniORB: useTypeCodeIndirections = 1

omniORB: verifyObjectExistsAndType = 1

omniORB: Creating ref to remote: boa<0x48888c250000208800000001>

target id : IDL:omg.org/CORBA/Object:1.0

most derived id: IDL:processmanager/ProcessManager:1.0

omniORB: Client attempt to connect to giop:tcp:169.254.211.173:65051

omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 1

omniORB: Scavenger task execute.

omniORB: Client opened connection to giop:tcp:169.254.211.173:65051

omniORB: sendChunk: to giop:tcp:169.254.211.173:65051 84 bytes

omniORB: Scan for idle connections (1216908390,590000000)

omniORB: Scan for idle connections done (1216908390,590000000).

omniORB:

4749 4f50 0100 0100 4800 0000 0000 0000 GIOP....H.......

0200 0000 0173 734d 0c00 0000 4888 8c25 .....ssM....H..%

0000 2088 0000 0001 0600 0000 5f69 735f .. ........._is_

6100 6420 0000 0000 1800 0000 4944 4c3a a.d ........IDL:

6261 7365 2f50 726f 7065 7274 6965 733a base/Properties:

312e 3000 1.0.

omniORB: Switch rope to use address giop:tcp:169.254.211.173:65051

omniORB: Error in network send: giop:tcp:169.254.211.173:65051

omniORB: throw giopStream::CommFailure from
giopStream.cc:1182(0,NO,COMM_FAILURE_MarshalArguments)

omniORB: Client connection refcount = 0

omniORB: Client close connection to giop:tcp:169.254.211.173:65051

omniORB: throw COMM_FAILURE from omniObjRef.cc:784
(NO,COMM_FAILURE_MarshalArguments)

omniORB: omniRemoteIdentity deleted.

omniORB: ObjRef(IDL:processmanager/ProcessManager:1.0) -- deleted.

Unable to get the Properties interface for "acfw.processManager"



ORB error: 1096024067, 1

omniORB: Could not find proxyObjectFactory IDL:base/Properties:1.0 within
its destructor at proxyFactory.cc: line 178

omniORB: Could not find proxyObjectFactory IDL:base/ComponentManagement:1.0
within its destructor at proxyFactory.cc: line 178

omniORB: Could not find proxyObjectFactory IDL:base/Log:1.0 within its
destructor at proxyFactory.cc: line 178

omniORB: Could not find proxyObjectFactory IDL:base/Client:1.0 within its
destructor at proxyFactory.cc: line 178

omniORB: ORB not destroyed; no final clean-up.





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20080804/39746ddb/attachment.htm
Duncan Grisby
2008-08-11 23:25:25 UTC
Permalink
Post by José (bluemail)
We made a simple client-server application and during stress-tests we found
out that it can happen that "::_narrow()" call on client side hangs and throw
an exception after a while !
We debug the client and found out that it looks like that there is a problem
with opening sockets.
In the following while-loop within "tcpendpoint.cc", ?the constructor "new
tcpConnection(pd_new_conn_socket,this)" is not called in case of our "_narrow
hangs problem" !
That code is only used on the server side. It's not used in clients.

Do you have a trace from the server side from when it fails?

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...