Back to Main PageBack

JacORB Fixed Bugs

Fixed since 2.3.1.0

Bug No. Description
JAC-75 Fix for server IIOP connection's close() method implementation.
JAC-68 Fix for J2ME Lightweight Naming Service in rebind / unbind.
JAC-64 Fix for invocation context loss with nested colocated calls.
JAC-63 Added write lock timeouts to GIOP connections for resolving potential thread count build up issue.
JAC-8 Fix for portable interceptor ordering issue with colocated calls.
JAC-62 Fixed profile selection in bind/rebind for group IOR (IOGR).
JAC-51 Fixed high CPU consuming cause in RequestAnalyser.
JAC-45 Fix for loop in GIOPConnection when underlying transport closing fails with exception.
JAC-44 Added jacorb.connection.client.ungraceful_shutdown property. If set to true, the client connection manager will invoke the shutdown method on the connection before closing. The shutdown implementation will break the connecting thread's retries cycle (after the current retry finishes) and will release synchronization locks to allow other threads to close.
JAC-41 Fix for naming context implementation from static to non-static 'orb' field.
JAC-38 Fixed waiting for request threads completion in ORB.shutdown ().
JAC844 Fixed possible loop in connection close.
JAC836 Fix deadlock when ORB.shutdown () is called in the server method's implementation.
JAC832 Added ImR POA registration/deregistration so that two Implementation Repositories can run on different hosts and the Notification Service can register with both ImRs.
JAC832 Fix incorrect processing of type ID of derived type in orb.Any.read_value ()
JAC829 Fix to prevent high CPU consumption in a MIOP client connection's threads.
JAC826 Fix for GIOP 1.0 / 1.1 message header writing.
JAC824 Fix where binding and rebinding could lead to an infinite loop with an SSL connection.
JAC823 Fix for MIOP domains and object groups processing.
JAC822 Added RequestAnalyser and RequestProcessorAnalyser plugins for custom handling of requests. Added new documentation section 6.3 of the Programming Guide. Supplied an example RequestAnalyser and two RequestAnalyserProcessor implementations. Added property jacorb.poa.checkRequestIDs. When set, this forces replies on the same connection to be sent back in the same order, by checking the RequestIDs. This property is designed to work in correspondence with the RequestAnalyser plugin. Default = off.
JAC821 Added JSSE selection for key managers.

Fixed in 2.3.1.0

Bug No. Description
JAC818 Fix to allow configuration of SSL keystore types and algorithms.
JAC810 New MIOP ETF transport added.
JAC801 Fix toString on Union and refactor UnionType.
JAC798 Fix for incorrect child POA processing.
JAC794 Add NAT and firewall network configuration section to Programming Guide.
JAC788 Fix for local interceptors to prevent client PICurrent being overwritten by a server PICurrent.
JAC779 Fix for decoding and output of IORs with multiple TAG_ALTERNATE_IIOP_ADDRESS.
JAC777 Fix for locating valid ImRs in ORB and in IMRLocator.
JAC777 Fix for potential deadlock in ImRRebindRetryStrategy when communication with current Implementation Repository is broken by network errors.
JAC774 Fix for NegativeArraySize exception caused by BufferManager usage in CDROutputStream.
JAC773 Pluggable Expansion policy added to Buffer Manager to allow control of memory allocation. Options are:
  • log (default). For small replies, Buffer Manager allocates buffers bigger than requested to prevent frequent buffer reallocation and reduce memory usage. For buffer sizes in excess of 180MB, Buffer Manager allocates buffers with exactly the requested sizes
  • linear (pluggable). Returns a buffer with exactly the requested size
  • double (pluggable). Returns a buffer with twice the requested size
Stream closure and logging improved.
JAC772 Fix for NullPointer access in org.jacorb.orb.Delegate.
JAC770 Fix for high CPU load issue on Windows hosts caused by default configuration re-reading.
JAC765 Remove DDS files from JacORB distribution.
JAC755 Fix for IDL compiler issue where a union with an enum discriminator could send through a non-defined value.
JAC753 Support for typeprefix has been added to the idl compiler.
JAC753 Support for attribute exceptions (getraises / setraises) has been added to the JacORB idl compiler.
JAC752 Added synchronization to the POAManager public methods.
JAC749 Enhance the build options that are bundled with the JacORB source. For more information, extract the JacORB source file <DISTRIB_DIR>/src/src.tar.gz and, using Ant 1.7.1, run ant -projecthelp on the top level build.xml file. See http://ant.apache.org/manual/running.html#options for more details.
JAC749 Copy the idl, dior and jaco scripts from the source tree to the distribution bin directory and patch them so that they work in the new location.

Fixed in 2.3.0.4

