Peter Dow (ML) wrote:
I'm on a v4r4 model 150 that's been running forever (apparently since
Feb.2007) but was re-IPLd last night. When it came backup, the
QZSOSMAPD job had the following messages in its log:
Job 099893/QUSER/QZSOSMAPD submitted.
Object changed.
Object changed.
Permission denied. Host
server communications error occurred on bind() - Inet socket.
The "Permission denied" (CPE3401) error doesn't say what object is the
problem. Is there any way to find out?
Peter:
What you're looking at appears to be a bit different from an
authority failure from an attempted object access. This is a
"permission" restriction that's being violated, or at least it's
being reported as such.
The reference is to the bind() API for a socket. The docs for
sockets APIs shows this for possible errors from bind():
"
[EACCES] Permission denied.
The process does not have the appropriate privileges to bind
local_address to the socket pointed to by socket_descriptor (for
example, if socket_descriptor is a socket with an address family of
AF_INET, and the sockaddr_in structure (pointed to by local_address)
specified a port that was restricted for use).
"
The EACCES error condition pretty much is the C macro name for the
errno 3401. We often look at the message description that results
from putting the letters [CPE] together with the errno -- in this
case [CPE3401]. When you execute DSPMSGD CPE3401, you should see
"Permission denied." as the returned text.
Now, as for tracking down what's going wrong, I guess the first
thing I'd do is verify that my various TCP/IP configuration elements
were as I expected. I'd start with the CFGTCP menu.
Do my interfaces have the right addresses? Are they started? Is
TCP/IP running with them? (Did TCP/IP even start? Heh, that's a
better starting place, I guess.) Use option 1.
Is my host table correct? Is my host name properly qualified and is
it assigned to the correct address? Is my fully-qualified host name
the first name assigned to the address or is it instead assigned as
one of the aliases? Use option 10.
Is my host and domain name correct? Does it match what's assigned in
the host table? Am I defining DNS access correctly? Use option 12.
If TCP/IP is running apparently okay and basic configuration seems
okay, then you might want to look at option 4 to see if any port
restrictions are showing up. You might also want to review the
services table in option 21 to verify that the services that begin
with [as-] are there and are assigned to the expected ports.
If everything seems reasonable, I'd probably ENDHOSTSVR *ALL and
ENDTCPSVR *ALL and wait a couple minutes to let everything finish
nicely (if any are running). Then, I'd ENDTCP OPTION(*CNTRLD) and
wait for it to end nicely. I might even bring the line description
down and back up.
When all of it was quiet, I'd start bringing them back up in the
opposite order. I'd watch for any indication of trouble -- joblogs,
QSYSOPR, QHST, basic stuff.
STRTCP by itself. Then STRTCPSVR for all or just ones you want, and
finally STRHOSTSVR *ALL or one at a time.
It's possible that it was nothing but a timing issue during startup,
e.g., TCP/IP didn't get going by the time the Server Mapper was
starting. See if a controlled startup of services lets everything work.
If anything _doesn't_ work, then you have a good indication of where
to look. You can at least ignore what would have come next.
At this point, that's about as far as I can go. And if you run into
a specific issue in that sequence that you can't figure out, Scott
Klement might be the best help you can get.
Tom Liotta
As an Amazon Associate we earn from qualifying purchases.