MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

ABENDED S0C4 IN PROGRAM IGZCPCO any hint?

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Problem Determination
View previous topic :: View next topic  
Author Message
gupta
Beginner


Joined: 12 Feb 2005
Posts: 27
Topics: 15

PostPosted: Sun Sep 18, 2005 12:08 am    Post subject: ABENDED S0C4 IN PROGRAM IGZCPCO any hint? Reply with quote

Hi all,

I am getting S0C4 when i am writing to VSAM file.
The message is

CAPE022I JOB09404 S040 ABENDED S0C4 IN PROGRAM IGZCPCO AT OFFSET +004406.
IEA995I SYMPTOM DUMP OUTPUT
SYSTEM COMPLETION CODE=0C4 REASON CODE=00000010
TIME=12.34.50 SEQ=39172 CPU=0000 ASID=0079
PSW AT TIME OF ERROR 078D0000 800359EE ILC 4 INTC 10
ACTIVE LOAD MODULE ADDRESS=000315E8 OFFSET=00004406
NAME=IGZCPCO

The VSAM structure is:

DEF CL( -
NAME(SMAP.TEST.SUMP.VSKSDS) -
INDEXED -
CYL(3 1) -
KEYS(11 0) -
SHR(2 3) -
RECSZ(30 6030) -
) -
DATA ( -
NAME (SMAP.TEST.SUMP..DATA) -
CISZ(8192) -
) -
INDEX ( -
NAME (SMAP.TEST.SUMP..INDEX) -
CISZ(512) -
)

The VSAM file is init first and opened in I-O mode, the file is opened with status 00.

Can any any tell me how to solve this

Thanks
Gupta
Back to top
View user's profile Send private message
Phantom
Data Mgmt Moderator
Data Mgmt Moderator


Joined: 07 Jan 2003
Posts: 1056
Topics: 91
Location: The Blue Planet

PostPosted: Sun Sep 18, 2005 5:01 am    Post subject: Reply with quote

Gupta,

S0C4 could have been caused by several reasons (Invalid address). How do you say that you got S0C4 only during a WRITE operation ?
Thanks,
Phantom
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12375
Topics: 75
Location: San Jose

PostPosted: Sun Sep 18, 2005 8:52 am    Post subject: Reply with quote

Gupta,

Check this link for a detailed explanation of the abend oc4. You need to check the reason code 10.