Bug No. Description
JAC741 Remove finalize from Delegate to improve performance and scalability. Client code is now responsible for calling _release on CORBA Objects as necessary.
JAC737 Fix IDL compiler issue with constant long long generation.
JAC723 Fix for multithreading and fault-tolerant retries.
JAC722 Fix that allows IORMutator class caching to prevent CDRInputStream and CDROutputStream threads blocking.
JAC704 Fix to propagate objectId to ServerRequestInfo for local calls.
JAC703 Fix for non-configured CDRInputStream when created with an ORBSingleton.
JAC696 Modified AOMRemovalThread to shutdown on POA destruction.
JAC690 Fix so that the enhanced context key system will automatically switch itself off if it detects an older JacORB version. This avoids the requirement of using the disableServiceContextNegotiation property, although it is still available.
JAC685 Fix to ensure that current contexts are added and cleared correctly when handling embedded calls.
JAC681 Fix an issue that was preventing JacORB servers from registering with the TAO ImR when the TAO ImR runs on a little endian machine.
JAC680 Fix an issue where creating a persistent POA with an already active POA manager instance causes duplicate registrations with the ImR.
JAC677 Change to ensure that the REQUEST_DURATION_POLICY timeout is not overwritten if an interceptor makes an embedded invocation.
JAC676 Fix so that the idl compiler detects bounds violations for the string type.
JAC670 Change to request handling to ensure that Relative Roundtrip Timeout will bound the entire user invocation including any transparent re-invocations following LOCATION_FORWARD or other retryable exception conditions and also embedded invocations.
JAC663 Fix delegate bind issue to prevent cached object delegate being set to null.
JAC662 Fix a memory leak in Delegate pending_replies if an error occurs when reading the reply.
JAC660 Fix for Current overwriting in local calls between Client/ServerRequestInfo.
JAC656 Added jacorb.key.cacheSize property to allow the optimised key cache to be configured and improved purging algorithms.
JAC656 Fix spelling of disableServiceContextNegotiation property and property now functions on client and server side.
JAC653 Implementation of get_component operation.
JAC652 Fix to reduce the number of threads created when deactivating an object; backport-util-concurrent.jar has been added and should be used when the JDK is pre 1.5.
JAC652 / JAC651 Improved documentation for threads and SSL / TLS in the Programming Guide.
JAC651 Fix for attribute setting of the jacorb.security.ssl.client.protocols and jacorb.security.ssl.server.protocols properties.
JAC649 Synchronisation fix for GIOPConnection.getTransport.
JAC647 Enhancement to implement the correct use of portable interceptors when dealing with local calls, including the handling of ForwardRequests.
JAC646 Fix to improve exception handling in POA::reference_to_id, which returned a bad oid value under certain conditions.
JAC645 Enhancement to add a dummy implementation of Delegate::_get_component (), which returns null.
JAC643 Enhancement to the IDL compiler to generate a toString () implementation for Union types.
JAC642 Fix a memory leak in ObjectKeyMap.
JAC639 Enhancement to add the jacorb.enableNullString option to marshall null strings.
JAC631 An implementation of the Object::create_request operation has been added with an exception list.
JAC630 Fix for NullPointerException when multiple threads reference the same CORBA Object, one of those threads releases that reference and another thread attempts to invoke the reference.
JAC629 Fix to allow OAIAddr to be specified when using PortRangeSocketFactory.
JAC622 Fix for InterruptedIOException in IIOPListener from LogKit and native code.
JAC617 Fix for IDL generated code where the execution of toString() throws NullPointerException when a class contains an array of char.
JAC609 Fix for OpenFusion Naming Service hang when the service is stopped and started several times.
JAC608 Enhancement to ant JacIDL task to pass sloppyidentifiers and i2jpackagefile through, add error checking and add comments to generated code to silence Eclipse warnings.
JAC605 Fix issue on Windows where values are not escaped in jaco.bat.
JAC600 Fix for initialising the ORB with properties to avoid a java.lang.ClassCastException.
RTJ736 JacORB now implements the Endorsed Standards Override Mechanism as described in http://java.sun.com/j2se/1.5.0/docs/guide/standards/index.html.
JAC590 In the DynUnion.to_any () operation, a null pointer exception occurs because no check is made that the member is not null.
JAC589 Fix to add Object._get_component () to OMG stub code from OMG 03-01-02.
JAC581 The idl generated BooleanUnionHelper::read () operation is incorrect: if demarshalling a union with discriminator set to true, the result will have discriminator set to false.
JAC579 A JacORB fault tolerant client invokes a oneway call on an IOGR in a TAO fault tolerant server. This causes the server to crash and a second TAO server now becomes the primary one. Since the client set the SYNC_WITH_SERVER policy, JacORB should retry the request on the second profile in the IOGR and hence contact the new primary. Instead, JacORB throws a COMM_FAILURE for the first profile in the IOGR and does not retry the request on the new primary. The client does not receive an exception as it is a oneway request.
JAC577 The jacorb.disableServiceContextNegotiatation property has been created as a separate property to jacorb.interop.comet. This disables the sending of an extra service context on initial negotiation, which in turn disables JacORB's optimised object key handling, but it allows the real object id to be detected, for example, by the Recording tool, which searches the network for CORBA requests and filters according to object id. The default value is off.
JAC574 A JacORB client contacts an agent and makes a request. The agent replies with a location forward to a reference in a JacORB server. The client interacts with the reference in the JacORB server, the server goes down, the client correctly receives a org.omg.CORBA.TRANSIENT exception and the client falls back to the initial IOR in the agent. At a later date, the agent establishes that the same permanent reference in the JacORB server is reachable again and forwards the JacORB client on to it. However, JacORB remembers that the server IOR failed before and a org.omg.CORBA.TRANSIENT exception is raised again. This behaviour is incorrect by default, according to chapter 15.6 of the CORBA specification. The JacORB client should interact with the reference in the JacORB server again when it receives a location forward from the agent. However, if the JacORB server is still down, JacORB contacts the agent, which performs a location forward to the JacORB server, which is down. JacORB should then raise a org.omg.CORBA.TRANSIENT exception to the client, rather than again attempt to connect to the JacORB server in an infinite loop.
JAC572 An 'already defined' error occurs in the idl compiler if a struct is typedef'd to an array outside the scope of a module.
JAC563 An ssl-enabled server cannot communicate with an ssl-enabled client when bi-directional GIOP is enabled.

