Exit Codes
This appendix provides information about the exit codes of the DirX Directory HTTP server (dirxhttp), Progsvr (dirxprogsvr), DSA (dirxdsa) and LDAP server (dirxldapv3) process. It also provides information on how the DirX Directory Watchdog Process handles the exit codes of the server processes.
HTTP Server Exit Codes
When performing an exit, the HTTP server writes a message to its exception file or to the file install_path/http/log/fatalHTTP_id1_id2,where id1 is the process ID (on Linux) or any number identifying the process (on Windows) and id2 is a number.The following table lists all exit codes of the HTTP server.
| Numeric Value | Symbolic Name | Exception Message | Reason |
|---|---|---|---|
0 |
WELLDEFINED_EXIT |
n/a |
Regular shutdown of the process. |
1 |
EXIT_FAILURE |
Initialization failed. |
Error during server initialization. |
Progsvr Exit Codes
When performing an exit, the Progsvr writes a message to its exception file or to the file install_path/progsvr/log/fatalPROGSVR_id1_id2, where id1 is the process ID (on Linux) or any number identifying the process (on Windows) and id2 is a number.The following table lists all exit codes of the Progsvr.
| Numeric Value | Symbolic Name | Exception Message | Reason |
|---|---|---|---|
0 |
WELLDEFINED_EXIT |
n/a |
Regular shutdown of the process. |
1 |
SVC_INIT_EXIT |
SVC-Initialization failed (status = error_code) |
Error in Svc config files or paths. |
9 |
CREATE_EXIT |
Cannot create errorMessage |
Access rights / resource problem. |
11 |
VTMUTEX_INIT_EXIT |
Cannot initialize Thread Mutex: mutex, errorMessage |
Software failure. |
24 |
ENV_INIT_EXIT |
dirx_env_init() failed : environment_variable, errorMessage |
Environment configuration problem. |
25 |
PROGSVR_RPC_EXIT2 |
RPC exit request - without restart |
Intentional shutdown – This exit code only occurs if the Progsvr is started outside the control of the DirX Directory watchdog (test purpose). |
72 |
PROGSVR_WSASTARTUP_FAILED |
Initialization of WinSock failed - WSAStartup failure |
Runtime failure - only on Windows platforms. |
86 |
PROGSVR_RPC_EXIT1 |
RPC exit request - with restart |
Intentional shutdown, |
97 |
PROGSVR_RPC_INIT_FAILED |
Initialization of RPC failed |
A step of the RPC initialization failed. |
98 |
PROGSVR_WD_SIGNAL_FAILED |
Watchdog signaling failed |
Cannot send a startup signal to the watchdog. |
DSA Exit Codes
When performing an exit the DSA writes a message to its exception file or to the file install_path/server/log/fatalDSA_id1_id2 where id1 is the process ID (on Linux) or any number identifying the process (on Windows) and id2 is a number.The following table lists all exit codes of the DSA.
| Numeric Value | Symbolic Name | Exception Message | Reason |
|---|---|---|---|
0 |
WELLDEFINED_EXIT |
n/a |
Regular shutdown of the process. |
2 |
SVC_INIT_EXIT |
SVC-Initialization failed (status = error_code) |
Error in Svc config files or paths. |
3 |
SOCK_INIT_EXIT |
Initialization of socket library failed (errno = error_code) |
Software failure. |
5 |
WRONG_USAGE_EXIT |
dirxdsa has been started with option other than –v or -V |
Software failure. |
7 |
ICOM_INIT_EXIT |
ICOMINIT() failed |
Software failure. |
8 |
ICOM_ATTACH_EXIT |
ICOMATTACH() failed |
Software failure. |
9 |
CREATE_EXIT |
Cannot create errorMessage |
Access rights / resource problem. |
10 |
VTPRIO_EXIT |
Cannot set VThread priority, errorMessage |
Software failure. |
11 |
VTMUTEX_INIT_EXIT |
Cannot initialize Thread Mutex: mutex, errorMessage |
Software failure. |
13 |
HCFILE_INIT_EXIT |
Cannot create file: filename, errorMessage |
Access rights / resource problem. |
14 |
DB_INIT_EXIT |
INIT_DATABASE_ONCE() failed |
Database compatibility problem. |
15 |
AUTH_INIT_EXIT |
AUTH_INIT_ONCE() failed |
Software failure. |
16 |
BT_INIT_EXIT |
BT_INITIALISE() failed |
Software failure. |
17 |
DSA_INIT_EXIT |
INIT_DSA() failed |
Sync problem, for example the server is already up and running. |
18 |
SYNC_EVENT_EXIT |
SetEvent(SyncInitEventHandle) failed |
Software failure. |
19 |
SYNC_OPEN_EXIT |
OpenEvent() failed |
Sync problem. |
20 |
DEMO_EXPIRED_EXIT |
auth_util_check_expire_date() failed |
n/a |
24 |
ENV_INIT_EXIT |
dirx_env_init() failed : environment_variable, errorMessage |
Environment configuration problem, |
64 |
INIT_RESTART_EXIT |
Exit due to temporary failure. |
|
77 |
BC_FAILURE_EXIT |
Fatal error in CheckpointThread |
I/O error during checkpoint. |
88 |
CRASH_TOOL_EXIT |
Exit after SIGSEGV or SIGBUS – only on Linux platforms if DirX Directory Interpose Crash Library is enabled. |
|
99 |
IDM_EXIT |
Cannot connect (WSAENOBUFS) |
Temporary IDM Connection problem (Windows only). |
100 |
BT_EXIT |
Can’t get free binding entry |
Temporary overflow of the bindtable – software failure. |
101 |
TJ_EXIT |
Fatal error in ICOM |
Too many internal communication errors. |
102 |
DIRX_INIT_REMOTE_CDSA_READ_FAIL |
Error reading remote CDSA entry |
Network error while reading remote CDSA entry. |
LDAP Server Exit Codes
When performing an exit the LDAP server writes a message to its exception file or to the file install_path/ldap/log/fatalLDAP_id1_id2 where id1 is the process ID (on Linux) or any number identifying the process (on Windows) and id2 is a number.The following table lists all exit codes of the LDAP server.
| Numeric Value | Symbolic Name | Exception Message | Reason |
|---|---|---|---|
0 |
WELLDEFINED_EXIT |
n/a |
Regular shutdown of the process. |
2 |
SVC_INIT_EXIT |
SVC-Initialization failed (status = error_code) |
Error in Svc config files or paths. |
3 |
SOCK_INIT_EXIT |
Initialization of socket library failed (errno = error_code) |
Software failure. |
5 |
WRONG_USAGE_EXIT |
dirxldapv3 has been started with option other than –v or -V |
Software failure. |
7 |
ICOM_INIT_EXIT |
ICOMINIT() failed |
Software failure. |
8 |
ICOM_ATTACH_EXIT |
ICOMATTACH() failed |
Software failure. |
9 |
CREATE_EXIT |
Cannot create errorMessage |
Access rights / resource problem. |
10 |
VTPRIO_EXIT |
Cannot set VThread priority, errorMessage |
Software failure. |
11 |
VTMUTEX_INIT_EXIT |
Cannot initialize Thread Mutex: mutex, errorMessage |
Software failure. |
13 |
HCFILE_INIT_EXIT |
Cannot create file: filename, errorMessage |
Access rights / resource problem. |
16 |
BT_INIT_EXIT |
BT_INITIALISE() failed |
Software failure. |
23 |
LDAP_SCHEMA_READ_FAILED |
Schema from DSA is unusable (for example empty) |
DSA or database problem. |
24 |
ENV_INIT_EXIT |
dirx_env_init() failed : environment_variable, errorMessage |
Environment configuration problem. |
25 |
LDAP_RPC_EXIT2 |
RPC exit request - without restart |
Intentional shutdown – This exit code only occurs if the LDAP server is started outside the control of the DirX Directory watchdog (test purpose). |
26 |
LDAP_CREATE_OSS_HDL_KEYD |
Cannot create 'ldapOssHdl_key' |
Software failure. |
27 |
LDAP_ROOT_READ_FAILED |
Cannot read schema name from LDAP root |
Configuration / administration problem. |
28 |
LDAP_HOSTINFO_FAILED |
gethostname() or gethostbyname() failed |
Configuration / administration Problem |
29 |
LDAP_TOO_MANY_FDS |
_SC_OPEN_MAX > FD_SETSIZE |
Configuration / administration problem. |
30 |
LDAP_TOO_FEW_FDS |
_SC_OPEN_MAX < thread pool size |
Configuration / administrationproblem. |
31 |
LDAP_THREAD_POOL_FAILED |
Could not start all pool threads |
Configuration / resource / software problem. |
32 |
LDAP_MISSING_LDAP_NAME |
No LDAP name for AT/OC in schema |
Administration problem in schema. |
33 |
LDAP_FATAL_SYNTAX_MISMATCH |
attribute syntax mismatch abbr<→schema detected |
Administration problem in schema. At least one attribute syntax mismatches the syntax specified in the dirxabbr* files. |
34 |
LDAP_OPEN_AUDIT_PWD_FILE_FAILED |
Cannot open specified audit encryption pwd file |
Configuration / administration problem. |
35 |
LDAP_READ_AUDIT_PWD_FILE_FAILED |
Cannot read from audit pwd file |
Configuration / administration problem. |
36 |
LDAP_AUDIT_OVERFLOW_STOP |
Configured to stop if audit file is full. |
Intentional shutdown. |
37 |
LDAP_AUDIT_MKDIR_FAILED |
Cannot create target path for audit |
Configuration / administration problem. |
38 |
LDAP_AUDIT_OPEN_FAILED |
Cannot open/create audit log file |
Configuration / administration problem. |
39 |
LDAP_AUDIT_PATH_INVALID |
Invalid audit log path |
Configuration / administration problem. |
40 |
LDAP_LOG_INIT_FAILED |
Cannot initialize logging |
Configuration / administration problem. |
41 |
LDAP_DIRSTR_CHOICE_FAILED |
illegal dirstr choice value |
Configuration problem in environment. |
42 |
LDAP_DAM_INIT_FAILED |
abbr file problem |
Configuration / administration aroblem in dirxabbr* files. |
43 |
LDAP_SSL_DLL_INIT_FAILED |
Cannot open SSL DLLs |
Configuration / administration problem. |
44 |
LDAP_SSL_IPL_INIT_FAILED |
SSL call IPL_Initialize failed |
Configuration / resource / software problem. |
45 |
LDAP_SSL_SEC_INIT_FAILED |
SSL call SEC_Initialize failed |
Configuration / resource / software problem. |
46 |
LDAP_NO_CERT_FILE_SERVER |
SSL PKCS12 server certificate file not found |
Configuration / administration / installation problem. |
47 |
LDAP_NO_SERVER_ROOT_CERTS |
SSL Root file not found |
Configuration / administration / installation problem. |
48 |
LDAP_CHARCNVRT_INIT_FAILED |
Character conversion routine failure |
Software failure. |
49 |
LDAP_TERM_FAILED |
Regular Termination failed |
Configuration / resource / software problem. |
50 |
LDAP_NO_SSL_RAND_FILE |
SSL Random seed file not found |
Configuration / administration / installation problem. |
51 |
LDAP_NO_SSL_PWD_FILE |
SSL Server Cert Pwd file not found |
Configuration / Administration / Installation Problem |
52 |
LDAP_OPEN_SSL_PWD_FILE_FAILED |
SSL Open password file failed |
Configuration / administration problem. |
53 |
LDAP_READ_SSL_PWD_FILE_FAILED |
SSL Read password file failed |
Configuration / administration problem. |
54 |
LDAP_OSS_INIT_FAILED |
OSS En/Decoding LdapCtrlTable init failed |
Software failure. |
55 |
LDAP_CACHE_INIT_FAILED |
Cache initialization failed |
Software failure. |
56 |
LDAP_DRX_PREINIT_FAILED |
Call to DRX_PREINITIALIZE failed |
Software failure. |
57 |
LDAP_UNIQ_OP_ID_INIT_FAILED |
UniqOpId initialization failed |
Software failure. |
58 |
LDAP_OPSTACK_INIT_FAILED |
OpStack initialization failed |
Software failure. |
59 |
LDAP_THRPOOL_INIT_FAILED |
Thread Pool initialization failed |
Software failure. |
60 |
LDAP_CAUGHT_SIGTERM |
Explicit termination by signal |
Intentional shutdown. |
61 |
LDAP_RPC_TERMINATION |
Explicit termination by RPC request |
Intentional shutdown. |
62 |
LDAP_CMD_LINE_ERR |
Unknown cmd line option detected |
Software failure. |
64 |
OSI_THREAD_TERMINATION |
OSI-Thread termination due to an unrecoverable problem. |
Runtime problem. |
72 |
LDAP_WSASTARTUP_FAILED |
Initialization of WinSock failed - WSAStartup failure |
Runtime failure - only on Windows platforms. |
73 |
LDAP_CONFIG_READ_FAILED |
Cannot read LDAP configuration/schema |
Configuration / administration / installation problem. |
74 |
LDAP_CTX_ULIMIT_EXCEEDED |
Memory exhausted |
Runtime problem. |
75 |
LDAP_MAINLOOP_BROKEN |
Cannot establish network listener |
Runtime problem. |
77 |
LDAP_UNKNOWN_AT_SYNTAX |
Cannot handle unknown syntax |
Fatal operation problem. |
78 |
LDAP_UNKNOWN_OC_SYNTAX |
Cannot handle unknown syntax |
Fatal operation problem. |
79 |
LDAP_WRITE_STDOUT_FAILED |
Fatal output error |
Runtime problem. |
80 |
LDAP_THREAD_INIT_FAILED |
Cannot establish ports |
Runtime problem. |
81 |
LDAP_CACHE_REGISTER_FAILED |
DSA not available (DRX_REMOTE_ABORT_RECEIVED) |
Runtime problem with DSA communication. |
82 |
LDAP_CACHE_RECONFIG_FAILED |
DSA not available during reconfiguration (DRX_REMOTE_ABORT_RECEIVED) |
Runtime problem with DSA communication. |
83 |
LDAP_SPECIAL_BIND_FAILED |
Cannot establish special DAP bind to DSA |
Runtime problem with DSA communicatio.n |
84 |
LDAP_ANONYMOUS_BIND_FAILED |
Cannot establish anonymous DAP bind to DSA |
Runtime problem with DSA communication. |
85 |
LDAP_TOO_MANY_ACCEPT_ERRORS |
Too many accept() failed (e.g. EMFILE → no more descriptors ) |
Runtime problem. |
86 |
LDAP_RPC_EXIT1 |
RPC exit request - with restart |
Intentional shutdown. |
88 |
LDAP_CRASH |
Reserved exit code for DirX Directory crash library |
The process has crashed and has written diagnostic data via crash library. |
99 |
IDM_EXIT |
Cannot connect (WSAENOBUFS) |
Temporary IDM Connection problem (Windows only). |
100 |
BT_EXIT |
Cannot get free binding entry |
Temporary overflow of bindtable – software failure. |
101 |
TJ_EXIT |
Fatal error in ICOM |
Too many internal communication errors. |
999 |
SSL_PW_FAILURE |
PKCS#12 Passphrase is not suitable to decrypt cert_ldapserver.p12 file |
Configuration / administration problem. |
Exit Codes and the DirX Directory Watchdog Process
In general, the exit code returned by the dirxprogsvr, the dirxdsa or the dirxldapv3 process is the criterion that determines whether the DirX Directory watchdog process restarts the respective process automatically.The watchdog process is called dirxdsas on Linux platforms and dirxserv.exe on Windows platforms.
The following rules apply for restarting the process:
-
Exit codes lower than 64 are returned due to a fatal error.There is no automatic restart, because administrative or configuration changes, or even a software update is needed before a restart will succeed.
-
Exit codes greater or equal 64 are returned when temporary failures occurred.The DirX Directory watchdog process restarts the DirX Directory server processes (progsvr, DSA and LDAP server).
If a DirX Directory server process is terminated due to a signal, the exit code value on Linux platforms is
-
128 + signal number
For example, if the signal Segmentation Violation (11) occurred, the exit code value is 139 (128 + 11). Therefore, process termination due to a signal except the signals SIGTERM and SIGKILL results in the automatic restart of the DirX Directory server processes.
The DirX Directory watchdog additionally restarts the LDAP server process dirxldapv3 each time it restarts the DSA. This is necessary to guarantee the consistency of the LDAP cache with the database.
When performing an exit, the watchdog process writes a message to the file install_path/server/log/fatalSRV_id1_id2 where id1 is the process ID (on Linux) or any number identifying the process (on Windows) and id2 is a number.