PK91996: CORE DUMP OCCURS WHEN RUNNING PERFORMANCE TESTING USING MULTI-THREADED WMB MESSAGE FLOWS WHICH CALL THE WTX NODE

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 core dump ( abend ) occurs when running performance testing
    using multi-threaded WMB message flows which call the WTX
    Plug-in Node for WMB (Message Broker).
    
    The map name being called by the WTX Plug-in Node is being
    dynamically overridden by an ESQL Compute Node.
    
    The WTX map caching is turned off.
    
    The WMB message flows are configured for 20 threads.
    
    The following error messages are seen in the WMB service trace.
    
    Prior to the abend, the following WTX error occurs in the WMB
    service trace indicating that a 'malloc failed for allocating
    wired terminals struct.'.
    
    2009-07-18 22:36:30.999566 19534 >> +cciUserTrace file: line:0
    message:1003.txmsgv82
    ResponseMessageMapper/US_Order_ResponseMapper#FCMComposite_1_1.R
    esponseMessageMapper/ResponseMapper#FCMComposite_1_9
    ComIbmCniNode 'general trace' , 'malloc failed for allocating
    wired terminals struct.',
    ResponseMessageMapper.US_Order_ResponseMapper.ResponseMapper.WTX
    Map
    2009-07-18 22:36:30.999566 19534 >> UserTrace DTXMB1003E WTX for
    WMB error: 'malloc failed for allocating wired terminals
    struct.'
    ResponseMessageMapper.US_Order_ResponseMapper.ResponseMapper.WTX
    Map
    
    The following is an example of the .abend file stack trace.
    
    abend record for pid 209488 tid 19534 time in seconds since
    01/01/1970: 1247970991
    File: /build/S610_P/src/CommonServices/Unix/ImbAbend.cpp
    Line: 979
    Function: signal received
    ---- Inserts ----
    6
    @(#) 1.33.4.4 CommonServices/Unix/ImbAbend.cpp, CommonServices,
    S610, S610-L81015 08/10/15 15:30:33 [10/16/08 14:53:56]
    399316416
    -----------------
    ----------------------------- Stack dump for current thread (
    19534)
    (0x17cd1640+??????] <no name available> []
    (0x00472248+0x0000006c) _p_raise
    [/usr/lib/libpthreads.a(shr_xpg5_64.o)]
    (0x00059f44+0x00000038) raise
    [/usr/lib/libpthreads.a(shr_xpg5_64.o)]
    (0x00085498+0x000000b8) abort
    [/usr/lib/libpthreads.a(shr_xpg5_64.o)]
    (0x0040efa8+0x00000010) myabort__3stdFv
    [/usr/lib/libC.a(ansicore_64.o)]
    (0x0040d2c8+0x0000005c) terminate__3stdFv
    [/usr/lib/libC.a(ansicore_64.o)]
    (0x00431938+0x00000000) <no name available>
    [/usr/lib/libC.a(shrcore_64.o)]
    (0x0cb87da0+0x00000000) <no name available>
    [/opt/IBM/wsdtx/wmqi/dtxwmqi.lil]
    (0x0b3ce180+0x00000308)
    evaluate__10ImbCniNodeFRC18ImbMessageAssemblyPC19ImbDataFlowTerm
    inal [/opt/IBM/mqsi/6.1/lib/libimbdfplg64.a(libimbdfplg64.a.so)]
    (0x05275dd8+0x0000016c)
    evaluate__19ImbDataFlowTerminalFRC18ImbMessageAssembly
    [/opt/IBM/mqsi/6.1/lib/libMessageServices64.a(libMessageServices
    64.a.so)]
    (0x052758c0+0x000000fc)
    propagateInner__19ImbDataFlowTerminalFRC18ImbMessageAssemblyP19I
    mbDataFlowTerminal
    [/opt/IBM/mqsi/6.1/lib/libMessageServices64.a(libMessageServices
    64.a.so)]
    (0x05642118+0x00000258)
    propagate__19ImbDataFlowTerminalFRC18ImbMessageAssembly
    [/opt/IBM/mqsi/6.1/lib/libMessageServices64.a(libMessageServices
    64.a.so)]
    (0x0bf1eb70+0x00000538)
    propagateToTerminal__14ImbComputeNodeFRC8ImbValueiRC18ImbMessage
    AssemblyT3 [/opt/IBM/mqsi/6.1/lil/imbdfsql64.lil]
    (0x0a953170+0x00000064)
    propagateToTerminal__19SqlComputeInterfaceCFRC8ImbValueiRC18ImbM
    essageAssemblyR18ImbMessageAssembly
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a7a8ca0+0x00000fd4)
    execute__21SqlPropagateStatementCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a783c90+0x000000dc)
    execute__17SqlStatementGroupCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a90a6b8+0x00000180)
    execute__14SqlIfStatementCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a783c90+0x000000dc)
    execute__17SqlStatementGroupCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a7bbb58+0x0000007c)
    execute__15SqlCompoundStmtCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a655990+0x00000480)
    execute__10SqlRoutineCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a945988+0x00000118)
    execute__9SqlModuleCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a948288+0x00000024)
    execute__9SqlSchemaCFR18SqlStatementResult
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0a9533e0+0x00000464)
    evaluate__19SqlComputeInterfaceFRC18ImbMessageAssemblyR18ImbMess
    ageAssembly
    [/opt/IBM/mqsi/6.1/lib/libImbRdl64.a(libImbRdl64.a.so)]
    (0x0bee6038+0x00000288)
    evaluate__14ImbComputeNodeFRC18ImbMessageAssemblyPC19ImbDataFlow
    Terminal [/opt/IBM/mqsi/6.1/lil/imbdfsql64.lil]
    (0x05275dd8+0x0000016c)
    evaluate__19ImbDataFlowTerminalFRC18ImbMessageAssembly
    [/opt/IBM/mqsi/6.1/lib/libMessageServices64.a(libMessageServices
    64.a.so)]
    (0x052758c0+0x000000fc)
    propagateInner__19ImbDataFlowTerminalFRC18ImbMessageAssemblyP19I
    mbDataFlowTerminal
    [/opt/IBM/mqsi/6.1/lib/libMessageServices64.a(libMessageServices
    64.a.so)]
    (0x05642118+0x00000258)
    propagate__19ImbDataFlowTerminalFRC18ImbMessageAssembly
    [/opt/IBM/mqsi/6.1/lib/libMessageServices64.a(libMessageServices
    64.a.so)]
    (0x09fd7bf8+0x0000183c) run__18ImbCommonInputNodeFP11ImbOsThread
    [/opt/IBM/mqsi/6.1/lib/libMQLibrary64.a(libMQLibrary64.a.so)]
    (0x0a00ee48+0x00000040)
    run__Q2_18ImbCommonInputNode10ParametersFP11ImbOsThread
    [/opt/IBM/mqsi/6.1/lib/libMQLibrary64.a(libMQLibrary64.a.so)]
    (0x006fd4d0+0x00000078)
    run__27ImbThreadPoolThreadFunctionFP11ImbOsThread
    [/opt/IBM/mqsi/6.1/lib/libCommonServices64.a(libCommonServices64
    .a.so)]
    (0x006f51c0+0x00000080) threadRun__11ImbOsThreadFv
    [/opt/IBM/mqsi/6.1/lib/libCommonServices64.a(libCommonServices64
    .a.so)]
    (0x006c70c8+0x000000f0) threadBootStrap__11ImbOsThreadFPv
    [/opt/IBM/mqsi/6.1/lib/libCommonServices64.a(libCommonServices64
    .a.so)]
    (0x0045d410+0x000000e0) _pthread_body
    [/usr/lib/libpthreads.a(shr_xpg5_64.o)]
    (0x00000000) <invalid code address>
    ----------------------------------------------------------------
    ------
    
    
    The following is the dbx stack trace from one of the core dump
    files.
    
    pthread_kill(??, ??) at 0x90000000047289c
    _p_raise(??) at 0x9000000004722b0
    raise.raise(??) at 0x900000000059f78
    abort() at 0x90000000008554c
    terminateProcessInternal__8ImbAbendFPCvbPv(??, ??, ??) at
    0x900000000723824
    logSystemErrorAndTerminateProcessInternal__8ImbAbendFPCciT1RCQ2_
    8ImbAbend6InsertN54PCvb(??, ??, ??, ??, ??, ??, ??, ??) at
    0x900000000657970
    signalHandlerInternal__8ImbAbendFiP9siginfo_tPv(??, ??, ??) at
    0x900000000875818
    ImbAbendSignalHandler(??, ??, ??) at 0x9000000008756c0
    pthread_kill(??, ??) at 0x90000000047289c
    _p_raise(??) at 0x9000000004722b0
    raise.raise(??) at 0x900000000059f78
    abort() at 0x90000000008554c
    myabort__3stdFv() at 0x90000000040efb4
    terminate__3stdFv() at 0x90000000040d320
    __BadRethrow() at 0x900000000431944
    Evaluate(void*,void*,void*,void*)() at 0x90000000cb890c8
    evaluate__10ImbCniNodeFRC18ImbMessageAssemblyPC19ImbDataFlowTerm
    inal(??, ??, ??) at 0x90000000b3ce484
    evaluate__19ImbDataFlowTerminalFRC18ImbMessageAssembly(??, ??)
    at 0x900000005275f40
    propagateInner__19ImbDataFlowTerminalFRC18ImbMessageAssemblyP19I
    mbDataFlowTerminal(??, ??, ??) at 0x9000000052759b8
    propagate__19ImbDataFlowTerminalFRC18ImbMessageAssembly(??, ??)
    at 0x90000000564236c
    propagateToTerminal__14ImbComputeNodeFRC8ImbValueiRC18ImbMessage
    AssemblyT3(0x0, 0x11a292d20, 0x0, 0x11a56cee0,
    0x90000000a5f32c8) at 0x90000000bf1f0a4
    propagateToTerminal__19SqlComputeInterfaceCFRC8ImbValueiRC18ImbM
    essageAssemblyR18ImbMessageAssembly(??, ??, ??, ??, ??) at
    0x90000000a9531d0
    execute__21SqlPropagateStatementCFR18SqlStatementResult(??, ??)
    at 0x90000000a7a9c70
    execute__17SqlStatementGroupCFR18SqlStatementResult(??, ??) at
    0x90000000a783d68
    execute__14SqlIfStatementCFR18SqlStatementResult(??, ??) at
    0x90000000a90a834
    execute__17SqlStatementGroupCFR18SqlStatementResult(??, ??) at
    0x90000000a783d68
    execute__15SqlCompoundStmtCFR18SqlStatementResult(??, ??) at
    0x90000000a7bbbd0
    execute__10SqlRoutineCFR18SqlStatementResult(??, ??) at
    0x90000000a655e0c
    execute__9SqlModuleCFR18SqlStatementResult(??, ??) at
    0x90000000a945a9c
    execute__9SqlSchemaCFR18SqlStatementResult(??, ??) at
    0x90000000a9482a8
    evaluate__19SqlComputeInterfaceFRC18ImbMessageAssemblyR18ImbMess
    ageAssembly(0x2, 0x11a295c18, 0x400000004000, 0x0) at
    0x90000000a953840
    evaluate__14ImbComputeNodeFRC18ImbMessageAssemblyPC19ImbDataFlow
    Terminal(??, ??, ??) at 0x90000000bee62bc
    evaluate__19ImbDataFlowTerminalFRC18ImbMessageAssembly(??, ??)
    at 0x900000005275f40
    propagateInner__19ImbDataFlowTerminalFRC18ImbMessageAssemblyP19I
    mbDataFlowTerminal(??, ??, ??) at 0x9000000052759b8
    propagate__19ImbDataFlowTerminalFRC18ImbMessageAssembly(??, ??)
    at 0x90000000564236c
    run__18ImbCommonInputNodeFP11ImbOsThread(??, ??) at
    0x900000009fd9430
    run__Q2_18ImbCommonInputNode10ParametersFP11ImbOsThread(??, ??)
    at 0x90000000a00ee84
    run__27ImbThreadPoolThreadFunctionFP11ImbOsThread(0x118551930,
    0x116fd11d0) at 0x90000000070d544
    threadRun__11ImbOsThreadFv(??) at 0x90000000070523c
    threadBootStrap__11ImbOsThreadFPv(??) at 0x9000000006d71b4
    

