IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

ONCODE=8094 from IRXLOAD


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
iqbal.mallick

New User


Joined: 13 Dec 2012
Posts: 14
Location: India

PostPosted: Mon Apr 07, 2014 3:43 pm
Reply with quote

Hi,

I have written a simple IRXLOAD to load an rexx exec called CODCOVEX from my personel PDS 'WOK.CLAX.REXX1' into inter-storage location. The DD name that is being used from the JCL is EXECLOAD

Code:
//EXECLOAD      DSN=WOK.CLAX.REXX1,DISP=SHR


The code is below:

Code:
PGM1: PROC OPTIONS(MAIN);                                             
 /*********************************************************************/
 /* COMPILE_DATE                                                      */
 /*********************************************************************/
                                                                       
 /*********************************************************************/
 /* BUILTIN FUNCTIONS                                                 */
 /*********************************************************************/
                                                                       
 /*  LINE INSERTED BY CODE COVERAGE TOOL -  starts  */                 
                                                                       
 DCL SYSNULL     BUILTIN;                                               
 DCL PLIRETV     BUILTIN;                                               
 DCL IRXLOAD ENTRY EXTERNAL OPTIONS(ASSEMBLER RETCODE);                 
 DCL 1 EXECBLK,                                                         
       3 EXECBLK_ACRYN      CHAR(8) INIT('IRXEXECB'),                   
       3 EXECBLK_LENGTH     FIXED BINARY(31) init(48),                 
       3 EXECBLK_reserved   FIXED BINARY(31) init(0),                   
       3 EXECBLK_MEMBER     CHAR(8) init('CODCOVEX'),                   
       3 EXECBLK_DDNAME     CHAR(8) init('EXECLOAD'),                   
       3 EXECBLK_SUBCOM     CHAR(8) init('        '),                   
       3 EXECBLK_DSNPTR     PTR,                                       
       3 EXECBLK_DSNLEN     FIXED BINARY(31) init(25);                 

 DCL 1 INSTBLK,                                                         
       3 INSTBLK_ACRYN      CHAR(8) init('IRXINSTB'),                   
       3 INSTBLK_HDRLEN     FIXED BINARY(31) init(128),                 
       3 INSTBLK_ADDVEC     PTR,                                       
       3 INSTBLK_USERLEN    FIXED BINARY(31) init(72),                 
       3 INSTBLK_MEMBER     CHAR(8) init('CODCOVEX'),                   
       3 INSTBLK_DDNAME     CHAR(8) init('EXECLOAD'),                   
       3 INSTBLK_SUBCOM     CHAR(8) init('        '),                   
       3 INSTBLK_DSNLEN     FIXED BINARY(31) init(25),                 
       3 INSTBLK_DSNNAME    CHAR(54)                                   
                        init('WOK.CLAX.REXX1(CODCOVEX)');       
                                                                       
 DCL 1 EVALBLK,                                                         
       3 EVALBLK_EVPAD1     FIXED BINARY(31),                           
       3 EVALBLK_EVSIZE     FIXED BINARY(31),                           
       3 EVALBLK_EVLEN      FIXED BINARY(31),                           
       3 EVALBLK_EVPAD2     FIXED BINARY(31),                           
       3 EVALBLK_EVDATA     CHAR(256);

 DCL EXECBLK_PTR            PTR;                 
 DCL ARGTABLE_PTR           PTR;                 
 DCL INSTBLK_PTR            PTR;                 
 DCL RESERVED_PARM5         PTR;                 
 DCL EVALBLK_PTR            PTR;                 
 DCL RESERVED_WORKAREA_PTR  PTR;                 
 DCL RESERVED_USERFIELD_PTR PTR;                 
 DCL RESERVED_ENVBLOCK_PTR  PTR;                 
 DCL REXX_RETURN_CODE_PTR   PTR;                 
 DCL ARG1                   CHAR(160);           
 DCL RUNINF                 CHAR(50);           
 DCL FLAGS                  CHAR(4);             
 DCL REXX_RETURN_CODE       FIXED BINARY(31);   
 DCL RETURN_CODE            FIXED BINARY(31);   
                                                 
   EXECBLK_DSNPTR         = SYSNULL;             
   EXECBLK_PTR            = ADDR(EXECBLK);       
                                                 
   EVALBLK_PTR            = ADDR(EVALBLK);       
   EVALBLK_EVPAD1         = 0;                   
   EVALBLK_EVSIZE         = 34;                 
   EVALBLK_EVLEN          = 0;                   
   EVALBLK_EVPAD2         = 0;                   

   INSTBLK_PTR            = ADDR(INSTBLK);                     
   FLAGS                  = '40000000'x;                       
   REXX_RETURN_CODE_PTR   = ADDR(REXX_RETURN_CODE);           
   REXX_RETURN_CODE       = 0;                                 
   INSTBLK_PTR            = SYSNULL;                           
   RESERVED_PARM5         = SYSNULL;                           
   RESERVED_WORKAREA_PTR  = SYSNULL;                           
   RESERVED_USERFIELD_PTR = SYSNULL;                           
   RESERVED_ENVBLOCK_PTR  = SYSNULL;                           
                                                               
 /* Call the REXX exec */                                     
   FETCH IRXLOAD;                                               
                                                               
    CALL  IRXLOAD('STATUS  ',                                 
                 EXECBLK_PTR,                                 
                 INSTBLK_PTR,                                 
                 EVALBLK_PTR,                                 
                 RETURN_CODE);                       

 /* Handle the return code. */       
   PUT SKIP LIST(PLIRETV);           
                                     
 END PGM1;                             


