In this Document
APPLIES TO:
Oracle WebLogic Server - Version 9.2.3 to 10.3.5
Oracle WebLogic Server - Version 10.3.6 to 10.3.6
Information in this document applies to any platform.
SYMPTOMS
In WebLogic Server, intermittently the below exception occurs and application won‘t process the request properly. To recover, one needs to restart the whole domain.
<Error> <Kernel> <BEA-000802> <ExecuteRequest failed java.lang.IndexOutOfBoundsException: Index: 0, Size: 0.
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:546)
at java.util.ArrayList.get(ArrayList.java:321)
at weblogic.rmi.cluster.BasicReplicaList.getPrimary(BasicReplicaList.java:91)
at weblogic.rmi.cluster.ClusterableRemoteRef.getPrimaryRef(ClusterableRemoteRef.java:146)
at weblogic.rmi.cluster.ClusterableRemoteRef.add(ClusterableRemoteRef.java:462)
at weblogic.rmi.cluster.ClusterableRemoteObject.onBind(ClusterableRemoteObject.java:193)
at weblogic.jndi.internal.BasicNamingNode.bindHere(BasicNamingNode.java:371)
at weblogic.jndi.internal.ServerNamingNode.bindHere(ServerNamingNode.java:136)
at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:317)
at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.java:292)
at weblogic.cluster.BasicServiceOffer.install(BasicServiceOffer.java:93)
at weblogic.cluster.NodeInfo.install(NodeInfo.java:63)
at weblogic.cluster.TreeManager.install(TreeManager.java:59)
at weblogic.cluster.MemberServices.processOffer(MemberServices.java:64)
at weblogic.cluster.RemoteMemberInfo.processStateDump(RemoteMemberInfo.java:305)
at weblogic.cluster.AnnouncementManager$2.run(AnnouncementManager.java:242)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.cluster.AnnouncementManager.receiveStateDump(AnnouncementManager.java:233)
at weblogic.cluster.StateDumpMessage.execute(StateDumpMessage.java:36)
at weblogic.cluster.HTTPExecuteRequest$1.run(HTTPExecuteRequest.java:95)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.cluster.HTTPExecuteRequest.run(HTTPExecuteRequest.java:92)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
CAUSE
It happens only when global-transactions-protocol for the DataSource is EmulateTwoPhaseCommit. Issue has been fixed via Bug
11796397 - <BEA-000802> <EXECUTEREQUEST FAILED JAVA.LANG.INDEXOUTOFBOUNDSEXCEPTION: INDEX
SOLUTION
Patches are available for Bug 11796397:
Fixed in: 12.1.1 , 10.3.6
To apply one of these patches, click on the link for your WLS version and download the appropriate patch from My Oracle Support. You can also search in My Oracle Support for the patch number for your WLS version: for detailed instructions, please see Master
Note: How to Locate and Download Patches for WebLogic Server Using My Oracle Support Note 1302053.1. If you
are using WLS 12.1.1 or earlier (including Fusion Middleware 11g/WLS 10.3.x), please use Smart Update to apply the patches. For instructions, please see How to Apply WebLogic Server (WLS) Patches Using Smart Update Note
876004.1. Smart Update is no longer applicable for WLS 12.1.2 and higher. On these versions, please use the OPatch tool to apply the patches. For instructions, please see the documentation at Patching
with OPatch. Coverage of all patching and maintenance issues is available at the Information Center at Note
1573509.2.
Patches are specifically tied to a particular release and maintenance pack of WebLogic Server (WLS). A patch for WLS 12.1.1, for example, would not work on WLS 12.1.2. In a few cases, patches are also specific to particular operating systems. If you think
you are experiencing the problem outlined in this note, and you are running a WLS version which is eligible for error correction (see Note
950131.1 for more about the Oracle Error Correction Policy), but your WLS version is not included in the list of patches provided here, please contact support and ask for a version of the patch appropriate for you. Please reference this note as well as
this bug number to help speed our service for you.
NOTE: Patches are applied per WLS installation and not per domain. That is, if you apply this patch on one WLS installation, then all of the servers from all the domains in that installation will have this patch. On the other hand, if you have
a managed server in another machine in a domain (that is, set up with its own WLS installation), you need to install this patch on that other machine as well. Generally, patches can only be applied while the server is not running because WLS locks the needed
files while it is running. If, however, you are able to apply a patch while WLS is running, you must restart WLS before the patch will take effect.
REFERENCES
BUG:11796397 -