PK36324: APPLICATION HANG OCCURS DURING JSP COMPILATION. TWO JSPS BEING COMPILED SIMULTANEOUSLY RESULTS IN SYNCHRONIZATION ISSUE.

APAR status
Closed as program error.

Error description
An application running on the WebSphere Application Server is
experiencing a hang while compiling JSPs. Javacores indicate
multiple threads are hung in
com.sun.tools.javac.v8.parser.Parser.syntaxError(),
blocking all subsequent requests which need a JSP compiled.
The following exception is also seen:
[11/14/06 13:31:07:196 CST] 7d7d0473 WebGroup      E SRVE0026E:
[Servlet Error]-[(class: org/apache/jsp/_serviceResults,
method: _jspService signature:

(Ljavax/servlet/http/HttpServletRequest&#59;Ljavax/servlet/
http/HttpServletResponse&#59;)V) Incompatible type for
getting or setting field]: java.lang.VerifyError: (class:
org/apache/jsp/_serviceResults, method: _jspService signature:

(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/
HttpServletResponse;)V) Incompatible type for getting or setting
field
 at java.lang.Class.newInstance0(Native Method)
 at java.lang.Class.newInstance(Class.java(Compiled Code))

This problem is caused when the Java compiler is processing
more than one JSP at the same time.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server version 5.0.2   *
*                 users whose applications cause               *
*                 synchronization issues during JSP            *
*                 compilation                                  *
****************************************************************
* PROBLEM DESCRIPTION: When there are two or three threads     *
*                      executing the synchronized block,       *
*                      high CPU results following a hang in    *
*                      the application server.                 *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
This scenario happens when the 'largebranch' option is set to
true in which case synchronization on the current instance,
'this' does not work when there are multiple instances of the
same class which leads to the fact that there are more threads
executing the synchronized block
Problem conclusion
This problem has been fixed by synchronizing on an Object
rather than on 'this' instance.The problem happens only
when 'largebranch' option is set to true and since
'largebranch' option has been removed from version 5.1 this
fix does not require integration into the forward releases.
Temporary fix Comments
APAR information
APAR number PK36324
Reported component name WAS NETWRK DEPL
Reported component ID 5630A3601
Reported release 00W
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Special Attention NoSpecatt
Submitted date 2006-12-18
Closed date 2007-01-29
Last modified date 2007-01-29

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
JSP          

Publications Referenced

Fix information
Fixed component name WAS NETWRK DEPL
Fixed component ID 5630A3601

Applicable component levels
R00A PSY    UP
R00H PSY    UP
R00I PSY    UP
R00S PSY    UP
R00W PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 00W
Software edition:
Reference #: PK36324
IBM Group: Software Group
Modified date: Jan 29, 2007