On execution of the above code I am getting
Code:
IBM0534S ONCODE=8094  Protection exception                                   
          From entry point PGM1 at statement 1 at compile unit offset -2160938E  at entry offset -2160938E at address 084F6D3A.   


Code:
  Traceback:                                                                   
    DSA   Entry       E  Offset  Statement   Load Mod             Program Unit
    1     CEEHDSP     +0000422C              CEEPLPKA             CEEHDSP     
    2     PGM1        -2160938E  1           CK7000                           
    3     IBMPMINV    +00000734              IBMPEV11             IBMPMINV     
    4     CEEEV011    +00000224              IBMPEV11             CEEEV011     
    5     CEEBBEXT    +000001C4              CEEBINIT             CEEBBEXT     
                                                                               
    DSA   DSA Addr   E  Addr    PU Addr    PU Offset  Comp Date  Compile Attrib
    1     29B1E750   0946FDF8   0946FDF8   +0000422C  20131101   CEL           
    2     29B1E420   29B000C8   29B000C8   -2160938E  20140407   ENT PL/I EBCDI
    3     29B1E1A8   0B17E830   0B17E830   +00000734  20111006   LIBRARY       
    4     29B1E118   0B074118   0B074118   +00000224  20121022   LIBRARY       
    5     29B1E018   00CF29C0   00CF29C0   +000001C4  20110318   CEL           
                                                                               
  Condition Information for Active Routines                                   
    Condition Information for  (DSA address 29B1E420)                         
      CIB Address: 29B1F048                                                   
      Current Condition:                                                       
      CEE0198S The termination of a thread was signaled due to an unhandled condition.
   Original Condition:                                                     
     CEE3204S The system detected a protection exception (System Completion  Code=0C4).
  Location:                                                   
    Program Unit:  Entry: PGM1 Statement: 1 Offset: -2160938E
  Machine State:                                             
  ILC..... 0000    Interruption Code..... 0004                           
  PSW..... 078D1600 884F6D3A                                             
  GPR0..... 00000000_29B1E508  GPR1..... 00000000_29B1E4B8  GPR2..... 000
  GPR4..... 00000000_29B1E4C8  GPR5..... 00000000_29B1E640  GPR6..... 000
  GPR8..... 00000000_A9B1E4EC  GPR9..... 00000000_00000004  GPR10.... 000
  GPR12.... 00000000_00019BD8  GPR13.... 00000000_29B1E420  GPR14.... 000
  FPC...... F0000000                                                     
  FPR0..... 26100000  00000000            FPR1..... 00000000  00000000   
  FPR2..... 18000000  00000000            FPR3..... 00000000  00000000   
  FPR4..... 00000000  00000000            FPR5..... 00000000  00000000   
  FPR6..... 00000000  00000000            FPR7..... 00000000  00000000   
  FPR8..... 00000000  00000000            FPR9..... 00000000  00000000   
  FPR10.... 00000000  00000000            FPR11.... 00000000  00000000   
  FPR12.... 00000000  00000000            FPR13.... 00000000  00000000   
  FPR14.... 00000000  00000000            FPR15.... 00000000  00000000   
