[omniORB] Weird behavior with omniORBpy 1.x and ServantLocators

JohnD.Heintz JohnD.Heintz
Wed, 8 Aug 2001 12:53:36 -0500


Hi all,

I haven't got a reproducible test case or even logging output but this is=
 the=20
behavior we see occasionally (i.e. one in thousands).

In the sample code below we will get:
AttributeError: "None" object has no attribute "doSomething"

Does anyone have any idea?  Are we doing something wrong?

If you want to see all of the code check out:
http://www.zope.org/Members/jheintz/ZODB_CORBA_Connection

Oh, and we were seeing this more often when we were running with the debu=
g=20
libraries (Python 2.1 and omniORB).

Thanks for any help,
John

class Servant(...):
=09def setDomainObject(self, domainObj):
=09=09self.domainObj =3D domainObj

=09def clearDomainObject(self):
=09=09self.domainObj =3D None

=09def method(self):
=09=09self.domainObj.doSomething()

class ServantLocator (PortableServer__POA.ServantLocator):
    def preinvoke(self, oid, poa, operation):
=09servant =3D getServant(oid)
=09domainObj =3D getDomainObj(oid)
=09servant.setDomainObject(domainObj)
=09return (servant, "")

    def postinvoke(self, oid, poa, operation, cookie, servant):
=09servant.clearDomainObject()=09

--=20
=2E . . . . . . . . . . . . . . . . . . . . . . .

John D. Heintz | Senior Engineer

1016 La Posada Dr. | Suite 240 | Austin TX 78752
T 512.633.1198 | jheintz@isogen.com

w w w . d a t a c h a n n e l . c o m