Troubleshooting
The Advantage Database Server provides error and warning information in the ADS_ERR.DBF, ADS_ERR.ADT, and ASSERT.LOG files. Errors and warnings are logged when a recoverable, invalid condition occurs on the Advantage Database Server. For specific error explanations, see the Advantage Error Guide help documentation (ADSERROR.HLP or adserror.htm).
The error log is either ads_err.dbf (a DBF table) or ads_err.adt (an ADT table), to which any application or data error or warning is recorded. Errors and warnings written to this error log file are not necessarily critical errors but are key to tracing potential problems in the system or client applications. This error log may be configured to a maximum file size to prevent excessive disk space usage. See Advantage Database Server Configuration, to change this setting.
ASSERT.LOG is a file to which critical Advantage internal assertion failures are recorded. Assertions are internal "sanity checks" placed throughout the Advantage Database Server code to verify that code paths and data are valid during operation. If an assertion failure occurs on your file server, the Advantage Database Server NLM will be halted and a message will appear on the file server monitor. An error will also be recorded to the Advantage error log file. For more information on NLM Assertions, see the section below.
These log files are configurable to be placed in a specified network directory location. See Advantage Database Server Configuration for more information.
An important functional requirement of the Advantage Database Server is to not cause a server AbEnd (Abnormal End). During development of the Advantage Database Server, every effort was made to detect possible causes of NetWare server AbEnds and to properly recover in those situations.
As an additional safeguard, the Advantage Database Server contains assertion checks. An assertion check is a run-time verification of the current state of the Advantage Database Server. Assertion checks are used to verify function parameters, memory contents, etc. Assertion checks will halt Advantage Database Server processing when an unknown state is encountered, rather than allowing the Advantage Database Server to continue processing and possibly cause a server AbEnd.
A failed assertion check causes the currently active Advantage Database Server thread to enter an infinite loop that displays a warning message on the main console screen of the file server. A message is also displayed on the Advantage Database Server NLM screen. An entry is made in the Advantage Assertion Failure Log (ASSERT.LOG) and a current Advantage Database Server internal data dump is written to an ADS_SNAP.LOG file. By default, the Assertion Failure log file and ADS_SNAP.LOG file are located in the root directory of the SYS volume on the file server where the Advantage Database Server is loaded. The Assertion Failure log file can be configured to be located on any valid file server directory.
Important! If an assertion failure occurs, all users must exit their Advantage applications.
Unloading the Advantage Database Server NLM in an assertion failure state does not generally cause problems. However, an assertion failure creates an unknown state, so the possibility exists that your file server may go down. To minimize possible damage:
Have all users connected to the file server (Advantage or otherwise) exit their applications.
Wait a few minutes for the file server to flush all dirty cache buffers.
Unload the Advantage Database Server NLM. If the Advantage Database Server NLM unloads successfully, you can resume normal activity.
Save the following files: The Advantage Assertion Failure Log file (ASSERT.LOG), the ADS_SNAP.LOG file containing the Advantage Database Server internal data dump, and the Advantage Error Log file (ADS_ERR.DBF).
After you save the necessary files, re-load the Advantage Database Server NLM on the network file server and resume your Advantage applications. Then, contact Advantage Technical Support.
With NetWare version 4.11 or greater, Abnormal Ends (AbEnds) are logged in a file called ABEND.LOG. CONLOG.NLM must be loaded for this to occur. The ABEND.LOG is very useful in determining the cause of the AbEnd. If your server AbEnds, and ADS.NLM is the running process, send the ABEND.LOG to Advantage Technical Support. If your server AbEnds, the NetWare server is older than version 4.11, and ADS.NLM is the running process, consult the procedure for troubleshooting an AbEnd in the Advantage Knowledge Base to gather necessary information to send to Advantage Technical Support.