Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Fault Analyzer display question

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IBM Tools
View previous topic :: :: View next topic  
Author Message
John Poulakos

New User


Joined: 13 Jun 2012
Posts: 49
Location: United States

PostPosted: Tue Apr 22, 2014 10:48 pm    Post subject: Fault Analyzer display question
Reply with quote

I am trying to determine if Fault Analyzer will display Access Registers (AR) and data space memory. If doesn't seem to be able to display data space memory even when the fault occurs because of bad data in the data space. For example, a S0C7 due to bad packed data in the data space.

Is this a limitation of FA or of the type of dump taken?
Back to top
View user's profile Send private message

Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Wed Apr 23, 2014 7:46 pm    Post subject:
Reply with quote

I know that FA shows the working storage and linkage fields here. Even if there is no sysdebug file, it gives you the storage in a formatted hex display.

Not sure about the registers...I see general registers, but don't really know what (AR) means.

Take a look near the very bottom of the report. There should be a list of report options like:
Detail(Medium)
NoErrorHandler
Language(ENU)
NoLocale
MaxMiniDumpPages(4096) - not exceeded
NoDup(CICSfast(5),NoIncludeExecCicsDump) - not a duplicate
NoDup(ImageFast(5)) - not a duplicate
NoDup(Normal(0),NoJobname) - not enabled
NoPermitLangx
PreferredFormattingWidth(80)

