IBM Support

JR56099: OUTOFMEMORYERROR OCCURS WHEN MANY THREADS RUN THE LOADSNAPSHOT METHOD CONCURRENTLY

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • You see java/lang/OutOfMemoryError exceptions intermittently
    while using IBM Business Process Manager (BPM). When you review
    the associated javacore, you notice that many threads are
    running the loadSnapshot method:
    at
    com/lombardisoftware/server/ejb/persistence/versioning/SnapshotC
    ontextManager.loadSnapshot
       (SnapshotContextManager.java:762(Compiled Code))
    at
    com/lombardisoftware/server/ejb/persistence/versioning/SnapshotC
    ontextManager.acquireSnapshotContext
       (SnapshotContextManager.java:439(Compiled Code))
    When reviewing the IBM BPM trace, you might notice that multiple
    snapshots are being loaded around the same time:
    [6/10/16 22:27:43:154 EDT] 000008bd wle_versionin 1
    com.lombardisoftware.server.ejb.persistence.versioning.SnapshotC
    ontextManager loadSnapshot load snapshot
    Snapshot.e0e7a8cc-dab9-4296-ae20-bca232af1774
    [6/10/16 22:27:43:210 EDT] 0000090d wle_versionin 1
    com.lombardisoftware.server.ejb.persistence.versioning.SnapshotC
    ontextManager loadSnapshot load snapshot
    Snapshot.e0e7a8cc-dab9-4296-ae20-bca232af1774
    .-----------------------------------------------------------
       There may also be WSVR0605W (hung thread) messages observed
    with this java stack
    [1/3/17 13:36:17:537 UTC] 00000082 ThreadMonitor W   WSVR0605W:
    Thread
    "WebContainer : 34" (00000870) has been active for 659662
    milliseconds
    and may be hung.  There is/are 1 thread(s) in total in the
    server that
    may be hung.
        at com.ibm.db2.jcc.t4.z.R(z.java:575)
        at com.ibm.db2.jcc.t4.cb.a(cb.java:159)
    ...
        at com.ibm.db2.jcc.t4.c.a(c.java:129)
        at com.ibm.db2.jcc.am.ResultSet.nextX(ResultSet.java:443)
        at com.ibm.db2.jcc.am.ResultSet.next(ResultSet.java:371)
        at
    com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next(WSJdbcResultSet.j
    ava:3114)
        at
    org.springframework.jdbc.core.RowMapperResultSetExtractor.extrac
    tData(RowMapperResultSetExtractor.java:91)
        at
    org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStateme
    nt(JdbcTemplate.java:653)
        at
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.
    java:591)
        at
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.ja
    va:641)
        at
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.ja
    va:670)
        at
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.ja
    va:678)
        at
    org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.ja
    va:710)
        at
    org.springframework.jdbc.core.simple.SimpleJdbcTemplate.query(Si
    mpleJdbcTemplate.java:187)
        at
    com.lombardisoftware.server.ejb.persistence.versioning.SnapshotC
    ontextManager.loadSnapshot(SnapshotContextManager.java:691)
        at
    com.lombardisoftware.server.ejb.persistence.versioning.SnapshotC
    ontextManager.acquireSnapshotContext(SnapshotContextManager.java
    :384)
        at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchCon
    textImpl.readAccess(BranchContextImpl.java:169)
        at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchMan
    ager.readAccess(BranchManager.java:243)
        at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore.findAll(PersistenceServicesCore.java:147)
    
       The heapdump shows the following memory usage pattern
    java.util.ArrayList (11,627 instances)
    
    Some of the ArrayLists with highest retained heap around 67 MB:
    
    Class Name                               | Shallow Heap |
    Retained Heap
    | Percentage
    ----------------------------------------------------------------
    --------
    java.util.ArrayList @ 0x1c3cc34f0 Unknown|           24 |
    66,385,352
    |      0.53%
    java.util.ArrayList @ 0x1c3d479b0 Unknown|           24 |
    66,385,352
    |      0.53%
    java.util.ArrayList @ 0x1c909fa30 Unknown|           24 |
    66,385,352
    |      0.53%
    java.util.ArrayList @ 0x24df2df28 Unknown|           24 |
    66,385,352
    |      0.53%
    java.util.ArrayList @ 0x24df68268 Unknown|           24 |
    66,385,352
    |      0.53%
    java.util.ArrayList @ 0x24df6b358 Unknown|           24 |
    66,385,352
    |      0.53%
    java.util.ArrayList @ 0x24deed100 Unknown|           24 |
    65,768,240
    |      0.53%
    ----------------------------------------------------------------
    
    A lot of ArrayLists
    
    ---------------------------------------------------------------
    java.util.ArrayList @ 0x1c3d435a8 Unknown
                       |           24 |    64,184,920 |      0.52%
    '- java.lang.Object[49816] @ 0x28b3b3e18
                       |      199,280 |    64,184,896 |      0.52%
       |-
    com.lombardisoftware.server.ejb.persistence.versioning.POVersion
    Summary
    @ 0x3a805b6b0|           72 |        27,760 |      0.00%
       |-
    com.lombardisoftware.server.ejb.persistence.versioning.POVersion
    Summary
    @ 0x3a80553f8|           72 |        25,344 |      0.00%
       |-
    com.lombardisoftware.server.ejb.persistence.versioning.POVersion
    Summary
    @ 0x3a8090f30|           72 |        22,288 |      0.00%
       |-
    com.lombardisoftware.server.ejb.persistence.versioning.POVersion
    Summary
    @ 0x3a814e788|           72 |        21,536 |      0.00%
    
        A large number of POVersion objects on the heap.
    ---------------------------------------------
    com.lombardisoftware.server.ejb.persistence.versioning.POVersion
    Summary|
    5,754,545 |  414,327,240 | >= 8,298,224,152
    ----------------------------------------------------------------
    
    
    PRODUCTS AFFECTED
    IBM BPM Advanced
    IBM BPM Standard
    IBM BPM Express
    

Local fix

Problem summary

  • No additional information is available.
    

Problem conclusion

  • A fix will be included in IBM BPM V8.5.7 cumulative fix 2016.09
    that prevents duplicate loading snapshot issues.
    
    To determine whether the cumulative fix is available and
    download it if it is, complete the following steps on Fix
    Central:
    
    1. On the Select product tab, select WebSphere as the product
    group, IBM Business Process Manager with your edition from the
    WebSphere options, All as the installed version, and All as the
    platform, and then click Continue.
    2. In the Text field, enter "cumulative fix", and click
    Continue.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR56099

  • Reported component name

    BPM STANDARD

  • Reported component ID

    5725C9500

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-06-09

  • Closed date

    2016-08-18

  • Last modified date

    2019-01-31

  • 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

[{"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:
31 January 2019