View previous topic :: View next topic
|
Author |
Message |
gaurav.rajvanshi
New User
Joined: 08 Jul 2010 Posts: 23 Location: Mainframe World
|
|
|
|
I am facing a regular abend which shows the following message in spool:
An S04E abend occurred.
*******************************************
* Analysis of Error *
*******************************************
DB2 has returned a 00E7000C reason code after a S04E abend
An invalid address supplied by the application program was found.
Probable cause:
The parameter list for the SQL statement has been overlaid.
Notify the system programmer.
I have an SQL in the program which selects data from a table, which returns the above error when the query tries to fetch the record. Also, i see one more thing in the spool:
ADDRESS = 40D815C8 *** Invalid ***
:DCLGEN-FIELD CHAR(2)
I have consulted the DBAs on this and they confirmed there is no corruption in DB2.
Could someone please guide as to what can be the possible resolution to this. |
|
Back to top |
|
|
gylbharat
Active Member
Joined: 31 Jul 2009 Posts: 565 Location: Bangalore
|
|
|
|
Can you please post the entire error message from the spool in the code tags. What i think is there is a problem with the DCLGEN ... |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
Back to top |
|
|
gaurav.rajvanshi
New User
Joined: 08 Jul 2010 Posts: 23 Location: Mainframe World
|
|
|
|
Bharat,
Forgot to mention but the issue occurs on any one value randomly. To restart the job, i delete the current record and the job runs smooth. The job is scheduled a daily run and it abends daily on any random value. |
|
Back to top |
|
|
sushanth bobby
Senior Member
Joined: 29 Jul 2008 Posts: 1020 Location: India
|
|
|
|
gaurav,
The basic explanation for the error is
Quote: |
"The application program supplied an invalid address." |
Check the link pointed by peter, it will explain what's happening.
Post the entire message from spool, DCLGEN and you said it occurs randomly, post both type of input records from the file.
Thanks,
Sushanth |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
gaurav.rajvanshi wrote: |
Bharat,
Forgot to mention but the issue occurs on any one value randomly. To restart the job, i delete the current record and the job runs smooth. The job is scheduled a daily run and it abends daily on any random value. |
Assuming it is DB2, it is not a "record" you are deleting, as DB2 does not have records.
I find it difficult to believe that your prod is failing daily, you delete "whatever" and everything is then "smooth". When you get around to fixing the problem, are you going to put back all the deleted data? |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
assuming this is static sql, since a pvar is being corrupted.
even if the dclgen was bad,
it would not matter,
the bind will catch most problems.
1. what version of db2 are you running?
2. I suggest that your code (and not your sql) is doing something to corrupt your own storage.
3. as bill said, deleting a record to avoid the problem qualifies you to be a US congressman, senator or even president. But, you are totally unqualified to say:
Mainframe Skills: COBOL,JCL, DB2, CICS
the sqlcode is indicating corrupt storage.
until you find and correct the code that is corrupting your storage
I can only hope that your site is not one that is being outsourced by a company that I do business with. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
Quote: |
I am facing a regular abend |
if it is regular it is not an abnormal event any longer,
it should be considered a feature and documented as such |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
enrico-sorichetti wrote: |
Quote: |
I am facing a regular abend |
if it is regular it is not an abnormal event any longer,
it should be considered a feature and documented as such |
I kinda like this enrico :-)
Run Notes for Job ID10TDB2
This Job is failing every run with a System Error (sic). We have investigated the program code thoroughly, and have established that this is a feature of the code.
We have included new code which will display, as each piece of data is processed, a command to delete the data if the feature is utilised for that data.
We have provided a rexx (sic) to take the list of commands and execute the last one. This will remove the data which initiated the feature and ID10TDB2 can then be restarted. Please ignore any error messages from the rexx.
Yours,
The High-Profile Development Team |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
gaurav.rajvanshi wrote: |
[...]
ADDRESS = 40D815C8 *** Invalid ***
:DCLGEN-FIELD CHAR(2)
[...] |
It can be co-incidence, but the "address" above is "Space, Q, New Line, H".
If you are using AMODE 24, your "address" has definitely been over-written. If not 24 maybe not, but three clear keyboard characters and a possible for an application use is to me a steep co-incidence. If not 24, how is the address invalid?
Mainly how programs screw addresses is by over-writing save areas, but there are other possibilities.
I would try to search the dump for the "address". If it happens to turn up in a block of some sort of text.... find all occurences, note down addresses, caculate where those are, look at what those areas should contain. If you're getting anywhere this way, you then just have to find out how it happened.
Otherwise, just do all the usual stuff. Dump on screen, listings on desk, pencil, back of some old listing for calculations, notes, etc, steady supply of coffee, eye on the clock because you know the OPS will have to escalate in two hours time if you haven't got anywhere with it. If you start going in circles, take a break away from your desk for five minutes (usually a side-effect of the steady supply of coffee anyway) and re-start, forgetting everything you "know" about it, because it is likely something you "know" which is wrong.
That is the "usual" way you operate, or similar? |
|
Back to top |
|
|
BrantleyL
New User
Joined: 03 Jun 2010 Posts: 14 Location: Dallas TX
|
|
|
|
We also receive this abend with some regularity. If you look in your DB2 "Job" (ours is DB2PMSTR), this is what we find:
Code: |
05.59.15 STC09881 DSNT375I -MKDB2P PLAN=NMPM7550 WITH 914
914 CORRELATION-ID=0000NMPP7550
914 CONNECTION-ID=NMPP7550
914 LUW-ID=NMGNET.DB2PV.C821B223F421=144414
914 THREAD-INFO=OPCPROD:*:*:*
914 IS DEADLOCKED WITH PLAN=NMPM7260 WITH
914 CORRELATION-ID=0000NMPP7260
914 CONNECTION-ID=NMPM7260
914 LUW-ID=NMGNET.DB2PV.C821ABA899BC=144102
914 THREAD-INFO=OPCPROD:*:*:*
914 ON MEMBER DB2P
05.59.15 STC09881 DSNT501I -MKDB2P DSNILMCL RESOURCE UNAVAILABLE 915
915 CORRELATION-ID=0000NMPP7550
915 CONNECTION-ID=NMPP7550
915 LUW-ID=NMGNET.DB2PV.C821B223F421=144414
915 REASON 00C90088
915 TYPE 00000304
915 NAME NMPD001 .NMPG170 .X'064B1D' '.X'1F'
|
So program NMPM7550 was deadlocked with NMPM7260. This program is restartable, so the abending job was restarted after the other one finished. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Brant,
I'm not clear about what you are saying.
Are you saying the you regularly get S0C4, yours is caused by "deadlock", you wait until Job 1 finishes before restarting Job 2 and you think this is what is happening with TS's problem?
Or is there a question?
I've a question or two for you.
- Who gets charged for the wasted resources when a job fails?
- Why do you accept as "normal" (not an abend anymore, see above) a situation your system design has not coped with?
- What do you do when a deadlock is caused, not for the "normal" reason, but for some new one you don't know of yet?
I could go on (some say I do, no doubt0/ |
|
Back to top |
|
|
BrantleyL
New User
Joined: 03 Jun 2010 Posts: 14 Location: Dallas TX
|
|
|
|
Bill,
S04E (not S0C4)...
Yes, from what happens here, that could be the problem. For sure, they should check what's in DB2PSTR (if that's the right job).
On your questions...
In an old job, we would have been charged - based on the accounting code in the job - but here, the company just pays for all the CPU.
Our system has several tables that are updated in NUMEROUS places. We typically have frequent commits, but sometimes (more so with our old SLOWER CPU) things bog down. This may be the cause here. Hard to say for sure. We also get -911s. Which we also just restart. Most of our programs are written to be restartable. |
|
Back to top |
|
|
gaurav.rajvanshi
New User
Joined: 08 Jul 2010 Posts: 23 Location: Mainframe World
|
|
|
|
dbzTHEdinosauer wrote: |
3. as bill said, deleting a record to avoid the problem qualifies you to be a US congressman, senator or even president. But, you are totally unqualified to say:
Mainframe Skills: COBOL,JCL, DB2, CICS
the sqlcode is indicating corrupt storage.
until you find and correct the code that is corrupting your storage
I can only hope that your site is not one that is being outsourced by a company that I do business with. |
I had analyzed the problem and got the program corrected.
Till the time, I get to any permanent solution, the only way was to delete the corrupt record from the file and keep the job running. I only put my problem in the forum to get any sort of good help and not asking people to check my eligibility to become a US politician or something |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10872 Location: italy
|
|
|
|
follow on
Quote: |
if it is regular it is not an abnormal event any longer,
it should be considered a feature and documented as such |
found somewhere, seen it more than 10 years ago |
|
Back to top |
|
|
sushanth bobby
Senior Member
Joined: 29 Jul 2008 Posts: 1020 Location: India
|
|
|
|
Good one... Enrico.. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Reminds me of an old sales slogan:
"Let's slap some lipstick on this pig".
heh heh heh
d |
|
Back to top |
|
|
|