IBM Support

IT23967: MQ amqrmppa process may hang when a SIGSEGV memory exception occurs

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If a SIGSEGV memory exception occurs within a amqrmppa process,
    it may hang and one of the threads has a stack with entries
    similar to following one:
    
    Thread # (Thread 0x7fa96b0df700 (LWP xxxx)):
    #0  0x00007fa97382d78e in __lll_lock_wait_private ()
    #1  0x00007fa9737c1e0e in _L_lock_9925 ()
    #2  0x00007fa9737c00c1 in free () from /lib64/libc.so.6
    :
    #6  0x00007fa973777665 in __run_exit_handlers ()
    #7  0x00007fa9737776b5 in exit ()
    #8  0x00007fa97432cc84 in xehInterpretSavedSigaction ()
    #9  0x00007fa97432d077 in xehExceptionHandler ()
    #10 <signal handler called>
    #11 0x00007fa9737bb413 in malloc_consolidate ()
       from /lib64/libc.so.6
    #12 0x00007fa9737bda5e in _int_malloc () from /lib64/libc.so.6
    #13 0x00007fa9737c01b7 in malloc () from /lib64/libc.so.6
    :
    

Local fix

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    The problem affects only IBM-owned MQ processes in which there
    is a memory exception due to heap corruption, causing the MQ
    exception handler to run.
    
    
    Platforms affected:
    MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    MQ's process was calling exit() when it should have called
    _exit().  This latter call avoids calling atexit handlers, so
    does not suffer this problem.
    
    An atexit handler had attempted to free heap memory.  But the
    atexit handler had been run from within MQ's exception handler
    which was itself running because of an exception due to heap
    corruption.  In this circumstance, atexit handlers must not run,
    as they are able to run free() operations on the heap.
    

Problem conclusion

  • The program code in MQ's exception handler has been changed so
    that it calls _exit() rather than exit().  This call avoids
    calling atexit handlers, so removing this problem.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.5       7.5.0.9
    v8.0       8.0.0.10
    v9.0 LTS   9.0.0.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

    IT23967

  • Reported component name

    WMQ BASE MULTIP

  • Reported component ID

    5724H7241

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-02-06

  • Closed date

    2018-03-19

  • Last modified date

    2018-03-19

  • 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

    5724H7241

Applicable component levels

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCPQ63","label":"APAR \/ Maintenance"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
19 March 2018