I find this all mightily interesting.
Patrick O'Keefe wrote:
<snip>
I'm not sure why we are not seeing this error. Most of our application
userids do not have an OMVS segment. Does the OMVS segment for a default
UID prevent this, or does it have to be in the application's actual
profile?
The default OMVS UID works very well for this; in fact that's pretty much why it
exists.
ERROR DESCRIPTION:
The Resolver code EZBRESRV does a BPX1SPM call. If this fails,
the address space is not dubbed. ...
Would we possibly be having this and not know it? This sounds like it
should be pretty obvious - that TCP/IP stuff would fail. But what do
I know of "dubbing"? Could this happen silently and without obvious
fallout?
It is silent and unobvious as long as it's working. When it isn't working, it
is neither silent nor obvious.
As it happens, my ace security team *deleted* the default OMVS UID two Tuesdays
ago at 11 in the morning. (I have an idea why, but the explanation would be
somewhat politically incorrect.) Although the first victim was an application
that happens to process EDI orders from our 3,000 retail outlets, nobody noticed
that it wasn't working 'til I was on my way home. After quick conversation with
the developers, mostly "we didn't change anything" (and I believed them), I
started looking.
The *only* evidence was a message in the application's stderr at every
transaction helpfully telling me that a select() took an EINVAL error on the
first function argument. That argument is a number of sockets and has been
unchanged from the day the code was written.
I won't say how long it took me to get to the missing UID which caused the
under-the-covers dub to fail but I will note that it was the first two-beer
problem I've shot in a while.
My newly and painfully gained understanding of what happens is:
- When an MVS task invokes a z/OS UNIX service, it is automatically dubbed (i.e.
a thread is created in the z/OS UNIX kernel).
- If this process fails, the failure is reflected back to the caller of that
service, in my case the select().
- I don't know it, but I suspect the failure will be something on the order of
"invalid argument".
The scars are healing, but slowly.
Bob
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html