[omniORB] ServantActivator, etherealize problem

Adam Groszer adamg@mailbox.hu
Wed Mar 5 11:53:02 2003


Hi,

I'm using win2000, omniORB400, omniORBpy2, python 2.2.2
I'm trying to build up a small Server/Session pattern with the following
IDL:

module First {
  interface Session {
    string ping();
    void logout();
  };

  interface Server {
    string     connect();
    Session    login(in string name);
  };
};

I'm using a POA which has USER_ID, RETAIN, USE_SERVANT_MANAGER policies,
registered with the root POA to manage the objects of the Sessions.

Everything works fine, except:
if the client exits without calling logout() of the Session, the
ServantActivator does not get the etherealize() called for that Session.

The server log is the following (when the client just exits):
omniORB: (10) inputMessage: from giop:tcp:172.16.144.39:1979 12 bytes
omniORB: (10) throw giopStream::CommFailure from
giopImpl12.cc:1218(0,NO,COMM_FA
ILURE_UnMarshalArguments)
omniORB: (10) Server connection refcount = 1
omniORB: (10) Server connection refcount = 0
omniORB: (10) Server close connection from giop:tcp:172.16.144.39:1979
omniORB: (1) Scanning Python thread states.
omniORB: (10) AsyncInvoker: thread id = 10 has exited. Total threads = 3
omniORB: (10) Deleting Python state for thread id 1792 (thread exit)

omniORB configuration:
omniORB: (0) Distribution date: Sun Sep 22 22:06:56 BST 2002 dgrisby
omniORB: (0) My addresses are:
omniORB: 172.16.144.39
omniORB: 127.0.0.1
omniORB: (0) Maximum supported GIOP version is 1.2
omniORB: (0) Native char code sets: UTF-8 ISO-8859-1.
omniORB: (0) Transmission char code sets: UTF-8(1.2) ISO-8859-1(1.2)
ISO-8859-1(
1.1) ISO-8859-1(1.0).
omniORB: (0) Native wide char code sets: UTF-16.
omniORB: (0) Transmission wide char code sets: UTF-16(1.2).
omniORB: (0) Information: the omniDynamic library is not linked.
omniORB: (0) Current configuration is as follows:
omniORB:   DefaultInitRef =
omniORB:   abortOnInternalError = 0
omniORB:   acceptBiDirectionalGIOP = 0
omniORB:   acceptMisalignedTcIndirections = 0
omniORB:   bootstrapAgentHostname =
omniORB:   bootstrapAgentPort = 900
omniORB:   clientCallTimeOutPeriod = 0
omniORB:   clientTransportRule = * unix,ssl,tcp
omniORB:   diiThrowsSysExceptions = 0
omniORB:   dumpConfiguration = 0
omniORB:   endPoint = giop:tcp::
omniORB:   endPointPublishAllIFs = 0
omniORB:   giopMaxMsgSize = 2097152
omniORB:   giopTargetAddressMode = KeyAddr
omniORB:   id = omniORB4
omniORB:   inConScanPeriod = 180
omniORB:   lcdMode = 0
omniORB:   maxGIOPConnectionPerServer = 5
omniORB:   maxGIOPVersion = 1.2
omniORB:   maxInterleavedCallsPerConnection = 5
omniORB:   maxServerThreadPerConnection = 100
omniORB:   maxServerThreadPoolSize = 100
omniORB:   nativeCharCodeSet = ISO-8859-1
omniORB:   nativeWCharCodeSet = UTF-16
omniORB:   objectTableSize = 0
omniORB:   offerBiDirectionalGIOP = 0
omniORB:   omniORB_27_CompatibleAnyExtraction = 0
omniORB:   oneCallPerConnection = 1
omniORB:   outConScanPeriod = 120
omniORB:   poaHoldRequestTimeout = 0
omniORB:   principal = [Null]
omniORB:   scanGranularity = 5
omniORB:   serverCallTimeOutPeriod = 0
omniORB:   serverTransportRule = * unix,ssl,tcp
omniORB:   strictIIOP = 1
omniORB:   supportBootstrapAgent = 0
omniORB:   supportCurrent = 1
omniORB:   tcAliasExpand = 0
omniORB:   threadPerConnectionLowerLimit = 9000
omniORB:   threadPerConnectionPolicy = 1
omniORB:   threadPerConnectionUpperLimit = 10000
omniORB:   threadPoolWatchConnection = 1
omniORB:   traceInvocations = 0
omniORB:   traceLevel = 25
omniORB:   traceThreadId = 1
omniORB:   unixTransportDirectory = /tmp/omni-%u
omniORB:   unixTransportPermission =  777
omniORB:   useTypeCodeIndirections = 1
omniORB:   verifyObjectExistsAndType = 1
omniORB: (0) omniORBpy distribution date: Sun Sep 22 22:09:08 BST 2002
dgrisby

do I miss something?
please help

Adam Gröszer