A fix is available
APAR status
Closed as program error.
Error description
The problem occurs only in a WebSphere application server for z/OS running with multiple servants. When JSPs are compiled on the fly in this environment, the runtime code manages the case where both servants may try to access a single JSP to compile it concurrently by allowing one servant to lock the JSP file while it compiles. If the instance arises where two requests for a JSP needing to be compiled at the same time, and are routed to separate servant regions, the following NullPointerException is likely to occur: java.lang.NullPointerException at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper. translateJsp(JSPExtensionServletWrapper.java:404) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper. _checkForTranslation(JSPExtensionServletWrapper.java:366) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper. checkForTranslation(JSPExtensionServletWrapper.java:262) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper. handleRequest(JSPExtensionServletWrapper.java:151) at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor. handleRequest(JSPExtensionProcessor.java:255) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest( WebApp.java:3174) ... The above exception is thrown in the servant who is attempting to compile the JSP after another servant has already obtained a lock on the JSP file. In addition to the NullPointerException the JSP in question is likely to be flagged as permanently unavailable for the life of the servant region, so that all requests coming to the servant for the JSP will fail with 500 errors (UnavailableExceptions will be thrown to the client).
Local fix
As a preventative measure, you can bypass this issue by precompiling JSPs before or during application deployment. If you find yourself currently experiencing UnavailableExceptions due to this issue, a recycle of the server or servant region will be required to recover from this problem.
Problem summary
**************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V6.1 for z/OS * **************************************************************** * PROBLEM DESCRIPTION: When JavaServer Pages (JSP) are * * compiling at runtime on a z/OS server * * that is running with multiple * * servants, a NullPointerException may * * occur. * **************************************************************** * RECOMMENDATION: * **************************************************************** The problem occurs only in a WebSphere z/OS server running with multiple servant regions. When JSPs are compiled on the fly in this environment, the JSP Container manages the case where both servant regions may try to access a single JSP to compile it concurrently by allowing one servant to lock the JSP file while it compiles. If the instance arises where two requests for a JSP need to be compiled at the same time, and are routed to separate servant regions, there is a small window in which a NullPointerException is likely to occur: java.lang.NullPointerException at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.transl ateJsp(JSPExtensionServletWrapper.java:404) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper._check ForTranslation(JSPExtensionServletWrapper.java:366) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.checkF orTranslation(JSPExtensionServletWrapper.java:262) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handle Request(JSPExtensionServletWrapper.java:151) ....................
Problem conclusion
The JSP Container has been modified to cause a servant region to retry obtaining the lock on a JSP file before compiling it. This retry will expire after 120 seconds. If the compilation time is expected to be longer, a user can increase the retry time by setting the webcontainer's custom property: com.ibm.ws.jsp.zosFileLockRetrying = 120 (default) The custom property is not case sensitive. Please refer to the following technote for instructions on enabling WebContainer custom properties: http://www.ibm.com/support/docview.wss?rss=180&uid=swg21284395 APAR PK75090 requires changes to documentation. NOTE: Periodically, we refresh the documentation on our Web site, so the changes might have been made before you read this text. To access the latest on-line documentation, go to the product library page at: http://www.ibm.com/software/webservers/appserv/library The following Changes to the z/OS version of the WebSphere Application Server Version 6.1 Information Center. The following description of the com.ibm.ws.jsp.zosFileLockRetrying Web conatiner custom property will be added to the topic "Web container custom properties:" Extending the wait time when two servants need to concurrently compile the same JSP When JavaServer Pages files (or user-defined JSP files) are complied in an environment that has multiple servants, the JSP container uses locking to prevent both servants from trying to concurrently compile the same JSP file. If two requests for a JSP need to be compiled at the same time, and are routed to separate servants, the JSP container locks the JSP file until the compilation for the first servant completes. If the second servant has to wait for more than 120 seconds for the lock to be released, the request for the JSP fails. If you expect the compilation time for any of your JSP files to be more than 120 seconds, specify, in seconds, a value greater than 120 for the com.ibm.ws.jsp.zosFileLockRetrying custom property. The new setting should extend the wait time, such that the new wait time prevents a JSP request from failing in situations where two requests for the same JSP file need to be handled at approximately the same time, but the requests are routed to different servants. APAR PK75090 currently targeted for inclusion in Service Level (Fix Pack) 6.1.0.21 of WebSphere Application Server V6.1 for z/OS. Please refer to URL: //www.ibm.com/support/docview.wss?rs=404&uid=swg27006970 for Fix Pack availability.
Temporary fix
Comments
APAR Information
APAR number
PK75090
Reported component name
WEBSPHERE FOR Z
Reported component ID
5655I3500
Reported release
610
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2008-11-05
Closed date
2008-11-10
Last modified date
2008-12-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
BBGUBINF BBOUBINF
Fix information
Fixed component name
WEBSPHERE FOR Z
Fixed component ID
5655I3500
Applicable component levels
R610 PSY UK41575
UP08/11/26 P F811
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
10 February 2022