APAR status
Closed as program error.
Error description
A WebSphere MQ Managed File Transfer protocol bridge agent acting as the destination agent for a transfer may encounter a deadlock when cancelling an outstanding transfer. A thread dump of the protocol bridge taken at the time of the problem will not report a deadlock, but will show three threads with a stacks similar to these: . TransferReceiver(414d5120...) at com/ibm/wmqfte/transfer/frame/impl/ TransferFrameReceiverImpl$ChunkProcessor.stop (TransferFrameReceiverImpl.java:156(Compiled Code)) at com/ibm/wmqfte/transfer/frame/impl/ TransferFrameReceiverImpl.waitForOutstandingIO (TransferFrameReceiverImpl.java:1006(Compiled Code)) at com/ibm/wmqfte/transfer/impl/TransferReceiverRunnable.run (TransferReceiverRunnable.java:781(Compiled Code)) ... . FileIOWorker at java/lang/Object.wait(Native Method)) at java/lang/Object.wait(Object.java:167(Compiled Code)) at com/ibm/wmqfte/transfer/frame/impl/ TransferFrameReceiverImpl.writeComplete (TransferFrameReceiverImpl.java:792(Compiled Code)) at com/ibm/wmqfte/transfer/frame/impl/ TransferFrameReceiverImpl.writeSlice (TransferFrameReceiverImpl.java:540(Compiled Code)) at com/ibm/wmqfte/transfer/frame/impl/ TransferFrameReceiverImpl.processChunk (TransferFrameReceiverImpl.java:478(Compiled Code)) at com/ibm/wmqfte/transfer/frame/impl/ ... . CommandHandlerWorker at java/lang/Object.wait(Native Method)) at java/lang/Object.wait(Object.java:196(Compiled Code)) at java/lang/Thread.join(Thread.java:618) at com/ibm/wmqfte/transfer/impl/TransferReceiverImpl. waitForThreadToEnd(TransferReceiverImpl.java:262) at com/ibm/wmqfte/transfer/impl/TransferReceiverImpl. cancel(TransferReceiverImpl.java:246) at com/ibm/wmqfte/statestore/impl/FTEStateStoreImpl. cancelTransfer(FTEStateStoreImpl.java:3777) at com/ibm/wmqfte/cmdhandler/impl/ FTECommandHandlerStateStoreImpl.processInternalCommand() ...
Local fix
Restart the agent using the command: fteStopAgent -i
Problem summary
**************************************************************** USERS AFFECTED: This issue affects all users of WebSphere MQ Managed File Transfer 7.5. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: A deadlock situation could have occurred when a transfer cancellation request was processed by the destination agent for a file transfer that had nearly completed. The steps that would lead to the deadlock were as follows: - The TransferReceiver thread passed all of the remaining file data to the FileIOWorker thread to be written to the destination file - The FileIOWorker thread has written sufficient file data to require a transfer checkpoint (but more file data remained to be written) - The FileIOWorker thread prepared a transfer checkpoint then continued to write the remaining, final file data to the destination file - At a similar time, the TransferReceiver thread processed a transfer cancellation request before the first checkpoint was ready. As such, this thread did not write the checkpoint prepared by the FileIOWorker thread to the agent's SYSTEM.FTE.STATE queue. - The TransferReceiver thread then waited for the FileIOWorker thread to finish writing the file data it was currently processing and stop - The FileIOWorker finished writing the last of the file data and attempted to prepare the final, end of transfer checkpoint - However the FileIOWorker thread could not prepare the final checkpoint until the previous one was written and waits for the TransferReceiver thread to complete the previous checkpoint. Herein is the deadlock. Both the FileIOWorker thread and the TransferReceiver thread are waiting on each other to take an action before they can continue.
Problem conclusion
The WebSphere MQ Managed File Transfer code has been updated such that the FileIOWorker thread does not block before preparing a new checkpoint when the transfer is being cancelled. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v7.5 7.5.0.5 The latest available FTE maintenance can be obtained from 'Fix List for WebSphere MQ File Transfer Edition 7.0' http://www-01.ibm.com/support/docview.wss?uid=swg27015313 The latest available MQ maintenance can be obtained from 'WebSphere MQ Recommended Fixes' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006037 If the maintenance level is not yet available information on its planned availability can be found in 'WebSphere MQ Planned Maintenance Release Dates' http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27006309 ---------------------------------------------------------------
Temporary fix
Comments
APAR Information
APAR number
IT03569
Reported component name
WMQ FTE
Reported component ID
5724H7242
Reported release
750
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-08-04
Closed date
2014-09-23
Last modified date
2014-09-23
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
WMQ FTE
Fixed component ID
5724H7242
Applicable component levels
R750 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSDEZSF","label":"IBM WebSphere MQ Managed File Transfer for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
27 January 2022