IBM Support

PI20838: FIXED POTENTIAL DEADLOCK IN WORK PROFILER/ARFMCONTROLLER INTERAC TIONS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Fixed a potential deadlock when an automatic server start
    occurs at the same time that work profiler is gathering
    metrics and ARFM is making traffic throttling decisions
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of WebSphere Virtual                  *
    *                  Enterprise v7.0.0 and later                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: Deadlock when an automatic server       *
    *                      start                                   *
    *                      occurs when work profiler is gathering  *
    *                      metrics and ARFM is making throttling   *
    *                      decisions                               *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The deadlock is shown in the following javacore.
    1LKDEADLOCK    Deadlock detected !!!
    NULL           ---------------------
    NULL
    2LKDEADLOCKTHR  Thread "AsyncPmiBBListenerPool : 1"
    (0x0000000052EB8400)
    3LKDEADLOCKWTR    is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x0000010018EC6898 infl_mon_t:
    0x0000010018EC68E0:
    4LKDEADLOCKOBJ
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector@0x000
    0000044BF50E8
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread
    "com.ibm.ws.serverinfo.impl.ServerInfoImpl$StateChangeNotifier
    : 31" (0x0000000053A37D00)
    3LKDEADLOCKWTR    which is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x0000010018EC6928 infl_mon_t:
    0x0000010018EC6970:
    4LKDEADLOCKOBJ
    com/ibm/ws/xd/workprofiler/vm/CPUMonitor@0x0000000044374300
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread "AsyncPmiBBListenerPool : 0"
    (0x0000000052EB5B00)
    3LKDEADLOCKWTR    which is waiting for:
    4LKDEADLOCKMON      sys_mon_t:0x00000100182686C8 infl_mon_t:
    0x0000010018268710:
    4LKDEADLOCKOBJ
    com/ibm/ws/vm/runtime/odc/Manager@0x00000000430467F0
    3LKDEADLOCKOWN    which is owned by:
    2LKDEADLOCKTHR  Thread "AsyncPmiBBListenerPool : 1"
    (0x0000000052EB8400)
    NULL
    Thread 1:
    3XMTHREADINFO      "AsyncPmiBBListenerPool : 1"
    J9VMThread:0x0000000052EB8400, j9thread_t:0x0000010019FB7BC0,
    java/lang/Thread:0x00000000431CC180, state:B, prio=5
    3XMJAVALTHREAD            (java/lang/Thread getId:0xB8,
    isDaemon:true)
    3XMTHREADINFO1            (native thread ID:0x2CD009B, native
    priority:0x5, native policy:UNKNOWN)
    3XMCPUTIME               CPU usage total: 2.597303000 secs,
    user: 1.494264000 secs, system: 1.103039000 secs
    3XMTHREADBLOCK     Blocked on:
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector@0x000
    0000044BF50E8 Owned by:
    "com.ibm.ws.serverinfo.impl.ServerInfoImpl$StateChangeNotifier
    : 31" (J9VMThread:0x0000000053A37D00,
    java/lang/Thread:0x000000004A71AE78)
    3XMHEAPALLOC             Heap bytes allocated since last GC
    cycle=0 (0x0)
    3XMTHREADINFO3           Java callstack:
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector.add(O
    verheadCollector.java:761)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector.chang
    e(OverheadCollector.java:785)
    4XESTACKTRACE                at
    com/ibm/ws/vm/runtime/VVStateSensor.notifyChange(VVStateSensor.j
    ava:1052(Compiled Code))
    4XESTACKTRACE                at
    com/ibm/ws/vm/runtime/odc/VVStateSensorImpl.set(VVStateSensorImp
    l.java:172)
    5XESTACKTRACE                   (entered lock:
    com/ibm/ws/vm/runtime/odc/Manager@0x00000000430467F0, entry
    count: 1)
    4XESTACKTRACE                at
    com/ibm/ws/vm/runtime/odc/ODCTreeListener$2.updatedStats(ODCTree
    Listener.java:920)
    4XESTACKTRACE                at
    com/ibm/ws/xd/pmi/async/client/AsyncPmiSubscriptionHandler.proce
    ssUpdateQueued(AsyncPmiSubscriptionHandler.java:756(Compiled
    Code))
    4XESTACKTRACE                at
    com/ibm/ws/xd/pmi/async/client/AsyncPmiSubscriptionHandler.run(A
    syncPmiSubscriptionHandler.java:873)
    4XESTACKTRACE                at
    com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1702)
    Thread 2:
    3XMTHREADINFO
    "com.ibm.ws.serverinfo.impl.ServerInfoImpl$StateChangeNotifier
    : 31" J9VMThread:0x0000000053A37D00,
    j9thread_t:0x000001001DCA3A40,
    java/lang/Thread:0x000000004A71AE78, state:B, prio=5
    3XMJAVALTHREAD            (java/lang/Thread getId:0x214,
    isDaemon:true)
    3XMTHREADINFO1            (native thread ID:0x308001D, native
    priority:0x5, native policy:UNKNOWN)
    3XMCPUTIME               CPU usage total: 2.530179000 secs,
    user: 1.381974000 secs, system: 1.148205000 secs
    3XMTHREADBLOCK     Blocked on:
    com/ibm/ws/xd/workprofiler/vm/CPUMonitor@0x0000000044374300
    Owned by: "AsyncPmiBBListenerPool : 0"
    (J9VMThread:0x0000000052EB5B00,
    java/lang/Thread:0x00000000431CC208)
    3XMHEAPALLOC             Heap bytes allocated since last GC
    cycle=0 (0x0)
    3XMTHREADINFO3           Java callstack:
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/Server.<init>(Server.ja
    va:63)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector.getSe
    rver(OverheadCollector.java:142)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector.updat
    eServer(OverheadCollector.java:160)
    5XESTACKTRACE                   (entered lock:
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector@0x000
    0000044BF50E8, entry count: 1)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/WorkProfilerManager.setServerSta
    te(WorkProfilerManager.java:1247)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/ServerSensorBackend.setServerSta
    te(ServerSensorBackend.java:205)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/ServerSensorBackend.access$700(S
    erverSensorBackend.java:36)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/ServerSensorBackend$6$1.work(Ser
    verSensorBackend.java:308)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/HelperSecurityServer.run(HelperS
    ecurityServer.java:27)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/ServerSensorBackend$6.serverStat
    eChange(ServerSensorBackend.java:304)
    4XESTACKTRACE                at
    com/ibm/ws/serverinfo/impl/ServerInfoImpl$StateChangeNotifier.ru
    n(ServerInfoImpl.java:208)
    4XESTACKTRACE                at
    com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1702(Compi
    led Code))
    Thread 3:
    3XMTHREADINFO      "AsyncPmiBBListenerPool : 0"
    J9VMThread:0x0000000052EB5B00, j9thread_t:0x0000010019FB76A0,
    java/lang/Thread:0x00000000431CC208, state:B, prio=5
    3XMJAVALTHREAD            (java/lang/Thread getId:0xB7,
    isDaemon:true)
    3XMTHREADINFO1            (native thread ID:0x2CC0099, native
    priority:0x5, native policy:UNKNOWN)
    3XMCPUTIME               CPU usage total: 2.432257000 secs,
    user: 1.356493000 secs, system: 1.075764000 secs
    3XMTHREADBLOCK     Blocked on:
    com/ibm/ws/vm/runtime/odc/Manager@0x00000000430467F0 Owned by:
    "AsyncPmiBBListenerPool : 1" (J9VMThread:0x0000000052EB8400,
    java/lang/Thread:0x00000000431CC180)
    3XMHEAPALLOC             Heap bytes allocated since last GC
    cycle=0 (0x0)
    3XMTHREADINFO3           Java callstack:
    4XESTACKTRACE                at
    com/ibm/ws/vm/runtime/odc/VVStateSensorImpl.getNode(VVStateSenso
    rImpl.java:40)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/XDNode.getPMCPUSpeed(XD
    Node.java:61)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/overhead/data/OverheadCollector.getPM
    CpuSpeed(OverheadCollector.java:847)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/WorkProfilerManager.getNodeSpeed
    (WorkProfilerManager.java:1139)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/AlphaNodeDataCollector.getNodeSp
    eed(AlphaNodeDataCollector.java:170)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/AlphaNodeDataCollector$1.gotData
    (AlphaNodeDataCollector.java:114(Compiled Code))
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/data/NodeDataCollector.check(NodeData
    Collector.java:473(Compiled Code))
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/AlphaNodeDataCollector.check(Alp
    haNodeDataCollector.java:331)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/Server.addCPU(Server.java:409)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/Server$2.setCPU(Server.java:234)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/vm/CPUMonitor$XDNode$Server.notifyLis
    teners(CPUMonitor.java:231(Compiled Code))
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/vm/CPUMonitor$XDNode$Server.setCPU(CP
    UMonitor.java:188)
    5XESTACKTRACE                   (entered lock:
    com/ibm/ws/xd/workprofiler/vm/CPUMonitor@0x0000000044374300,
    entry count: 1)
    4XESTACKTRACE                at
    com/ibm/ws/xd/workprofiler/impl/ProcessCPUCollector.updatedStats
    (ProcessCPUCollector.java:87(Compiled Code))
    4XESTACKTRACE                at
    com/ibm/ws/xd/pmi/async/client/AsyncPmiSubscriptionHandler.proce
    ssUpdateQueued(AsyncPmiSubscriptionHandler.java:756(Compiled
    Code))
    4XESTACKTRACE                at
    com/ibm/ws/xd/pmi/async/client/AsyncPmiSubscriptionHandler.run(A
    syncPmiSubscriptionHandler.java:873)
    4XESTACKTRACE                at
    com/ibm/ws/util/ThreadPool$Worker.run(ThreadPool.java:1702)
    

Problem conclusion

  • Changes are made to VVStateSensorImpl so that this deadlock
    will not occur.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI20838

  • Reported component name

    WAS VIRTUAL ENT

  • Reported component ID

    5725C9203

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-06-26

  • Closed date

    2014-07-23

  • Last modified date

    2014-07-23

  • 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

    WAS VIRTUAL ENT

  • Fixed component ID

    5725C9203

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSUP64","label":"WebSphere Virtual Enterprise"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022