APAR status
Closed as program error.
Error description
There is a problem in the code in the management of the Flag that indicates an Async Read is outstanding. This could cause an abend0C4 by allowing a connection with an outstanding Async Read request to close and cleanup it's resources before the Async Read is completed. The abend0C4 would occur when the Async Read drives its completed method on the cleaned up Connection. The control region joblog could show a GPF or abend0c4 in JIT compiled method: com/ibm/ws/tcp/channel/impl/ZAioTCPChannel.readCompleted with native traceback: ZAioTCPChannelCppUtilities::readComplete CF_TCP_Request::readComplete CF_TCP_Connection_Object_Manager::processAsyncReadComplete ACR_ExecutionThread::RemoveAndProcessWork ACR_ExecutionRoutine
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server * * V9.0 and V8.5 * **************************************************************** * PROBLEM DESCRIPTION: WebSphere Application Server for z/OS * * ZAioTCPChannel.readCompleted received * * an ABENDS0C4 * **************************************************************** * RECOMMENDATION: * **************************************************************** During the processing of a request received over a channel chain with the ZAioTCPConnLink and XMemProxyCRInboundConnLink an asynchronous read request received an ABEND0C4 on the readComplete method calling from native code up to java. The connection objects, which include the two ConnLink objects mentioned previously, have been released. The cause of the ABEND 0C4 is that these Connection objects were cleaned up and released while an outstanding asynchronous read was still pending completion. The state of asynchronous reads and writes are maintained in the java objects associated with the connection. A path was found in the processing of a read request that would erroneously reset the outstanding request flag, thus allowing the connection to cleanup without taking the necessary actions required for an outstanding request. The following FFDC indicates the path that caused the erroneous resetting of the outstanding request flag: FFDC Exception:java.io.IOException SourceId: com.ibm.ws390.xmem.proxy.channel. XMemProxyCRInboundConnLink.destroyCommon ProbeId:423 Reporter:com.ibm.ws390.xmem.proxy. channel.XMemProxyCRInboundConnLink java.io.IOException: ZAIO INTERNAL: only one read operation permitted at a time on a connection link: com.ibm.ws.tcp.channel.impl.ZAioTCPConnLink
Problem conclusion
Code has been modified to not reset the read outstanding flag on an error path through the ZAioTCPReadRequestContextImpl. The fix for this APAR is targeted for inclusion in fix pack 8.5.5.22 and 9.0.5.13. For more information, see 'Recommended Updates for WebSphere Application Server': https://www.ibm.com/support/pages/node/715553
Temporary fix
Comments
APAR Information
APAR number
PH45838
Reported component name
WEBSPHERE FOR Z
Reported component ID
5655I3500
Reported release
900
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2022-04-21
Closed date
2022-06-01
Last modified date
2022-06-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
WEBSPHERE FOR Z
Fixed component ID
5655I3500
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"900","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
06 July 2022