Appendix A. Messages
This appendix lists every numbered message of HTTPD in the order of the numbers. The header file of the product has one text for each message, and this appendix has one entry for each of those texts: 178 texts, which carry 170 distinct combinations of number and severity letter. Where two texts share a number, both are listed.
A message has the form HTTPDnnnx. The letter at the end is the severity: I information, W warning, E error. There is no other letter. The letter does not tell what the server does next. Some messages with E only warn, and some with W end the start. Every entry names the action, and it names the return code where the server ends.
In the texts, the parts in italic vary: a number, a name, a path. The rest is fixed. HTTPD writes the fixed text in upper case. The values that it shows as they are, such as paths and names that a user typed, keep their case. A run of blanks in a text is shown as one blank. The messages have no trailing new line.
Every numbered message is written with a single-line WTO. It goes to the console, to the master trace table (MTT) and to the hardcopy log. A line longer than about 70 to 90 characters is cut by the system. HTTPD writes no numbered message to a data set. The display module for the trace table (HTTPDMTT, Chapter 7, “The Display Modules”) shows the table from inside the server.
A few console lines have no number. They are listed at the end of this appendix (“Lines Without a Number”). What a client causes (a bad request, an unknown route, a file that is not there) is answered in the HTTP response and does not appear here.
The ranges are:
000to019- Identity, login and the standard files (“Lifecycle and Identity (000 to 019)”).
020to048- Configuration and the start of the listener (“Configuration and Start (020 to 048)”).
050to099- Listener, workers and the stop (“Listener, Workers and Stop (050 to 099)”).
100to199- Console commands (“Console Commands (100 to 199)”).
410to444- Routes, SMF and resident modules (“Routes, SMF and Resident Modules (410 to 444)”).
901to999- Diagnostics (“Diagnostics (901 to 999)”).
The numbers 020 to 048 belong to the configuration although they come from the time before the 4xx block. To find a message, search by the number and do not rely on the range.
A Healthy Start and Stop
A server that starts without a problem writes these messages in this order. A message with a condition appears only under that condition.
HTTPD000I, the banner with the version and the commit.HTTPD005I, the version of the C library.HTTPD006W, only for a build from a modified working tree.HTTPD002I, how the server got its authorization. The message is written only if the authorization worked.HTTPD004I, the identity of the started task (orHTTPD003WorHTTPD004Wif it could not be set).HTTPD042W, only if the security product accepts any user ID. In a healthy start RAKF writesRAKF0004for the user IDHTTPPRBat this place.- The messages of the configuration (“Configuration and Start (020 to 048)” and “Routes, SMF and Resident Modules (410 to 444)”): the warnings about the parameters, and one
HTTPD036IorHTTPD417Ifor each route. HTTPD054I, the listener is bound to the port. A bind that has to wait for the port addsHTTPD030EandHTTPD030Ifirst.- The warnings that follow the bind, such as
HTTPD430W,HTTPD425WorHTTPD426W, andHTTPD440WtoHTTPD442W. HTTPD066I, only ifTRACE=is set: the request trace is on. (HTTPD067Winstead if the storage for it was not available.)HTTPD061Ifor the socket thread and for each worker thread. The threads write these lines themselves, so their order is not fixed.HTTPD001I, the last message of the start. After it the server answers the clients and the console commands.
The stop by P HTTPD writes:
HTTPD098I, the stop begins.HTTPD040I, while the socket thread still runs. The message is repeated up to nine times, one second apart. If the thread does not end,HTTPD041Ifollows.HTTPD060Ifor the socket thread and for each worker thread, written by the threads.HTTPD416I, the statistics of the run.HTTPD099I, the last message of the stop. The return code is 0.
A Start That Ends
Some messages end the start. The return code of the job tells which kind.
| Message | Return code | What happens afterwards |
HTTPD037E, HTTPD028E, HTTPD030E, HTTPD031E, HTTPD420E, HTTPD038E, HTTPD033E, HTTPD064E | 8 | The server cleans up and stops. HTTPD098I, HTTPD416I and HTTPD099I follow. The listener number in the statistics is 0. |
HTTPD090E | 8 | The server stops at once. No other stop message follows. |
HTTPD014E, HTTPD015E, HTTPD016E, HTTPD017W, HTTPD018W, HTTPD019W | 12 | The program ends before the banner. |
HTTPD012E | the return code of the authorization call | The banner follows, without HTTPD002I, and the program ends. |
Table 81. Messages that end the start
HTTPD048E and HTTPD427E set an error flag in the configuration. HTTPD420E follows at the end of the configuration and the start ends with the return code 8.Lifecycle and Identity (000 to 019)
| Message | Meaning and action |
HTTPD000I HTTPD version (commit) STARTING | The first message of the start. It names the version and the commit of the build, in upper case. HTTPD writes it also when the authorization failed (HTTPD012E). |
HTTPD001I HTTPD version READY - SERVING docroot | The last message of a healthy start. The server accepts clients. The document root keeps its case. |
HTTPD001I HTTPD version READY - NO DOCUMENT ROOT | The same message for a server whose document root is empty. |
HTTPD002I AUTHORIZED BY LIBRARY (MODULE KEY 0) | The program was authorized when it started: the load library is APF authorized. HTTPD infers this from the state of the program before its own authorization call. The message is written only if the setup worked. |
HTTPD002I AUTHORIZED BY SVC (MODULE KEY 8) | The program was not authorized when it started. The authorization call of the C runtime made it so. The message is written only if the setup worked. |
HTTPD003W RACINIT SKIPPED, CANNOT ENTER SUPERVISOR STATE | The server cannot enter supervisor state, so it does not set the identity of the started task. System action. The identity is not changed. The start goes on with the identity that the task inherited. |
HTTPD004I STC IDENTITY SET TO user/group VIA RACINIT | The started task has the identity that is shown. The default is HTTPD/USER. The environment variables HTTPD_STC_USER and HTTPD_STC_GROUP change it. The PARM of the JCL changes it with STCUSER= and STCGROUP=. |
HTTPD004W RACINIT ENVIR=CREATE FAILED FOR user/group RC=rc | The security product refused the identity. rc is the return code of the call. System action. The start goes on with the inherited identity. |
HTTPD005I text | The version of the C library that is linked into the server, in upper case. |
HTTPD006W BUILT FROM A MODIFIED WORKING TREE | The program was built from sources with changes that are not committed. The commit in HTTPD000I does not describe the code. |
HTTPD007I USER userid IP a.b.c.d LOGIN SUCCESSFUL ACEE(acee) | A client logged in with the login form. userid is the user (up to 8 characters), then the address of the client and the address of the security environment (6 hex digits). |
HTTPD008I USER userid IP a.b.c.d LOGOUT SUCCESSFUL | A request to /logout released the credential of the client. |
HTTPD008W USER userid IP a.b.c.d LOGOUT FAILED | The client has a credential, but the release of it failed. The client gets the answer “Logout failed.”. |
HTTPD009W LOGIN SESSION NOT CREATED, RACINIT FAILED RC=rc | From HTTPD 4.5. The security product failed the logon with a return code that is not a plain refusal. A refusal (the return codes 4, 8, 12 and 28) is silent. The source names three other cases as examples: the product is not active (32), an installation exit refuses the user (24), and the terminal or the time of the user is restricted (hex 30). The client sees “Login failed, no session available”. System action. The login creates no session. The server goes on. |
HTTPD010I name IS APF AUTHORIZED | Not issued in this release. The text is defined, and no code that is built writes it. |
HTTPD011I name WAS APF AUTHORIZED VIA SVC 244 | Not issued in this release. The text is defined, and no code that is built writes it. |
HTTPD012E name UNABLE TO DYNAMICALLY OBTAIN APF AUTHORIZATION | The authorization call failed. name is the name that the program was started with. System action. The banner ( |
HTTPD013I STEPLIB IS NOW APF AUTHORIZED | Not issued in this release. The text is defined, and no code that is built writes it. |
HTTPD014E SYSPRINT DD NOT ALLOWED, HTTPD USES HTTPDOUT FOR STDOUT | The JCL has a DD statement System action. The program ends with the return code 12. Response. Remove the DD statement. HTTPD uses the private DD name |
HTTPD015E SYSTERM DD NOT ALLOWED, HTTPD USES HTTPDERR FOR STDERR | The JCL has a DD statement System action. The program ends with the return code 12. Response. Remove the DD statement. HTTPD uses the private DD name |
HTTPD016E SYSIN DD NOT ALLOWED, HTTPD USES HTTPDIN FOR STDIN | The JCL has a DD statement System action. The program ends with the return code 12. Response. Remove the DD statement. HTTPD uses the private DD name |
HTTPD017W HTTPDOUT DD NOT DEFINED, STDOUT IS NOT AVAILABLE | HTTPD could not open the DD name System action. Although the letter is W, the start ends. The program closes the files that it opened and ends with the return code 12. Response. Add the DD statement to the JCL of the started task. |
HTTPD018W HTTPDERR DD NOT DEFINED, STDERR IS NOT AVAILABLE | HTTPD could not open the DD name System action. Although the letter is W, the start ends with the return code 12. Response. Add the DD statement to the JCL of the started task. |
HTTPD019W HTTPDIN DD NOT DEFINED, STDIN IS NOT AVAILABLE | HTTPD could not open the DD name System action. Although the letter is W, the start ends with the return code 12. Response. Add the DD statement to the JCL of the started task. |
Table 82. Messages 000 to 019
Configuration and Start (020 to 048)
The configuration is read from the DD name HTTPPRM (Chapter 1, “The HTTPPRM Keywords”). The rest of this range reports the start of the listener.
| Message | Meaning and action |
HTTPD020W CANNOT OPEN DD:ddname -- USING DEFAULTS | The DD name of the configuration ( System action. The server starts with its defaults: port 8080, 3 to 9 workers, the document root Response. Add the DD statement if the defaults are not what you want. |
HTTPD020E FOPEN FOR DD:HTTPDBG FAILED, ERRNO=errno | The keyword System action. The server goes on. The debug output goes to the standard error file. |
HTTPD021I DEBUG/TRACE OUTPUT WILL BE TO DD:SYSTERM | The debug output goes to the standard error file. The text names SYSTERM, but HTTPD allocates the standard error file as HTTPDERR. |
HTTPD023E INVALID PORT VALUE (port) | The value of System action. The server keeps the earlier value or the default and goes on. |
HTTPD024W CONFIG=value IS IGNORED, CONFIGURATION COMES FROM THE ddname DD | The System action. The server goes on. |
HTTPD024I USE S HTTPD,M=MEMBER TO SELECT A DIFFERENT MEMBER | The hint that follows HTTPD024W. |
HTTPD025W TZOFFSET IS NO LONGER USED, THE SYSTEM OFFSET GMT signhh:mm APPLIES | The configuration has the retired keyword System action. The server goes on. |
HTTPD025I SET TZ IN THE SYSENV OR ENVIRON DD TO OVERRIDE IT FOR ALL TASKS | The hint that follows HTTPD025W. |
HTTPD026W UNRECOGNIZED CONFIGURATION LINE: line | A line of the configuration is not a comment and has no equal sign. The form is System action. The line is skipped. The server goes on. |
HTTPD026E SESSION_TIMEOUT (minutes MIN) <= CLIENT_TIMEOUT (seconds SEC), RAISE IT | The session timeout (in minutes) is not longer than the client timeout (in seconds). The message is written after the listener is bound, and only if the session timeout is not 0. System action. Although the letter is E, this is a warning. The server goes on with the values as they are. Response. Raise |
HTTPD027I CLOSING STALE SOCKET socket ON PORT port | The bind failed because the address is in use. The server closes each other socket of the address space that is bound to the port, then waits 2 seconds and binds once more. |
HTTPD028E SOCKET() FAILED, RC=rc ERRNO=errno | The server could not create the listener socket. System action. The start ends with the return code 8. |
HTTPD029W UNKNOWN CONFIGURATION KEYWORD: keyword | A line of the configuration has a keyword that HTTPD does not know. The keyword is shown in upper case. System action. The line is skipped. The server goes on. |
HTTPD030E BIND() FAILED FOR HTTP PORT, RC=rc ERRNO=errno | The bind of the listener to the port failed. If the cause is an address in use, the server waits and tries again ( System action. A try that works within the limit lets the start go on. Otherwise the start ends with the return code 8. |
HTTPD030I EADDRINUSE, WAITING FOR TCPIP TO RELEASE HTTP PORT port | The port is still in use, for example after a quick restart. The server waits BIND_SLEEP= seconds (default 10) and binds again. The default number of tries is 10 (BIND_TRIES=). |
HTTPD031E LISTEN() FAILED, RC=rc ERRNO=errno | The server could not put the socket into the listen state. System action. The start ends with the return code 8. |
HTTPD032E SESSION_MAXAGE (minutes MIN) <= CLIENT_TIMEOUT (seconds SEC), RAISE IT | The maximum age of a session (in minutes) is not longer than the client timeout (in seconds). The message is written after the listener is bound, and only if the maximum age is not 0. System action. Although the letter is E, this is a warning. The server goes on. Response. Raise |
HTTPD033E UNABLE TO CREATE SOCKET THREAD | The task for the listener could not be created. System action. The server closes the listener. The start ends with the return code 8. |
HTTPD034W UNABLE TO CREATE WORKER THREADS, DYNAMIC DOCUMENTS DISABLED | The pool of workers could not be created. Dynamic documents (the routes that run programs) are disabled. System action. The server comes up anyway. |
HTTPD035W UNABLE TO REGISTER MODULE module FOR path | The server could not store a System action. If the route asked for a gate, |
HTTPD036I MODULE module REGISTERED FOR path | A MOD= route is registered. The module name is in upper case and has up to 8 characters. The path is as written in the configuration. If the line has no path, the path is *. and the program name in lower case. |
HTTPD037E HTTPD IS ALREADY ACTIVE ON PORT port, THIS INSTANCE ENDS | Another HTTPD holds the lock for the port. The lock is the name System action. This instance ends with the return code 8. Response. Stop the other server, or use another port. |
HTTPD038E READ ERROR ON DD:ddname -- CONFIGURATION INCOMPLETE | The server opened the configuration and could not read it to the end. System action. The start ends with the return code 8. Response. Check the data set of the DD name |
HTTPD039W WRITE ERROR ON DD:HTTPDBG -- DEBUG OUTPUT SWITCHED OFF | A write of the trace failed, for example because the data set of the DD name System action. The server switches the trace off and goes on. It writes no more trace lines until the next start. The trace ends at the point of the failure. Response. Give the DD name |
HTTPD040I WAITING FOR SOCKET THREAD TO TERMINATE (n) | Written during the stop while the socket thread still runs. n counts from 1 to 9. The server waits one second between the messages. |
HTTPD041I FORCE DETACHING SOCKET THREAD | The socket thread did not end in time. The server detaches the task. |
HTTPD042W SECURITY SYSTEM ACCEPTS ANY USERID, ALL LOGINS REFUSED | From HTTPD 4.5.1. At the start, after the identity of the started task is set, the server logs on once with the user ID System action. The start goes on. Every Basic, form and token login is refused, with the same answer as for a wrong password, and the server writes no message for it. Routes that need no login are served as before. The server does not test again. Response. Correct the tables of the security product and restart HTTPD. See ‘A Security System That Accepts Any User ID’ in the HTTPD User’s Guide. The server does not run the test if |
HTTPD044W UNABLE TO INITIALIZE FILE SYSTEM | The file system is enabled and the server could not create its handle to it. The server has no handle for UFSD. System action. The server goes on. The sessions of the clients to the file system are created only if the handle exists. |
HTTPD045E UFS READ ERROR RC=rc, RESPONSE ABORTED: path, count SUPPRESSED | A read of a file failed while the server sent it. path is the path of the request, or the path as written in the directive if the error was in a file that a server-side include pulled in. It is cut after 40 characters. count is the number of read errors that the server did not report since the last message of this kind, 0 if none. System action. The server drops the data that is not sent and closes the connection. It writes this message at most once in 60 seconds. The first error after a quiet minute is written at once, the others in the next 60 seconds are only counted, and the count stays unreported until the next error. The server goes on. |
HTTPD047E UNABLE TO INITIALIZE SERVER CREDENTIAL KEY, RC=rc | The server could not initialize its credential key. Login does not work. System action. The server comes up anyway. |
HTTPD048W LOGIN IS RETIRED -- USE AUTH= ON EACH MOD=/LOC= ROUTE | The configuration has the keyword System action. The server goes on. Response. Remove the keyword and write |
HTTPD048E LOGIN operand IS RETIRED -- ROUTES WITHOUT AUTH= WOULD BECOME PUBLIC | The configuration has the keyword System action. The server sets an error flag. Response. Remove the keyword and write |
Table 83. Messages 020 to 048
Listener, Workers and Stop (050 to 099)
| Message | Meaning and action |
HTTPD050E MAXSOCK IS ZERO, THE LISTENER IS IN AN INVALID STATE | The loop of the socket thread found no socket to wait for. System action. The socket thread ends. The server does not start it again. The main task still answers the console commands. |
HTTPD051E SELECTEX() FAILED, RC=rc ERRNO=errno | The wait for work on the sockets failed. The message is not written while the server stops. System action. The socket thread ends. The server does not accept clients any more. |
HTTPD052E ACCEPT() FAILED, RC=rc ERRNO=errno | The server could not accept a connection. The message is not written while the server stops. System action. The listener goes on. |
HTTPD053E UNABLE TO SET NON-BLOCKING I/O FOR SOCKET socket | The server could not change the mode of an accepted socket. System action. The server writes the message and goes on with the connection. |
HTTPD054I LISTENING ON address PORT port | The listener is bound. The address in the text is always ANY: HTTPD listens on every address of the host. |
HTTPD060I SHUTDOWN thread TCB(tcb) TASK(task) STACKSIZE(size) | A thread ends. The thread writes the message itself. thread is SOCKET THREAD or WORKER(xxxxxx), where the number is the address of the work block. tcb and task are 6 hex digits each. size is the stack size. |
HTTPD061I STARTING thread TCB(tcb) TASK(task) STACKSIZE(size) | A thread starts. The thread writes the message itself. The layout is the same as in HTTPD060I. |
HTTPD062E ABEND code IN WORKER(work) CLIENT(client) SOCKET(socket) | A worker ended a request with an abend. code is the abend word (8 hex digits). The other values are the work block, the control block of the client and the socket. System action. The server closes the client. The worker goes on with the next work item. |
HTTPD063E NO RECOVERY IN WORKER(work), CLIENT(client) SOCKET(socket) DROPPED | The worker could not set up its recovery routine. It neither read nor answered the request. System action. The server closes the connection. The worker goes on. |
HTTPD064E SOCKET THREAD IS NOT RUNNING, START ABANDONED | The socket thread is not up after its creation. System action. The start ends with the return code 8, after the clean up. |
HTTPD065W CLIENT a.b.c.d ABANDONED, NO SEND PROGRESS FOR seconds SEC, bytes BYTES SENT, n SUPPRESSED | A client did not receive any data for the whole time of the limit (10 seconds), so the server gave up. This happens on a chunked response and on the body of a static file. bytes is the number of bytes that were sent. The server writes the message at most once in 60 seconds. n is the number of messages that it held back in the meantime. A server that stops writes nothing. System action. The server cuts the response and closes the connection. |
HTTPD066I REQUEST TRACE ON, records RECORDS, bytes BYTES | The Parmlib keyword TRACE= asked for the request trace and the server allocated its table. records is the number of requests the table holds and bytes is the storage it uses. The table is read with the display module HTTPDSRV, target TRACE. |
HTTPD067W NO STORAGE FOR REQUEST TRACE, TRACE OFF |
System action. The server runs without the trace. Use a smaller value or a larger region. |
HTTPD070E UNKNOWN CODEPAGE "name", USING CP037 | The value of System action. The server uses |
HTTPD090E UNABLE TO INITIALIZE CONSOLE INTERFACE | The server could not set up the interface for the console commands. System action. The start ends with the return code 8. No stop message follows. |
HTTPD098I HTTPD SHUTTING DOWN | The stop begins. It is the answer to P HTTPD and also the first step after a refused start. |
HTTPD099I HTTPD SHUTDOWN COMPLETE | The last message of the stop. |
Table 84. Messages 050 to 099
Console Commands (100 to 199)
The messages of this range are the output of the console commands (Chapter 3, “Console Commands”). Most of them are the answer of a command and have no response.
| Message | Meaning and action |
HTTPD100I CONS(console) "command" | The server echoes each command that it gets with MODIFY. console is the identification of the console. command is the text as the operator typed it. |
HTTPD101E UNKNOWN CONSOLE COMMAND "word" | The first word of the command is not known. The help ( Response. Use one of the commands in the help. |
HTTPD101E UNKNOWN CONSOLE COMMAND "DISPLAY word" | The word after DISPLAY is not known. There is no help. |
HTTPD101E UNKNOWN CONSOLE COMMAND "SET word" | The word after SET is not known. There is no help. |
HTTPD102I HTTPD IS LISTENING ON PORT port | The answer of DISPLAY PORTS. |
HTTPD103I ..THREAD address role | The first line of a thread in the answer of DISPLAY THREADS. role is MAIN SERVER THREAD, SOCKET THREAD, DISPATCHER THREAD or WORKER THREAD. |
HTTPD104I .....EYE eye .....TCB tcb ..OWNTCB owntcb | The task block of a thread: the eye catcher, tcb and owntcb, in hex. |
HTTPD105I .TERMECB ecb ......RC rc STACKSZE size | The task block, second line: ecb, the return code and the stack size, in hex. |
HTTPD106I ....FUNC func ....ARG1 arg1 ....ARG2 arg2 | The task block, third line: the function that the thread runs and its two arguments, in hex. |
HTTPD107I .....EYE eye ....TASK task .WAITECB ecb | The manager of the pool of workers: eye catcher, task and wait ECB. It is shown if the manager exists. |
HTTPD108I ....FUNC func ...UDATA udata STACKSZE size | The manager, second line: the function, the user data and the stack size, in hex. |
HTTPD109I ..WORKER worker ...QUEUE queue ...STATE state name | The manager, third line: the worker array and the queue, the state in hex, then the name of the state: INIT, RUNNING, QUIESCE, STOPPED, WAITING or unknown. |
HTTPD110I .MINTASK mintask .MAXTASK maxtask | The limits of the pool of workers, in decimal. SET MINTASK and SET MAXTASK answer with this line. |
HTTPD111I .WORKERS workers .DISPCNT count | The number of workers now and the number of dispatches, in decimal. |
HTTPD112I ..WORKER worker .....EYE eye .WAITECB ecb | A worker: the block, the eye catcher and the wait ECB. |
HTTPD113I .....MGR mgr ....TASK task ...QUEUE queue | A worker, second line: its manager, its task and its queue. |
HTTPD114I ...STATE state name | A worker, state: in hex and by name. The names are INIT, RUNNING, WAITING, DISPATCHED, SHUTDOWN, STOPPED and unknown. |
HTTPD115I ...START time text | The start time of the worker: 64 bits in hex, then the date and time as text. The text is empty if the time is 0. |
HTTPD116I ....WAIT time text | The time of the last wait of the worker. The layout is the same as in HTTPD115I. |
HTTPD117I ....DISP time text | The time of the last dispatch of the worker. The layout is the same as in HTTPD115I. |
HTTPD118I PROTOCOL HTTP ....USER user ...GROUP group | The client of a running worker. user is ANONYMOUS and the group is empty if the client has no credential. |
HTTPD119I ..REMOTE CLIENT ....PORT port ......IP address | The remote side of the client of a worker: port and address of the client. |
HTTPD119I ..SOCKET socket ....PORT port (HTTP PROTOCOL) | The listener in the answer of DISPLAY THREADS: the socket and the port. |
Table 85. Messages 100 to 119
| Message | Meaning and action |
HTTPD120I ..SOCKET socket ....PORT port ......IP address | The socket of the client of a running worker, with the port and the address of the peer. |
HTTPD120I ...RNAME rname | The resource name of the server: HTTPD. and the 4 hex digits of the address space number. It is shown for the main thread. |
HTTPD121I USERS LOGGED IN: n | The first line of the answer of DISPLAY LOGIN. One HTTPD122I for each credential follows. |
HTTPD122I USER userid IP a.b.c.d ACEE(acee) | A logged in user: the user, the address of the client and the address of the security environment. |
HTTPD123I SMF: level (TYPE type) | The first line of the answer of DISPLAY STATS: the level and the record type of SMF (Chapter 8, “SMF Records”). |
HTTPD124I REQUESTS: requests ERRORS: errors BYTES: bytes ACTIVE: active | The counters of the server: requests, errors, bytes and active clients. |
HTTPD125I STATISTICS COUNTERS RESET | The counters of requests, errors and bytes are zero. It is the answer of SET STATS RESET, and also follows a level that has the word RESET after it. |
HTTPD126I SMF LEVEL SET TO level | The answer of SET STATS with a level. |
HTTPD126E INVALID SET STATS VALUE "operand" | The operand of Response. Give a valid operand. |
HTTPD127W MISSING STATS NONE|ERROR|AUTH|ALL [RESET] |
Response. Give a level. |
HTTPD128I PORT port MINTASK mintask MAXTASK maxtask | The first line of the answer of DISPLAY CONFIG: port and limits of the pool of workers. |
HTTPD129I CLIENT_TIMEOUT seconds KEEPALIVE timeout/max | The client timeout in seconds, the keep-alive timeout and the maximum number of requests on a connection. |
HTTPD130I SESSION_TIMEOUT minutes MINtext | The session timeout in minutes. The text (REAPER DISABLED) follows if the value is 0. |
HTTPD131I DOCROOT path | The document root, or (NONE). |
HTTPD132I SMF TYPE type LEVEL level | The record type and the level of SMF (Chapter 8, “SMF Records”). The level is NONE, ERROR, AUTH or ALL. |
HTTPD133I CONFIG FROM source | Where the configuration came from: the data set name with the member, or DD:HTTPPRM. |
HTTPD134I CODEPAGE name | The code page in use. It is CP037 if none is set. |
HTTPD135I SESSION_MAXAGE minutes MINtext | The maximum age of a session in minutes. The text (NO MAX-AGE) follows if the value is 0. |
HTTPD136I REALM realm | The realm of Basic authentication. |
HTTPD137I RESIDENT yesno MODULES HELD n | Whether the server keeps the modules in storage (YES or NO) and how many it holds now. |
HTTPD138I RES_NOPROFILE value | The value of the keyword RES_NOPROFILE: ALLOW or DENY. It is the last line of DISPLAY CONFIG. |
HTTPD140I HTTPD version (commit) | The answer of DISPLAY VERSION, in upper case. |
HTTPD141I .DISPCNT count | The number of dispatches of a worker, in the answer of DISPLAY THREADS. |
HTTPD142I TIME yyyy/mm/dd hh:mm:ss GMT | The answer of DISPLAY TIME, the first line: the time in GMT. |
HTTPD143I TIME yyyy/mm/dd hh:mm:ss LOCAL | The second line: the local time. The server adds the text OFFSET= and the sign and the minutes of the offset. An argument in minutes sets the offset (from −720 to +720). Without an argument, the offset of the system applies. |
HTTPD144E INVALID MEMORY ADDRESS 0xaddress | The address of Response. Give an address below 16 MB. |
HTTPD145I END OF MEMORY DUMP FOR 0xaddress | The dump of DISPLAY MEMORY is complete. The lines of the dump have no number (“Lines Without a Number”). |
HTTPD146E ESTAE CREATE FAILURE, RC=0xrc | The server could not set up the recovery for DISPLAY MEMORY. The dump is not made. |
HTTPD147E ABEND Scode FOR DISPLAY MEMORY 0xaddress | The read of the storage for DISPLAY MEMORY ended with a system abend. code has 3 hex digits. |
HTTPD147E ABEND Ucode FOR DISPLAY MEMORY 0xaddress | The read of the storage for DISPLAY MEMORY ended with a user abend. code is in decimal. |
HTTPD148I USAGE: DISPLAY MEMORY XXXXXX[,NNN] (D M XXXXXX) | DISPLAY MEMORY has no address. The default length of a dump is 256 bytes and the maximum is 4096. |
HTTPD149I USAGE: SET MAXTASK|MINTASK N (S MA N, S MI N), N = 1 TO 100 |
Response. Give a decimal number. |
Table 86. Messages 120 to 149
| Message | Meaning and action |
HTTPD150I MODIFY COMMANDS ARE: | The header of the help. The command ? or HELP and an unknown command show it. |
HTTPD151I line | A line of the help. The help lists DISPLAY with the operands CONFIG, LOGIN, MEMORY, PORTS, STATS, THREADS, TIME and VERSION, and SET with MAXTASK, MINTASK and STATS. Each command has a line with the command and its short form and a line with a description. The last line is the example /F HTTPD,D C. |
HTTPD199I ------------------------------------------------------- | A separator line. It closes each block of the answer of DISPLAY THREADS, and the answer of SET MAXTASK and SET MINTASK. |
Table 87. Messages 150 to 199
Routes, SMF and Resident Modules (410 to 444)
The routes are described in Chapter 2, “Routes and Authentication Policy” and the keywords in Chapter 1, “The HTTPPRM Keywords”. Several messages of this range say that a route could not be registered. A route that is lost does not remove its path: the server serves the path from the document root, with nothing that gates it. Therefore a lost route that asked for a gate (AUTH= other than NONE, or RES=) is an error. The server sets an error flag, writes HTTPD419E and refuses to start with HTTPD420E.
| Message | Meaning and action |
HTTPD410W CGI= IS DEPRECATED, USE MOD= INSTEAD | The configuration has the old keyword Response. Write |
HTTPD411E UNKNOWN AUTH MODE 'mode' -- USE NONE, FORM, BASIC OR TOKEN | A route has an System action. The server refuses the route. Response. Write |
HTTPD412W IGNORING MALFORMED RES= 'text' (NEED CLASS:RESOURCE) | The value of System action. The server ignores the option and goes on. |
HTTPD413W IGNORING UNKNOWN ROUTE OPTION 'token' | A route has a word that is not an option. The old option System action. The server ignores the word and goes on. |
HTTPD414W AUTH=NONE IGNORES RES=class:resource (PUBLIC ROUTE) | A route has System action. The server goes on. |
HTTPD415W LOC= REQUIRES A PATH (E.G. LOC /ADMIN/* AUTH=BASIC) | A System action. The server drops the line. If the line asked for a gate, |
HTTPD416I STATS: requests REQUESTS, errors ERRORS, bytes BYTES | The counters of the run, written at the stop before HTTPD099I. |
HTTPD417I LOCATION path REGISTERED | A LOC= route is registered. |
HTTPD418E NO STORAGE FOR RES=class:resource | The server had no storage for the System action. The server refuses the route. |
HTTPD419E kind=path COULD NOT BE REGISTERED -- ITS AUTH POLICY IS LOST | A route that asked for a gate could not be registered. kind is System action. The server sets an error flag. Response. Correct the line in the configuration. |
HTTPD420E ROUTE AUTHORIZATION POLICY INCOMPLETE -- HTTPD WILL NOT START | At least one route lost its policy ( System action. The start ends with the return code 8. Response. Correct the lines that the other messages name. |
HTTPD421W MOD= REQUIRES A PROGRAM NAME (E.G. MOD=MVSMF /ZOSMF/* AUTH=BASIC) | A System action. The server drops the line. If the line asked for a gate, |
HTTPD422W keyword IS RETIRED -- CGI STORAGE RECLAIM IS ALWAYS ON | A route has the option System action. The server goes on. |
HTTPD423W UNABLE TO REGISTER LOCATION path | The server could not store a System action. If the route asked for a gate, |
HTTPD424W INVALID REALM VALUE: value | The value of System action. The server keeps the default realm (the SMF identification) and goes on. |
HTTPD425W NO PROFILE FOR class:resource -- path NOT GATED | A route with System action. The route is served, without a gate. The server goes on. Response. Define the profile, or correct the name in the configuration. To refuse the requests instead, set |
HTTPD426W NO PROFILE FOR class:resource -- path REFUSES ALL REQUESTS | As System action. The server goes on. The route answers every request that reaches the check with status 403, until a profile exists. A profile that is defined and loaded later takes effect without a restart, but this message is written at the start only. Response. Define the profile, or correct the name in the configuration. |
HTTPD427E INVALID RES_NOPROFILE VALUE "value" (ALLOW|DENY) | The value of System action. The server sets an error flag. It does not fall back to Response. Write |
HTTPD430I SMF TYPE type LEVEL level | Not issued in this release. The text is defined, and no code that is built writes it. DISPLAY CONFIG shows the same values in HTTPD132I. |
HTTPD430W SMF TYPE type CONFIGURED BUT SMF INACTIVE | The level of SMF is above System action. The server goes on. Response. Start SMF, or set the level to |
HTTPD431W INVALID SMF LEVEL "value" | The value of System action. The server keeps the earlier level and goes on. |
HTTPD432W INVALID SMF TYPE=type (128-255) | The record type is not in the range from 128 to 255. System action. The server keeps the earlier type and goes on. |
HTTPD440W MODULE module NOT FOUND AT STARTUP, NOT HELD | With System action. The server does not hold the module. It fetches it for each request. |
HTTPD441W MODULE module NOT REUSABLE, FETCHED PER REQUEST | The module is not marked reusable, so the server cannot keep it. System action. The server fetches it for each request. The route works. |
HTTPD442W MODULE module LOAD FAILED, ABEND CODE Scode REASON reason, FETCHED PER REQUEST | The load of the module at the start failed with a system abend. The codes in the source comment are 806 (not found), 106 (fetch error) and 80A (no storage). System action. The server fetches the module for each request. The route works. |
HTTPD443W INVALID RESIDENT VALUE "value" (YES|NO) | The value of System action. The default |
HTTPD444W INVALID TRACE VALUE "value" (0 OR 16-1024), TRACE OFF | The value of System action. The request trace stays off. |
Table 88. Messages 410 to 444
Diagnostics (901 to 999)
The header says that a message of this range means the server met a state that its code did not expect, and that each one is worth a bug report.
| Message | Meaning and action |
HTTPD901E SPIN IN SERVE_CLIENT: CLIENT(client) STATE(state) SOCKET(socket) REQ(count) WORKER(work) -- FORCING CLOSE | The processing of a client went around 1000 times without a change of state. System action. The server clears the busy entry and closes the client. |
HTTPD904E NO STORAGE FOR ENVIRONMENT VARIABLE name CLIENT(client) | The server could not store an environment variable for a request. The name is cut after 32 characters. System action. The set of the variable fails. |
HTTPD905E ENVIRONMENT VARIABLE name TOO LARGE CLIENT(client) | The value of an environment variable does not fit. System action. The set of the variable fails. |
HTTPD906W STORAGE RECLAIM FOR module FAILED, RC=rc | After a module ran, the server could not free the storage of the module. The storage stays allocated until the server restarts. System action. The server goes on. |
HTTPD907W STALE BUSY ENTRY FOR CLIENT(client) STATE(state) SOCKET(socket) REQ(count) -- CLEARED | A client was in the list of busy clients when the processing found no progress. System action. The server clears the entry and goes on. |
HTTPD908E EXTERNAL PROGRAM module reason | A program that a route runs failed. reason is one of: “was not found”, “could not be loaded”, “was dispatched without a program name”, “could not be started, ESTAE create failed”, “returned rc n”, “failed with Sxxx ABEND” or “failed with Unnnn ABEND”. The name is “(none)” if there is none. “failed with U0801 ABEND”, with System action. The server frees the storage of the program ( |
HTTPD909E UNSUPPORTED HTTP STATUS code REQUESTED, SENT 500 | A module asked for a status that HTTPD does not know. System action. The server sends the status 500. |
HTTPD910E ABEND Scode DETECTED | Not issued in this release. The text is defined, and no code that is built writes it. |
HTTPD910E ABEND Ucode DETECTED | Not issued in this release. The text is defined, and no code that is built writes it. |
HTTPD911E function LOCK FAILURE | The lock of the server block failed. function is the name of the function, in lower case. System action. The function skips its work. The socket thread goes on. |
HTTPD912E TERMINATE FAILED WITH RC=rc | The stop routine ended with an abend or an error. rc is the value that it returned, in 8 hex digits. System action. The server goes on to end. |
HTTPD913E UNEXPECTED SUBTYPE n IN HTTP_GET() | The processing of a GET found a type of request that it does not handle. System action. The client gets the status 500. |
HTTPD914E HTTP_SEND() POSITION UNDERFLOW pos | The send loop found a position before the start of the buffer. System action. The loop stops. |
HTTPD915E function LENGTH INCONSISTENCY, LEN=len BUFLEN=buflen | The formatting of text for the response failed. function is System action. The function fails. |
HTTPD916E HTTP_SET_BUSY() FAILED | The server could not mark a client as busy. System action. The server does not serve the client in this pass. |
HTTPD920E name MUST BE CALLED BY THE HTTPD SERVER | A display module ( System action. The module ends with the return code 12. Response. Call the module through its route of the server. |
HTTPD921W ABEND0C1 ALLOCATED kb KB IN blocks BLOCKS, ABENDING WITHOUT FREEING | The test module ABEND0C1 allocated storage and now ends with an S0C1 abend on purpose. HTTPD906W and HTTPD908E follow. |
HTTPD922E HTTPD CONTROL BLOCK NOT FOUND BY name | A module could not find the control block of the server. A trace back follows. |
HTTPD923E HTTPC CONTROL BLOCK NOT FOUND BY name | Not issued in this release. The text is defined, and no code that is built writes it. Its only call is compiled out. |
HTTPD999E OUT OF MEMORY | The server had no storage for the control block of a new client. System action. The server closes the accepted socket. The listener goes on. |
Table 89. Messages 901 to 999
Lines Without a Number
A few console lines have no message number.
- Client timeout
- A client sent part of a request and then went silent. The line is
client xxxxxxxx on socket n timed out after n seconds, where the first value is the address of the control block of the client and the last is the keep-alive timeout if the connection already served a request, or else the client timeout. A second output is a dump of the buffer with the titleReceive Buffer. Both are on by default. The keywordsCLIENT_TIMEOUT_MSG=0andCLIENT_TIMEOUT_DUMP=0switch them off (Chapter 1, “The HTTPPRM Keywords”). The connection is closed. - Memory dump
- The lines of
DISPLAY MEMORYbetween the command andHTTPD145I. The title isDISPLAY MEMORY. - Offset
- The text
OFFSET=at the end ofHTTPD143I.
Messages That Are Gone
The numbers HTTPD900D, HTTPD902D and HTTPD903D were debug counters and are no longer defined. HTTPD uses no message letter other than I, W and E.
The texts of HTTPD010I, HTTPD011I, HTTPD013I, HTTPD430I, both texts of HTTPD910E and HTTPD923E are defined in the header and no code that is built writes them. The function that would write the first three is never called. The text of HTTPD012E is written, but from a different place.