Local fix

  • WTXCQ - WTX00031454
    GM / GM
    Circumvention: Single thread the message flow or use a static
    map name in the WTX Plug-in Node for WMB.
    

Problem summary

  • Users Affected:
    Websphere Transformation Extender (WTX) for Websphere Message
    Broker (WMB) users that use multiple instances of a flow along
    with overriding the map via LocalEnvironment.
    
    Problem Description:
    When a flow utilizes additional instances (threads), the node
    constructor class is instantiated only once causing class global
    variables to be able to change when a map is overridden by the
    WMB local environment.  This can corrupt maps running in other
    threads that are sharing the same class instance.
    
    Platforms Affected:
    ALL
    

Problem conclusion

  • The code has been corrected to move the variables that can
    changed to be on the stack.
    Delivered in:
    8.2.0.5, 8.3.0.0
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK91996

  • Reported component name

    WTX FOR INT SER

  • Reported component ID

    5724M4010

  • Reported release

    820

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-07-22

  • Closed date

    2009-08-13

  • Last modified date

    2009-08-13

  • 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

    WTX FOR INT SER

  • Fixed component ID

    5724M4010

Applicable component levels

  • R820 PSY

       UP



Rate this page:

(0 users)Average rating

Add comments

Document information


More support for:

WebSphere Transformation Extender
WTX for Integration Servers

Software version:

820

Reference #:

PK91996

Modified date:

2009-08-13

Translate my page

Machine Translation

Content navigation