Code:


  0C4
    System ABEND: S0C4

    Description:  This ABEND is caused by a hardware detected virtual
                  address translation error, or a storage protection
                  violation. The cause of the error is indicated by the
                  reason code, as follows:

    Reason Code                Description
    -----------------------------------------------------------------------

           4      Protection exception. The key of the storage area that
                  the running program tries to access is different from
                  that of the running program. The key of the running
                  program can be obtained from the PSW key field. The
                  key of the storage can be obtained using the IPCS LIST
                  subcommand. The programmer should determine whether
                  the program is running with the correct key or whether
                  the storage address is set up correctly.

                  The protection exception might have occurred when the
                  program referenced a page that is protected with the
                  PGSER PROTECT service, or is defined as shared by the
                  IARVSERV service with a view of read-only.

           10     Segment-translation exception. This error is caused by
                  one of the following:

                  o   A program that was running disabled attempted to
                      reference storage while the page table for that
                      storage was paged out. To correct the error,
                      page-fix the storage before a program running
                      disabled attempts to reference it.

                  o   A program attempted to reference storage that had
                      not been obtained. To correct the error, allocate
                      the storage before attempting to reference it.

                  o   A program running in a subspace attempted to
                      reference storage that was not accessible to the
                      subspace at the time of error. To correct the
                      error, ensure that the program running in a
                      subspace references only the storage assigned to
                      that subspace, or storage that can be referenced
                      by all subspaces.


           11     Page-translation exception. This error is caused by
                  one of the following:

                  o   A program that was running disabled attempted to
                      reference storage while that storage was paged
                      out. To correct the error, page-fix the storage
                      before a program running disabled attempts to
                      reference it.

                  o   A program attempted to reference storage that had
                      not been obtained. To correct the error, allocate
                      the storage before attempting to reference it.

                  o   A program running in a subspace attempted to
                      reference storage that was not accessible to the
                      subspace at the time of error. To correct the
                      error, ensure that the program running in a
                      subspace references only the storage assigned to
                      that subspace, or storage that can be referenced
                      by all subspaces.

                  o   SMS abend. The reason code is X'12C'.


           2B     ASTE-validity exception. This error is caused by one
                  of the following:

                  o   During access-register translation, except as in
                      the case of the following bullet, the access-list
                      entry used designates an ASN-second-table entry in
                      which bit 0 is not zero. The access-list entry is
                      the one designated by the access register used.

                  o   During access-register translation of ALET 1 by
                      BRANCH IN SUBSPACE GROUP, the subspace-ASTE origin
                      (SSASTEO) in the dispatchable-unit control table
                      designates an ASN-second-table entry in which bit
                      0 is not zero.

                  o   During a subspace-replacement operation, the
                      subspace-ASTE origin (SSASTEO) in the
                      dispatchable-unit control table designates an
                      ASN-second-table entry in which bit 0 is not zero.

           2C     SMS abend. The reason code is X'12C'.

           38     ASCE Type exception. This error is caused by one of
                  the following:

                  o   A program attempted to reference storage that had
                      not been obtained. To correct the error, allocate
                      the storage before attempting to reference it.

                  o   A program running in 64-bit addressing mode used a
                      31-bit pointer that had the high order bit on.

                      Note:  Programs running in 31-bit mode using
                             4-byte pointers often use the high order
                             bit of a 4-byte pointer to indicate 31-bit
                             addressing mode, versus 24-bit mode. Also,
                             certain instructions will set the high
                             order bit on in registers to indicate
                             addressing mode.

                  o   A program running in 64-bit addressing mode loaded
                      a 31-bit pointer into a 64-bit register and did
                      not clear the high half of the register. To
                      correct the error, ensure that the program running
                      in 64-bit addressing mode clears the 33 high-order
                      bits of any register when loading a 31-bit pointer
                      into that register.


           39     Region-First exception. This error is caused by one of
                  the following:

                  o   A program attempted to reference storage that had
                      not been obtained. To correct the error, allocate
                      the storage before attempting to reference it.

                  o   A program running in 64-bit addressing mode used a
                      31-bit pointer that had the high order bit on.

                      Note:  Programs running in 31-bit mode using
                             4-byte pointers often use the high order
                             bit of a 4-byte pointer to indicate 31-bit
                             addressing mode, versus 24-bit mode. Also,
                             certain instructions will set the high
                             order bit on in registers to indicate
                             addressing mode.

                  o   A program running in 64-bit addressing mode loaded
                      a 31-bit pointer into a 64-bit register and did
                      not clear the high half of the register. To
                      correct the error, ensure that the program running
                      in 64-bit addressing mode clears the 33 high-order
                      bits of any register when loading a 31-bit pointer
                      into that register.


           3A     Region-Second exception. This error is caused by one
                  of the following:

                  o   A program attempted to reference storage that had
                      not been obtained. To correct the error, allocate
                      the storage before attempting to reference it.

                  o   A program running in 64-bit addressing mode used a
                      31-bit pointer that had the high order bit on.

                      Note:  Programs running in 31-bit mode using
                             4-byte pointers often use the high order
                             bit of a 4-byte pointer to indicate 31-bit
                             addressing mode, versus 24-bit mode. Also,
                             certain instructions will set the high
                             order bit on in registers to indicate
                             addressing mode.

                  o   A program running in 64-bit addressing mode loaded
                      a 31-bit pointer into a 64-bit register and did
                      not clear the high half of the register. To
                      correct the error, ensure that the program running
                      in 64-bit addressing mode clears the 33 high-order
                      bits of any register when loading a 31-bit pointer
                      into that register.


           3B     Region-Third exception. This error is caused by one of
                  the following:

                  o   A program attempted to reference storage that had
                      not been obtained. To correct the error, allocate
                      the storage before attempting to reference it.

                  o   A program running in 64-bit addressing mode used a
                      31-bit pointer that had the high order bit on.

                      Note:  Programs running in 31-bit mode using
                             4-byte pointers often use the high order
                             bit of a 4-byte pointer to indicate 31-bit
                             addressing mode, versus 24-bit mode. Also,
                             certain instructions will set the high
                             order bit on in registers to indicate
                             addressing mode.

                  o   A program running in 64-bit addressing mode loaded
                      a 31-bit pointer into a 64-bit register and did
                      not clear the high half of the register. To
                      correct the error, ensure that the program running
                      in 64-bit addressing mode clears the 33 high-order
                      bits of any register when loading a 31-bit pointer
                      into that register.

    User Action:  Correct the program logic error that generated the invalid
                  address or storage reference. When analyzing the dump,
                  remember that the PSW saved when an 0C4 abend occurs may
                  point at the failing instruction or it may point at the
                  next instruction after the failing instruction.

                  Check to ensure that your program is obtaining, using, and
                  freeing storage properly.  Moving data to a zero address
                  or to an address less than 512 (decimal) is a very
                  frequent cause of this abend.

                  Possible causes for this abend include:

                  COBOL: Invalid address was referenced due to subscript error
                         or bad parameter passed
                         In group move, receiving record variable length
                            defined incorrectly
                         Tried moving variable length record that was larger
                            than target field size
                         Tried to read or write a file which was not open
                         Used DD DUMMY with logic that moves high values to
                          FD
                         Tried to call within COBOL SORT I/O procedure
                         Tried to "goback" in the SORT output procedure


_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Problem Determination All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group