omniORB 4.1.0 bugs

The following bugs in omniORB 4.1.0 have been fixed. Update from Subversion to get the fixes.


Summary: Duplicated member in vxWorks omnithread (bug number 1)
Date: Mon Dec 11 10:38:10 GMT 2006
Description: Compiler error due to a member being declared twice.

Summary: Segfault on shutdown with some type definitions (bug number 2)
Date: Thu Dec 28 18:08:10 GMT 2006
Description: When releasing children of a struct, union or value TypeCode, a reference to the parent must be held to prevent its premature deletion.

Summary: Segfault in connection scavenger (bug number 3)
Date: Mon Feb 5 17:36:24 GMT 2007
Description: Scavenger did not cope with client strands with no connection. This can happen if a Python client uses invalid argument types, for example.

Summary: Infinite poll() timeout (bug number 4)
Date: Mon Feb 5 18:31:25 GMT 2007
Reported by: Richard Hirst
Description: A rounding error in calculating the poll() timeout could lead to infinite timeout.
Link: http://www.omniorb-support.com/pipermail/omniorb-list/2007-January/028386.html

Summary: Assertion failure trying to marshal an Any containing a nil objref. (bug number 5)
Date: Wed Feb 28 15:21:51 GMT 2007
Description: Objref pointer is null when the object reference is nil.

Summary: MARSHAL exception trying to create a union TypeCode with an enum discriminator (bug number 6)
Date: Wed Mar 7 18:28:35 GMT 2007
Reported by: Peter S. Housel
Description: Code attempted to extract a enum from an Any as a ULong.
Link: http://www.omniorb-support.com/pipermail/omniorb-list/2007-March/028477.html

Summary: Incorrect compiler flags for static libraries on VC++ 7 and 8 (bug number 7)
Date: Fri Mar 23 11:40:51 GMT 2007
Description: DLL link options were used when building static libraries.

Summary: Failure on start-up linking with SSL transport on Windows (bug number 8)
Date: Fri Mar 23 12:36:53 GMT 2007
Description: A change to the link forcing mechanism did not work on Windows due to the non-uniform DLL memory model.

Summary: Infinite loop after handling CancelRequest (bug number 9)
Date: Thu Apr 5 16:03:44 BST 2007
Description: A CancelRequest received for a finished call would lead to an infinite loop.

Summary: Invalid code generated for fixed point values in unions (bug number 10)
Date: Thu Apr 12 20:48:46 BST 2007
Description: Fixed point values cannot go inside the C++ union in an IDL union.

Summary: Failure in Identity downcasting on VC++ 8 (bug number 11)
Date: Sat Apr 14 18:55:30 BST 2007
Description: VC++ 8's optimiser optimises away some functions that were critical to the operation of the downcasting mechanism used on Identity objects.

Summary: Compilation errors on 64 bit Windows (bug number 12)
Date: Thu Apr 19 00:03:15 BST 2007
Description: VC++ on Windows 64 has no standard integer type that is as large as its pointers.

Summary: Hang in POA destruction after POAManager deactivate() (bug number 13)
Date: Sun Jun 3 20:20:22 BST 2007
Description: POAManager deactivate would not meet its detached object if all objects were busy, leading to a hang in POA destruction.

Summary: Incorrect return from TypeCode::member_label (bug number 14)
Date: Wed Jun 6 18:22:11 BST 2007
Description: Enum discriminators were returned as ulongs from TypeCode::member_label, rather than as the proper enums.

Summary: omniNames failure with -errlog on Windows (bug number 15)
Date: Tue Jun 19 17:19:28 BST 2007
Description: Windows doesn't support line buffering, and fails with a zero buffer length.

Summary: Condition variables leaked (bug number 16)
Date: Wed Jul 4 10:09:53 BST 2007
Description: The condition variables created when multiple threads peek a connection simultaneously were leaked.

Summary: Value chunk reading error (bug number 17)
Date: Fri Aug 31 10:43:11 BST 2007
Description: When reading bulk data from value chunks, the reader could get out of synchronisation with the chunk boundaries, leading to unmarshalling of invalid data.

Summary: Avoid namespace clashes if IDL defines modules named CORBA (bug number 18)
Date: Wed Sep 19 15:06:58 BST 2007
Description: IDL that defined nested modules named CORBA would generate invalid C++.