|
Change Request Number
|
Description
|
Release Fixed
|
|
CR098607 CR136879
|
In a situation in which Application A is using Application B, while looking up Application B, the J2EE container of Application A creates a DependencyClassLoader by attaching Application B's ClassFinder to it. On redeployment of Application B, Application B encounters a new ClassFinder and its old ClassFinder is no longer valid. On a client request, the server attempts to use the old DependencyClassLoader and throws an exception.
The behavior that caused the exception has been changed: WebLogic Server no longer uses DependencyClassLoader for loading impl class from ReplicaAwareRemoteObject.getPrimaryRepresentative().
|
7.0 SP5
8.1 SP3
|
|
CR105257 CR174955
|
If a call to WLECService.getConnectionPoolCount was made before the IIOP Connection Pool was initialized it resulted in a NPE.
Code was added to return a 0 if the IIOPConnection Pool was null.
|
8.1 SP3
|
|
CR105444
|
The server would throw a FileNotFound Exception if a path for a log file was specified but the directory not exist when using the -Dweblogic.Stdout and -Dweblogic.Stderr command-line options.
A code enhancement resolves this issue by creating the directory structure specified by the command-line options when the structure does not exist.
|
8.1 SP3
|
|
CR108993 CR133901
|
On HPUX11, the CPU usage was high when using the native posix muxer.
A new muxer was designed, based on /dev/poll. This muxer can be enabled by setting the MuxerClass property as follows -
<Server ... MuxerClass="weblogic.socket.DevPollSocketMuxer" ...>
The following message should appear when the server starts up. This message confirms that the /dev/poll has been enabled.
<Sep 9, 2003 5:29:28 PM PDT> <Info> <Socket> <BEA-000406> <DevPollSocketMuxer was built on Sep 8 2003 15:34:11>
If the /dev/poll device is not available, it will fail to load. Currently it is available for:
|
8.1 SP3
|
|
CR109180
|
Transactions started on one server that used another server as the transaction coordinator would fail during the commit if the two servers have not previously exchanged transaction contexts. This occurred because the channel being passed to the JTA interceptor contained information on the local server, not the remote peer.
A code fix was used to pass correct channel to the JTA interceptor.
|
8.1 SP3
|
|
CR109307
|
Previously you could not bring up a WebLogic Server 8.1 SP2 Managed Server in an 8.1 SP3 domain. A code change has brought the different service packs into compatibility and into accord with the WebLogic Server compatibility statement: "Servers within an Administrative domain can be at different Service Pack levels as long as the Administration Server is at the same Service Pack Level or higher than its Managed Servers."
|
7.0 SP5
8.1 SP3
|
|
CR109688 CR133876 CR133877 CR135235 CR176217
|
Under certain conditions a simple Java client looking up InitialContext would receive an incorrect "No version information" error.
The problem was that line breaks in the header buffer were marked by "\n" instead of by the line.separator property. A code change corrected the problem.
|
7.0 SP5
8.1 SP3
|
|
CR116707
|
WebLogic Server provided a ReplicaAwareRemoteRef warning log when you used certain Factory/Trader patterns, displaying the following on the client side:
[ReplicaAwareRemoteRef] : WARNING: client-side RA stub didn't find environment on thread
Following a code change, the inappropriate log is no longer printed to the client.
|
7.0 SP5
8.1 SP3
|
|
CR116712
|
In WebLogic Server 6.1 SP04, the WLECConnectionRuntime MBeans were not updated when an INVOKE was issued on WLECConnectionPoolRuntime using Admin tool.
Analysis revealed that when resetConnectionPool() was invoked on the WLECConnectionPoolRuntime MBean, the pool was not reset. Old connections were not removed.
The problem was solved with a code change. Now, the mbeans that correspond to old connections are unregistered before the resetConnectionPool() invocation.
|
6.1 SP6
8.1 SP3
|
|
CR120492 CR122551
|
To improve HTTP tunneling performance, a code change sets the content length for tunneled responses to maintain keep-alive connections, and also enables caching of HTTP URL connections.
|
7.0 SP5
8.1 SP3
|
|
CR120492 CR122551 CR171857
|
To improve HTTP tunneling performance, a code change has set the content length for tunneled responses to maintain keep-alive connections, and has also enabled caching HTTP URL connections.
|
7.0 SP5
8.1 SP3
|
|
CR120811
|
When using the WebLogic thin client with an applet, concurrentModificationExceptions and JMSExceptions were thrown. Investigation showed that there were two problems:
There was a problem with the Sun ORB implementation. An applet's virtual machine released AppletContext upon a browser refresh and stopped all threads in the applet context's thread group. When an ORB was initialized as part of an applet context, the reader threads were created in the applet context's thread group. When the browser was refreshed, the ORB reader threads were also stopped.
The problems were solved with the following changes:
|
8.1 SP3
|
|
CR121311
|
Server shutdown failed because of in-use resources. This was due to application problems: either an application leaked pooled resources, such as JDBC connections and JMS sessions, or an application was holding a reference to pooled resources after server shutdown had commenced.
By default, pools are now shut down even if resources are in use.
For JDBC connections, to revert to the previous behavior, set ignoreInUseConnections="false" on the JDBCConnectionPoolMBean.
|
8.1 SP3
|
|
CR122361
|
The Auditing enabled message did not record the USER identity:
<Aug 29, 2003 12:31:25 AM EDT> <Info> <Configuration Audit> <159909> <Configuration Auditing is enabled>
This was inconsistent with the disable message, which did record the USER:
<Aug 29, 2003 12:31:31 AM EDT> <Info> <Configuration Audit> <159910> <USER system, Configuration Auditing is disabled>
Following a code change, both audit messages record the USER identity.
|
7.0 SP5
8.1 SP3
|
|
CR122706
|
A clustered Web application deployed on a cluster that called an EJB on another cluster threw an AssertionError. Analysis revealed that generated code did not use the right method while calculating methods in the interfaces, which resulted in using the wrong classloader from the generated stub.
A code change resolved the problem.
|
7.0 SP5
8.1 SP3
|
|
CR122878
|
MBeans were being deleted by KernelID. As a result, no matter who initiated the delete operation, the Auditor recorded that the Kernel had deleted the MBean.
Following a code change, the MBean is deleted by the current Authenticated Subject.
|
7.0 SP5
8.1 SP3
|
|
CR123509
|
Performance degradation occurred when tunneling the t3s protocol through IPlanet for HTTP/1.0 requests because of an IPlanet change related to the Keep-Alive functionality. This problem was resolved by a code change that now specifies HTTP/1.1 for tunneling requests.
|
7.0 SP5
8.1 SP3
|
|
CR123571 CR128843 CR183237
|
When starting several T3 clients on the same machine simultaneously, there was a possibility that two or more of the clients could obtain the same JVMID, cause exceptions or hanging on the clients. The problem occurred only when starting multiple T3 clients on the same machine at the same time. This problem was solved by modifying the code used to generate JVMIDs.
|
6.1 SP6
8.1 SP3
|
|
CR125245
|
The java.lang.LinkageError: duplicate class definition: error sometimes occurred when multiple threads attempted to load the same class in a Web application while PreferWebInfClasses was enabled. This problem occurred the first time the classes were loaded.
A code change to synchronize the loadClass method of ChangeAwareClassloader resolved this problem.
|
7.0 SP5
8.1 SP3
|
|
CR125285
|
WebLogic Server was masking certain exceptions during application deployment because of an unhandled internal exception. With the code fix which handles this exception, the original exceptions are rethrown, which makes it easier to debug the original issue.
|
7.0 SP5
8.1 SP3
|
|
CR125440
|
WebLogic Server cached the EndPoints based on ConnectionKey for iiop requests. The ConnectionKey was based on host, port and type information on which the connection was established. Because of the way the ConnectionKey was established, tunneling requests used the wrong Connection object. Some clients from the same host never got responses back under load test because they were going to different EndPoints.
WebLogic Server now creates unique IDs for a Connection object so that tunneling requests use the correct Connection object.
|
8.1 SP3
|
|
CR126374
|
WebLogic Server was not calling the setPriority method on an ExecuteThread even when a priority was set for a particular execute queue.
Code was added to call setPriority when an ExecuteThread gets created.
|
8.1 SP3
|
|
CR126613
|
When onMessage for an MDB was invoked on a thread, the following exception was thrown because the transaction previously associated with the thread was not cleaned up properly:
weblogic.utils.AssertionError: ***** ASSERTION FAILED *****[ Left-over JTA transaction found on MDB listener thread ]
A stale transaction on the thread is now cleaned up before the thread is used to call the onMessage method on an MDB.
|
8.1 SP3
|
|
CR127394
|
When weblogic.jar was added as a ClassPathElement inside the ant task , ant used AntClassLoader to load classes from the weblogic.jar. This process worked, but ant did not properly set the contextclassloader on the thread. The context classloader on the thread was still the system classloader. This resulted in classloading issues while generating the stub.
This problem has been fixed in the WLDeploy ant task that WebLogic Server creates. In the implementation of the WLDeploy task the correct context classloader is set.
|
8.1 SP3
|
|
CR127455
|
The Administration Server uses a trigger to send a heartbeat to each Managed Server to verify that the Managed Server is running. When a Managed Server is restarted, the trigger for the old Managed Server needs to be cancelled. In some situations, the trigger for the old Managed Server was not cancelled properly.
The code was fixed to ensure the trigger is correctly cancelled.
|
8.1 SP3
|
|
CR128417 CR134918 CR172274
|
Sometimes server-side sockets remained in an IDLE state when a client issued a reset on the socket before the server could set the TCP_NODELAY option. Therefore, these IDLE sockets were not getting cleaned up properly.
A code change ensures the clean up of server-side sockets when an exception occurs when setting the TCP_NODELAY option on the socket.
|
8.1 SP3
|
|
CR128445
|
The weblogic.Admin command line utility set the username and password for the ServerStartMbean each time it was used to start a server instance. If a user attempted to start a server with weblogic.Admin, it would fail without permissions to WRITE attributes.
A code change ensures that WRITE attributes not set on ServerStart.
|
7.0 SP5
8.1 SP3
|
|
CR128496
|
Attempted interoperability between WebLogic Server 6.1 SP5 and 8.1 SP1 domains caused an InvalidClassException. This is because 6.1 SP5 was released with the pre-EJB 2.0 specification, while release 7.0 and later were released with the final EJB 2.0 specification, which changed the class javax.ejb.TransactionRolledbackLocalException in the final release. Therefore, if a release 6.1 SP5 domain sends this exception to an 8.1 domain, then the 8.1 domain fails to read the exception while deserializing this exception object with InvalidClassException because the SVUID of the local class and incoming response class are different.
The code has been modified to load the local class and stamp the SVUID to the incoming class when the other peer is a release 6.1 domain.
|
8.1 SP3
|
|
CR128646
|
When running a servlet, the generic class loader could not find the WebLogic JDBC class.
This was resolved by adding a check to the generic class loader to see if the JDBC class is set to null in weblogic.utils.wrapper.WrapperFactory.java. If it is set to null, then the current classLoader(this.getClass().getClassLoader()) is loaded.
|
8.1 SP3
|
|
CR129094
|
Performance issues that involved TCP window shrinkage in the t3 protocol on the AIX platform have been resolved.
|
7.0 SP5
8.1 SP3
|
|
CR130376 CR133631 CR174605 CR175607 CR172366
|
According to the documentation in "Starting and Stopping Servers" if the CLASSPATH is too long, it can be added as a single line to a file and then accessed as -classpath @filename. However, when beasvc attempted to load the contents of CLASSPATH file, it truncated the last character when the file did not end with a new line.
Now beasvc determines whether the file terminates properly and then reads the file accordingly.
|
8.1 SP3
|
|
CR130409 CR178422
|
When setting the maximum length of an execute queue with the -Dweblogic.kernel.allowQueueThrottling flag to throttle "slow moving resource intensive" requests on a custom queue, clients did not receive a 503 response and therefore waited for the timeout.
This problem was resolved by a code fix to check for the dispatch return value on the caller and use the sendError() API to return the 503 response.
|
8.1 SP3
|
|
CR132704
|
When using the MBean.forceShutdown from a servlet's Init method and using load-on-startup, the server did not successfully shut down and the "Start this Server" button in the Control tab is greyed out and stays in this state for quite some time. After several minutes, the link is enabled.
The problem was resolved with a code change. The forceShutdown call now ensures the server is shut down without hanging the server lifecycle thread. Because the server state is properly changed, the console properly activates the links as soon as the server is down.
|
8.1 SP3
|
|
CR132994
|
Due to a Sun plug-in bug, a lookup for an EJB was failing. However, a WebLogic Server bug was exposed because of this issue. There was only one server in the cluster and yet the system was trying to fail over to another server even when the replica list was empty.
This problem was resolved with a code change; failover only occurs if the replica list is not empty.
|
8.1 SP3
|
|
CR135122
|
When an application in a WebLogic server instance made an RMI call to another application within the same server instance, it uses the Call By Value (CBV) Wrapper implementation. The CBV wrapper implementation cloned the values for all the object instances except primitive datatypes and Date instances. If application specific code derived the Date and provided it's own implementation for the Date class, cloning the user defined class created an object instance on the other server's classloader. A ClassCastException occurs when the other server assigned the instance to the caller's application.
The problem was resolved with a code change.
|
8.1 SP3
|
|
CR135255
|
When a request comes over a network channel, the server (instead of writing the default channel information as part of JVMID) writes the address information of the network channel. This information from streams is used to detect if the request came over a default channel or a network channel. In this case, the ChunkedObjectOutputStream did not implement the EndPointStream interface because the server was unable to make a distinction between the default and network channel.
This problem caused a degradation in performance.
A code fix ensures that the ChunkedObjectOutputStream implements the EndPointStream interface so that the JVMID class can determine on which channel the request came.
|
8.1 SP3
|
|
CR135256
|
The server wrote the address information of the default channel rather than the network channel information as part of JVMID. This caused the client to throw a java.rmi.ConnectException because the default channel was not visible to the client.
A code fix ensures the server writes the address information correctly.
|
8.1 SP3
|
|
CR136076
|
EJB network channel issue; unable to connect to the business channel. When the connection request was received on the network channel, the server correctly translated the JVMID by writing the network channel information in it. However the server was also translating the rawAddress and calculating it based on the network channel address. The rawAddress must be calculated based on the defaultChannel address so that JVMID equality is maintained.
A code fix was implemented to always write the rawAddress based on the defaultChannel address, even if the request is received on a network channel.
|
8.1 SP3
|
|
CR136250
|
When a request was retried for proxy authentication, the original headers and post data were not sent by HttpURLConnection, which caused Proxy Authentication to fail.
A code fix ensures that any headers and data from the original request are re-sent during a retry.
|
8.1 SP3
|
|
CR136756
|
A client threw a java.net.UnknownHostException exception when it tried to connect to a server. The exception was thrown because the client had previously connected to a server that had a private network channel. The client threw the exception when it was unable to determine if a connection existed before attempting to open a new connection.
A code fix was used to resolve this issue.
|
8.1 SP3
|
|
CR172105 CR177136
|
Calling the setTimeout method of weblogic.net.http.HttpURLConnection no longer takes twice the amount of time specified.
|
8.1 SP3
|
|
CR172366
|
Messages printed by beasvc to the event log were not readable in Japanese locale.
A code fix ensures that English messages are printed for all non-English locales.
|
8.1 SP3
|
|
CR173345
|
When trying to determine if a client was an applet, WebLogic Server tried to read a system property, and if it threw a security exception the client was assumed to be an applet. For signed applets a security exception was never thrown and it was incorrectly assumed to be a Java client when it was actually an applet. Therefore, WebLogic Server could not distinguish between a Java client and a signed applet.
A code change ensures that in addition to determining whether a client is a signed applet, WebLogic Server also reads additional properties that are only set for an applet.
|
8.1 SP3
|
|
CR173958
|
Interoperability between 6.1 SP4 and 8.1 SP2 domains using t3 failed when the protocol was changed from "secure" to "non-secure" between the front-end and back-end. The front-end QOS was being propagated to the back-end for the authentication call and it was failing.
The problem was resolved by using "anonymous" when doing the bootstrap authenticate call.
|
8.1 SP3
|
|
CR174605
|
The beasvc service was generating thread dumps when it received the SERVICE_CONTROL_INTERROGATE control code. This could cause unintended thread dumps when beasvc was interrogated by other tools.
A code fix ensures that thread dumps are generated only when a custom control code is received.
|
8.1 SP3
|
|
CR175607
|
Installing WebLogic Server as a Windows service immediately after uninstalling it sometimes created wrong registry keys, which could lead to startup problems.
A code fix ensure that the registry keys are flushed and properly closed.
|
8.1 SP3
|