Db2

 View Only

Self dead latch suspicion

  • 1.  Self dead latch suspicion

    Posted Mon May 01, 2023 09:52 AM

    Hi All,

    The application running the following statement is a head of a large latch wait three according to the db2pd -latch output.

    /* IBM_DSSNAP */ 
    select    hld_application_handle    , hld_member    , hld_application_name    , hld_userid    , lock_name    , lock_object_type    , tabschema    , tabname    , data_partition_id    , count(*) as num_waiters    , sum(lock_wait_elapsed_time) * :L0 as total_lock_wait_elapsed_time                                                                               , min(varchar(HLD_CURRENT_STMT_TEXT)) as stmt_text
    from    sysibmadm.mon_lockwaits
    group by hld_application_handle, hld_member, hld_application_name, hld_userid, lock_name, lock_object_type, tabschema, tabname, data_partition_id        
    fetch first 5000 rows only with ur

    The stack of this session:

    <StackTrace>
    -------Frame------ ------Function + Offset------
    0x0900000008C15C98 sqloXlatchConflict + 0x8F8
    0x09000000092D46C8 sqlpLLMTryInstant__FP9sqeBsuEduP14SQLP_LOCK_INFOP9SQLP_LHSHPUcN24Ps + 0xAA8
    0x0900000009C49554 sqlplGetHoldingMemberForLock__FCP9sqeBsuEduCPC13SQLP_LOCKNAMEUl + 0x194
    0x090000000D8E4DA4 execute__25sqlrwAgentLockWaitBuilderFP8sqeAgentT1 + 0xB44
    0x090000000D8E6A20 execute__29sqlrwApplicationAgentIteratorFP14sqeApplication + 0x2E0
    0x090000000D8EA954 execute__32sqlrwFilteredApplicationIteratorFv + 0x6D4
    0x090000000D91F22C sqlrwGetApplLockwait__FP8sqlrr_cbP24sqlrwGetApplLockwaitArgsPPvPl + 0x2AC
    0x090000000D937624 sqlrwGetWLMTableFunctionResult__FP8sqlrr_cbP20sqlrw_rpc_tf_requestPPvPlbP19SQLR_BDSREPLY_STATE + 0x364
    0x09000000100C9440 sqlrwGetWLMTableFunctionMergedResult__FUiPPv + 0x9E0
    0x09000000098ED818 sqlerTrustedRtnCallbackRouter__FUiPPv + 0x378
    0x0900000030DDCFC0 monGetApplLockwait + 0x1540
    0x0900000008B7D414 sqloInvokeFnArgs + 0x5B94
    0x090000000B268240 IPRA.$sqlriInvokerTrusted__FP10sqlri_ufobP21sqlriRoutineErrorIntfb + 0xC60
    0x090000000B25FE28 sqlriInvokeInvoker__FP10sqlri_ufobb + 0x2008
    0x090000000B261A18 sqlriutf__FP8sqlrr_cb + 0x138
    0x090000000FC677B8 sqlri_tfopn__FP8sqlrr_cbP9sqlri_tao + 0x1F8
    0x090000000B523468 sqlriopn__FP8sqlrr_cbP9sqlri_taoPi + 0x5A8
    0x090000000D23DDB4 sqlrita__FP8sqlrr_cb + 0x13F4
    0x090000000B954A28 sqlriSectInvoke__FP8sqlrr_cbP12sqlri_opparm + 0x688
    0x090000000ADBAC14 sqlrr_process_fetch_request__FP14db2UCinterface + 0xD14
    0x090000000ADBDEA4 sqlrr_open__FP14db2UCinterfaceP15db2UCCursorInfo + 0xF84
    0x09000000101445C0 sqljs_ddm_opnqry__FP14db2UCinterfaceP13sqljDDMObject + 0x4C0
    0x09000000100DD078 sqljsParseRdbAccessed__FP13sqljsDrdaAsCbP13sqljDDMObjectP14db2UCinterface + 0x298
    0x09000000100E0134 sqljsParse__FP13sqljsDrdaAsCbP14db2UCinterfaceP8sqeAgentb + 0x22B4
    0x090000000984CE7C IPRA.$sqljsSqlam__FP14db2UCinterfaceP8sqeAgentb + 0xEFC
    0x0900000009855634 sqljsDriveRequests__FP8sqeAgentP14db2UCconHandle + 0xB4
    0x090000000984AD9C IPRA.$sqljsDrdaAsInnerDriver__FP18SQLCC_INITSTRUCT_Tb + 0x141C
    0x09000000098481BC sqljsDrdaAsDriver__FP18SQLCC_INITSTRUCT_T + 0x33C
    0x0900000008CD8920 RunEDU__8sqeAgentFv + 0xB60
    0x0900000008CB2840 EDUDriver__9sqzEDUObjFv + 0x300
    0x0900000008B91500 sqloEDUEntry + 0x360
    </StackTrace>

    ...

    <LatchInformation>

    Waiting on latch type: (SQLO_LT_SQLP_LHSH__xhshlatch) - Address: (0xa0003000179c550), Line: 2706, File: /view/db2_v111m4fp6_aix64_s2102191900/vbs/engn/sqp/inc/sqlpLockInternal.h

    Holding Latch type: (SQLO_LT_SQLP_LHSH__xhshlatch) - Address: (0xa0003000179c550), Line: 2706, File: ../sqp/inc/sqlpLockInternal.h HoldCount: 1
    Holding Latch type: (SQLO_LT_sqeAppServices__m_appServLatch) - Address: (0x78000000ad95728), Line: 11676, File: sqlrw_wlm_tf.C HoldCount: 1
    Holding Latch type: (SQLO_LT_sqeApplication__masterAppLatch) - Address: (0x78000000febeed4), Line: 189, File: /view/db2_v111m4fp6_aix64_s2102191900/vbs/engn/include/sqle_app_services.h HoldCount: 1
    </LatchInformation>

    Waiting and Holding latch address is the same: 0xa0003000179c550

    Is this a self dead latch situation?



    ------------------------------
    Mark Barinstein
    ------------------------------