I was just looking at this since my memory is rusty, if not gone.
Rob will have to correct this with module and nucleus extension names
for z/VM 6.4 and on. If you are impatient, NUCXMAP will get you the
name of the main module nucelus extension; the module name is likely
DMSPIPE.
The check is for a message severity code C'R' in the message text table,
FPLMTX.
First, you need to find the address of FPLMTX in the nucleus extension
for the main pipeline module. It has:
1. A fullword of zeros,
2. The highest message number in the table,
3. Negative offsets from the address to message texts for message 0, 1,
and so on. Zero means message not present.
Each message has this format:
1. One byte message level.
2. One byte text length.
3. Text.
My suggestion is that you start at
http://vm.marist.edu/~pipeline/diagnost.html
Look for "Setting breakpoints".
getep fplmtx nxpipe pipmod
FPLMTX is at offset 000310C0 from 03DF2000 = 3E230C0
d t3E230C0.30
R03E230C0 00000000 0000063C FFFFE70C FFFFE6EF F4 *..........X...W.*
R03E230D0 FFFFE6DF FFFFE6CC FFFFE6A5 00000000 *..W...W...Wv....*
R03E230E0 00000000 00000000 00000000 00000000 *................*
say addrsub('3e230c0', 'ffffe70c')
3E249B4
Ready; T=0.01/0.01 13:37:25
d t3E249B4.30
R03E249B0 FFFF5C75 FFFF5C56 FFFF5C3A C51CD596 F4 *..*...*...*.E.No*
R03E249C0 409485A2 A2818785 40A385A7 A3408696 * message text fo*
R03E249D0 99409485 A2A28187 8540FF01 00F00D4B *r message ...0..*
R03E249E0 4B4B40D9 A4959589 9587407F FF01017F *.. Running "..."*
As you can see, I used the wrong base for the resolution of the message
text; it should be increased by 8 for message 0, and so on.
Then use CP store to change the message level.
To automate this, you need to hack getep to return the address rather
than saying it, when entered as a function.
And you need this to do the address arithmetic (except the comment
should say twos-complement):
type addrsub exec *
/* Sub two unsigned printable hex numbers. */
/* John Hartmann 12 Feb 2003 12:21:03 */
/*%test: say addrsub('2', 'ffffffff') */
Signal on novalue
numeric digits 50
parse arg a, b
return d2x(x2d(a, 8)-x2d(b, 8))
Good shooting!
On 3/7/19 12:57, Rob van der Heij wrote:
On Wed, 6 Mar 2019 at 23:59, Stanislawski, Shawn (National VM Capability) <
[email protected]> wrote:
Stupid question: How would I go about writing a REXX program to enable
message FPLFPI011E then?
Not a stupid question, but I need to do some more digging to make sure I
answer that question correctly. The book doesn't say it would be easy :-)
And likely we have follow-on questions on where to find things in the dump.
That message is early in the pipeline scanner preventing the pipeline to
run. Most likely it's trying to build pipelines and picks up a null record
where it did not expect so. Look for "runpipe" and "pipcmd" stages for
example, and validate the data flowing there.
Rob