Onchar=    Character causing conversion error                           


I will be very glad if anyone can help me in resolving this issue
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Apr 07, 2014 4:51 pm
Reply with quote

did You check the compile and linkage editor return codes ???
Back to top
View user's profile Send private message
iqbal.mallick

New User


Joined: 13 Dec 2012
Posts: 14
Location: India

PostPosted: Mon Apr 07, 2014 5:00 pm
Reply with quote

Hi Enrico,

Thanks for your reply.

There seems to be no problem in compiler and linkage section. Both the step ended with RC=0

Compiler message
Code:
15655-W67  IBM(R) Enterprise PL/I for z/OS       PGM1: PROC OPTIONS(MAIN);     
- Compiler Messages                                                             
0 Message       Line.File Message Description                                   
0 IBM2609I W      82.0    Comment contains a semicolon on line 86.0.           
  IBM1043I I      95.0    SYSPRINT is contextually declared as FILE.           
- File Reference Table                                                         
0   File    Included From  Name                                                 
0      0                   G262832.WOK.CLAX.REXX1(NSTBLK)                       
- Component    Return Code    Messages (Total/Suppressed)    Time               
0 MACRO            0                0  /  0                   0 secs           
  Compiler         4                3  /  1                   6 secs           


Linkage(bind) section
Code:
1----------------------                     
 MESSAGE SUMMARY REPORT                     
 ----------------------                     
  TERMINAL MESSAGES      (SEVERITY = 16)     
  NONE                                       
                                             
  SEVERE MESSAGES        (SEVERITY = 12)     
  NONE                                       
                                             
  ERROR MESSAGES         (SEVERITY = 08)     
  NONE                                       
                                             
  WARNING MESSAGES       (SEVERITY = 04)     
  NONE                                       
                                             
  INFORMATIONAL MESSAGES (SEVERITY = 00)     
  2008  2278  2322                           
                                             
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Mon Apr 07, 2014 8:48 pm
Reply with quote

Code:
      3 INSTBLK_DSNNAME    CHAR(54)                                   
                        init('WOK.CLAX.REXX1(CODCOVEX)');


looks ok as it is 54 bytes - max 44 bytes for dsname, 2 for () and max 8 for member name. But then, why specify the member separately a few lines further up? Maybe that is the requirement for that block but...
Back to top
View user's profile Send private message
iqbal.mallick

New User


Joined: 13 Dec 2012
Posts: 14
Location: India

PostPosted: Mon Apr 07, 2014 9:40 pm
Reply with quote

So as your suggesting should i specify only the dsnname without the member?
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Tue Apr 08, 2014 3:03 am
Reply with quote

I have no idea! What does the documentation say? Or, more reasonably, what happened when you tried it?
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1306
Location: Vilnius, Lithuania

PostPosted: Tue Apr 08, 2014 3:19 am
Reply with quote

IBM has a wonderful product called "Debug Tool", and PL/I has a quite a few prefixes you can use to detect errors at run-time. Use "STRINGRANGE,STRINGSIZE,SUBSCRIPTRANGE".

And DO NOT suppress any compiler messages!
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1788
Location: Bloomington, IL

PostPosted: Wed Apr 09, 2014 2:11 am
Reply with quote

When you set INSTBLK_PTR to SYSNULL, does this not result in passing an invalid address to IRXLOAD?
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Wed Apr 09, 2014 2:54 am
Reply with quote

Quote:
When you set INSTBLK_PTR to SYSNULL, does this not result in passing an invalid address to IRXLOAD?

I agree that that looks suspicious.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts writing into VSAM indexed tabl in PL1... PL/I & Assembler 8
No new posts IBM0472S ONCODE=290 The INVALIDOP PL/I & Assembler 18
No new posts IRXLOAD Sample Example CLIST & REXX 6
No new posts Undocumented ONCODE 8843? PL/I & Assembler 2
No new posts PLI RUN MESSAGE:ONCODE=8097 ABENDS & Debugging 5
Search our Forums:

Back to Top