Fixes are available
8.5.5.6: WebSphere Application Server V8.5.5 Fix Pack 6
8.5.5.7: WebSphere Application Server V8.5.5 Fix Pack 7
8.5.5.8: WebSphere Application Server V8.5.5 Fix Pack 8
8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9
8.5.5.10: WebSphere Application Server V8.5.5 Fix Pack 10
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
8.5.5.17: WebSphere Application Server V8.5.5 Fix Pack 17
8.5.5.20: WebSphere Application Server V8.5.5.20
8.5.5.18: WebSphere Application Server V8.5.5 Fix Pack 18
8.5.5.19: WebSphere Application Server V8.5.5 Fix Pack 19
8.5.5.16: WebSphere Application Server V8.5.5 Fix Pack 16
8.5.5.21: WebSphere Application Server V8.5.5.21
APAR status
Closed as program error.
Error description
When an EJB application is updated while the server process is under load, it is possible that starting of the updated application may appear to hang for two minutes before resuming and completing normally. This hang condition is caused by a deadlock that occurs between two threads, one that is starting the application, and one that is attempting to access an EJB in the updated application. The deadlock will timeout after two minutes, and application start will complete normally. A javacore taken at the time of the hang will show a thread holding two locks and in waiting as follows: Waiting on: com/ibm/ws/ejbcontainer/osgi/internal/metadata/OSGiEJBApplic ationMetaData@0x000000003FC39208 Owned by: <unowned> Heap bytes allocated since last GC cycle=0 (0x0) Java callstack: at java/lang/Object.wait(Native Method) at java/util/concurrent/TimeUnit.timedWait(TimeUnit.java:334) at com/ibm/ejs/csi/EJBApplicationMetaData.checkIfEJBWorkAllowed (EJBApplicationMetaData.java:521) (entered lock: com/ibm/ws/ejbcontainer/osgi/internal/metadata/OSGiEJBApplic ationMetaData@0x000000003FC39208, entry count: 1) at com/ibm/ejs/container/HomeRecord.getHomeAndInitialize(HomeRe cord.java:215) at com/ibm/ejs/container/HomeOfHomes.getHome(HomeOfHomes.java:3 57) at com/ibm/ejs/container/HomeOfHomes.getHomeByInterface(HomeOfH omes.java:855) (entered lock: com/ibm/ejs/container/HomeOfHomes$AppLinkData@0x000000003FC3 D300, entry count: 1) at com/ibm/ws/ejbcontainer/injection/factory/EJBLinkObjectFacto ry.getObjectInstance(EJBLinkObjectFactory.java:220)
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server Liberty Profile - Enterprise Java * * Beans (EJB) * **************************************************************** * PROBLEM DESCRIPTION: EJB application update time greater * * than two minutes when server is under * * load * **************************************************************** * RECOMMENDATION: * **************************************************************** When an EJB application is updated while the server process is under load, it is possible that starting of the updated application may appear to hang for two minutes before resuming and completing normally. This hang condition is caused by a deadlock that occurs between two threads, one that is starting the application, and one that is attempting to access an EJB in the updated application. The deadlock will timeout after two minutes, and application start will complete normally. A javacore taken at the time of the hang will show a thread holding two locks and in waiting as follows: Waiting on: com/ibm/ws/ejbcontainer/osgi/internal/metadata/OSGiEJBApplicatio nMetaData@0x000000003FC39208 Owned by: <unowned> Heap bytes allocated since last GC cycle=0 (0x0) Java callstack: at java/lang/Object.wait(Native Method) at java/util/concurrent/TimeUnit.timedWait(TimeUnit.java:334) at com/ibm/ejs/csi/EJBApplicationMetaData.checkIfEJBWorkAllowed(EJB ApplicationMetaData.java:521) (entered lock: com/ibm/ws/ejbcontainer/osgi/internal/metadata/OSGiEJBApplicatio nMetaData@0x000000003FC39208, entry count: 1) at com/ibm/ejs/container/HomeRecord.getHomeAndInitialize(HomeRecord .java:215) at com/ibm/ejs/container/HomeOfHomes.getHome(HomeOfHomes.java:357) at com/ibm/ejs/container/HomeOfHomes.getHomeByInterface(HomeOfHomes .java:855) (entered lock: com/ibm/ejs/container/HomeOfHomes$AppLinkData@0x000000003FC3D300 , entry count: 1) at com/ibm/ws/ejbcontainer/injection/factory/EJBLinkObjectFactory.g etObjectInstance(EJBLinkObjectFactory.java:220)
Problem conclusion
The EJB container support for ejb-link in the server process has been updated to not hold locks while obtaining a reference to the linked EJB. This will prevent the application that is attempting to access an EJB from interfering with the starting of the application that contains that EJB. The dead-lock will no longer occur. The application will start in a normal amount of time. The fix for this APAR is currently targeted for inclusion in fix pack 8.5.5.6. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PI39344
Reported component name
WAS LIBERTY COR
Reported component ID
5725L2900
Reported release
855
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-04-19
Closed date
2015-05-07
Last modified date
2015-08-19
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 LIBERTY COR
Fixed component ID
5725L2900
Applicable component levels
R855 PSY
UP
Document Information
Modified date:
28 April 2022