IBM Support

IT29565: IBM MQ client app using MQCONNX to make an SSL connection fails with FDC from xehExceptionHandler with rriCopyMQSCO on the stack

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • A native client application using MQCONNX to establish an SSL
    connection to the queue manager fails with a memory fault and
    writes an FDC like this:
    
    Probe Id          :- XC130031  [or XC130003]
    Component         :- xehExceptionHandler
    Major Errorcode   :- xecF_E_UNEXPECTED_SYSTEM_RC
    Comment1          :- Access Violation at address
                         0000000000000010 when writing
    
    Stack Backtrace:
    MSVCR110!memset+0xa0<NLN:487>
    mqe!rriCopyMQSCO+0x1d2<NLN:487>
    mqe!rriInitSess+0x1ac4<NLN:487>
    mqe!reqConnectChl+0x595<NLN:487>
    mqe!reqDoConnect+0xcb7<NLN:487>
    mqe!rreqMQCONNX+0x14f<NLN:487>
    mqe!tmzstMQCONNX+0x4d8<NLN:487>
    mqe!reqMQCONNX+0x55<NLN:487>
    mqe!MQCONNX_Client_Call+0xc1<NLN:487>
    mqe!zswMQCONNX_Client_Call+0x20d<NLN:487>
    
    MQM Function Stack
    MQQueueManager.Connect()
    UnmanagedNmqiMQ.MQCONNX(String,MQConnectOptions,Phconn,out in...
    UnmanagedNmqiMQ.MQCONNX(String,ref MQCNO,Hconn,Phconn,out int...
    MQCONNX
    MQCONNX
    trmzstMQCONNX
    reqDoConnect
    reqConnectChl
    rriInitSess
    rriCopyMQSCO
    xcsFFST
    

Local fix

  • Disabling SSL or serializing MQCONNX/MQDISC between theads of
    the client application avoids the memory fault.
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    Users with multi-threaded IBM MQ MQI client applications which
    use the MQSCO structure to control SSL parameters when
    connecting to an MQ queue manager.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    IBM MQ MQI client applications may use the MQSCO structure to
    control SSL configuration settings when establishing a secure
    connection to an MQ queue manager.  These SSL configuration
    settings can be altered by the client application only when
    there are no other SSL-secured connections.  If an application
    tries to change the SSL settings when another SSL-secured
    connection is active, MQCONNX will return completion code
    MQCC_WARNING and reason code MQRC_SSL_ALREADY_INITIALIZED.
    
    The MQI client code contained a timing window when one thread
    called MQDISC on the last active SSL-secured connection,, while
    at the same time another thread called MQCONNX to create a new
    SSL-secured connection.  An application with multiple threads
    independently creating and disconnecting SSL-secured connections
    to MQ could crash as a result of this timing window.
    

Problem conclusion

  • The MQ code has been corrected to remove a timing window which
    could cause a crash when the last SSL-secured client connection
    is disconnecting in one thread while a new SSL-secured client
    connection is being established by a different thread.  Multiple
    client threads may safely call MQCONNX passing MQCNO, MQSCO and
    MQAIR structures to configure the SSL connection while other
    client threads are calling MQDISC on existing SSL connections.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v8.0       8.0.0.16
    v9.0 LTS   9.0.0.11
    v9.1 LTS   9.1.0.7
    v9.2 LTS   9.2.0.2
    
    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

    IT29565

  • Reported component name

    IBM MQ BASE MP

  • Reported component ID

    5724H7251

  • Reported release

    800

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-06-27

  • Closed date

    2020-10-15

  • Last modified date

    2020-10-15

  • 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

    IBM MQ BASE MP

  • Fixed component ID

    5724H7251

Applicable component levels

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

Document Information

Modified date:
16 October 2020