IBM Support

IT14958: Intermittent message delivery fails in a managed .NET client application with SSL enabled

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Description: SSL connections using the IBM MQ .NET client
    libraries fail intermittently during large message transfer with
    2195 MQRC_UNEXPECTED_ERROR during an MQPUT.
    
    In a trace, the following text appears:
    
    System.IO.IOException: Unable to write data to the transport
    connection: A non-blocking socket operation could not be
    completed immediately. ---> System.Net.Sockets.SocketException:
    A non-blocking socket operation could not be completed
    immediately
       at System.Net.Sockets.Socket.Send(Byte[] buffer, Int32
    offset, Int32 size, SocketFlags socketFlags)
       at System.Net.Sockets.NetworkStream.Write(Byte[] buffer,
    Int32 offset, Int32 size)
       --- End of inner exception stack trace ---
       at System.Net.Sockets.NetworkStream.Write(Byte[] buffer,
    Int32 offset, Int32 size)
       at System.Net.Security._SslStream.StartWriting(Byte[] buffer,
    Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
       at System.Net.Security._SslStream.ProcessWrite(Byte[] buffer,
    Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
       at System.Net.Security.SslStream.Write(Byte[] buffer, Int32
    offset, Int32 count)
       at IBM.WMQ.Nmqi.MQEncryptedSocket.Write(Byte[] buffer, Int32
    offset, Int32 length)
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    IBM MQ .NET Client applications using SSL connections
    
    
    Platforms affected:
    Windows
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The MQ .NET classes failed to correctly handle a SocketException
    with error code 10035 (WSAEWOULDBLOCK) being returned from the
    .NET runtime.
    
    This failure to handle the error condition could result in an
    incomplete sequence of bytes being written over the secure
    socket. This invalid transmission caused the transport layer to
    request a reset of the connection, which the client reports as a
    2195 MQRC_UNEXPECTED_ERROR.
    
    If running directly from MS Visual Studio, the following
    exceptions also appear (among others) in the debug output:
    A first chance exception of type
    'System.Net.Sockets.SocketException' occurred in System.dll
    A first chance exception of type 'System.IO.IOException'
    occurred in System.dll
    A first chance exception of type 'System.IO.IOException'
    occurred in System.dll
    A first chance exception of type 'System.IO.IOException'
    occurred in amqmdnet.dll
    A first chance exception of type 'IBM.WMQ.Nmqi.NmqiException'
    occurred in amqmdnet.dll
    

Problem conclusion

  • The MQ .NET classes have been updated to correctly handle the
    WSAEWOULDBLOCK error code from the .NET runtime when writing
    data to a secure socket.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.6
    
    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

    IT14958

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-04-26

  • Closed date

    2016-06-03

  • Last modified date

    2017-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

    WMQ BASE MULTIP

  • Fixed component ID

    5724H7251

Applicable component levels

  • R800 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSYHRD","label":"IBM MQ"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
01 June 2017