IBM Support

JR52494: PROCESS ADMIN CONSOLE AND GROUP REST API ALLOWS CIRCULAR MEMBERSHIP TO BE CREATED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When you use the group management capability of the Process
    Admin Console, a JavaScript API, or a REST API to add group
    memberships, IBM Business Process Manager (BPM) does not verify
    that there are no circular references. As a result, task
    assignments fail with an StackOverflowError when a circular
    group membership is found.
    
       These are the errors that are logged
    CWLLG2015E: An unexpected runtime exception occurred. See
    exception for
    more details. Error: Wrapped
    com.lombardisoftware.client.delegate.BusinessDelegateException:
    java.lang.StackOverflowError.org.mozilla.javascript.WrappedExcep
    tion:
    Wrapped
    com.lombardisoftware.client.delegate.BusinessDelegateException:j
    a
    va.lang.StackOverflowError
    
    CWLLG0594E: An exception occurred while initializing the
    runnable
    thread. Error:
    com.lombardisoftware.component.common.workflow.WorkflowProcessIt
    emExcept
    ion: Runtime error in script ("Process: 'Get NamesSlids from
    role DAS'
    ProcessItem: 'get usernames and full names for all in rolename'
    Type:'ITEM'" 0:0).Internal Script
    error:com.lombardisoftware.client.delegate.BusinessDelegateExcep
    tion:java.lang.StackOverflowError Script (line 0):
       1 :
       2 : tw.local.userIds = new tw.object.listOf.String();
    .
    Caused by: [TeamworksException name='Process: 'Get Names from
    role' ProcessItem: 'get usernames and full names for all in
    rolename'
    Type: 'ITEM'', message='Internal Script
    error:com.lombardisoftware.client.delegate.BusinessDelegateExcep
    tion:java.lang.StackOverflowError', line=0, pos=0
    nested=<none>]
    
       This shows the error logged with the StackOverflowError
    [1/27/15 15:08:51:087 EST] 00000268 wle           E
    CWLLG2229E: An
    exception occurred in an EJB call.  Error: null
                                     java.lang.StackOverflowError
     at
    java.text.SimpleDateFormat.zeroPaddingNumber(SimpleDateFormat.ja
    va:1220)
     at
    java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1159)
     at java.text.SimpleDateFormat.format(SimpleDateFormat.java:916)
     at java.text.SimpleDateFormat.format(SimpleDateFormat.java:886)
     at
    com.ibm.ws.logging.TraceLogFormatter.formatTimeAndThread(TraceLo
    gFormatt
    er.java:368)
     at
    com.ibm.ws.logging.TraceLogFormatter.formatHeaderBasic(TraceLogF
    ormatter
    .java:470)
     at
    com.ibm.ws.logging.TraceLogFormatter.formatBasic(TraceLogFormatt
    er.java:
    201)
     at com.ibm.ejs.ras.TraceLogger.doLog(TraceLogger.java:365)
     at
    com.ibm.ejs.ras.TraceLogger.processEvent(TraceLogger.java:354)
     at
    com.ibm.ws.logging.WsHandlerWrapper.publish(WsHandlerWrapper.jav
    a:43)
     at java.util.logging.Logger.log(Logger.java:1281)
     at
    com.ibm.ws.logging.WsLogger.deliverOrBuffer(WsLogger.java:383)
     at com.ibm.ws.logging.WsLogger.log(WsLogger.java:361)
     at com.ibm.ws.logging.WsLogger.logp(WsLogger.java:599)
     at com.ibm.ws.logging.WsLogger.entering(WsLogger.java:727)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:548)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:580)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:580)
    
    
       This is the java stack of the StackOverflowError.
    [11/14/14 20:03:06:338 CLST]     FFDC
    Exception:java.lang.StackOverflowError
    SourceId:com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW
    ProbeId:944
    Reporter:com.ibm.ws.uow.UOWManagerImpl@4e179214
    java.lang.StackOverflowError
     at java.util.HashMap.hash(HashMap.java:136)
     at java.util.HashMap.getEntry(HashMap.java:587)
     at java.util.HashMap.get(HashMap.java:575)
     at
    com.lombardisoftware.core.cache.GenericCache.getCacheData(Generi
    cCache.j
    ava:161)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:566)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:590)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:590)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:590)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:590)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:590)
     at
    com.lombardisoftware.server.core.cache.GroupMemberCacheObject.is
    Outdated
    (GroupMemberCacheObject.java:590)
    

Local fix

Problem summary

  • You may model circular group memberships in the following ways:
    
    - Using the Process Admin Console, the User Management > Group
     Management tab and click Add Groups.
    
    - Using the Group Resource of the REST API. See ?REST interface
     for BPD-related resources - Group Resource - PUT Method? at
    https://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm
     .wbpm.ref.doc/rest/bpmrest/rest_bpm_wle_v1_group_groupnameorid_
     put.htm?lang=en.
    
    - Using tw.system.org.findRoleByName.addRoles of the JavaScript
     API. See ?JavaScript API for IBM Process Designer? at
    https://www.ibm.com/support/knowledgecenter/SSFPJS_8.5.5/com.ibm
     .wbpm.ref.doc/ae/doc/JSAPI.html?lang=en.
    
    If you created a circular group reference in one of these ways
    you, do not get an immediate exception. When a task is created
    and the associated group is resolved, you see a
    StackOverflowException similar to the following exception if the
    group contains a circular group membership:
    
    FFDC Exception:java.lang.StackOverflowError
    SourceId:com.ibm.ws.uow.UOWManagerImpl.runUnderNewUOW
    ProbeId:944
    Reporter:com.ibm.ws.uow.UOWManagerImpl@4e179214
    java.lang.StackOverflowError
    at java.util.HashMap.hash(HashMap.java:136)
    at java.util.HashMap.getEntry(HashMap.java:587)
    at java.util.HashMap.get(HashMap.java:575)
    at com.lombardisoftware.core.cache.GenericCache.getCacheData
      (GenericCache.java:161)
    at com.lombardisoftware.server.core.cache.
      GroupMemberCacheObject.isOutdated
      (GroupMemberCacheObject.java:566)
    at com.lombardisoftware.server.core.cache.
      GroupMemberCacheObject.isOutdated
      (GroupMemberCacheObject.java:590)
    

Problem conclusion

  • A fix is/will be available that checks whether a group
    membership cycle is created when members are added to a group.
    If a group membership cycle is detected, you see a specific
    error in the Process Admin Console and the new member
    is not added to the group.
    
    On Fix Central (http://www.ibm.com/support/fixcentral), search
    for JR52494:
    
    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 JR52494, 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

    JR52494

  • Reported component name

    BPM STANDARD

  • Reported component ID

    5725C9500

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-02-04

  • Closed date

    2015-04-07

  • Last modified date

    2015-10-26

  • 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

  • R855 PSY

       UP

  • R856 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":"855","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
26 October 2015