Direct links to fixes
APAR status
Closed as program error.
Error description
You might see an Out of Memory error (OutOfMemoryError) or high memory use when the server starts or when the artifact index is rebuilt in IBM Process Center. A heapdump collected when the problem occurs shows a lot of memory used by this object 2,412,173,744 bytes (29.49 %) of Java heap is used by 5,315 instances of com/ibm/bpm/search/artifact/repo/record/impl/ProcessSummaryRecor dImpl Contains 31 instances of the following leak suspects: - array of java/lang/Object holding 11,514,600 bytes at 0x2b8e860f0 - array of java/lang/Object holding 11,492,880 bytes at 0x2e94bc5e8 - array of java/lang/Object holding 11,515,816 bytes at 0x2958a09b0 - array of java/lang/Object holding 13,155,664 bytes at 0x295885c78 - array of java/lang/Object holding 13,155,512 bytes at 0x286426980 - array of java/lang/Object holding 11,515,376 bytes at 0x286418de0 - array of java/lang/Object holding 11,528,376 bytes at 0x2ea39fb98 - array of java/lang/Object holding 13,155,360 bytes at 0x2be8c0528 - array of java/lang/Object holding 11,496,480 bytes at 0x2be8ab828 - array of java/lang/Object holding 12,029,136 bytes at 0x29ac6d9f8 - array of java/lang/Object holding 11,597,120 bytes at 0x24b984a90 - array of java/lang/Object holding 11,515,424 bytes at 0x2a042b080 - array of java/lang/Object holding 12,012,208 bytes at 0x2e8386898 You may also see CPU starvation messages like [12/17/19 0:35:09:984 IST] 00000052 CoordinatorCo W HMGR0152W: CPU Starvation detected. Current thread scheduling delay is 374 seconds. And possibly also a hung thread (WSVR0605W) or tx timeout (WTRN0006W and WTRN0124I) with the following java stack [12/17/19 2:27:25:527 IST] 00000054 TimeoutManage I WTRN0124I: When the timeout occurred the thread with which the transaction is, or was most recently, associated was Thread[Edit Cache Cleanup Daemon,5,main]. The stack trace of this thread when the timeout occurred was: java.net.SocketInputStream.socketRead0(Native Method) java.net.SocketInputStream.socketRead(SocketInputStream.java :127) java.net.SocketInputStream.read(SocketInputStream.java:182) java.net.SocketInputStream.read(SocketInputStream.java:152) com.ibm.db2.jcc.t4.y.b(y.java:224) com.ibm.db2.jcc.t4.y.c(y.java:336) com.ibm.db2.jcc.t4.y.c(y.java:449) com.ibm.db2.jcc.t4.y.v(y.java:1217) com.ibm.db2.jcc.t4.cb.c(cb.java:30) com.ibm.db2.jcc.t4.q.a(q.java:32) com.ibm.db2.jcc.t4.h.readFetch_(h.java:263) com.ibm.db2.jcc.am.ResultSet.flowFetch(ResultSet.java:3959) com.ibm.db2.jcc.t4.c.f(c.java:2439) com.ibm.db2.jcc.am.mc.a(mc.java:257) com.ibm.db2.jcc.t4.c.a(c.java:129) com.ibm.db2.jcc.am.ResultSet.nextX(ResultSet.java:443) com.ibm.db2.jcc.am.ResultSet.next(ResultSet.java:371) com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.next(WSJdbcResultS et.java:3146) org.springframework.jdbc.core.RowMapperResultSetExtractor.ex tractData(RowMapperResultSetExtractor.java:92) org.springframework.jdbc.core.RowMapperResultSetExtractor.ex tractData(RowMapperResultSetExtractor.java:60) org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedSta tement(JdbcTemplate.java:708) org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTempl ate.java:644) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplat e.java:695) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplat e.java:727) com.lombardisoftware.utility.db.spring.BPMJdbcTemplate.query (BPMJdbcTemplate.java:242) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplat e.java:737) com.lombardisoftware.utility.db.spring.BPMJdbcTemplate.query (BPMJdbcTemplate.java:185) org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplat e.java:787) com.lombardisoftware.utility.db.spring.BPMJdbcTemplate.query (BPMJdbcTemplate.java:223) org.springframework.jdbc.core.simple.SimpleJdbcTemplate.quer y(SimpleJdbcTemplate.java:227) com.lombardisoftware.utility.db.spring.BPMSimpleJdbcTemplate .query(BPMSimpleJdbcTemplate.java:651) org.springframework.jdbc.core.simple.SimpleJdbcTemplate.quer y(SimpleJdbcTemplate.java:233) com.lombardisoftware.utility.db.spring.BPMSimpleJdbcTemplate .query(BPMSimpleJdbcTemplate.java:193)
Local fix
Increase the maximum heap size of the running java process. This is not a memory leak, rather it is due to an inefficient query (that fetches more records than necessary).
Problem summary
When the artifact indexer is built, it might query duplicate entries from lsw_po_reference table. PRODUCTS AFFECTED IBM Business Process Manager (BPM) IBM BPM Express
Problem conclusion
A fix that improves the SQL queries not to fetch duplicate entries will be included in a future release of IBM BPM.
Temporary fix
Comments
APAR Information
APAR number
JR58724
Reported component name
BPM
Reported component ID
5737A5700
Reported release
860
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2017-11-29
Closed date
2017-12-01
Last modified date
2019-12-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
Fixed component ID
5737A5700
Applicable component levels
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFPJS","label":"IBM Business Process Manager"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.6.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
14 September 2022