Page 1 of 1

doubt for SOC4 abend

PostPosted: Thu Dec 13, 2012 1:41 pm
by priyasingh
while searching about the abend SOC4, i found
Movingdata to a zero address or to an address less than 512 (decimal) is a very frequent cause of this abend.

Can anyone tell me what does 512(decimal) means here?

Re: doubt for SOC4 abend

PostPosted: Thu Dec 13, 2012 2:43 pm
by NicC
Exactly what it says - an address less than 512. Such a low address is reserved by/for the operating system

Re: doubt for SOC4 abend

PostPosted: Thu Dec 13, 2012 2:48 pm
by enrico-sorichetti
see here for the details of hardware architecture
http://www-01.ibm.com/support/docview.w ... c500428f9a

Re: doubt for SOC4 abend

PostPosted: Thu Dec 13, 2012 8:32 pm
by dick scherrer
Hello,

Can anyone tell me what does 512(decimal) means here?
As said above, a memory address below 512.

It means the code has attempted to move data to an address that is not valid to move to by the code.

Re: doubt for SOC4 abend

PostPosted: Fri Dec 14, 2012 6:31 pm
by BillyBoyo
priyasingh,

Can you post where you got that from, please? I've seen a good few S0C4's in my time (caused by program code, rather that doing dumb things with a file which, to be honest, I've never looked at the address of), but other than a zero address, I've never seen one that bore any relationship to and address of "512" or lower and non-zero. Although easy to get a zero address in Cobol, getting an address of 1-512 would be much more tricky, except doing it deliberately.

S0C4 is from accessing storage that in some way you don't have "permission" to address - it is not "your storage" according to the OS (and there is no arguing with it).

Re: doubt for SOC4 abend

PostPosted: Sat Dec 15, 2012 5:50 am
by BillyBoyo
So, it is something according to Chicago Soft's Quik-Ref product.

The 512 is like this: X'0000FF' or X'000000FF' through X'000000' or X'00000000'.

The zero address is easy to create (try to use something which has not had an address established). The X'01'-X'FF' would be difficult to get by accident in Cobol.