The values for these are in the manual (when you have about two hours for reading). You can play with those if you want. To rerun a dump from an existing fault, use the 'b' line command. It will build some JCL for you to reprint the existing dump with different options. (It's the IDIDA program)
Back to top
View user's profile Send private message
John Poulakos

New User


Joined: 13 Jun 2012
Posts: 49
Location: United States

PostPosted: Fri Apr 25, 2014 6:49 pm    Post subject:
Reply with quote

I appreciate your response, but so far it's not looking good. I think real-time analysis will chase addresses outside of the failing address space, but not sure if it will access dataspace storage. There are no options for displaying access registers that I have found. I have asked several people at IBM who support FA and they don't know either.
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Fri Apr 25, 2014 7:24 pm    Post subject:
Reply with quote

Can you dumb it down a little for me? What is it you are trying to see? I'm not familiar with the terms 'access dataspace' and 'access registers.'
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Fri Apr 25, 2014 8:13 pm    Post subject: Reply to: Fault Analyzer display question
Reply with quote

Ed,

John is referring to "Access Registers", which contain the address of data found in "Dataspaces". If I'm not mistaken, a single Access Register can address up to 2G, making it an ideal method to store data.

In order to gain access to Access Register data, the program must be in "Access Space Control", also known as "AR" mode.

This LINK will go over some of this -

http://pic.dhe.ibm.com/infocenter/zos/v1r12/index.jsp?topic=%2Fcom.ibm.zos.r12.ieaa600%2Ffqar.htm

Incidentally, we're speaking Assembler here.

HTH....
Back to top
View user's profile Send private message
John Poulakos

New User


Joined: 13 Jun 2012
Posts: 49
Location: United States

PostPosted: Fri Apr 25, 2014 8:32 pm    Post subject:
Reply with quote

What an application programmer sees is his "sandbox". The memory you see is what's in your address space, the registers you see are those in your storage key state. However, there are many dataspaces on a modern mainframe. Each started task controls a dataspace and may permit it's storage to be used by programs running in batch, online or other dataspaces. Each stored procedure invoked by Work Load manager creates a storage space; very difficult to get to because they are dynamically allocated.

Access registers control the storage you address depending on the storage protect key you are operating under. For example, if I am in supervisor state, the 16 registers I see will not be the same as those I would see if I was in user state, because they would be looking a different storage pools. This might help a little: http://publib.boulder.ibm.com/infocenter/zos/basics/index.jsp?topic=/com.ibm.zos.zconcepts/zconcepts_95.htm

Much of the software I'm responsible for is controlled by our own started tasks and may run in protect key 0 or 6 (supervisor state). CICS uses multiple storage protect keys and we need to know which state they are in when they communicate with us. Consequently, being able to see storage in dataspaces and access registers is a big deal for debugging, for us.


My current task (for the last year or more) has been to provide better performance, diagnostic, debugging and monitoring facilities than we had before. So, I ask a lot of questions that might not make a lot of sense to a lot of people.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Fri Apr 25, 2014 9:15 pm    Post subject: Reply to: Fault Analyzer display question
Reply with quote

John,

I asked one of the MVS Sysprogs in my shop about "Access Registers" displayed in IFA and he said he's seen them before (occasionally) but for the most part, no.

And yes, KEY 0 for Batch, but I'd be a somewhat leery of KEY 0 in CICS.

FWIW, I've never used Access Registers in a CICS/Assembler program.

I'm willing to bet that XDC, from Cole Software, can give you what you're looking for and more. Unfortunately, it's not cheap. But for Assembler de-bugging, it's the best.

http://www.colesoft.com/colesoft-products/about-zxdc/

That's about all I can offer....
Back to top
View user's profile Send private message
steve-myers

Active User


Joined: 30 Nov 2013
Posts: 460
Location: The Universe

PostPosted: Fri Apr 25, 2014 11:12 pm    Post subject:
Reply with quote

As Mr. O'Boyle says, an "access register" is used to address data in a data space. Setting up a data space is just a bit difficult. To get the full functioning you do need to be in key 0 supervisor, but problem key/ problem state programs can use it, though I've never seen it done. I've seen hints that some programmers use the access registers for temporary storage, which can be done by anyone. Mr. O'Boyle is incorrect in one aspect: the access register just indicates the data space, not any particular address in the data space.

Each general purpose register has a corresponding access register. If your program is in access register mode (e.g., your program has issued a SAC 512 instruction) AND your program is using a general purpose register to access storage AND the corresponding access register is non-zero the machine will use the data space. If the data space is linked to a VSAM linear data set, the paging supervisor will fetch the corresponding page from the LDS, but much slower than it would fetch the page from a page data set. Your program must tell the system to update the LDS if it has changed the page, which may be a weakness in the scheme; it is not done automagically. In other words, if a data space is linked to an LDS, your program should regard it as sort of a BDAM data set with 4K records.

By the way, a program in AMODE 24 can only use a 16 meg data space.

IPCS can access a data space provided it is part of the dump, which must be done very carefully; it is not usually there.
Back to top
View user's profile Send private message
Bill O'Boyle

CICS Moderator


Joined: 14 Jan 2008
Posts: 2502
Location: Atlanta, Georgia, USA

PostPosted: Fri Apr 25, 2014 11:23 pm    Post subject: Reply to: Fault Analyzer display question
Reply with quote

Steve,

I did indicate that the access register pointed to data in a dataspace -
Quote:

John is referring to "Access Registers", which contain the address of data found in "Dataspaces".

Perhaps I should have said the address of data which had been previously loaded into the Dataspace? But, I believe he knew what I meant.

Semantics....
Back to top
View user's profile Send private message
John Poulakos

New User


Joined: 13 Jun 2012
Posts: 49
Location: United States

PostPosted: Fri Apr 25, 2014 11:57 pm    Post subject:
Reply with quote

Ed asked for a "dumbed down" explanation; perhaps I went too far in that direction. But, I'm aware of what you gentlemen meant.

We already use XDC, which works fine for interactive debugging; although not the easiest tool to use. My exploration of FA is due to it being cheaper and it would be nice to do re-analysis of client dumps. Getting a plain dump from a client can be a real pain in the ass, especially CICS and CE dumps.

With respect to FA, I believe I may be able to get at dataspace storage while doing real-time analysis, but I haven't been able to prove that one way or another. It doesn't help with client dumps, anyway.

I have installed FA, APA, and much of the OmegaMon suite. I am currently installing Colesoft Z/XPF and will work on IPCS after that. The main objective is to get a better way to identify and resolve client issues. A secondary objective is to get better versed in the tools our clients use.
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Mon Apr 28, 2014 7:35 pm    Post subject:
Reply with quote

"Ed asked for a "dumbed down" explanation; perhaps I went too far in that direction."

Ouch.

Did you ever see the movie "As Good as it Gets?" There is a line right after Jack tells Helen that "you make me want to be a better man." When she tells him is the nicest thing anyone has ever said to her, he completely ruins it by saying "Maybe I overshot a little." To me, this has always been the best line in the whole movie.
Back to top
View user's profile Send private message
John Poulakos

New User


Joined: 13 Jun 2012
Posts: 49
Location: United States

PostPosted: Mon Apr 28, 2014 11:20 pm    Post subject:
Reply with quote

Sorry Ed, no offense meant. Some of the crap I work with is very esoteric and I never know how deep to get into it. I saw the movie and definitely overshot!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> IBM Tools All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts How to display value of an exit param... lind sh CICS 2 Sun Oct 09, 2016 12:28 pm
This topic is locked: you cannot edit posts or make replies. DSList (3.4) cannot display Chinese c... jacobdng TSO/ISPF 4 Wed Oct 05, 2016 2:51 pm
No new posts 24x7 online logs using DSN1LOGP (simi... SRICOBSAS DB2 3 Thu Aug 18, 2016 11:52 am
No new posts XFACILIT class setting for Fault Anal... egrove IBM Tools 2 Thu Aug 11, 2016 8:02 pm
No new posts Fault Analyser - missing code explana... egrove IBM Tools 1 Thu Aug 11, 2016 5:55 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us