[omniORB] omniOTS 0.11

Luke Deller ldeller at xplantechnology.com
Wed Mar 16 13:30:31 GMT 2005


On Mon, 2005-03-14 at 11:12 -0800, Scott Robertson wrote:
> Codeit is pleased to announce release 0.11 of omniOTS, an implementation
> of the CORBA Transaction Service for omniORB.

Thanks Scott!

> Looking to receiving any suggestions or patches you may have.

I'm trying to track down why our omniOTS client is still occasionally
hanging, and along the way I have noticed a few things:

(1) Perhaps I have mis-read the code, but it looks to me like there is a
double-release bug in the function
omniOTS/python/pyomniOTS.cc:createPyTXNCurrentObject(..)

The object reference put into "Current_var pc" on the first line looks
like it will be released by the Current_var destructor and again by the
destroyCurrent function.  I would fix it by using pc._retn() when
calling PyCObject_FromVoidPtr.

(2) In the transaction server [e.g. in the implementation of
Coordinator::is_same_transaction()], it is assumed that transactions
have unique hash_transaction() values.  I don't think this is guaranteed
to be true according to the spec, though I do not think a clash will
occur here unless:
- several transaction servers are in use, or
- the behaviour of long.__hash__() changes in python, or
- over 2^32 transactions are processed

Should I try to make a patch to fix this?

Regards,
Luke.




More information about the omniORB-list mailing list