PQ84760: JSPREADER-JSPBATCHCOMPILER JAVA.IO.FILENOTFOUNDEXCEPTION-EC5129INO SUCH FILE OR DIRECTORY WHEN USED IN A SHARED HFS USS SYSTEM | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description The customer was getting java.io.FileNotFoundException EC5129I No such file or directory message. The file was not found when used in a shared HFS USS system. .. The customer was using the JspBatchCompiler from JCL within AOPBATCH job. JspBatchCompiler: Initializing with: Config Root: /WebSphere390/CB390 Node: MOGLIANO Server: BBOCSIP:BBOCSIPA Web Module: WebSiPo.war then the batch compiler scans all directories below .WebSiPo.war for jsps: Compile /SYSG/WebSphere390/CB390/apps/BBOCSIP/WebSiPo/ WebSiPo.war/web Compile /SYSG/WebSphere390/CB390/apps/BBOCSIP/WebSiPo/ WebSiPo.war/web/help Compile /SYSG/WebSphere390/CB390/apps/BBOCSIP/WebSiPo/ WebSiPo.war/web/help/contents Compile /SYSG/WebSphere390/CB390/apps/BBOCSIP/WebSiPo/ WebSiPo.war/web/he/contents/common Config Root path is /WebSphere390/CB390 but here all paths were prefixed by /SYSG. .. FileNotFound exceptions are thrown for all found JSPs: java.io.FileNotFoundException: /SYSG/WebSphere390/CB390/apps/ BBOCSIP/WebSiPo/WebSiPo.war/SYSG/web/help/contents/common/ empty.jsp (EC5129I No such file or directory.) .. It was determined that the problem was in org.apache.jasper.compiler.JspReader::pushFile(String, String) change File.getCanonicalPath() to File.getPath() due to improper usage that surfaces when a non-standard prefix string, used in a shared HFS USS system ..Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * version 4.0.1 for z/OS and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: java.io.FileNotFoundException: No such * * file or directory message. This message * * occurs when JSP's are in a shared HFS * * USS system. * **************************************************************** * RECOMMENDATION: * **************************************************************** FileNotFoundExceptions specifically occur when using a shared HFS system that uses a symbolic link as the application server config root. If the string that defines the JSP path passed to pushFile() starts with a "/", then that same string is passed along unchanged to the next method. Otherwise, a call to String.getCanonicalPath() is made. If the parent directory of the JSP is not found in the cached list of JSP directories an empty string is passed as parent to String.getCanonicalPath(). The prepending of a "/" is the expected behavior, but in a shared HFS system, the absolute path of the root file system is used, which corrupts the JSP path name.Problem conclusion WebSphere Application Server code JspReader.pushFile(String,String) was changed to use File.getPath() instead of File.getCanonical(). APAR PQ84760 is associated with SERVICE LEVEL W401610 of WebSphere Application Server V4.0.1 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ84760
IBM Group: Software Group
Modified date: Apr 3, 2004
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.