omniORBpy 1.2 bugs

The following bugs in omniORBpy 1.2 have been fixed. Update from CVS to get the fixes.


Summary: Assertion failure mashalling sequence of any (bug number 7)
Date: Thu Sep 21 14:14:30 BST 2000
Fixed by: dpg1
Reported by: Carsten Seibert

Summary: Race condition in C++ servant deletion (bug number 6)
Date: Thu Sep 21 11:53:11 BST 2000
Fixed by: dpg1
Reported by: Gary Pennington
Description: A race condition in reference counting meant that a thread would occasionally attempt to use a C++ servant object while another thread was in the process of deleting it.

Summary: Support for Python 1.6 and 2.0b1 (bug number 5)
Date: Wed Sep 6 12:13:30 BST 2000
Fixed by: dpg1
Description: omniORBpy was hard-coded to require Python 1.5.2, just in case later versions were incompatible. 1.6 and 2.0b1 are compatible, so they are now supported.

Summary: Memory leak when returning invalid data (bug number 4)
Date: Fri Sep 1 15:07:45 BST 2000
Fixed by: dpg1
Description: If the data returned from a CORBA call was invalid, causing a BAD_PARAM (or other) exception, the invalid data would be leaked.

Summary: Interface Repository stubs not available with "import CORBA" (bug number 3)
Date: Wed Aug 23 10:15:43 BST 2000
Fixed by: dpg1
Reported by: Richard Gruet
Description: The OMNIORBPY_IMPORT_IR_STUBS environment variable worked with "from omniORB import CORBA", but not "import CORBA".

Summary: Instability after unexpected user exceptions (bug number 2)
Date: Tue Aug 22 17:01:50 BST 2000
Fixed by: dpg1
Description: After the fix on 17 August (see the update.log), when an unexpected user exception was raised in an up-call, the Python error status would not be properly cleared. This meant that later up-calls could fail with exceptions of the form "AttributeError: minor", even when the code didn't mention "minor" at all.

Summary: omniidl back-end generates useless classes for typedef to struct/union (bug number 1)
Date: Tue Aug 22 12:44:57 BST 2000
Fixed by: dpg1
Reported by: Jimmy Wilson
Description: The Python mapping specification is totally silent on the issue of typedefs. The only thing it says is that something must be generated for all declared types, to be passed to CORBA.id(). It does make sense to allow typedef names to be used to contruct structs and unions, though.