Back to Main PageBack

OpenFusion TAO Fixed Bugs

Fixed since 1.6.1.0

Bug No. Description
TAO-85 Reinstate check for a nil profile into a new location in the forwarded handling to resolve possible crash in FT operation.
TAO-73 Possible thread unsafe singleton TAO::Unknown_IDL_Type::lock_i () initialization, used with any demarshaling, moved into dynamic library loading initalization. This now happens prior to main which is single threaded.
TAO-70 Updated tags.html to match prism_release.html concerning error/minor codes; and fixed some meaningless errno copies being thrown from the core.
TAO-66 Fixed MIOP server multi-threaded notify deadlocking problem. Also deactivated eager MIOP completed message socket de-queuing.
TAO-65 Reverted the GIOP_Message_Base.cpp change for the TAO-57 MIOP Memory leak. This was ending up double deleting the Data_Block under certain circumstances.
TAO-63 Fixed MIOP server thread pool message processing serialization.
TAO-59 Fixed memory leak in MIOP server message processing.
TAO-57 Added MIOP configuration options -ORBSendThrottling and -ORBEagerDequeueing, along with #define overrides for their default settings; see descriptions in docs/release/tao/Options.html for details.
TAO-56 Added MIOP test interacting with PICurrent/Portable_Interceptors.
TAO-55 Added MIOP test for mixed MIOP/AMI client.
TAO-54 Fixed deadlock in multiple MIOP message processing during spawned upcalls. Added MIOP test for MIOP server spawning FT upcalls.
TAO-53 Incorporated the customer provided patch for the multi-threaded DAnCE locking required in the specific ExecutionManager_Impl objects of the Cardamom specific DAnCE builds. (See also TAO-47 below.)
TAO-50 Renamed "thalesgroup.com" to "cardamom.eu" in .idl #pragma prefix and IDL id strings in .cdp test files as required by customer.
TAO-48 Fix for the CORBA::INTERNAL exception raised by the Portable Interceptors code due to the mismatched popTSC calls. If an exception is thrown from inside the user code for the send_request_interception (which as this send was unsuccessful, there is no corresponding pushTSC), or either of the two receive_reply_interception or receive_other_interception points (which have already performed the popTSC operation), the call to the handle_any_exception or the handle_all_exeption helper functions does not now call popTSC.
TAO-47 Incorporated the customer provided patch for the multi-threaded DAnCE locking required in the specific CCMObjectLocator objects of the Cardamom specific DAnCE builds. The customer's patch has been integrated together with the Prismtech mutli-threaded PSO investigation and rework performed on the CCMObjectLocator code.
TAO894 Fixed double copy of src/bin/*.pl, followed incorrectly by src/MPC/*.pl, into distribution bin directory that was being undertaken by the build_tao161.sh script.
TAO889 Fixed memory leak in CosPropertyService (incorrect heap allocation of CosPropertyService::MultipleExceptions in TAO_PropertySet::define_properties() should have been stack based).
TAO884/885 TAO/DAnCE now compiled against Xerces 2.8.0 on rhel6.2 system instead of 2.7.0 at the customer's request.
TAO883 Embed the "$ORIGIN/../lib" runpath into prismtech formatted distribution ELF (mainly Red Hat and Solaris system) libraries and utilities. This should help run tools such as tao_idl without having to specify $TAO_ROOT/lib on the LD_LIBRARY_PATH of such systems at run-time.
TAO882 Ported to AIX6.1 xlC_r V11.01 (32/64bit) without the requirement on gcc preprocessor for tao_idl use (tao_idl now uses the native xlC_r pre-compiler).
TAO881 Added ACE_DEBUG ((LM_ERROR)) output to (de)marshaling problems when TAO_STRICT_ENUM_MARSHALLING is defined to allow the end user to track down which enum is at fault (enhancement of TAO795 below).
TAO880 Ported to AIX5.3 xlC_r V8.0 (32bit) and V11.01 (32/64bit) without the requirement on gcc preprocessor for tao_idl use (tao_idl now uses the native xlC_r pre-compiler).
TAO879 Consistently added the prefix "DAnCE (1|2) " to all DAnCE debug, trace, info and error messages (where 1 is the current PID and 2 is the current TID for the application).
TAO877 Redefined MIOP_MAX_DGRAM_SIZE to use the ACE_MAX_UDP_PACKET_SIZE definition which has been resized to 65507 bytes. {The field size sets a theoretical limit of 65,535 bytes (8 byte header + 65,527 bytes of data) for a UDP datagram. The practical limit for the data length which is imposed by the underlying IPv4 protocol however is 65,507 bytes (65,535 - 8 byte UDP header - 20 byte IP header).}
TAO875 Enhanced CORBA::string_dup() and CORBA::string_free() to use non-allocated and shared static null strings; this allows for optimized default null string initialization in CORBA string members and a reduction in dynamic memory management required for such.
TAO872 Added TAO CosProperty to Boeing distributions.
TAO871 Added VERSION.TXT to the root of the distribution containing the tao_idl -V output so that the distribution does not need to be functionally installed on the correct target platform to be identified.
TAO870 (including TAO764, TAO836, TAO840) Enhance MIOP implementation; this now supports fragmentation. See MIOP_Strategy_Factory in docs/release/TAO/Options.html for details.
TAO869 Customer supplied enhancement to dance starter executable with --thread-pool number option (short form is -s number). NOTE: This defaults to single threaded, i.e. --thread-pool 1, without this parameter and is KNOWN to cause operational crashes if number is larger than 1. Use is entirly at the customer's own risk.
TAO868 Fixed lockup problem with MT_No_UpCall client-leader not abdicating to allow other follower threads to continue processing requests.
TAO866 Fixed a subtle race in destroyManager of both the DomainApplicationManager and the NodeApplicationManager list entries.
TAO855

Added an mwc -type and -template called cdmw as an alternative to the thales versions provided for TAO813. To use this functionality the makefiles should be created using the command:

mwc.pl -type cdmw -template cdmw -noreldefs

TAO853 Port to Windows7 32bit/64bit and VC10 (VS2010) platforms.
TAO851 Port to gcc 3.4.6 Solaris 10 64 bit and gcc 4.3.5 RHEL 5.3 64 bit platforms.
TAO849/850 Fix Client_Strategy_Factory "-ORBClientConnectionHandler/-ORBWaitStrategy MT_NoUpcall".
TAO848 Fix Multi-threaded race interlock in Fault Tolerant MProfile use.
TAO838 Fix incorrect lookup of inherited interfaces inadvertently caused by TAO801 changes.
TAO834 Fix incorrectly generated unmarshaling code for miss-matched valuetypes.
TAO833 Fix inconsistency in TAO which exhibited on the client side and resulted in BAD_INV_ORDER when handling a PI hook.
TAO830 Fix deadlock in ACE_Select_Reactor when a large number of threads competed.
TAO828 Added a new option --failure-timeout <timeout>. The value of timeout is set in milliseconds and it specifies the time in RELATIVE_RT_TIMEOUT_POLICY_TYPE before the narrow of ComponentServer times out.
TAO827 Fix memory leak from incorrect destruction of orb due to certain error paths. This was delaying several other internal objects destruction until the end of the user's main() which was by then too late. Fix cleanup of custom logger backend in DAnCE.
TAO826 Fix idl3_to_xmi tool concerning certain forward declarations being used when full definitions had actually been given.
TAO820/TAO796 Added sanity check for unions that do not specify all labels allowed by the discriminator when unmarshalling and improved Java ORB interoperability by still using the first available unused enum value where available. (NOTE TAO820/TAO796 can be adversly effected by TAO795 if the optional strict enum checking is enabled.)
TAO819 Fix generation of makefiles so that if there are missing library dependencies, the build process will report an error. (This fix requires the use of the new TAO813 or TAO855 mwc -type and -template thales or cdmw.)
TAO816 Fix leak of PICurrent stored in thread-specific storage.
TAO815 Fix tao_idl generated union default construction; initialises the disc_ member directly.
TAO813

Added an mwc -type and -template called thales to provide automatic generation of the .depend* files to the default make target. Also added the 'plainall' make target which provides the previous non-automatic dependency functionality. To use this functionality the makefiles should be created using the command:

mwc.pl -type thales -template thales -noreldefs

TAO812 Fix tao_idl to prevent segmentation faults when incorrect pre-processor directives are found in the input idl files.
TAO809 Fix so that Portable Interceptors are called before throwing a CORBA::Transient exception when real-time and fault tolerant transport forwardings are all exhausted, similar to the original normal transport fix (TAO216).
TAO806 Added the dependency generator to the PrismTech distribution.
TAO804 Fix to enable rolling log files.
1) Create a configuration file logging.conf with the following line:
dynamic Logger Service_Object * ACE:_make_ACE_Logging_Strategy() "-s log.out -f STDERR|OSTREAM -m 5120 -i 2 -N 3 -w"
2) Start the server with the following options (assuming that all these options are passed to ORB_init() in the customer's code):
"-ORBDebugLevel 10 -ORBLogFile log.out -ORBSvcConf logging.conf -ORBHandleLoggingStrategyEvents Logger"
TAO803 Fix a possible race condition between access to the internal ORB's data through CORBA::ORB::register_value_factory(), CORBA::ORB::lookup_value_factory(), CORBA::ORB::unregister_value_factory() and its destruction done in CORBA::ORB::shutdown()
TAO802 Fix the Global Gestalt default initialisation that occurs when the first ORB is created (via the first call to ORB_init()) such that it is set up as a default configuration instead of a copy of the current ORB if this orb is started with the -ORBGestalt LOCAL parameter.
Add a new -ORBIgnoreDefaultSvcConfFile option with no args, which directs TAO to ignore the default svc.conf file.
Change the order in which configuration options are processed. Now svc.conf is processed first, then all files specified with -ORBSvcConf and then all directives specified with -ORBSvcConfDirective.
TAO801 Improved the performance of the TAO_IDL compiler when processing large input files with many module re-openings. (Updated to fix an unintentional bug that was introduced causing tao_idl to possibly fail when processing multiple input idl files on the same command line.)
TAO799 Fix some include discrepancies in header files such as TAO/tao/Valuetype/Valuetype_Traits_Base_T.h
TAO798 Added files TAO_IDL/be_include/be_helper.h and TAO_IDL/be_include/be_sunsoft.h, which were missing from the binary distribution.
TAO797 Remove the request to press a key to continue during the DAnCE PlanLauncher process.
TAO795 Added optional strict checking during demarshalling for ACE_CDR Booleans and all marshalling of TAO_CDR Enums, enabled with:
#define ACE_STRICT_BOOLEAN_DEMARSHALLING 1 and #define TAO_STRICT_ENUM_MARSHALLING 1 being added to the ace/config.h. Normally without these #define options, TAO will accept any non-zero value for a true boolean, and will accept any 32-bit enum value as being valid (with unions descriminated by enums mapping these out of bounds values to the default or uninitialised case). With these #define options, boolean values that are not 0 or 1 during demarshalling, and any enum values that are outside of the defined values will be rejected during (de)marshalling. For the Boolean checking the whole TAO distribution and user code will need to be rebuilt to add or remove the checks; but for the enum checks, only the idl files that contain enums will need to be reprocessed and the generated files relinked.
TAO794 Fix tao_idl memory fault when parsing IDL with duplicate definitions of valuetype.
TAO791 Fix for forwarding from collocated to remote location.
TAO782 Allow spaces within and quoted ACE_ROOT/TAO_ROOT values with TAO_IDL.
TAO779 Fix missing comma in Literals.cpp.
TAO776 Throw a ::CORBA::BAD_PARAM() exception if an attempt is made to set a bound sequences length() that is beyond the maximum bound for the sequence in question.
TAO774 Fix XMI generation for module reopening.
TAO773 Fix packaging system so that CosEvent .inl files are now part of the distribution.
TAO771 Fix -Se option of the tao_idl compiler in case command line parameters of tao_idl contain the -D or -U options.
TAO768 Fix DAnCE issue with NodeApplication destructor which can cause a process to crash.
TAO767 Fix a segmentation fault in the server during the sending of a big reply (>130 KB) when the blocking flushing strategy is used.
TAO754 Fix LynxOS 5.0 configuration issue so that ACE::get_ip_interfaces () correctly returns the list of available network interfaces; it previously returned an empty list.
TAO751 Added const qualifier in operator<< of ValueBase.cpp that is present in ValueBase.h.
TAO745 Fix issue where upon completion of a server request, the thread current is copied to the request current as expected but is then not cleared.
TAO739 Fix generation of association for sequences and arrays.
TAO739 Fix xmi.id generation so they are unique within a single XML document and contain only characters allowed in XML.
TAO739 Add XMI generation for native types.
TAO739 Fix XMI generation for forward declared interfaces / structs / unions / exceptions / valuetypes / components / eventtypes.
TAO729 Fix a CDR encapsulation interoperability issue between a client / server running with TAO 1.5 or above and a server / client running with TAO 1.4 on a machine with different endianness.
TAO720 Fix checking for bound string violations during marshalling.
TAO719 The xmi:extension tag has been added and it can be added as the last child of a parent node.
TAO718 Fix for incorrect handling of artifact location for valuetype factories.
TAO717 Changed the behaviour of the Relative Roundtrip Timeout policy such that the timeout will bound the entire user invocation including any transparent re-invocations following LOCATION_FORWARD or other retryable exception conditions.
TAO711 Fix an IDL compiler bug where includes in generated source were not generated in the order they were encountered by the pre-processor.
TAO693 Fix a performance problem adversely affecting the marshalling and demarshalling of long long bounded and unbounded sequences.
TAO686 Allow RT_ORB_Loader() to be initialized once per gestalt instead of once per application.

Fixed in 1.6.1.0

Bug No. Description
TAO675 Change use of the OMG defined IOP namespace in code to be scoped as ::IOP to avoid conflicts with potential user modules called IOP.

PrismTech TOP
Top