PK50969: DEADLOCK IN WEBCONTAINER CODE WHEN HOT DEPLOY NEW OR UPDATED CLASSFILES

 Fixes are available

5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for AIX
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for HP-UX
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for Linux
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for AIX
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for HP-UX
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for Solaris
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for Windows
5.1.1.18: WebSphere Application Server V5.1.1 Cumulative Fix 18 for Linux
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for Linux
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for Solaris
5.1.1.17: WebSphere Application Server V5.1.1 Cumulative Fix 17 for Windows
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for AIX
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for Windows
5.1.1.19: WebSphere Application Server V5.1.1 Cumulative Fix 19 for HP-UX



APAR status
Closed as program error.

Error description
Deadlock in webcontainer code when hot deploy new/updated
classfiles in WAS 5.1.1.9
Local fix
non
Problem summary
****************************************************************
* USERS AFFECTED: All IBM WebSphere Application Server release *
*                 5.1.1.9 and later customers.                 *
****************************************************************
* PROBLEM DESCRIPTION: During a hot deployment of new or       *
*                      updated classfile(s), a server          *
*                      hanging condition might occur.          *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
During a hot deployment of new class file(s), you might
experience a server hanging condition.
The following stacktrace might suggest that the hang is
happening:

"Servlet.Engine.Transports : 28945"
(TID:0x31AE93C0,sys_thread_t:0x7909B6A0, state:CW,
native ID:0x5245) prio=5
    at
com.ibm.ws.webcontainer.srt.CachedTargets.removeCachedObject
(CachedTargets.java(Compiled Code))
    at
com.ibm.ws.webcontainer.cache.invocation.CachedObject.
alertRemovedFromCache(CachedObject.java(Compiled Code))
    at
com.ibm.ws.webcontainer.cache.invocation.
CacheableInvocationContext.postRemovedFromCacheHook
(CacheableInvocationContext.java(Compiled Code))
    at
com.ibm.ws.webcontainer.cache.invocation.CachedObject.
alertRemovedFromCache(CachedObject.java(Compiled Code))
    at
com.ibm.ws.webcontainer.cache.invocation.InvocationCache.
remove(InvocationCache.java(Compiled Code))
    at
com.ibm.ws.webcontainer.util.LRUCache.put(LRUCache.java
(Compiled Code))
     at
com.ibm.ws.webcontainer.cache.invocation.InvocationCache.put
(InvocationCache.java(Compiled Code))
    at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.
dispatchByURI(ServletRequestProcessor.java(Compiled Code))
    at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.
service(OSEListener.java(Compiled Code))

    at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest
(HttpConnection.java(Compiled Code))
    at
com.ibm.ws.http.HttpConnection.readAndHandleRequest
(HttpConnection.java(Compiled Code))
    at
com.ibm.ws.http.HttpConnection.run(HttpConnection.java
(Compiled Code))
    at
com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled
Code))


"Thread-3" (TID:0x302D9B70,sys_thread_t:0x787EF0A0,state:CW,
nativeID:0x1415) prio=5
    at
com.ibm.ws.webcontainer.util.LRUCache.remove(LRUCache.java
(Compiled Code))
    at
com.ibm.ws.webcontainer.cache.invocation.InvocationCache.
remove(InvocationCache.java (Compiled Code))
    at
com.ibm.ws.webcontainer.cache.invocation.InvocationCache.
removeCachedObject (InvocationCache.java:84)
    at
com.ibm.ws.webcontainer.cache.invocation.CachedObject.
invalidate (CachedObject.java(Compiled Code))
    at


.....

During the deployment time, the Application Server is trying
to invalidate an application caches. This process requires
some locking on the cache objects.  At the same time, the
application is also serving other requests requiring a lock
on the related cache area. A deadlock might occur if these
actions take place simultaneously.
Problem conclusion
The WebContainer is updated to prevent a deadlock condition
while an application is being served and a new class files(s)
is being deployed simultaneously.  A lock-ahead mechanism is
imposed, and both processes are required to obtain this flag
before they can proceed any further.

The fix for this APAR is currently targeted for inclusion
in cumulative fix 5.1.1.17.
Please refer to the recommended updates page for delivery
information:

http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
ZE Fix Error. See 
PK63329 2008/04/14
Comments
APAR information
APAR number PK50969
Reported component name WEBSPHERE BASE
Reported component ID 5630A3600
Reported release 10A
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2007-08-14
Closed date 2007-10-02
Last modified date 2008-04-14

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
ENGINE          

Publications Referenced

Fix information
Fixed component name WEBSPHERE BASE
Fixed component ID 5630A3600

Applicable component levels
R003 PSN    UP
R00A PSN    UP
R00H PSN    UP
R00I PSN    UP
R00P PSN    UP
R00S PSN    UP
R00W PSN    UP
R103 PSY    UP
R10A PSY    UP
R10H PSY    UP
R10I PSY    UP
R10P PSY    UP
R10S PSY    UP
R10W PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 10A
Software edition:
Reference #: PK50969
IBM Group: Software Group
Modified date: Apr 14, 2008