IBM Support

AMQ9206 or AMQ9208 10054 (X'2746') econnreset from TCP/IP on an MQ client channel connection to a local server

Troubleshooting


Problem

You are receiving an error 10054 (X'2746') econnreset intermittently from TCP/IP on an IBM MQ client channel connection to a local server.

Symptom

AMQ9208: Error on receive from host <host>.
EXPLANATION: An error occurred receiving data from <host> over TCP/IP. This may be due to a communications failure.
ACTION: The return code from the TCP/IP recv() call was 10054 (X'2746'). Record these values and tell the systems administrator.


For WMQ 7.1.0, the same scenario results in:
AMQ9209: Connection to host <host> for channel <channel> closed.

The return codes for various operating systems for ECONNRESET Connection reset by peer:

 

ECONNRESET return codes
Operating system Decimal code Hexadecimal code
AIX 73 x49
HP-UX 232 xE8
IBM i (iSeries) 3426 xD62
Linux 104 x68
OpenVMS 54 x36
Solaris 131 x83
Windows 10054 x2746
z/OS 1121 x461

Cause

Any client connection, local or remote, will fail with econnreset if the queue manager is ended while the client has an active CLNTCONN channel connected to the queue manager.

Diagnosing The Problem

ECONNRESET -- Connection reset by peer. This occurs when an established connection is shut down for some reason by the remote computer.
This usually indicates a problem in the TCP/IP network. There are numerous reasons TCP/IP will sent a reset.
Reasons For TCP/IP Resets
- An application request a connect to a port and ip address for which no server is Listening
- An application closes a socket with data still in the application receive buffer. The connection is reset to allow the remote partner to know that the data was not delivered.
- Any data that arrives for a connection that has been closed can cause a reset.
- An application closes a socket and sets the linger socket option to zero. This will notify TCP/IP that the connection should not linger.
Note: MQ does not code the linger socket option, therefore MQ will not cause a reset.
- An invalid tcp segment arrives for a connection, for example, a bad acknowledge or sequence number can cause a reset.
- The connect request times out. TCP gives up trying to connect to an particular port and ip address and resets the connection.
- A Firewall can reset connections if the packet does not adhere to the firewall rules and policies. For example a source or destination port or ipaddress does not match the firewall rule or policy.
- The retransmit timer expires. TCP gives up trying to retransmit a packet and resets the connection.
- A bad hardware device can cause resets

Diagnostic hints and tips:
Consult with your network administrator who can use TCP/IP packet and a sniffer traces to determine why the reset occurred.

Resolving The Problem

This is working as designed. IBM MQ can not prevent users from ending their queue manager.

If the application receives a reason code such as MQRC_CONNECTION_BROKEN (MQRC 2009), it can periodically attempt to reconnect again with MQCONN or MQCONNX.

IBM MQ 7.0.1 introduced a function called Automatic Client Reconnection that you can implement.

For other possible causes of ECONNRESET see Return code 00000461 for TCP/IP.


Cross reference information
Product Component Platform Version Edition
IBM MQ

Product Alias/Synonym

IBM MQ WebSphere MQ MQ

Document information

More support for: WebSphere MQ

Component: Channels LU62 / TCP, ">More...

Software version: 7.0, 7.0.1, 7.1, 7.5, 8.0, 9.0, 9.1

Operating system(s): AIX, HP-UX, IBM i, Linux, OpenVMS, Solaris, Windows, z/OS

Reference #: 1106218

Modified date: 13 August 2018


Translate this page: