INTERNAL ERRORS
Clipper Summer '87, 2:00 a.m.

Copyright (c) 1988 Nantucket Corporation. All Rights Reserved.


OVERVIEW: Internal Errors (non-recoverable)

These errors generally occur because of a bad index file. If an
internal error occurs, Clipper presents the user with an
indicating error message and pauses.

Pressing any key QUITs.


0 ERROR SYSTEM INTEGRITY ERROR

The error system has encountered an unknown error. The probable
cause is memory corruption.


1 EVALUATION STACK UNDERFLOW

A stack error has occurred after a Return.


2 MEMORY ERROR

A memory error has occurred before a RUN. The system has
attempted to free the R space to DOS and DOS reported an error.
The likely cause is corruption in the DOS memory allocation
system.


3 MEMORY ERROR

A memory error has occurred after a RUN that prevents rebuilding
of the buffer system. This occurs when the system tries to
rebuild the R space and there is less than 16K available from
DOS.


4 MEMORY ERROR

A memory error has occurred corrupting an internal buffer system.
This happens when an attempt is made to free an internal buffer
and it is already free.


5 MEMORY ERROR

A memory error has occurred corrupting the buffer and EMM system.
This occurs when attempting to map an EMM memory block into
conventional address space and the EMM driver reports an error.


6 BUFFER ERROR

This occurs when attempting to attach a buffer to a database and
the database already has a buffer. The probable cause is memory
corruption.


7 BUFFER ERROR

This occurs when attempting to detach a database buffer from a
database and there is no buffer to detach. The most probable
cause is memory corruption.


8 BUFFER ERROR

The system ran out of database and/or index buffer handles.


9 BUFFER ERROR

The system ran out of memory when attempting to allocate a
database and/or index buffer.


10 TOO MANY NESTED BEGIN SEQUENCE/END BLOCKS

Too many nested BEGIN SEQUENCE/END blocks have been defined. The
maximum is 16.

Note: The usual reason this occurs is a LOOP statement within a
BEGIN SEQUENCE/END structure like the following:

   DO WHILE <condition>
      <statements>...
      BEGIN SEQUENCE
         <statements>...
         LOOP
      END <statements>...
   ENDDO


11 BEGIN SEQUENCE/END INTEGRITY ERROR

An underflow of BEGIN SEQUENCE stack has occurred. This only
happens if there is a pending END without a BEGIN SEQUENCE.


12 Evaluation stack underflow after BEGIN SEQUENCE/END

Occurs after a BREAK.


14 SORT ERROR

The system ran out of memory during a SORT operation while
attempting to allocate a database buffer.


15 SORT ERROR

Memory corruption has occurred during a SORT operation.


16 DATABASE NOT OPEN

This occurs at the end of a large block database operation (such
as APPEND, JOIN, UPDATE, or TOTAL) and one of the database files
used in the operation is no longer open.

Solution: Check user-defined function used within the erroneous
statement for any statements that close database files.


17 NTX FILE CORRUPTED

This occurs when an index buffer is found to be corrupted when
attempting to update an index page.


18 NTX FILE CORRUPTED

This occurs when an index buffer is found to be corrupted when
attempting to update an index page and the index is UNIQUE.


19 NTX FILE CORRUPTED

This occurs when an index buffer is found to be corrupted when
attempting to update an index page and the index is non-UNIQUE.


20 NDX FILE KEY TYPE ERROR

An evaluation of a key in an (.ndx) file does not result in a
character or number. This can only occur if the key is a logical
value.


21 NDX FILE KEY TYPE ERROR

A SEEK expression evaluates to a different data type than the
index expression.


22 NTX FILE KEY TYPE ERROR

A SEEK expression in an (.ntx) file evaluates to a logical or the
system runs out of memory when evaluating the key expression.


92 SORT/INDEX ON ERROR

The system is unable to create a temporary file during a SORT or
INDEX operation. This can occur for one of the following reasons:

   * No disk space
   * Disk is write-protected
   * No more directory entries
   * The file already exists and is read-only
