APAR status
Closed as Permanent restriction.
Error description
ABENDEC6 RSN0D1A8018 SyscallInvalidState encountered when following JCL is issued. Note specifically that IKJEFT01 is being used to invoke an in-line REXX exec making use of a signal enabled/dependent system call SLEEP (BPX1SLP) and is directing output to a pathname via the SYSTSPRT DD statement: //OMVSPRT JOB 505303JOB,'aaa bbbbb', JOB03051 // MSGLEVEL=(1,1),REGION=0M //* //USERC OUTPUT JESDS=ALL,DEFAULT=YES, // CLASS=R,PAGEDEF=V0648Z,CHARS=GT12 //* //STEP1 EXEC PGM=IKJEFT01 //SYSEXEC DD DISP=(,PASS),UNIT=VIO,SPACE=(CYL,(1,,5)), // RECFM=FB,LRECL=80,DSN=&&SYSEXEC //REXXOUT DD DISP=SHR,DSN=&&SYSEXEC(TERMTEST),VOL=REF=*.SYSEXEC //REXXIN DD DATA,DLM='..' /* Rexx */ signal on novalue trace R say SYSCALLS( 'ON' ) address 'SYSCALL' do I = 1 say I date() time() 'sleep 5'; end exit( RC ) .. //XYSTSPRT DD SYSOUT=(,) //SYSTSPRT DD PATHOPTS=(OCREAT,OTRUNC,ORDWR), // PATHMODE=(SIRUSR,SIWUSR),FILEDATA=TEXT, // PATH='/tmp/&SYSUID/SYSTSPRT', // RECFM=VB,LRECL=199 //SYSTSIN DD * repro infile(REXXIN) outfile(REXXOUT) %TERMTEST // The use of the SYSTSPRT DD directing output to a pathname is causing the process to be dubbed in KEY0, but the REXX must subsequently run in KEY8. The key mismatch causes the aforementioned ABENDEC6.
Local fix
Workaround #1: Use the 'spawn' REXX function to spawn /bin/sh to run the sleep shell cmd. Then, you can use the 'waitpid' function within the REXX exec to wait for the child process to end. Workaround #2: Use BPXBATCH instead of IKJEFT01 to invoke the REXX exec containing USS signal dependent syscalls.
Problem summary
**************************************************************** * USERS AFFECTED: All users of z/OS UNIX System Services * **************************************************************** * RECOMMENDATION: * **************************************************************** BPX1SLP was being used in an environment where a process was dubbed in key 0 and the sleep call was called from a thread in the process with a different key than key 0. This causes an ABENDEC6 RSN0D1A8018.
Problem conclusion
This is a permanent restriction as per the documentation found in z/OS UNIX System Services Programming: Assembler Callable Services Reference The requirements section for the sleep (BPX1SLP/BPX4SLP) syscall states: Authorization: Problem Program or Supervisor State, PSW key when the process was created (not PSW key 0) Some other syscalls with this authorization include: mvssigsetup (BPX1MSS, BPX4MSS) cond_wait (BPX1CWA, BPX4CWA) cond_timed_wait (BPX1CTW, BPX4CTW) pause (BPX1PAS, BPX4PAS) sigsuspend (BPX1SSU, BPX4SSU) sigtimedwait (BPX1STW, BPX4STW) Refer to z/OS UNIX System Services Programming: Assembler Callable Services Reference for authorization levels for specific syscalls.
Temporary fix
Comments
APAR Information
APAR number
OA43356
Reported component name
OPENMVS SYS SRV
Reported component ID
5695SCPX1
Reported release
780
Status
CLOSED PRS
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2013-09-16
Closed date
2013-10-03
Last modified date
2013-10-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Applicable component levels
[{"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":"780","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"780","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
03 October 2013