IBM Support

JR52760: SOME BPD INSTANCES CONTAINING AN "INCLUSIVE GATEWAY" HANG AND YOU GET WSVR0605W IN SYSTEMOUT.LOG

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • If you have a business process definition (BPD) that contains an
    inclusive gateway, evaluating the gateway might run into a loop
    and an instance of this BPD might hang when the instance goes
    through the inclusive gateway. You see messages similar to this
    message in the SystemOut.log file:
    
    [3/5/15 12:06:13:711 CET] 00000030 ThreadMonitor W   WSVR0605W:
    Thread "WorkManager.bpm-em-workmanager : 3" (00000583) has been
    active for 730168 milliseconds and may be hung.  There is/are 4
    thread(s)  in total in the server that may be hung.
    The stack trace that follows the thread hung message contains
    lines that are similar to the following lines:
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      doIsOrJoinEnabled(BPDNetState.java:691)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      doIsOrJoinEnabled(BPDNetState.java:691)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      doIsOrJoinEnabled(BPDNetState.java:691)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      doIsOrJoinEnabled(BPDNetState.java:691)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      isOrJoinEnabled(BPDNetState.java:561)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      canEnable(BPDNetState.java:204)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      findFlowObjectThatCanBeEnabled(BPDNetState.java:112)
    at com.lombardisoftware.bpd.runtime.engine.BPDNetState.
      tryToEnableFlowObjects(BPDNetState.java:95)
    at com.lombardisoftware.bpd.runtime.engine.BPDExecutionTree.
      doEnableTransitionsInAllNetStates(BPDExecutionTree.java:185)
    at com.lombardisoftware.bpd.runtime.engine.BPDExecutionTree.
      enableTransitionsInAllNetStates(BPDExecutionTree.java:173)
    at com.lombardisoftware.bpd.runtime.engine.BPDEngine.
      enableTransitions(BPDEngine.java:603)
    at com.lombardisoftware.bpd.runtime.engine.BPDEngine.
      resume(BPDEngine.java:193)
    
    When you try to work with such instances, you see the following
    lock timeout messages for the SQL statement in the SystemOut.log
    file:
    
    SELECT BPD_INSTANCE_ID FROM LSW_BPD_INSTANCE WHERE
    BPD_INSTANCE_ID = ?
    FOR UPDATE
    
    Alternatively, you might see additional thread hung messages
    with a stack trace that follows, and that stack trace might
    contain lines that are similar to the following lines:
    at com.lombardisoftware.bpd.runtime.engine.util.
      LockBPDInstanceCommand.lockBPDInstance
      (LockBPDInstanceCommand.java:92)
    at com.lombardisoftware.bpd.runtime.engine.util.
      LockBPDInstanceCommand.access$100
      (LockBPDInstanceCommand.java:36)
    at com.lombardisoftware.bpd.runtime.engine.util.
      LockBPDInstanceCommand$1.doInTransaction
      (LockBPDInstanceCommand.java:53)
    at com.lombardisoftware.server.core.TXCommand$2.call
      (TXCommand.java:85)
    at com.lombardisoftware.utility.spring.
      ProgrammaticTransactionSupport.executeInExistingTransaction
      (ProgrammaticTransactionSupport.java:634)
    at com.lombardisoftware.utility.spring.
      ProgrammaticTransactionSupport.execute
      (ProgrammaticTransactionSupport.java:335)
    at com.lombardisoftware.server.core.TXCommand.
      executeInDeadlockRetryLoop(TXCommand.java:83)
    at com.lombardisoftware.bpd.runtime.engine.util.
      LockBPDInstanceCommand.execute
      (LockBPDInstanceCommand.java:74)
    

Local fix

Problem summary

  • When an inclusive gateway is reached during a BPD, all incoming
    sequence flows are evaluated for open tokens. This evaluation
    decides whether the navigation can continue.
    
    In some cases, cycles on the income sequence flows cause the
    evaluation to enter an endless loop. Because the corresponding
    BPD instance is locked during the evaluation, new requests to
    the BPD instance fail and entries are logged in the
    SystemOut.log file with a lock timeout for the SQL statement.
    

Problem conclusion

  • A fix is/will be available for IBM BPM V8.5.0.1 that avoids
    entering an endless loop while an inclusive gateway is being
    evaluated.
    
    On Fix Central (http://www.ibm.com/support/fixcentral), search
    for JR52760:
    
    1. Select IBM Business Process Manager with your edition from
      the product selector, the installed version to the fix pack
      level, and your platform, and then click Continue.
    
    2. Select APAR or SPR, enter JR52760, and click Continue.
    
    When you download fix packages, ensure that you also download
    the readme file for each fix. Review each readme file for
    additional installation instructions and information about the
    fix.
    

Temporary fix

  • Not applicable
    

Comments

APAR Information

  • APAR number

    JR52760

  • Reported component name

    BPM ADVANCED

  • Reported component ID

    5725C9400

  • Reported release

    850

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-03-06

  • Closed date

    2015-04-17

  • Last modified date

    2015-04-17

  • 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

    BPM STANDARD

  • Fixed component ID

    5725C9500

Applicable component levels

  • R850 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.5","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
17 April 2015