IBM Support

PQ30355: WHEN A JSP FILE FAILS TO COMPILE WEBSPHERE APPLICATION SERVER LEAVES ORPHAN THREADS/PROCESSES. 99/11/19 PTF PECHANGE

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Problem is caused by JSP files that cannot be compiled either
    because they are in error or a referenced java class is not
    present.
    What appears to happen is that when one of these JSP files is
    referenced, WebSphere invokes threads or a process that compiles
    these files. If the compilation works ok, everything is tidied
    up. If the compilation fails for the reasons mentioned above,
    the threads or processes don't appear to be released and remain
    as orphans.
    .
    PD/PSI: LLP, defect 60665
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of WebSphere Application Server    *
    *                 1.1 on OS/390 that use JSPs.                 *
    ****************************************************************
    * PROBLEM DESCRIPTION: When a JSP is invoked that does not     *
    *                      compile, all invocations of JSPs that   *
    *                      need to be recompiled hang until WAS is *
    *                      restarted.                              *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When a JSP file fails to compile, processing of other JSPs
    needing to be compiled is disabled.  Threads and processes
    created for the failed compilations do not get cleaned up
    and remain as orphans.  As JSPs that require compiling are
    invoked, system resources are consumed and WAS must be
    restarted.
    
    Method compileAndLoadServlet in PageCompileServlet.java called
    method javaToClass in SystemJavaSourceCompiler.java to compile
    the java file generated from the JSP.  When the compile was not
    successful, javaToClass attempted to compile the java file by
    invoking method oldJavaToClass in SystemJavaSourceCompiler.java.
    This method overrode the JAVA_HOME variable and executed a
    command that attempted to use another system java compiler.
    On OS/390 there is no other java compiler to use.  The command
    did not complete, and the code in oldJavaToClass held a lock
    while waiting for the compile to complete.  Synchronization code
    in PageCompileServlet.java prevented other compiles of java code
    generated from JSPs from being processed.
    This APAR also fixes a problem with PTF UQ29312, which shipped
    a corrupt jst.jar.  A symptom of the problem is a message in
    the ncf.log indicating a java.lang.NoClassDefFoundError giving
    the class that was not found.
    

Problem conclusion

  • Method compileAndLoadServlet in PageCompileServlet.java was
    modified with try/catch logic around the call to javaToClass
    to catch and throw a PageCompileException.
    
    Method javaToClass in SystemJavaSourceCompiler.java was modified
    with OS/390 specific code in the try/catch logic around the
    compile.  If the compile failed, the new code in the try clause
    does not call oldJavaToClass and throws an AutoCompileException
    instead.  The new OS/390 specific code in the catch clause
    also avaids a call to oldJavaToClass and throws a new
    AutoCompileException.
    
    The following COMPID's are affected by these changes:
    
    5697D4300 WAS W10 web release for LDGW on OS/390 R5/R6.
    5697D4300 WAS 110 release for OS/390 R7.
    
    The code changes are stored in CMVC under defect PQ30355.
    
    * Cross Reference between External and Internal Names
    

Temporary fix

Comments

APAR Information

  • APAR number

    PQ30355

  • Reported component name

    DGW/WAS OS/390

  • Reported component ID

    5697D4300

  • Reported release

    110

  • Status

    CLOSED PER

  • PE

    YesPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    1999-09-02

  • Closed date

    1999-09-21

  • Last modified date

    1999-11-19

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UQ35271 UQ35272

Modules/Macros

  • EJSJJST  EJSW10
    

Fix information

  • Fixed component name

    DGW/WAS OS/390

  • Fixed component ID

    5697D4300

Applicable component levels

  • R110 PSY UQ35272

       UP99/09/30 P F909

  • RW10 PSN

       UP

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":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"110","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"110","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
19 November 1999