APAR status
Closed as program error.
Error description
An MQ Managed File Transfer protocol bridge agent (PBA) is configured to connect to a file server using the SFTP protocol. Intermittently, the agent shuts itself down unexpectedly and generates an ABEND file indicating that a NullPointerException has occurred within the method: com.ibm.wmqfte.jsch.Session.start_discard() An example of the ABEND file is shown below: ... Thread: 64 (CommandHandlerWorker-0) Class: com.ibm.wmqfte.thread.FTEThread Method: uncaughtException Probe: ABEND_001 Cause: java.lang.NullPointerException java.lang.NullPointerException at com.ibm.wmqfte.jsch.Session.start_discard(Session.java:1212) at com.ibm.wmqfte.jsch.Session.read(Session.java:1076) at com.ibm.wmqfte.jsch.Session.connect(Session.java:356) at com.ibm.wmqfte.bridge.session.sftp.SFTPConnection.openSession(SF TPConnection.java:430) at com.ibm.wmqfte.bridge.session.sftp.SFTPConnection.connect(SFTPCo nnection.java:128) at com.ibm.wmqfte.bridge.session.sftp.SFTPSession.connect(SFTPSessi on.java:169) at com.ibm.wmqfte.bridge.session.sftp.SessionFactory.createSession( SessionFactory.java:98) at com.ibm.wmqfte.bridge.endpoint.BridgeEndPoint.createSession(Brid geEndPoint.java:92) at com.ibm.wmqfte.bridge.Bridge.createSession(Bridge.java:355) at com.ibm.wmqfte.bridge.utils.BridgeSessionContainer.getSession(Br igeSessionContainer.java:130) at com.ibm.wmqfte.bridge.session.BridgeSessionContainerManager.getS ession(BridgeSessionContainerManager.java:140) at com.ibm.wmqfte.io.bridge.BridgeFileImpl.getSession(BridgeFileImp l.java:769) at com.ibm.wmqfte.io.bridge.BridgeFileImpl.<init>(BridgeFileImpl.ja va:152) at com.ibm.wmqfte.io.bridge.BridgeFileFactoryHelperImpl.newFTEFile( BridgeFileFactoryHelperImpl.java:115) at com.ibm.wmqfte.io.FTEFileFactory.newFTEFile(FTEFileFactory.java: 244) at com.ibm.wmqfte.cmdhandler.impl.FTETransferItemGenerator.generate TransferItemPairs(FTETransferItemGenerator.java:123) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerSAXParser$FTEIte mHandler.generateItemListPairs(FTECommandHandlerSAXParser.java:9 12) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerSAXParser$FTEIte mHandler.endElement(FTECommandHandlerSAXParser.java:765) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerSAXParser$FTETra nsferSetHandler.endElement(FTECommandHandlerSAXParser.java:537) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerSAXParser$FTESAX Handler.endElement(FTECommandHandlerSAXParser.java:311) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.xs.XMLSchemaValidator.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(U nknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentCo ntentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocume nt(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerSAXParser.parser XML(FTECommandHandlerSAXParser.java:1744) at com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.externalMessag eHandler(MessageHandlerImpl.java:209) at com.ibm.wmqfte.cmdhandler.impl.MessageHandlerImpl.processCommand (MessageHandlerImpl.java:167) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerWorkerThread.pro cessCommand(FTECommandHandlerWorkerThread.java:282) at com.ibm.wmqfte.cmdhandler.impl.FTECommandHandlerWorkerThread.run (FTECommandHandlerWorkerThread.java:173) at java.lang.Thread.run(Thread.java:820) at com.ibm.wmqfte.thread.FTEThread.run(FTEThread.java:70)
Local fix
Resolve why the SFTP server is returning a null key during the SSL handshake. The agent will get restarted by the MFT process controller and there is no manual intervention needed to bring it back to a running status.
Problem summary
**************************************************************** USERS AFFECTED: This issue affects users of IBM MQ 9.2 Managed File Transfer, who have protocol bridge agents (PBAs) that connect to a file server using the SFTP protocol. Platforms affected: MultiPlatform **************************************************************** PROBLEM DESCRIPTION: MQ Managed File Transfer 9.2 protocol bridge agents (PBAs) use a fork of the third-party JSch library when communicating with file servers using the SFTP protocol. If the JSch code receives some invalid data from a file server while performing a managed transfer, then it will discard that data before throwing an internal exception. As a result of the internal exception, the managed transfer will be marked as "Failed". Now, if the JSch code received some invalid data during an SFTP key exchange while connecting to a file server, it incorrectly assumed that the cipher required to read that data had already been initialized. When it then tried to use the cipher, a NullPointerException would be generated within the internal method: com.ibm.wmqfte.jsch.Session.start_discard() This caused the agent to generate an ABEND file containing the following information: ... Method: uncaughtException Probe: ABEND_001 Cause: java.lang.NullPointerException java.lang.NullPointerException 	at com.ibm.wmqfte.jsch.Session.start_discard(Session.java:1212) 	at com.ibm.wmqfte.jsch.Session.read(Session.java:1076) 	at com.ibm.wmqfte.jsch.Session.connect(Session.java:356) ... and then shut itself down.
Problem conclusion
The fork of the JSch library used by MQ 9.2 Managed File Transfer has been updated so to check if the cipher needed to read any invalid data that has been received during an SFTP key exchange is initialized before trying to use it. This allows the managed transfer that is in progress when the invalid data is received to complete and be marked as "Failed", and prevents the agent from stopping unexpectedly. --------------------------------------------------------------- The fix is targeted for delivery in the following PTFs: Version Maintenance Level v9.2 LTS 9.2.0.5 v9.x CD 9.2.4 The latest available 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
IT38772
Reported component name
MQ BASE V9.2
Reported component ID
5724H7281
Reported release
920
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-10-22
Closed date
2021-11-29
Last modified date
2022-02-04
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
MQ BASE V9.2
Fixed component ID
5724H7281
Applicable component levels
[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"920"}]
Document Information
Modified date:
05 February 2022