Fixed in 2.3.0.3

Bug No. Description
JAC569 A Repositoryid using pragma prefix with more than 1 space before id causes an idl compiler parse error.
JAC567 Property jacorb.connection.server.reuse_address added. This enables the socket option for SO_REUSEADDR. Default is off.
JAC555 The read () and extract () methods in Helper classes generated by the JacORB idl compiler can cause memory leaks with RTOrb.
JAC550 Enhancement to allow the toString method on idl generated Struct stubs to print out the contents of a 2 dimensional array.
JAC542 Property jacorb.dns.eager_resolve added. If on, allows eager, rather than lazy, dns resolution. Default is on.
JAC531 If use_imr=on, the Name Service does not start with ssl. A property jacorb.imr.passIORcomponent has been added. If enabled, the IOR component information is also accessible to the ImR. The property is set to off by default. A side effect is that the component information is now added twice to the IOR, resulting in a bigger IOR.
JAC526 JacORB had a static dependency on the javax.naming package but J2ME does not include this package.
JAC524 Resource temporarily unavailable message received: to workaround this, attempt to avoid creating network connections for in-process comminucations by utilising loopback protocol; (note, this is not the network stack loopback device).
JAC520 jac_imr does not start on Windows.
JAC519 A deadlock occurs when two resources try to access org.jacorb.poa.RequestController.
JAC511 AMI exceptions do not work if the IDL is specified with pragma prefix.
JAC486 A COMM_FAILURE occurs when narrowing a reference to the Name Service using SSL.

Fixed in 2.3.0.2

Bug No. Description
JAC508 The CosNamingME package is missing from the JacORB ME distribution.
JAC493 The Object.set_policy_overrides () method applies policies on the current object and returns the current object; it should create a copy of the current object, apply policies to this copy and return the copy.
JAC492 Holder logger is not being set, which causes a NullPointerException.
JAC491 Creating an empty any and calling create_input_stream () can lead to an ArrayIndexOutOfBounds.
JAC480 Holder classes for user-defined exceptions are not generated by the idl compiler.
JAC470 org.jacorb.naming.NameServer is not in jacorb.jar when you build the source.
JAC465 The Interface Repository is not persistent; its IOR's object key changes when the Interface Repository restarts.
JAC449 A repository id is built unnecessarily when marshalling a valuetype, which causes a latency overhead.

Fixed in 2.3.0.1

Bug No. Description
JAC444 The ValueBaseHelper class has no implementation.
JAC441 The JacORB idl compiler does not allow you to use the same variable name as type name.
RTJ519 PortableServer.Servant type becomes an int type when the JacORB idl compiler runs with an RTOrb idl file, but not with a JacORB idl file.
JAC417 A custom ssl socket factory cannot be instantiated.
JAC415 A null pointer exception occurs on the POAUtil.ExtractOID () method when a null reference is passed to the POA.reference_to_servant () method.
JAC384 Multiple empty logfiles are created during the logfile initialisation routine.
JAC381 The Programming Guide does not contain information about the jacorb.security.keystore_password property, which is needed if you want to use the ImR with SSL enabled.
JAC375 Using the SocketFactories with the new JDK 1.4 socket API, the wrong exception type is thrown when a timeout is hit.
JAC367 Unable to load IDL file into JacORB Interface Repository where #pragma prefix "jacorb.ir" is defined in IDL file.
JAC352 Marshalling error when interop with Sun JDK 1.4 ORB
JAC72 The -omg option on the JacORB idl compiler should be removed and replaced with i2jpackage in idl/build.xml and documented in the Programming Guide.

PrismTech TOP
Top