A fix is available
APAR status
Closed as program error.
Error description
In IBM Developer for z/os 15.0 or z/os Explorer 3.2.0, an OC4 abend generates a javacore and dump when a client disconnects from the RSE host during a long running batch fast query for PDS attributes having a large number of members. To recreate: - Set up a Filter for a PDS with a large number of members, - Then select the option "Show in table". - Allow the connection to write to the rsecomm.log and then disconnect the user connection. The CEE dump reports: CEE3204S The system detected a protection exception (System Completion Code=0C4). and 5 fprintf +0000002E CELQLIB HLE77C0 Exception 7 trace +000006DC libfekfmain64.so Call 8 Java_com_ibm_ftt_rse_mvs_server_miners_FFSJNI_queryLockOwner +00000390 libfekfmain64.so Call 9 ZJ9SYM1 +00000000 libj9vm29.so Call 10 runJavaThread +00000332 libj9vm29.so j202012 Call ... The stack trace shows: at com/ibm/ftt/rse/mvs/server/miners/FFSJNI.queryLockOwnerInfo(Nati ve Method) at com/ibm/ftt/rse/mvs/server/filesystem/impl/FFSServerImpl.queryLo ckOwnerInfo(Bytecode PC:5(Compiled Code)) at com/ibm/ftt/rse/mvs/server/miners/MVSFileSystemMiner.getFileLock OwnerFromThreadPool(Bytecode PC:40(Compiled Code)) at com/ibm/ftt/rse/mvs/server/miners/MVSFileSystemMiner.queryLockOw ner(Bytecode PC:35(Compiled Code))
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: 1. security admin * * 2. All RSE users. * * 3. Users running RSE Daemon Operator DISPLAY * * OWNER command with extended lock tracker * * enabled. * * 4. Users running GET lockOwner to retrieve * * the lock owner info for all members of a * * PDS. * * 5. Users running RSE Daemon Operator * * command to display all lock owner info of * * all members of a dataset. * * 6. RSE API users calling commands related * * to query lock owner info. * * 7. RSE users running RSE Daemon Operator * * command to query lock owner info for a * * dataset on a server with extended lock * * tracker enable. * * 8. Users operate dataset archive on tape * * from the GUI. * * 9. Users in a system with improper * * passticket configuration required to work * * with RSE. * * 10. all JMON users * * 11. Users disconnect when still running fast * * query for attributes of a large number of * * members for a dataset. * * 12. all JMON users * * 13. users using STEPS function on job where * * EXEC PGM uses a backward reference * * 14. Users search or browse active * * datasets on tape device * * 15. z/OS Explorer * * 16. IBM support * * 17. sysprog * **************************************************************** * PROBLEM DESCRIPTION: 1. document need for SUPERUSER.FILESYS. * * CHANGEPERMS permit * * 2. If the *timeout* status of a * * ThreadPool is never reset, it will be * * automatically removed from Daemon's * * selection for ever. * * A new ThreadPool eventually will be * * needed to be spawn to handle new * * connection. * * 3. Internal technical design * * modification to let ThreadPool manages * * the lock tracker as it should be and * * as a prep step required to implement * * RSE Daemon Operator command to work * * with the lock tracker. * * 4. At a time, members of a PDS can be * * locked. To query all locks hold on * * the members using RSEAPI, users needs * * to issue a separate command GET * * lockOwner per member. * * 5. At a time, members of a PDS can be * * locked. To query all locks hold on the * * members using RSE Daemon Operator * * command, users needs to issue a * * separate command DISPLAY OWNER per * * member. * * 6. Currently, RSEAPI GET lockOwner * * implementation is based on the * * C_GET_MEMBER_ATTRIBUTE (for PDS member) * * and C_GET_ATTRIBUTE (for SEQ dataset), * * which runs a rexx script to return * * many attributes of the dataset, * * including the lockOwner information * * 7. RSE Daemon Operator operation to * * display a dataset's lock owner is * * processing with the original workflow * * at ThreadPool client mapping level * * only. * * It did not refer to the VSAM in * * resolving the user id as mvsminer.. * * 8. RSE does not support active datasets * * on tape and is supposed to treat these * * datasets as offline to disable * * further operations on these datasets. * * It mistakenly includes also archive * * datasets on tape. * * 9. The RACF rc and rsn codes from * * passticket generation are not logged * * for further trouble shooting. * * 10. Enhancement to avoid $HASP708 * * authorization failure when opening a * * spool file * * 11. The long running query may still be * * running in the background when the * * user disconnects, causing the query * * using resource that might already been * * released by the disconnection. * * 12. JMON enhancement to support * * Trusted TCP * * 13. JMON ABEND U4087 when using STEPS * * function * * 14. zExplorer does not support active * * data sets on tape, which is not a * * common media for active data sets. * * 15. IBM Developer for z Systems * * generated JCL with Scandinavian * * special characters is not starting * * with remote syntax check * * 16. Enhancement to collect * * java.security information with FEKLOGS * * 17. faulty default port in ivpinit.sh * **************************************************************** 1. the RSED started task user ID needs permit to security profile SUPERUSER.FILESYS.CHANGEPERMS in the UNIXPRIV class 2. The *timeout* status of the ThreadPool should be reset when one of its connection is logging off as documented to optimize RSE performance avoiding unnecessary spawning of a new ThreadPool. 3. Extended lock tracker is operate and managed at ThreadPool level, management of the tracker should be done by ThreadPool for RSE (for RSEAPI, it's still be done by mvsminer of the first client connection). In current implementation, ThreadPool reference to the mvsminer's tracker causes a looping dependency. Overall, the implementation of the extended lock tracker should be moved to ThreadPool package. 4. Related reference from RSE: issuing 'Show in Table' for a PDS shows the lock owner info of all members. A similar support is provided by a new RSE API GET command (GET lockInfoAll) as done for RSE Daemon Operator command F <rse_jobName>,APPL=DISPLAY OWNER,DSN=<dsn_name>,ALL 5. Using a GUI client connection, issuing 'Show in Table' for a PDS shows the lock owner info of all members. A similar support is be provided by a new RSE Daemon Operator command: 6. RSE's mvsminer should provide the support for a command to query the lock owner information using the query lock info functionality directly, not including extra information as C_GET_MEMBER_ATTRIBUTE. It is to optimize the RSE API functionality of lock query. F <rse_jobName>,APPL=DISPLAY OWNER,DSN=<dsn_name>,ALL 7. RSE Daemon should be able to use the extended lock tracker feature to resolve the lock owner id as close as possible as mvsminer. 8. RSE mistakenly includes archived dataset on tape instead of only active datasets on tape. 9. The original passticket error leads to a null pointer exception in parsing the result as the command is not executed. The logging of this exception is not helpful and may cause misleading. 10. JMON relied on JES to determine if spool file access is permitted, which caused $HASP708 authorization failure messages for the JMON started task if the user did not have the right permit. With this enhancement, JMON will test access permissions before attempting to open the spool file, and thus avoid the $HASP708 message. 11. The long running thread for the query does not get stop by the miner when it finish. The thread when using released resource cause the dump. 12. Jes Job Monitor enhancement to support Trusted TCP. This can be utilized by other servers interacting with JMON, like z/OS Explorer and Urban Code Deploy. 13. JMON ABEND with user completion code 4087, reason code 00000002 when using STEPS function on job where EXEC PGM uses a backward reference 14. zRSE host may handle the discovery of volsers on tape device incorrectly. The zRSE host now detects the tape device type of non-VSAM dataset in catalog search and will treat these as offline datasets. Browse and Search for these datasets will be skipped. Note: Remote z/OS File Search to skip offline datasets implementation is introduced in APAR PH37195. 15. Using IBM Developer for z Systems with the 'Syntax Check --> Remote' command, the generated JCL has step COBOL.SYSIN. All Scandinavian special characters using code pages 277 and 278 and local Cp1252 cannot be identified correctly. 16. Enhancement to collect java.security information with FEKLOGS 17. faulty default port in z/OS Explorer ivpinit.sh
Problem conclusion
1. sample FEKRACF job & host docs updated 2.reset the ThreadPool's *timeout* status (by Daemon) by the end of the processing of connection log-off from the ThreadPool 3. The implementation of the lock tracker now is included in the zosserver package and can be referred by mvsminer. The lock tracker now is started by ThreadPool (for RSEAPI, it's still be done by mvsminer of the first client connection). ThreadPool now can operate the lock tracker for the RSE Daemon Operator command request to display the lock owner info with the extended lock tracker enabled. 4. The new GET command "GET lockInfoAll" will issue a (new) command C_QUERY_LOCK_INFO_ALL_MEMBERS to read the VSAM tracker and filter out the entries related to the PDS members. The feature is supported only with extended lock owner tracker enabled. 5. The support to show all lock owner info of the members of a PDS is introduced for RSE Daemon Operator command with the extended lock owner info tracker. An active ThreadPool would read the VSAM tracker and filter out the lock entries hold on the members to print out to the console. The info to print includes some more helpful info such as asid, tcb, jobname, system name and the date & time the lock entry is recorded in the VSAM. While the 'Show in Table' info retrieved is done with a client connection with or without extended lock owner tracker, the new Daemon Operator command is done without a client connection and will be supported only with the extended lock tracker enabled. To display without the extended lock info tracker, use the 'Show in Table' instead. 6. RSE's mvsminer now provide the support of C_GET_LOCK_OWNER. RSE API implementation now is simplified to use the new call directly. 7. Move the lock tracker facility to ThreadPool management packaging so ThreadPool can use it as mvsminer in resolving the lock owner info. (Extended lock tracker already operates at ThreadPool level by design.) 8. In the active dataset on tape detection based on device type, check on volsers marked with archived keyword and leave them as is, then proceed with the rest as active datasets and treated them as offline. 9.Adding back the logging of rc, rsn of the original passticket error. Check on process execution environment before parsing the result to avoid the misleading null error logging 10. Enhancement to avoid $HASP708 authorization failure when opening a spool file 11. Adding the cancelation callback to the query call, fired off by the MVS miner when it finishing. So that it can flag the running query thread to stop. Also, register the cancelable handle in the callback table, so it could receive the required cancelation request following up for the stop action on the query of a user from the GUI. 12. Jes Job Monitor enhancement to support Trusted TCP. This can be utilized by other servers interacting with JMON, like z/OS Explorer and Urban Code Deploy. 13. EXEC PGM with a backward reference is now supported 14. The zRSE host now detects the tape device type of non-VSAM dataset in catalog search and will treat these as offline datasets. Include the required properties bundles in the utility package for it to load and work properly. 15. Update JCL generation and submission to use the same encoding that is configured in Eclipse Workspace (Preferences/General/Workspace) to avoid the encoding mismatch during JCL generation and submission. 16. Enhancement to collect java.security information with FEKLOGS 17. corrected typo
Temporary fix
Comments
APAR Information
APAR number
PH39435
Reported component name
EXP FOR Z/OS HO
Reported component ID
5655EXP23
Reported release
320
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2021-07-29
Closed date
2021-10-22
Last modified date
2021-11-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI77775
Modules/Macros
FEJENF70 FEJJCNFG FEJJJCL FEJJMON FEJTSO FEK1SMPE FEK2RCVE FEK3ALOC FEK4ZFS FEK5MKD FEK6DDEF FEK7APLY FEK8ACPT FEK@CERR FEK@CONE FEK@CONF FEK@CUST FEK@DEB FEK@DESC FEK@FLOW FEK@GEN FEK@GENW FEK@ISPF FEK@IVP FEK@IVPD FEK@IVPW FEK@JCN1 FEK@JCNE FEK@JESJ FEK@MAIN FEK@MIGO FEK@OPTE FEK@OPTG FEK@OPTN FEK@PRIM FEK@RSE1 FEK@RSEO FEK@STRT FEK@TAB1 FEK@TAB2 FEK@TAB3 FEK@WRK1 FEK@WRK2 FEK@WRK3 FEK@WRK4 FEK@WRK5 FEKAPPCC FEKAPPCL FEKAPPCX FEKATTR FEKDSI FEKEESX0 FEKFASIZ FEKFATT1 FEKFBLD FEKFCIPH FEKFCLIE FEKFCMOD FEKFCMPR FEKFCMSG FEKFCOMM FEKFCOPY FEKFCOR6 FEKFCORE FEKFDBG FEKFDBG6 FEKFDBGM FEKFDIR FEKFDIR6 FEKFDIVP FEKFDST0 FEKFDST1 FEKFDST2 FEKFENVF FEKFENVI FEKFENVP FEKFENVR FEKFENVS FEKFEPL FEKFERRF FEKFGDGE FEKFICUL FEKFISPF FEKFIVP0 FEKFIVPA FEKFIVPD FEKFIVPI FEKFIVPJ FEKFIVPT FEKFJESM FEKFJESU FEKFJVM FEKFLATR FEKFLDSI FEKFLDSL FEKFLEOP FEKFLOGS FEKFLPTH FEKFMAI6 FEKFMAIN FEKFMINE FEKFMNTL FEKFNTCE FEKFOMVS FEKFPATT FEKFPLUG FEKFPTC FEKFRIVP FEKFRMSG FEKFRSES FEKFRSRV FEKFSCMD FEKFSEND FEKFSSL FEKFSTUP FEKFT000 FEKFT001 FEKFT002 FEKFT003 FEKFT004 FEKFT005 FEKFT006 FEKFT007 FEKFT008 FEKFT009 FEKFT010 FEKFT011 FEKFT012 FEKFT013 FEKFT014 FEKFT015 FEKFT016 FEKFT017 FEKFT018 FEKFT019 FEKFT020 FEKFTIVP FEKFTSO FEKFUTIL FEKFVERS FEKFXITA FEKFXITL FEKFZOS FEKHCONF FEKHCUST FEKHDEB FEKHDESC FEKHFLOW FEKHGEN FEKHISPF FEKHIVP FEKHIVPD FEKHJESJ FEKHMAIN FEKHMIGO FEKHOPTE FEKHOPTN FEKHPRIM FEKHRSE1 FEKHRSEO FEKHSTRT FEKHTAB1 FEKHTAB2 FEKINIT FEKKEYS FEKLOCKA FEKLOGR FEKLOGS FEKM00 FEKM01 FEKM02 FEKMKDIR FEKMOUNT FEKMSGC FEKMSGS FEKRACF FEKRSED FEKSAPF FEKSAPPL FEKSBPX FEKSCLAS FEKSCLOG FEKSCMD FEKSCPYM FEKSCPYU FEKSDSN FEKSENV FEKSETUP FEKSISPF FEKSJCFG FEKSJCMD FEKSJMON FEKSLPA FEKSPROG FEKSPTKT FEKSRSED FEKSSERV FEKSSTC FEKSSU FEKSUSER FEKXCFGE FEKXCFGI FEKXCFGM FEKXCFGT FEKXMAIN FEKXML
Fix information
Fixed component name
EXP FOR Z/OS HO
Fixed component ID
5655EXP23
Applicable component levels
R320 PSY UI77775
UP21/10/30 P F110
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.
[{"Line of Business":{"code":"LOB35","label":"Mainframe SW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSBDYH","label":"IBM Explorer for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"320"}]
Document Information
Modified date:
02 November 2021