Preventive Service Planning
Abstract
With APAR PJ45449 applied, if a system error occurs while ECB exit processing is closing a file, other ECBs that try to access that file might exit with a system error until the system is IPLed. Apply APAR PJ48070 to resolve this issue.
Content
During exit processing for C/C++ and Java processes, a variety of cleanup tasks are performed. In particular, the process performs file system cleanup and closes all files that the process had open. With APAR PJ45449, if a system error occurs or the process receives a signal during C/C++ or Java program termination, file system cleanup is redriven once. If a system error or signal occurs during the second pass through file system cleanup, a third pass through exit processing occurs and file system cleanup is skipped.
File system cleanup first releases any file system locks that the process held, and then closes all files that the process had open. As part of normal file close processing, the process locks the virtual i-node (vnode) for the file to be closed.
If a system error or signal occurs while the vnode lock is held during the second pass through exit processing, the third pass skips file system cleanup. As a result, the lock on the vnode is never released. When a process tries to access the file, the process waits for the lock for 90 seconds, and then exits with an 008648 (OPR-8648) or 008649 (OPR-8649) system error, which indicates that the lock could not be retrieved. To release the lock on the file, you must IPL the z/TPF system. This issue affects only the file that was locked when the system error occurred, and does not have a global effect on the entire z/TPF file system.
APAR PJ48070 addresses this problem by updating file system exit processing for C/C++ and Java processes. With APAR PJ48070 applied, if exit processing is redriven because of a system error or signal that occurred during the first pass through exit processing, the process cleans up any file system locks that it holds but does not try to close the files that it has open. As a result, other processes can continue to use any files that the process had open.
For more information, see the PJ48070 APEDIT.
Was this topic helpful?
Document Information
Modified date:
18 September 2024
UID
ibm17168198