#ifndef GCIERR_HT
#define GCIERR_HT TRUE
/*========================================================================
 * Copyright (C) VMware, Inc. 1986-2011.  All Rights Reserved.
 *
 * Name - gcierr.ht
 *
 * Description: 
 *
 ***************************************************
 *  ATTENTION -- Manual Dependency!!!!
 * This file is the MASTER LIST for any new system errors added to
 * the system.
 *
 * However, the language text for any new errors must also be added to
 * any supported language dictionary, such as english.lang.
 *
 * Further, many errors are referenced numerically in the virtual image,
 * so error numbers cannot be changed without checking the Smalltalk code in
 * (errors.gs and errordict.gs).
 *
 *  Finally, NOTE that error numbers must be Positive Integers
 ***************************************************
 *
 * Purpose - Errors and signals generated by Gem
 * 
 *      Description of a Gem error
 *       All errors except compiler errors are described by the error 
 *       number and from 0 to 10 optional arguments.  Each error below 
 *       has a comment describing the error and what any of the arguments 
 *       to the error are.
 *
 * $Id: gcierr.ht,v 1.67 2008-01-09 22:51:03 stever Exp $
 *
 *========================================================================
 */

/*******  GemStone constants/types defined in this and other modules ********/
#include "gcioop.ht"

/* no more includes. KEEP THIS LINE */

/* Divide GemStone error numbers by 1000 to get their category: */
#define GCI_ERR_COMPILER_CAT(cat, num) \
    (((cat) == OOP_GEMSTONE_ERROR_CAT && (num) / 1000 == 1))
#define GCI_ERR_RUNTIME_CAT(cat, num) \
    (((cat) == OOP_GEMSTONE_ERROR_CAT &&  (num) / 1000 ==  2))
#define GCI_ERR_ABORTING_CAT(cat, num) \
    (((cat) == OOP_GEMSTONE_ERROR_CAT &&  (num) / 1000 == 3))
#define GCI_ERR_FATAL_CAT(cat, num) \
    (((cat) == OOP_GEMSTONE_ERROR_CAT &&  (num) / 1000 == 4))
/* internal errors are 5000-5999 */
#define GCI_ERR_EVENT_CAT(cat, num) \
    (((cat) == OOP_GEMSTONE_ERROR_CAT &&  (num) / 1000 == 6))

/*=========================================================================
 *
 *   COMPILER ERRORS - numbered from 1001 to 1999
 *
 *    Compiler errors are reported differently than other errors.  Rather 
 *    than having a single error and zero or more arguments, all compiler 
 *    errors are reported as error COMPILER_ERR_STDB(defined below as 1001) . 
 *    This error has either 1 or 6 arguments, as follows:
 *      1) An array of error descriptors (always present)
 *        Each error descriptor is an array of three elements: 
 *         1) specific error number from 1002 to 1063 (see below)
 *         2) an offset into the source code string pointing to where the 
 *            error was detected.  
 *         3) string describing the error 
 *    The following error arguments are present only if the compilation error
 *    occurred during automatic recompilation of methods for class modification.
 *      2) Source string of the compilation in error
 *      3) receiver of the recompilation method
 *      4) category of method containing the error
 *      5) symbolList used by the recompilation
 *      6) selector of the method containing the error
 *    See Behavior|recompileAllMethodsInContext:  for more details.
 *    
 *=========================================================================
 */

#define COMPILER_ERR_STDB               1001   
	/* compilation errors found. 
           Arg1: Array of error descriptors, Arg2: source string object 
         */
#define STDB_ERR_MAX_PATH               1002
	/* Paths are allowed only 16 elements.  The indicated path has too many
	   elements.  */
#define STDB_ERR_ARRAY_TOO_LARGE        1003
	/* Arrays created by #[...] constructs may only contain up to 255 
	   elements */
#define STDB_ERR_EOF_IN_STR_LIT         1004
       /* Scanned to the end of the method without finding an ending prime 
	for a string literal. */
#define STDB_ERR_EOF_IN_COMMENT         1005
	/* Scanned to the end of the method without finding an ending quote
	  for a  comment. */
#define STDB_ERR_EOF_IN_CHR_LIT         1006
	/* Did not find a character after the dollar sign in a character 
	 literal. */
#define STDB_ERR_UNEXPECTED_COLON       1007
	/* A colon must immediately precede either an equals sign (assignment) 
	  or an identifier (block parameter). [This one is neither.] */
#define STDB_ERR_UNEXPECTED_POUND       1008
	/* A pound sign must immediately precede one of the following: 
	 (, [, or a valid symbol character. [Did not find one of these.] */
#define STDB_ERR_BAD_CHR                1009
	/* The character found is not valid as a beginning character for a 
	 token. */
#define STDB_ERR_LIT_TOO_BIG            1010
	/* String literals cannot be larger than 10,000 characters. */
#define STDB_ERR_BAD_RADIX              1011
       /* The maximum radix is 36. This radix is too big. */
#define STDB_ERR_BAD_CHR_IN_RADIX_NUM   1012
	/* The character included in the radixed number is out of range or 
	is an invalid character. */
	/* emitted by the parser.. */
#define STDB_ERR_EXPECTED_RIGHT_PAREN   1013
	/* Expected a right parenthesis. Did not find it. */
#define STDB_ERR_EXPECTED_PRIMARY       1014
	/* Expected a primary expression. */
#define STDB_ERR_EXPECTED_VAR           1015
	/* Expected a variable name. */
#define STDB_ERR_EXPECTED_SELECTOR      1016
	/* Expected a selector beginning symbol for a message pattern. */
#define STDB_ERR_MAX_ARG                1017
	/* Only 15 arguments are allowed in a keyword message selector. */
#define STDB_ERR_EXPECTED_EOF           1018
	/* Tokens were found after the logical end of a parseable method. */
#define STDB_ERR_EXPECTED_STATEMENT     1019
	/* Expected a statement beginning token. It is missing. */
#define STDB_ERR_EXPECTED_PRIM          1020
	/* Expected to find the keyword "Primitive" after <. It is missing. */
#define STDB_ERR_EXPECTED_PRIM_NUM      1021
	/* Expected to find an integer.  It is missing. */
#define STDB_ERR_BAD_PRIM_NUM           1022
	/* The maximum primitive number is 1023. This number is either larger
	  than that or less than 1. */
#define STDB_ERR_EXPECTED_RIGHT_BRACE   1023
	/* Expected a right curly bracket to terminate a selection block. It is
	  missing. */
#define STDB_ERR_MAX_ARGS_TEMPS     1024
	/* The maximum sum of args and temps for a method or block is 2048,
           including the args and temps from any optimized block that is
           embedded in the method or block */
#define STDB_ERR_EXPECTED_VERTICAL_BAR  1025
	/* Expected a vertical bar to end a temporaries declaration. It is
	  missing. */
#define STDB_ERR_EXPECTED_MSG_PATTERN   1026
	/* Invalid message pattern. */
#define STDB_ERR_EXPECTED_GT            1027
	/* A primitive or prama did not end with the expected > token. */
#define STDB_ERR_BAD_FLT                1028
	/* The given exponent in the floating point number does not begin with
	  a digit or is out of range. */
#define STDB_ERR_EXPECTED_ASSIGNABLE    1029
	/* The symbol on the right of an assignment must be either an instance
	  variable, a temporary, or a literal variable. The symbol found 
	 is none of these.*/
#define STDB_ERR_ALREADY_DEFINED        1030
	/* The symbol is already defined as a temporary, an instance variable, 
	 or a parameter. */
#define STDB_ERR_NOT_DEFINED            1031
	/* The symbol is not defined before its use. */
#define STDB_ERR_PREDICATE_TOO_BIG      1032
	/* The selection block's predicate is too complex. Simplify it and
	  recompile the method. */
#define STDB_ERR_BLOCKS_TOO_DEEP        1033
       /* Blocks can only be nested 15 levels */
#define STDB_ERR_UNEXPECTED_TOKEN       1034
	/* The indicated token was totally unexpected. */
#define STDB_ERR_EXPECTED_RIGHT_BRACKET 1035
	/* Expected a ]. Did not find it. */
#define STDB_ERR_STACK_TOO_BIG          1036
	/* The activation record requirements of the given method exceed the limits
	  of the system. Reduce the complexity of the method and 
	 recompile it. */

#define STDB_ERR_STMT_NO_EFFECT   1037
        /* statement has no effect */
           
#define STDB_ERR_CODE_TOO_BIG           1038
	/* The size of the compiled method exceeds the maximum allowed. Reduce
	  the size of the method, and recompile it. */
#define STDB_ERR_MAX_LITS               1039
	/* The maximum number of literals is 255. This method has too many. */
#define STDB_ERR_MAX_SELECTORS          1040
	/* The maximum number of selectors is 255. The method has too many. */
#define STDB_ERR_PRIM_NOT_ALLOWED       1041
	/* You may not compile a primitive or protected method */
#define STDB_ERR_EXPECTED_BOOL_OR_EXPR  1042
	/* The object was not true, false or an expression */
#define STDB_ERR_EXPECTED_BLOCK_OR_EXPR 1043
	/* The object was not a block or an expression */
#define STDB_ERR_EXPECTED_INT_OR_EXPR   1044
	/* The object was not an Integer or expression */
#define STDB_ERR_NOT_POS_INT_OR_EXPR    1045
	/* The object was not a positive Integer or expression */
#define STDB_ERR_DISALLOWED_SELECTOR    1046
	/* You may not compile a method for this selector */
#define STDB_ERR_BAD_NUM_OF_ARGS        1047
	/* The block has the wrong number of arguments for this selector */
#define STDB_ERR_LITERAL_INVARIANT      1048
        /* Attempt to modify an invariant literal such as EmptyString or
           EmptyArray; generated when compiling in dbf conversion mode */

#define STDB_ERR_EXPECTED_OPERAND       1049
	/* An operand was missing from the select block term */
#define STDB_ERR_BAD_SELECT_OPERATOR    1050
	/* An unacceptable operator was given in the select block term; must be
	  one of <, >, <=, >=, =, ~=, ==, ~~ */
#define STDB_ERR_EXPECTED_SELECT_TERM   1051
	/* Encountered an empty select block which evaluates to nil. 
	 The select block must evaluate to a boolean */
#define STDB_ERR_TERMS_NOT_PAREN        1052
	/* The conjoined terms of the given SelectionBlock were not
	  parenthesized */
#define STDB_ERR_BAD_NUM_OF_SELECT_ARGS 1053
        /* A SelectBlock was encountered that does not have one argument */
#define STDB_ERR_BAD_EUC_FORMAT         1054
        /* The bytes of the source string are not in EUC format */
#define STDB_ERR_TOO_MANY_BLOCKS        1055
        /* The maximum number of blocks in a method is 65536 */
#define STDB_ERR_MAX_ARGS               1056
        /* the maximum number of arguments to a method or block is 255 */ 

#define STDB_ERR_CODE_GEN_LOGIC      1057
        /* Internal logic error in compiler */

#define STDB_ERR_FIRST_TERM_CANNOT_BE_SET_VALUED    1058
        /* The first term of a path in a SelectBlock cannot indicate
           search over a set-valued instance variable (cannot be '*') */

#define STDB_ERR_ILLEGAL_PROTECTED_METHOD    1059
        /* Specified primitive method cannot be a protected method */

#define STDB_ERR_PROTECTED_TOKEN_REQUIRED  1060
       /* Method requires either <protected> or <unprotected> */

#define STDB_ERR_SUPER_NOT_ALLOWED  1061
       /* reference to super not allowed in instance method for Object */

#define STDB_ERR_UNUSED_TEMP_VAR  1062
       /* method or block temporary is unused */

#define STDB_ERR_ODD_SIZE_DB_STRING 1063
       /* source string that is DoubleByteString has odd basic size */

#define STDB_ERR_PRIMITIVE_IN_PRAGMA 1064
      /* primitive: , protected, unprotected , requiresVc  not allowed in pragma */

#define STDB_ERR_PRAGMA_IN_PRIM 1065
      /* pragma not allowed in a primitive: , protected, unprotected , requiresVc  method*/


/*========================================================================
 *
 *   Virtual Machine Errors - numbered from 2001 to 2999
 * 
 *========================================================================
 */

#define RT_ERR_INVALID_TRANS_MODE       2001
	/* The argument specified for transactionMode: was not valid.
           Args: (1) the invalid argument.
         */
     
#define RT_ERR_BAD_SYMBOL_LIST          2002
	/* The user's symbol list is not a kind of Array containing
	objects that are a kind of SymbolDictionary */

#define OBJ_ERR_BAD_OFFSET_INCOMPLETE   2003
	/* An indexable object was referenced with an index that was 
	out of range.  The index must be between 1 and the number of 
	indexable fields.  Args: (1) the object; (2) the subscript
		       OR 
	An NSC was indexed with a subscript that was out of bounds.
	Args: (1) the NSC (2) the subscript */
#define RT_ERR_BAD_SUBSCRIPT            2004
      /* A subscript that was out of range or not an Integer was used to 
         index an object.
	  Args: (1) the object; (2) the subscript */

#define GCI_ERR_BAD_NUM_MSG_PARTS       2005 
	/* GciSendMsg was called with an inconsistent number of message
	parts.  Args: none */
#define RT_ERR_AUTH_ARRAY_SIZE          2006 
	/* An attempt was made to change Segment authorization, but the
	number of elements in the authorization array was wrong.  The array
	should be of size 5.  Args: (1) the array */  /* Not generated in Gs64*/
#define RT_ERR_SHOULD_NOT_IMPLEMENT     2007
	/* A method was invoked that has been specifically disallowed 
	 in a subclass.
	 Args: (1) the receiver: (2) the selector */
#define RT_ERR_SUBCLASS_RESPONSIBILITY  2008
	/* A method has been invoked in an abstract superclass that was designed
	  to have been overridden in a concrete subclass.
	  Args: (1) the abstract superclass; (2) the selector */
#define OBJ_ERR_CLASS_VARIANT           2009
	/* An attempt was made to create an instance of a modifiable class
	   (that is, a class still involved in schema design).  Send the
	   message "immediateInvariant" to the class to terminate class
	   modification and allow instance creation.
	  Args: (1) the class. */
#define RT_ERR_DOES_NOT_UNDERSTAND      2010
	/* No method was found for the given selector.
	  Args: (1) the  receiver; (2) the selector;  
	 (3) an array of arguments */

#define OBJ_ERR_NOT_SEGMENT             2011
	/* An attempt was made to use an object that is not a segment where
	   a segment was required.
	   Args: (1) the segmentId (2) reason */

#define OBJ_ERR_NOT_INDEXABLE           2012
	/* An attempt was made to index an object that is not indexable.
	  Args: (1) the object */
#define RT_ERR_CANT_PERFORM             2013
       /* Cannot perform the given selector with the given arguments. 
	Either the method was not found or the wrong number of arguments 
	was specified.
	Args: (1) the receiver; (2) the selector; (3) array of arguments */
#define CLASS_ERR_SUBCLASS_DISALLOWED   2014
	/* Cannot create a subclass of the given class.  Args: (1) the class. */

#define OBJ_ERR_NOT_IN_COLLECTION       2015 
#define OBJ_ERR_NOT_IN_NSC              2015  /* for compatibility */
	/* An object was not found in collection where it was expected.
	  Args: (1) the collection;  (2) the object not found  */

#define REP_ERR_MAX_EXTENTS             2016
	/* An attempt was made to create a new extent when the logical
           repository already has the maximum number of extents attached,
           or when the keyfile limit on repository size would be exceeded.
	   Args: (1) reason*/

#define RT_ERR_BAD_PATTERN              2017
	/* Illegal pattern array for string pattern matching.  
	Args: (1) the pattern */
#define RT_ERR_BAD_BLOCK_ARG_COUNT      2018
	/* An attempt was made to evaluate a block or method with the 
        wrong number of arguments.
	Args: (1) the block or method ; (2) the expected number of arguments; 
	(3) the number of arguments used. */
#define OBJ_ERR_COLLECTION_EMPTY        2019
       /* An attempt was made to access elements of an empty Collection.
	Args: (1) the collection */
#define RT_ERR_ARG_NOT_CHR              2020
	/* An attempt was made to store a object other than a character 
	into a string.
	Args: (1) the object to be stored */
#define RT_ERR_KEY_NOT_FOUND            2021
	/* A reference into a dictionary using a non-existent key was made.
	Args: (1) the dictionary; (2) the key */
#define RT_ERR_BAD_DATE_TIME_ARGS       2022
	/* Invalid arguments given to DateTime instance creation.  Args: none */

#define RT_ERR_GENERIC_KERNEL_ERROR  2023
        /* Generic error from kernel class method, Args: (1) message String*/

#define RT_ERR_NO_SUCH_BP               2024
	/* A breakpoint was specified for deletion that does not exist
	   in the breakpoint table.  Args: none */

#define REP_ERR_CANT_CREATE_FILE        2025
	/* The system was unable to create the given file.
	   Args: (1) the filename */

#define NUM_ERR_INT_DIVISION_BY_ZERO    2026
       /* An attempt was made to divide an integer by zero.  
	Args: (1) the number */

#define RT_ERR_SPECIAL_OR_NOT_COMMITTED 2027
       /* An attempt was made to add a special or uncommitted object
          to the NotifySet.
        Args: (1) the object that is special or uncommitted */

#define REP_ERR_PRE_GROW_FAILURE        2028
       /* The given extent could not be created because an attempt
	  to pre-grow the file failed for disk capacity reasons.
	  Args: 1) the filename */

#define RT_ERR_BEGIN_TRANS             2029
       /* An attempt was made to begin a new transaction when already 
          in a transaction.
          Args: NONE  */

#define RT_ERR_PRIM_OUTSIDE_TRANS    2030
       /* An attempt was made to execute a primitive that is disallowed
          when not inside of a transaction.  Examples are commit, backup and
          restore.
          Args: NONE  */

#define OBJ_ERR_INVARIANT               2031
	/* An attempt was made to change an invariant object.
	Args: (1) the object */

#define CLASS_ERR_METH_CAT_EXISTS       2032
	/* An attempt was made to create a method category that already exists.
	Args: (1) the class; (2) the category */

#define CLASS_ERR_SELECTOR_NOT_FOUND    2033
	/* A reference was made to a selector that could not be found 
	in a class's method dictionary.
	Args: (1) the class; (2) the selector */

#define LOCK_ERR_REMOVE                 2034
	/* The user is not allowed to remove a lock on an object that they
           do not have a lock on.
	Args: (1) the object for which the user was trying to remove the lock */

#define CLASS_ERR_METH_CAT_NOT_FOUND    2035
	/* In searching a class, the specified category name was not found.
	Args: (1) the class; (2) the category */

#define CLASS_ERR_BYTE_OBJ_INST_VARS    2036
	/* An attempt was made to create a byte subclass with instance 
	variables.
	Args: (1) the superclass of the intended new class */

#define CLASS_ERR_CONSTRAINT_NOT_CLASS  2037
	/* A constraint was specified incorrectly for subclass creation.
	A constraint must be specified as a class for Nscs or an array of
	pairs for pointer classes.
	Args: (1) the constraint argument */

#define CLASS_ERR_INVARIANT_SUPERCLASS  2038
	/* An attempt was made to create a variant subclass of an invariant
	class.  Args: none */

#define CLASS_ERR_NSC_NOT_INDEXABLE     2039
	/* An attempt was made to create an indexable subclass of an Nsc class.
	Args: (1) the class */

#define REP_ERR_EXTENT_NOT_MOUNTED      2040
	/* The given extent was not part of the logical repository.
	   Args: (1) the extent name or extentId */

#define RT_ERR_PAGES_NEED_SCAVENGING    2041
	/* The attempt to schedule pages for scavenging failed because
	   some other session was using the commit token.  Try again later. */

#define CLASS_ERR_NSC_INST_VARS         2042
	/* An attempt was made to create an Nsc subclass with instance 
	variables.
	Args: (1) the class */

#define CLASS_ERR_CLASS_VAR_NAME_EXISTS 2043
	/* An attempt was made to create a new class variable with the same 
	name as an existing class variable.
	Args: (1) the class; (2) the variable name */

#define CLASS_ERR_POOL_DICT_EXISTS      2044
	/* An attempt was made to add a dictionary to a shared pool 
	in which it was already a member.
	Args: (1) the class of the pool; (2) the dictionary */

#define CLASS_ERR_POOL_DICT_NOT_FOUND   2045
	/* An attempt was made to remove a dictionary from a shared pool in
	which it was not a member.
	Args: (1) the class of the pool; (2) the dictionary */

#define CLAMP_ERR_NO_SUCH_INSTVAR       2046
	/* During clamp compilation, an instance variable clamp was
	encountered for a non-existent instance variable.  Args:
	(1) the class (2) the instance variable name. */

#define CLAMP_ERR_NOT_A_CLASS           2047
	/* An object was specified for class or instance variable clamping
	that was not a class object. Args: (1) the object. */

#define CLAMP_ERR_NOT_A_CLAMPSPEC       2048
	/* In an attempt to perform clamped object traversal, a 
	ClampSpecification object was expected, but the specified object 
	was of the wrong class. 
	Args: (1) the object. */
       
#define CLAMP_ERR_BAD_ARG               2049
	/* An argument to a clamp specification method had a bad size or
	implementation . Args: (1) the argument object */

/* 2050  not used */

#define REP_ERR_BAD_EXTENT_SIZE         2051
	/* The given maximum extent size is smaller than the minimum size
	   of an extent.  Args: (1) the invalid size, (2) the minimum size
	   allowed for an extent */

#define REP_ERR_CANT_OPEN_FILE          2052
	/* The given file could not be opened.  Args: (1) the name of the
	   file */

#define RT_ERR_NO_SUCH_INST_VAR         2053
	/* An instance variable was not found in evaluating a path expression 
	for an object.
	Args: (1) the object in the path where the failure occurred; 
	      (2) the name of the instance variable */

#define RT_ERR_TAG_NOT_ALLOWED          2054
	/* An attempt was made to put a tag on an object which does not
         * support tags .
	Args: (1) the special */

#define RT_ERR_BAD_TAG_NUM              2055
	/* The tag number specified is not allowed, legal values are 1 & 2 
	Args: (1) the object on which the tag was being added.
	      (2) the tag number specified  */

#define SEG_ERR_MAX_SEG_GROUPS          2056
	/* An attempt was made to add a group to a segment that already 
	  recognizes four groups.
	Args: (1) the segment; (2) the group */   /* No longer used*/
#define SEG_ERR_BAD_AUTH_KIND           2057
	/* An attempt was made to change the authorization for a segment to an
	unrecognized value. (The only possible values are: #read, #write, 
	or #none.)
	Args: (1) the segment; (2) the symbol */

#define RT_ERR_UNDEF_POM_OBJ     2058
	/* Unsatisified forward references exist that were created by
	 * GciCreate or GciStore . This error prevents commit.
	 * GciCreate must be used to create objects that satisfy the references
	   Args:  The oop of one of the objects that was not yet created.
	 */

#define RT_ERR_STACK_LIMIT              2059     
	/* GemStone Smalltalk execution stack overflow. 
	 * Not trappable in Gemstone Smalltalk .  Arguments: none */

#define RT_ERR_ARG_NOT_POSITIVE         2060
	/* A negative or non-numeric was found where a positive numeric 
	was expected.
	Args: (1) the value */
#define RT_ERR_ARG_OUT_OF_RANGE         2061
	/* An argument was too large or out of range.
	Args: (1) the argument , (2) max or min value which was exceeded */
#define RT_ERR_CANT_CHANGE_CONSTRAINT   2062
        /* A constraint cannot be changed in a Dictionary that is not empty.*/

#define RT_ERR_NO_MESSAGE               2063
	/* An error was signalled for which there is no message.
	Args: (1) the LanguageDictionary; (2) the error */

#define NUM_ERR_ARG_NOT_CHR            	2064
        /* An attempt was made to coerce an integer into a kind of Character, but its
        value was not in range.
        Args: (1) the integer */
#define NUM_ERR_ARG_NOT_FLT_EXCEPTION  	2065
        /* An unrecognized float exception was specified.  Legal float 
        exceptions are: 'divideByZero', 'inexactResult', 'invalidOperation', 
        'overflow', and 'underflow'.
        Args: (1) the specified exception */

#define NUM_ERR_FLT_EXCEPTION           2066
	/* A floating point exception has been raised.  Arguments:
	 1) The type of floating point exception (a String),
	 2) The selector that generated the exception, 3) the default result,
	 4-10) arguments to the original operation */

#define NUM_ERR_ARG_NOT_ROUNDING_MODE   2067
	/* An unrecognized float rounding mode was specified.  Legal modes are:
	'nearestEven', 'towardMinusInfinity', 'towardPlusInfinity', and
	'towardZero'.
	Args: (1) the specified rounding mode */
#define SEG_ERR_CANT_MOVE_OBJ           2068
	/* An attempt was made to change the segment of a special object or
        a symbol. Segment changes are not allowed for special objects or 
        symbols.
	Args: (1) the object */

#define RT_ERR_EXCEPTION_NOT_LINKED     2069
	/* An attempt was made to remove an unlinked exception.
	Args: (1) the exception */


#define NUM_ERR_ARG_NOT_FLT_STATUS      2070
       /* An invalid float status was specified.  Args: (1) the float status */

#define LOCK_ERR_UNDEFINED_LOCK         2071
	/* The lock kind specified was invalid 
	Args: (1) the object upon which the lock was requested 
	      (2) kind of lock requested */

#define LOCK_ERR_INCOMPLETE             2073
	/* One or more of the objects you requested had a lock error. 
	Args:(1)  objects that were not locked i.e., LOCK_ERR_DENIED 
		  (an Array)
	     (2)  objects that were locked but have new values
		  i.e., LOCK_ERR_OBJ_HAS_CHANGED (an Array), 
	     (3)  special objects
		  i.e., LOCK_ERR_SPECIAL (an Array). */

#define LOCK_ERR_OBJ_HAS_CHANGED        2074
	/* A requested lock was granted, but the object has changed value 
	   since you started this transaction. 
	   Args (1) object upon which lock was requested. */

#define LOCK_ERR_DENIED                 2075
	/* A requested lock was denied. Args (1) object upon which lock was 
	requested, (2) the kind of lock requested (#read, #write, 
	or #exclusive). */

#define RT_ERR_MAX_CLUSTER_ID           2076
        /* A request to create a new clusterbucket exceeded the maximum
	   size allowed for a clusterId. 
	   Args: (1) The max size. */

#define RT_ERR_BAD_ERR                  2077
	/* An attempt was to signal an error that has a bad format,
	   but it has a non-positive error number.  Arguments:
	   (1) the error number,
	   (2) the original error list (an Array), (3) the SymbolDictionary */

#define RT_ERR_USER_ID_ALREADY_EXISTS   2078
	/* An attempt was made to add a UserProfile to a UserProfileSet that
	already has an entry with the same userId.
	Args: (1) the set; (2) the userId */

#define RT_ERR_CANT_RETURN              2079
	/* GemStone Smalltalk execution could not return from the current 
         activation. 
        The activation or process to return to may no longer be active.
	Args: None (the Process will contain the stack in which the return
  			failed)  */

#define RT_ERR_CANT_CHANGE_CLASS        2080
	/* An illegal attempt was made to change the class of an object.  
	The new class must be a direct subclass of the object's class and
	have the same implementation and constraints.
	Args: (1) the object; (2) the new class */
#define RT_ERR_CANT_BECOME_SPECIAL              2081
	/* An attempt was made to use become with an object that 
           is a special object 
	Args: (1) the object */


#define RT_ERR_GARBAGE_COLLECT          2082
	/* Attempt to run mark for collect when not the only user on the
	   system AND the concurrency mode is set for no read set */

#define RT_ERR_PRIM_NOT_FOUND           2083
        /* a method was invoked that calls a non-existent primitive.
         Args: the primitive number
         */

#define RT_ERR_NO_INST_VARS             2084
       /* An attempt was made to directly access the instance variables of 
       an object with instVarAt: or instVarAt:put:, but the object has no 
       instance variables.
       Args: (1) the object */
#define RT_ERR_EXPECTED_BOOLEAN         2085
	/* The virtual machine expected a boolean to be on top of the stack 
	but found something else.
	Args: (1) the object on top of the stack */

#define RT_ERR_DIRTY_OBJS_NEEDS_INIT  2086
    /* GciDirtyObjsInit must be executed at least once before GciDirtyObjs */

#define RT_ERR_CANT_CHANGE_PASSWORD   	2087
        /* An attempt was made to change the password for another 
        UserProfile with oldPassword:newPassword:.  Use password: instead.
        Args: the UserProfile */

#define RT_ERR_NEW_STACK_LIMIT  2088
        /* The value specified for the new stack limit is smaller than
	  the current size of the execution stack. 
        Args: new stack limit value */

#define RT_ERR_BAD_COPY_FROM_TO         2089
        /* An index range was specified for a sequenceable collection with the
        starting index greater than the ending index.
        Args: (1) the starting index; (2) the ending index */

#define RT_ERR_NIL_KEY_VALUE_DICT_KEY        2090
        /* An illegal attempt was made to store nil
	   as a key in a KeyValueDictionary */

#define RT_ERR_CANT_BECOME_BOTHIDX    2091
        /* Attempt was made to use become on two objects that both participate
	 * in indexes and are not of the same class.
         * Args: (1) obj1 (2) obj2 */ 

#define RT_ERR_NO_PROCESS_TO_CONTINUE   2092
	/* The Process specified from which to continue is invalid.
	Args: the Process */
#define RT_ERR_BAD_STREAM_POSITION      2093
	/* An attempt was made to set the Stream position beyond the 
	limits of the collection.  The position must be in the range of 
	1 to collection size + 1.
	Args: (1) the stream; (2) the position */
#define RT_ERR_BAD_ARG_KIND             2094
	/* The specified object was not of the expected class kind.
	Args: (1) the object; (2) the expected class */
#define CLASS_ERR_CLASS_VAR_NOT_FOUND   2095
	/* An attempt was made to remove a class variable that did not exist.
	Args: (1) the class; (2) the variable name */
#define ASSOC_ERR_NO_ELEMENTS_DETECTED  2096
	/* detect: was sent to a collection, but no elements of the 
	 collection satisfied the block.
	Args: (1) the collection; (2) the block */
#define CLASS_ERR_NOT_A_VAR             2097
	/* A symbol was not resolvable as a variable within a class
	(i.e., an instance variable, class variable, or pool variable).
	Args: (1) the class; (2) the symbol */
#define SEG_ERR_TOO_MANY_GROUPS         2098
	/* A collection of groups was specified that held more than 
	 four members.
	Args: (1) the collection  */
#define RT_ERR_EXPECTED_BYTE_VALUE      2099
	/* An attempt was made to store into a byte object something other 
	than a SmallInteger in the range 0-255.
	Args: (1) the object being stored */
#define CLASS_ERR_BAD_FORMAT            2100
	/* A class creation was attempted with an illegal representation.
	Args: (1) the potential class name */
#define OBJ_ERR_DOES_NOT_EXIST          2101
	/* The object does not exist.  Args: (1) Integer value of objectId,
         * trappable only by an Exception specifying exactly this error */
#define OBJ_ERR_NOT_OOP_KIND            2102
	/* The object is not implemented as a pointer object.
	Args: (1) the object */
#define OBJ_ERR_NOT_BYTE_KIND           2103
	/* The object is not implemented as a byte object.
	Args: (1) the object */
#define OBJ_ERR_NOT_NSC_KIND            2104
	/* The object is not implemented as an Nsc object.
	Args: (1) the object */
#define OBJ_ERR_ALREADY_EXISTS          2105
	/* An attempt was made to create an object that already exists.
	Args: (2) object identifier of the object (1) the object*/
#define OBJ_ERR_OOP_NOT_ALLOCATED       2106
	/* An attempt was made to store a forward reference using an oop
	  that has not been allocated to the session
	Args: (1) the object identifier */

#define OBJ_ERR_CONSTRAINT_VIOLATION    2107
	/* An object of the wrong class was stored into a constrained instance
	variable.
	Args: (1) the object being modified; (2) object stored; 
	(3) the highest allowable class; (4) the class of the object stored */
#define RT_ERR_EXPECTED_CLASS           2108
	/* The specified object was expected to be a class but was not.
	Args: (1) the object */

#define OBJ_CLASS_NOT_OOP_KIND          2109
	/* An attempt was made to create a pointer object for a class which
	 * does not specify pointer object format  
	Args: (1) the class */

#define OBJ_ERR_BAD_OFFSET              2110
        /* An object was indexed using structural access with a index
        that was out of range.  The minimum index is 1.  The maximum is
        specified by an argument.
        Args: (1) the object; (2) the maximum index; (3) the specified index */

#define OBJ_ERR_CANT_CREATE_INSTANCE    2111
	/* An attempt was made to create an instance of a class
	that does not allow "new".
	Args: (1) the class */

#define OBJ_CLASS_NOT_BYTE_KIND         2112
	/* An attempt was made to create a byte object for a class which
	 * does not specify byte object format  
	Args: (1) the class */

#define LOCK_ERR_ARG_SIZE              2113
	/* An argument to a locking primitive was too large */

#define OBJ_ERR_NOT_SPECIAL_KIND        2114
	/* The object is not implemented as a special object.
	Args: (1) the object */

#define AUTH_ERR_SEG_READ               2115
	/* An attempt was made to read an object with insufficient 
       authorization.
	Args: (1) oop of the object; (2) its segment (3) detail string */
#define AUTH_ERR_SEG_WRITE              2116
      /* An attempt was made to modify an object with insufficient 
	authorization.
	Args: (1) the object; (2) the segmentId */
#define OBJ_ERR_NOT_OOP_OR_NSC          2117
      /* An operation was attempted on an object that is legal only 
	on pointer or Nsc objects.
	Args: (1) the object */

#define RT_ERR_OBSOLETE                 2118
      /* A selector was sent to an object whose class is obsolete.
         Args: (1) the object
               (2) the selector */

#define RT_ERR_CANT_BECOME_ONEIDX       2119
        /* Attempt to use become when one object is indexed, and the
	   other object is not the same format as the indexed object
         Args: (1) indexed object, (2) other object
         */

#define OBJ_ERR_NOT_FLT                 2120
	/* Through the GCI, a request was made to convert a float object 
	into another representation.  The object given, however, was not 
	a float.
	Args: (1) the object */

#define RT_ERR_CANT_BECOME_CLASSKIND    2121
        /* Attempt to use become on an object that is used internally
           by the virtual machine.
         Args: (1) the object, arg (2) the class
         */

#define CLASS_ERR_BYTE_SUBCLASS    2122
	/* You may not create a byte subclass of the given class. 
	Args: (1) the superclass of the intended new class */

#define REP_ERR_BAD_BKUP_SWIZZLE 2123
        /* an invalid swizzle transform was detected in a backup file
          Args: longTransform , shortTransform */

#define REP_ERR_CANT_CREATE_REPOS       2124
	/* The specified repository could not be created.
	Args: (1) the repository name */
#define REP_ERR_BAD_FILE_SPEC           2125
	/* The given file spec was invalid.  (Is the logical directory defined?
	Is the filename in host format?)
	Args: none */
#define REP_ERR_FILE_ALREADY_EXISTS     2126
	/* The file (1) already exists.
	Args: filename */

#define RT_ERR_DUPLICATE_KEY 2127
        /* Key already exists in a dictionary. Args: the dictionary, the key, */

#define ASSOC_ERR_BAD_COMPARISON        2128
	/* The evaluation of a selection block resulted in an illegal comparison
	being performed.
	Args: none */
#define REP_ERR_INCOMPATIBLE_REPOS      2129
	/* The repository version does not match the version of GemStone
	currently being run.
	Args: none */

#define ASSOC_ERR_CLASS_MODIFIABLE      2130
	/* An attempt was made to create an index where the class of one
	   of the terms in the path is a class that is still modifiable. 
	   Args: 1) the class */

#define CLASS_ERR_CONSTR_INHER          2131
	/* The specified constraint is not a subclass of an inherited
	   constraint for an inherited instance variable or indexable part.
	   Args: 1) the specified constraint; 2) the inherited constraint;
	   3) the offset.  */  
#define CLASS_ERR_BAD_CONSTRAINT        2132
	/* The constraint field was invalid in subclass creation.
	Args: none */

#define REP_ERR_BAD_BKUP_VERSION 2133
        /* an incompatible file version was detected in a backup file
          Args: version */

/* 2134 still used by GS 6.1  DO NOT REUSE THIS NUMBER!! See bug 31601 */

#define RT_ERR_CANT_BECOME_INDEXED_NSC 2135
        /* Attempt to use become on an object that is a kind of Bag
           while the object has indexed paths.
         Args: (1) the object
         */

#define RT_ERR_NO_INDEX_FOR_PATH 2136
        /* An index with the path was not found for the Nsc.
	  Args: (1) the path string */

#define OBJ_CLASS_NOT_OOP_OR_NSC_KIND          2137
	/* An attempt was made to create a pointer object for a class which
	 * does not specify pointer object format  
	Args: (1) the class */

#define RT_ERR_MAX_RECURSION                     2138
      /* Too many recursions from useractions to GemStone Smalltalk or within 
       * object manager*/

#define RT_ERR_BAD_SESSION              2139
	/* A session was specified that does not exist.
	Args: none */

#define RT_ERR_NOT_ONLY_USER            2140           
	/* An operation that needs exclusive use of the system was 
	 attempted when other users were logged in.
	 Args: 1) number of users logged in */

#define OBJ_ERR_MAX_SIZE                2141
	/* An attempt was made to extend an object to larger than 
	the maximum allowable size.
	Args: (1) the object; (2) the specified size (3) the maximum size */

#define RT_ERR_INVALID_METHOD           2142
      /* The virtual machine cannot execute a method until it has been upgraded
          to a 4.0 or higher version.  
         Args: (1) the invalid CompiledMethod */

#define REP_ERR_MAX_ONLINE_REPOS        2143
	/* An attempt was made to attach more repositories than can 
	be on-line at one time.
	Args: none */

#define RT_ERR_RCQUEUE_ENTRIES_FOUND 2144
        /* In attempting to reset the maxSessionId for the queue to a 
           smaller value,  an entry was found that was added by a session 
           whose sessionId is larger than the value currently being set.  
           Remove and save all entries in the queue.  Then changeMaxSessionId 
           and add the saved entries back into the queue.
	Args: none */

#define RT_ERR_FIRST_PATH_TERM_SET_VALUED    2145
	/* The first term in an Nsc index path expression cannot indicate
         * a set-valued instance variable (i.e. cannot be an asterisk).
         */

#define GCI_ERR_PARENT_SESSION          2146
	/* The attempted GCI operation is illegal in a user action 
	 * when applied to a session inherited from a parent GemStone Smalltalk 
	 * or GCI scope 
	 */ 

#define GCI_ERR_ALREADY_LOGGED_IN       2147
	/* An attempt was made to log in after the session was already 
	established.
	Args: none */
#define CLASS_ERR_BAD_IDENTIFIER        2149
	/* An illegal identifier was used to name an instance variable or class.
	Args: (1) the name */

#define CLASS_ERR_CONSTR_PRIVATE_IV     2150
   /* Illegal attempt to constrain a private instance variable.
      Args: (1) name of the instance variable */

#define RT_ERR_NO_PRIV                  2151
	/* An attempt was made to do a privileged operation for which no
	privilege had been granted.
	Args: none */

#define RT_ERR_INVALID_BTREE_READ_STREAM	2152
	/* The btree read stream is invalid (possibly due to modifications
           to objects referenced by the stream)
	 Args: none */

#define RT_ERR_DECR_NOT_ALLOWED 	2153
     /*   An RcPositiveCounter cannot be decremented to a negative value . */

#define REP_ERR_REPOS_NOT_ATTACHED      2154
	/* The repository referenced is not attached.
	Args: (1) the repository */
#define REP_ERR_REPOS_NEEDS_RECOVERY    2155
	/* The repository could not be attached because it was left 
	in an inconsistent state.  A recovery program must be run on it.
	Args: (1) the repository */
/* 2156 not used */

#define REP_ERR_REPOS_READ              2157
	/* A read error was detected when reading from the repository.
	Args: (1) the page number (2) the filename of the repository extent */
#define REP_ERR_REPOS_WRITE             2158
	/* A write error was detected when writing to the repository.
	Args: (1) the page number (2) the filename of the repository extent */

#define RT_ERR_MIGRATION_CONSTRAINT     2159
        /* An object migration could not occur because of a constraint 
           migration. Args: (1) the object (2) instVar value (3) constraint
           on instVar value required by destination class .*/

#define RT_ERR_SELECTIVE_ABORT          2160
        /* The selectiveAbort primitive was attempted on an object that
           is involved in an index.
        Args: (1) the object on which the selectiveAbort was attempted. */
#define OBJ_ERR_DATETIME_OUT_OF_RANGE   2161
	/* The DateTime passed is either out of range for a time_t, or
	   the julianSeconds field is not between 0 and 86399 inclusive.
	Args: none */
#define OBJ_ERR_LONG_NOT_SMALL_INT      2162
	/* The integer passed to gciIntToObject was outside the range of
	SmallIntegers.
	Args: none */
#define OBJ_ERR_NOT_LONG                2163
	/*  GciOopToI32, or GciOopToI64 was passed an object 
         * which exceeded the range of the result type or was not an Integer
	Args: none */
#define OBJ_ERR_NOT_CHR                 2164
	/* The argument to a GCI object to character conversion was not
           an instance of Character, or is out of range of the result. 
	  Args: */

#define LGC_ERR_COMPRESS_FAILURE        2165
        /* compress() in the zlib library failed Args: (1) error code */

#define LGC_ERR_UNCOMPRESS_FAILURE        2166
        /* uncompress() in the zlib library failed Args: none */

#define LGC_ERR_TRAVSWIZZ_FAILURE        2167
        /* travBuffSwizzle() in the linkgc.hc moudle failed Args: none */

#define RT_ERR_ARG_TOO_LARGE             2168
  /* The object (arg 1) is too large. The maximum allowed size is (arg 2) */

#define RT_ERR_PROMOTE_FAILED            2169
        /* Unable to promote the commit to a checkpoint */

#define RT_ERR_UALIB_LOAD_FAILED 2171
       /* An attempt to load a user action library failed.
        Args: (1) C string explaining why load failed */

#define LGC_ERR_OBJREPHDR_SIZE  2172
       /* Mismatch in size of GciObjRepHdrSType, problems with C compiler
        * used to build a client GCI perhaps. Args: none */

#define AUTH_ERR_SEG_LOAD          2173
	/* Error loading a Segment into authorization cache, 
	Args: (1) details  (2) object whose segment was being loaded*/		

#define AUTH_ERR_SEG_READ_RECURSION           2174
	/* Infinite recursion detected trying to load a Segment.
	 You do not have read authorization to the segment of the Segment.
         All Segments should be in DataCuratorSegment .
	Args: (1) segmentId of the Segment */	

#define ASSOC_ERR_PATH_TOO_LONG         2175
	/* A path was specified with more than 1024 characters.
	Args: (1) the path */
#define REP_ERR_FILE_NAME_TOO_BIG       2176
	/* The filename is too large
	Args: (1) the filename (2) maximum size */

#define RT_ERR_SEMAPHORE                2177
        /* A semaphore operation failed.
        Args: (1) the semaphore index; 
              (2) the message returned by the underlying system routine */

#define RT_ERR_PASSWORD_TOO_BIG         2178
	/* A password was specified with more than 255 characters.
	Args: none */

#define RT_ERR_CLASS_HISTORY_MISMATCH  2179
        /* Become is not allowed because the classes of the two objects do
          not have identical class histories.
          Args: (1) anObject, (2) anObject */

#define CLASS_ERR_METH_DICT_LIMIT       2180
	/* A Class has more than 1500 methods in its method dictionary.
	Args: (1) the class */

#define RT_ERR_SHR_PC_DETACH            2181 
        /* An error occurred while detaching from the SharedPageCache 
        Args: (1) an error message returned from the lower levels  */

/* 2182 not used */

#define RT_ERR_INTERNAL                 2183
    /* SYSTEM ERROR: A system runtime error was detected.  
     Args: (1) the system error number; (2..n) error-specific arguments */
#define RT_ERR_STREAM_NOT_ON_A_COLL   	2184
        /* A stream was accessed to create an instance of a class, 
        but the collection of the stream was not of the proper class kind
        Args: (1) the class; (2) the stream (3) the expected collection class 
                 kind*/
#define RT_ERR_BAD_FORMAT         	2185
        /* An object was being read from a string or stream, but the format was
        not correct to read an object of the specified class.  
        Args: (1) the class; (2) the string or stream */

#define RT_ERR_SHRPC_COMPATIBILITY      2186
        /* The compatibility level of the SharedPageCache Monitor does 
           not match that of the executable trying to attach.
        Args: (1) compatibility level of the SharedPageCache Monitor.
        Args: (2) compatibility level of this process. */

#define SEG_ERR_BAD_GROUP               2187
	/* A group name was specified that was not in AllGroups.  
	Args: (1) the group name */
#define RT_ERR_BAD_PRIV                 2188
	/* A privilege was specified that was not a valid privilege string.
	Args: (1) the privilege string */

#define RT_ERR_RESOLVE_SYM_FAILED       2189
	/* GciResolveSymbol failed to find the specified C string or symbol 
	Args: none */

#define RT_ERR_SYM_ALREADY_DEFINED      2190
	/* The specified symbol was already defined.  
	Args: (1) the UserProfile of the current session.  (2) the symbol */
#define RT_ERR_SYM_NOT_FOUND            2191
	/* The symbol could not be found in the symbol list of the specified
	UserProfile.  
	Args: (1) the UserProfile; (2) the symbol */
#define RT_ERR_EOF_ON_READ_STREAM       2192
	/* End-of-file was encountered on a ReadStream.  
	Args: (1) the stream */
#define ASSOC_ERR_SORT_ODD_LENGTH_ARRAY 2193
	/* A sorting array was specified that was not an even number of elements
	long.  
	Args: (1) the array */
#define ASSOC_ERR_BAD_DIRECTION         2194
	/* A sorting direction was specified that was not ASCENDING or 
	DESCENDING.
	Args: (1) the direction specified */

#define RT_ERR_CONFIG_PARM_READ_ONLY    2195
        /* an attempt was made to modify a configuration parameter that
         * is read-only while the system is running.
         * Args: (1) name of parameter.
         */

#define RT_ERR_BAD_FORMAT_SPEC          2196
	/* An illegal formatting array was specified for the given class.
	Args: (1) the class; (2) the array */
#define HOST_ERR_FILE_EXPORT            2197
	/* The string cannot be exported to the specified file.
	Args: (1) the string (2) the file name */
#define HOST_ERR_FILE_IMPORT            2198
       /* The specified file cannot be imported.
	Args: (1) the file name */
#define HOST_ERR_FILE_DIRECTORY         2199
	/* Cannot fetch the server OS directory.
	Args: (1) the directory name */
#define HOST_ERR_FILE_DELETE            2200
	/* The specified file cannot be deleted.
	Args: (1) the file name */
#define HOST_ERR_PERFORM                2201
	/* The specified string cannot be executed in the OS shell.
	Args: (1) the string */
#define RT_ERR_SIG_MSG_TOO_BIG          2202
	/* The message was too long.
	Args: (1) the message string 
        Args: (2) the size of the string
	Args: (3) the maximum size allowed */

#define GCI_ERR_OP_IN_PROGRESS		2203
	/* A GCI operation was attempted before a previous nonblocking
	   operation was completed.
	Args:  (1) an integer representing the current operation in progress */

#define GCI_ERR_NO_START_CMD  2204
    /* A request was made to complete a non-blocking GCI call when 
        no such call was initiated. */

#define OBJ_ERR_BAD_CLUSTER_BUCKET      2205
	/* The specified clusterId is invalid.  Cluster IDs must
	be in the range 1.. (AllClusterBuckets size).
	Args: (1) the invalid clusterId (2) possibly invalid aClusterBucket 
              (3) max allowed clusterId */

#define RT_ERR_EPOCH_GC_ARRAY_SIZE          2206 
	/* The number of elements in the array used to set the Epoch
        Garbage Collector information is incorrect. The size should be 4.
        Args: (1) the array */

#define OBJ_ERR_RESULT_NSC_TOO_BIG      2207
	/* An attempt was made to increase the size of an NSC beyond the maximum
	(maxSmallInt).
	Args: none */

#define HOST_ERR_MEMORY_ALLOC           2208
	/*  Host memory allocation failed; there is insufficient 
            primary memory and/or swap space.  (memory allocation failure
            in the C heap space used by GemStone or GCI) 
         */

/* Specific errors related to setjmp/long jump on the GCI client */
#define GCI_ERR_CATCH_BUFF_NOT_FOUND    2209
	/* A non-existent catch buffer was specified.
	Args: none */
#define GCI_ERR_CATCH_BUFF_LIMIT        2210
	/* The catch buffer level must be in the range 0 to 20.  An invalid
	level was specified.
	Args: none */
#define OBJ_ERR_NOT_BOOLEAN             2211
	/* gciObjectToBool was passed an object that was not either True
	or False.
	Args: none */

#define RT_ERR_UNCOMPILED_METHOD        2212
        /* A method is obsolete and needs to be recompiled. 
        Args: (1) selector (2) class 3) method  */

#define RT_ERR_MUST_BE_SYSTEMUSER       2213
        /* Only SystemUser is allowed to perform this operation. Args: none */

#define RT_ERR_BAD_PASSWORD             2214
	/* The given password is not the password of the userProfile.
	Args: (1) the userprofile */

/*  Specifc errors related to object traversal on the GCI client  */
#define GCI_ERR_TRAV_OBJ_NOT_FOUND      2215
	/* The given object was not found within the given traversal buffer.
	Args: none  */
#define GCI_ERR_TRAV_COMPLETED          2216
	/* There exists no valid traversal because there was no prior invocation
	of gciTraverseObjects or there has been a modification to the database.
	Args: none */
#define GCI_ERR_TRAV_BUFF_TOO_SMALL     2217
	/* The given traversal buffer length must be >= GCI_MIN_TRAV_BUFF_SIZE
	 and must be a multiple of 8 bytes.
	Args: none */

#define RT_ERR_PATH_TO_STR_IVNAME       2218
    /* Path to String conversion failed due to invalid instVar offset.
      Args: (1) 1-based index of the term in the path that failed
	    (2) the invalid offset of the named instvar
	    (3) the class on which invalid offset was applied
	    (4) maximum legal offset */

/*  Specific errors related to (l)gciNewObjectWithValue on the GCI client  */
#define OBJ_ERR_NEGATIVE_COUNT          2219
	/* In a network call fetching elements out of an object a 
	  negative count was specified.  Args: (1) the count */

/* errors related to path access calls for GCI */
#define GCI_ERR_RESULT_PATH_TOO_LARGE   2220
    /* In GciStrToPath, GciPathToStr, the result was larger than the C
	array specified to hold the result. Args: (1) size of result,
	(2) specified max size */

#define GCI_ERR_FETCH_PATH_FAIL         2221  
    /* A path in GciFetchPaths failed due to another GemStone error.
	OOP_ILLEGAL appears as the result for that path. Args: none */

#define RT_ERR_STR_TO_PATH_IVNAME       2222
    /* String to path conversion failed due to invalid instVar name.
      Args: (1) 1-based index of the term in the path that failed
	    (2) class in which the instVar lookup failed
	    (3) the invalid instvar name */

#define RT_ERR_STR_TO_PATH_CONSTRAINT   2223
    /* String to path conversion failed due to lack of constraints.
      Args: (1) 1-based index of the term in the path that was
	    not constrained */

#define GCI_ERR_BREAK_CANCELED_MSG      2224
	/* Given command was not processed due to a hard break.  Args: none */
#define LGC_ERR_SYNC_1                  2225
	/* The first byte of the two-byte synchronization sequence 
	was wrong in the network.  Args: none */
#define LGC_ERR_SYNC_2                  2226
	/* The second byte of the two-byte synchronization sequence was wrong
	in the network.  Args: none */
#define LGC_ERR_BYTE_PACKET_TOO_LONG    2227
	/* A byte array packet was received over the network that 
	was too long. */
#define LGC_ERR_ARG_SIZE_INCONSISTENT   2228
	/* An array argument was received on the network that had a length
	different from that specified with the argument.  Args: none */
#define LGC_ERR_OOP_PACKET_TOO_LONG     2229
	/* An oop array packet was received over the network 
	that was too long. */
#define LGC_ERR_PACKET_KIND_BAD         2230
	/* A packet of the wrong kind was received.  Args: (1) the expected
	kind; (2) the packet kind received */
#define LGC_ERR_EXPECTED_CONTINUE       2231
	/* A packet kind was received other than the continue packet that 
       was expected.  Args: (1) the packet kind received */
#define LGC_ERR_EXPECTED_END            2232
	/* A packet kind was received other than the end packet that 
       was expected.
	Args: (1) the packet kind received */
#define LGC_ERR_PACKET_KIND_UNKNOWN     2233
	/* An unknown packet kind was received.
	Args: (1) the packet kind */
#define LGC_ERR_EXPECTED_CMD            2234
	/* A packet kind was received other than the command packet that 
       was expected.
	Args: (1) the packet kind received */
#define HOST_ERR_LOG_FILE_NOT_OPENED    2235
	/* Log file not opened before adding messages to it.
	Args: none */
#define CLASS_ERR_MAX_INST_VARS         2236
	/* Attempt to create a subclass while specifying more than 255
	instance variables.
	Args: (1) the superClass (2) the array which specifies too many
	instance variables */
#define RT_ERR_TOO_MANY_ERR_ARGS        2237
	/* System|signal:args:signalDictionary: was sent with an array argument
	containing more than 9 elements.
	Args: (1) the number of elements */
#define OBJ_ERR_BAD_SIZE                2238
	/* An attempt was made to create an object of an illegal 
	 size or change it to an illegal size.  This error occurs
	in non-indexable pointer objects since their size must be 
	exactly the number of named instance variables.
	Args: (1) the class; (2) the size (3, if available) the object*/
#define LGC_ERR_INCONSISTENT_SIZE       2239
	/* When using the network interface, inconsistent information 
	was given about the size of an object; i.e., the size was 
	specified as one value but the data given implied another size.
	Args: (1) specified size; (2) the implied size */
#define LGC_ERR_INCONSISTENT_OBJ_KIND   2240
	/* When using the network interface, inconsistent information was given
	about the implementation of an object; i.e., one implementation was
	specified but the class of the object had a different one.  
	Args: (1) the class of the object;  (2) the specified implementation */
#define RT_ERR_START_GC                 2241
        /* A process is already running as the GC user or the process 
	   attempting to run the Reclaim or EpochGc is not the Gc process.
           Args: none  */
#define RT_ERR_BAD_ARG_KIND_2             2242
        /* The object is not one of the expected class kinds. 1) the object
	Args: (1) the object; (2) an expected class (3) an expected class */
#define LGC_ERR_SEQUENCE_MISMATCH       2243
	/* Sequence number mismatch for an IPC response packet */

#define RT_ERR_EXCEPT_BLOCK_NUM_ARGS 2244 
	/* A block does not have the number of arguments required for it
           to be usable as an exception block .
	Args: (1) the block; (2) the required number of arguments; 
	(3) the actual number of arguments to the block. */

#define RT_ERR_GCI_STORE_FLOAT 2245
         /* An illegal GCI store into a float object was detected.
          * you must use GciStoreBytesInst with the correct class argument.
          * Args: (1) the object
          */

#define RT_ERR_GCI_CLASS_MISMATCH 2246
        /* In Gci store traversal, the class in the object report of an
         * existing object does not match the actual class of that object
         * in the database.  
         * Args 1) object 2) class in buffer 3) class in database
         */

#define RT_ERR_COMMIT_DB_IN_RESTORE 2248
  /* Commits are disallowed because the database is being
   * restored from transaction logs and  restoreFromCurrentLogs has not
   * completed.
   */

#define RT_ERR_COMMIT_DISALLOWED  2249
  /* Commits are disallowed because an error occurred during object manager 
   * recursion to GemStone Smalltalk. This session must logout .
   */

#define ERR_LOG_IO_FAILURE 		2250
  /* Gem commit failed due to a Transaction Log I/O Error */

#define LGC_ERR_PACKET_KIND             2251
	/* Invalid IPC packet kind */

#define RT_ERR_LOAD_SAVE_STACK               2252
        /* Error during loading or saving GemStone Smalltalk execution stack. 
         * Execution cannot continue . 
         * No args */

#define RT_ERR_UNKNOWN_BYTECODE 2253
   /* A unknown bytecode was encountered by the GemStone Smalltalk execution 
    * subsystem.
    * Either a compiled method is corrupt or there is an internal Bug 
    * Arg 1: the bytecode */

#define ERR_SESSION_BLOCKED_ON_OUTPUT  2254
  /* An attempt was made to send a signal to a session, but the output
   *  buffer from stone to the target session is full. 
   * Args (1) the target session Id
   */

#define ERR_PRIM_NOT_SUPPORTED          2255
      /* The primitive is not supported in this executable.
       * Args: (1) receiver (2) selector 
       *   (3) executable which DOES support the primitive
       */

#define AUTH_ERR_SEG_CURRENT_SEG        2256
	/* No authorization to write in your current segment; 
	 resetting the current segment to your default login segment.
	Args: the oop of the bad segment */   /* never generated in Gs64 */
#define AUTH_ERR_SEG_SET_CURRENT_SEG    2257
	/* No authorization to set the current segment to the given segment
	Args: the segment oop of the bad segment */

#define ERR_PRIM_FAILED                 2258
	/* The primitive failed for the specified selector.  This
	primitive should never fail.  Args: (1) the receiver; (2) the
	selector */

#define GCI_ERR_EXEC_CLIENT_USERACT     2259
	/* Invoke the client useraction with arguments:
	   1) the action name 2) reserved for internal use,
	   3)-10) the arguments to the action routine . Normally not seen
           as an error, since it is sent by the gem to the rpc client to
           invoke a useraction that the client has registered with the gem.
         */

#define GCI_ERR_ACTIVE_SESSIONS         2260
	/* You attempted to install a user action, and there are GemStone
	   sessions already active.  Args:  None */

#define OBJ_ERR_CORRUPT_OBJ        2261
	/* The object is corrupt or inconsistent.
           Args: (1) an Integer which is the object identifer of the 
               corrupt object., (2) string describing the kind of corruption.
         * trappable only by an Exception specifying exactly this error 
         */

#define GCI_ERR_MAX_ACTION_ARGS         2262
	/* You are requesting too many arguments for a user action.
	   Args:  1) The number of arguments requested.  2) The
	   maximum number allowed */
#define GCI_ERR_BAD_NUM_ACTION_ARGS     2263
   /* You invoked a method or user action with the wrong number of arguments.
      Args:  1) The name of the method or user action 2) number of
      arguments expected 3) the number of arguments actually passed */
#define GCI_ERR_USER_ACTION_PENDING     2264
	/* You attempted a GCI operation that is not legal during the
	   implementation of a user action.  Args:  1) The name
	   of the user action */
#define GCI_ERR_BAD_NUM_LCL_ACTION_ARGS 2265
	/* You invoked a local user action with the wrong number of
	   arguments.  Args:  1) the number of arguments expected
	   2) the number of arguments actually passed */

#define RT_ERR_INSTVAR_ADD_TO_NSC       2266
	/* An attempt was made to add a named instance variable to a class
	   whose format is NSC. Args: 1) The class */
 
#define RT_ERR_VARYING_CONSTR_BYTES     2267
	/* An attempt was made to constrain the indexable portion of the
	   a class whose format is Bytes. Args: 1) The class */
 
#define RT_ERR_VARYING_CONSTR_NONIDX    2268
	/* An attempt was made to constrain the indexable portion of a class
	which is not indexable. Args: 1) The class */
 
#define RT_ERR_INSTVAR_ADD_TO_BYTES     2269
	/* An attempt was made to add a named instance variable to a class
	   whose format is Bytes. Args: 1) The class */
 
#define RT_ERR_CLASS_NOT_MODIFIABLE     2270
	/* An attempt was made to modify a class that is not modifiable. 
	 Args: 1) The class. */ 
 
#define RT_ERR_ADD_DUP_INSTVAR          2271
	/* The name of a new instance variable would duplicate the name
	   of an already existing instance variable. Args: 2) the name
	  1) the class in which the instVar already exists. */
 
#define RT_ERR_NOT_A_SUBCLASS_OF        2272
	/* Class 1 is neither identical to nor a subclass of Class 2.
	   Arugments 1) Class 1  2) Class 2 */
 
#define RT_ERR_CONSTR_NOT_SUBCLASS_OF   2273
	/* In class modification, a new constraint was neither identical to,
	   nor a subclass of, an inherited constraint. 
	   Args: 1) the new constraint; 2) the inherited constraint.*/
 
#define RT_ERR_CONSTR_NOT_A_CLASS       2274
	/* A new constraint was specified that is not a Class.
	   Args: 1) the constraint. */
 
#define RT_ERR_OBJ_INVARIANT            2275
	/* An object that should have been variant is invariant.
	   Args: 1) the object. */
 
#define CLASS_ERR_DUP_VAR_CONSTR        2276
	/* During subclass creation, more than one constraint was specified 
	   for the indexable part of a pointer object.
	   Args: 1) the first constraint;  2) the second constraint.*/

#define BKUP_ERR_LOGINS_ENABLED         2277
	/* A restore operation requires that logins be disabled.  
	   Args: None. */

#define CLASS_ERR_REMOVE_INHER_IV       2278
	/* An attempt was made to remove an instance variable from a class,
	   but the specified instance variable is inherited from a superclass.
	   Args: 1) the class; 2) the instance variable name. */

#define CONCUR_ERR_INVALID_MODE         2279
	/* An attempt was made to change to an invalid concurrency
	   control mode. */

#define CLASS_ERR_SELECTOR_LOOKUP       2280
        /* A message sent to an object was not found in the proper class */

#define RT_ERR_BAD_EUC_FORMAT           2281
        /* The bytes of the EUCString are not in EUC format. Args: 1) the
           invalid EUCString. */

#define RT_ERR_GAIJI_NOT_SUPPORTED      2282
        /* A Gaiji character was encountered, but Gaiji is not supported
           by GemStone.  Args: 1) the JapaneseString containing the Gaiji
           character. */

#define RT_ERR_INVALID_ARG_CLASS        2283
        /* The object is not one of the expected class kinds. 1) the invalid
           argument 2) an Array of acceptable classes */

#define RT_ERR_SIZE_LIMIT               2284
        /* The object was referenced with a byte index that was out of range.
           Argument 1) the object 2) the byte index */

#define RT_ERR_NO_EUC_REP               2285
        /* The character does not have an EUC representation.
           Argument 1) the character */

#define RT_ERR_BAD_EUC_VALUE            2286
        /* The EUC value is not valid and does not correspond to a 
           JISCharacter. Argument 1) the EUC value */

#define RT_ERR_INVALID_LANG             2287
        /* The compiler language environment is invalid. Args: 1) the
           invalid language environment. */

#define RT_ERR_INVALID_INDEX_PATH_EXPRESSION 2288
        /* The given string is an invalid term in a path expression. */

#define RT_ERR_DEPENDENCY_LIST_TOO_LARGE 2289
        /* A dependency list was too large. */

#define RT_ERR_MAX_COMMIT_RETRY 2290
        /* There were too many attempts to recommit after failing to resolve
           RC conflicts. */

#define RT_ERR_INVALID_ARGUMENT 2291
        /* Argument (1) was an invalid argument to a method */
       
#define RT_ERR_PATH_NOT_TRAVERSABLE 2292
        /* A class along a constrained path does not have an inst var 
           corresponding to a term in an index path */

#define RT_ERR_BTREE_READ_STREAM_END_OF_STREAM 2293
        /* An attempt was made to read beyond the end of the stream */

#define RT_ERR_OBJECT_PATH_TERM_NOT_IN_DEPENDENCY_LIST 2294
        /* The object did not have the path term in its dependency */

#define RT_ERR_OBJECT_INVALID_INST_VAR_OFFSET 2295
        /* The object does not have an instance variable with the given name */

#define RT_ERR_OBJECT_HAS_NO_DEPENDENCY_LIST 2296
        /* The object does not have a dependency list */

#define RT_ERR_INDEX_DICTIONARY_ENTRY_NOT_IN_DICTIONARY 2297
        /* An entry for the key/term/value was not present in the dictionary */

#define RT_ERR_PATH_TERM_OBJECT_NOT_AN_NSC 2298
        /* An object traversed along an index path through a set-valued
           inst var was not an Nsc */

#define RT_ERR_IDENTITY_INDEX_CANNOT_INVOKE_RANGE_OPERATION 2299
        /* An attempt was made to use a range operation (< > = <= >=) on a
           path expression only supported by an identity index */

#define RT_ERR_RANGE_EQUALITY_INDEX_INVALID_CLASS_KIND_FOR_BTREE 2300
        /* Attempt to insert a key into the btree that was
           an invalid class for which the btree was created */

#define RT_ERR_RANGE_EQUALITY_INDEX_OBJECT_NOT_IN_BTREE 2301
        /* An entry for the key/value was not present in the btree */

#define ERR_NO_BACKUP_IN_PROGRESS 2302
        /* a backup or restore continuation was attempted without having 
         * executed restoreFrom: or fullBackupTo:MBytes: */

#define BKUP_ERR_OPEN_FAILED      2303
	/* An attempt to open a file failed.  Args: 1)  (String) 
	   the full path name of the file  2) (String)  whether the file 
	   was being opened for read or write 3) (String) the host 
	   error string. */

#define BKUP_ERR_MBYTE_LIMIT_BAD_RANGE 2304
        /* The byte limit may be zero (0), or must be within the range of
           1 Mbytes to 4,194 Mbytes.  Args: 1) (SmallInteger) specified
           byteLimit; 2) (SmallInteger) minimum allowable byte limit;
           3) (SmallInteger) maximum allowable byte limit.
         */

#define BKUP_ERR_WRITE_FAILED           2305
	/* An attempt to write to a file failed.  Args: 1)  (String) 
	   the full path name of the file 2) (String) the host error string.*/

#define BKUP_ERR_IN_PROGRESS            2306
        /* An attempt was made to do a full backup
           but a backup is currently in progress by
           another session.  Args: None. */

#define BKUP_ERR_READ_FAILED            2307
	/* An attempt to read from a file failed.  
            Args: 1) description (a string)  */

#define RT_ERR_BAG_NO_CONSTRAINT_ALONG_PATH 2308
        /* An attempt was made to create an index along the path with no
           constraint. */

#define RT_ERR_BAG_CLASS_DOES_NOT_SUPPORT_RANGE_OPERATORS 2309
        /* An attempt was made to create an equality index with a class
           that does not support range operators. */

#define RT_ERR_BAG_ONLY_SELECT_BLOCK_ALLOWED          2310
        /* Only select blocks are allowed for selectAsStream */

#define RT_ERR_BAG_ONLY_ONE_PREDICATE_ALLOWED          2311
        /* Only one predicate is allowed for selectAsStream */

#define RT_ERR_BAG_NO_RANGE_INDEX_ON_PATH_EXPRESSION          2312
        /* The path expression in the predicate for selectAsStream does
           not have a range equality index */

#define RT_ERR_BAG_INVALID_PREDICATE_FOR_STREAM_SELECTION          2313
        /* The predicate for selectAsStream was invalid */

#define RT_ERR_BAG_OPERATION_NOT_SUPPORTED          2314
        /* The comparison operation in the predicate for selectAsStream is
           not supported */

#define RT_ERR_BAG_INVALID_SORT_SPECIFICATION          2315
        /* Unable to sort using the given sort specification */

#define RT_ERR_INDEX_AUTH_ERR_SEG_READ          2316
        /* An attempt was made to read the object using an index in a segment
           with insufficient authorization */

#define OBJ_ERR_TIME_T_OUT_OF_RANGE     2317
        /* Given time_t is out of range; must be greater than
	   or equal to zero. 
	   Args: none */

#define RT_ERR_GENERIC_ERROR  2318
        /* Error number available for application use. 
           Args: 1) error identifier (a user-defined object) 
                 2) user defined error text 
                 3) an array of arguments (user specified)
         */

#define RT_ERR_METHOD_PROTECTED  2319
        /* An illegal attempt to execute a protected method */

#define RT_ERR_BAD_CONSTRAINT_FOR_MIGRATION 2320
	/* An object cannot be migrated an inst var participates in an index
           with a constraint */

#define RT_ERR_PREVENTING_COMMIT 2321
        /* Used internally to append a message to the end of a previously
           raised error message.  The appended message indicates that the
           previous error occurred during index maintenance, and consequently
           the current transaction must be aborted. */

#define RT_ERR_CANNOT_BECOME_SELF_ON_STACK 2322
        /* The object is present on the GemStone Smalltalk stack as "self", and
           cannot participate in a "become" operation. */

#define RT_ERR_OBJECT_PROTECTED  2323
        /* An illegal attempt to fetch/store into a protected object. */

#define RT_ERR_NEW_TRANLOG_DIR_FAILED 2324
        /* An attempt to dynamically define a new transaction log directory
           failed. Args: 1) reason  */

#define ERR_COMMIT_WHILE_BACKUP_IN_PROGRESS 2325
        /* a commit or abort was attempted while a multi-file full backup 
         * is in progress. Use abortFullBackup to cancel the backup and
         * restore ability to commit from this session. */

#define ERR_UNCONVERTED_OBJECT 2326
       /* The contents of the object have not been converted from a
        * prior version of GemStone; the object is not compatible with
        * this executable. Arg 1: the object.  Example: 4.0 UserProfile or
        * Segment with 4.1 executables , and dbf conversion was skipped 
        */

#define RT_ERR_LAST_CONSTRAINT_NOT_BOOLEAN 2327
	/* The SelectBlock must evaluate to a boolean expression */

#define RT_ERR_COMMIT_PROHIBITING_ERROR 2328
  /* An error occurred (probably during index maintenance) such that
   * commits are disallowed so that indexing objects remain consistent.
   * This session must abort this transaction.
   */

#define RT_ERR_ATTEMPT_TO_PASSIVATE_INVALID_OBJECT 2329
  /* Attempted to write an object to a passive object. 
   * nil was written instead.
   */

#define RT_ERR_INVALID_RESTORE_TIME 2330
  /* The argument to SystemRepository>>timeToRestoreTo:  was invalid,
   * Arg 1: reason (a String) 
   */

#define LOCK_ERR_ALL_SYMBOLS        2331
  /* Users are not allowed to lock AllSymbols 
     Args: none */

#define GCI_ERR_SYMBOL_FWD_REF      2332
  /* User attempted to create a forward reference to a Symbol, define 
     (fill in the state of) a forward reference as a Symbol, or specify
     the objId of a Symbol on a GciCreate call .
     Arg1: oop specified for the forward reference */

#define RT_ERR_CHANGE_SYMBOL        2333
  /* Users are not allowed to change the class of an object from or to
     class Symbol
     Arg1: theSymbol */

#define RT_ERR_OBJ_VARIANT 2334
  /* The object is not invariant. Arg 1: the object  
   */

#define RT_ERR_ALREADY_HAS_SUBCLASSES 2335
  /* disallowSubclasses is not allowed because The class (Arg1) already 
   has subclasses.  */

#define RT_ERR_CLIENT_FWD_SEND  2336
  /* Used to send a message to a Client. Args
    1) the instance of ClientForwarder
    2) the receiver of the message to be forwarded
    3) the selector of the message to be forwarded
    4) an array containing the arguments to the message
    See documentation in class ClientForwarder .
    Trappable only by an Exception specifying exactly this error 
 */

#define RT_ERR_BAD_OBJ_SIZE 2337
  /* Object has invalid size. Args 1) object 2) required size 3) actual size*/

#define RT_ERR_FREE_SPACE_THRESHOLD  2338
#define RT_ERR_FREE_SPACE_TRESHOLD  RT_ERR_FREE_SPACE_THRESHOLD
/* Indicates that the repository is currently running below the
   freeSpaceThreshold.
   Args: None
 */

#define RT_ERR_TRANLOG_DIR_FULL  2339
/* All tranlog directories or partitions are full. The system 
   is waiting for an operator to make more space available either by
   cleaning up the existing files (copying them to archive media and 
   deleting them or by adding a new tranlog directory.
   Args: None
 */

#define OBJ_ERR_DICT_CONSTRAINT_VIOL 2340
  /* constraint violation when attempting to store a new value into a
   * dictionary.  
   * Args 1) dictionary 2) new value 3) constraint 4) class of new value
   */

#define RT_ERR_MAX_PASSWORD_SIZE 2341
  /* A new password would exceed the maximum password size. 
    Arg 1: new password  Arg2: max size
   */

#define RT_ERR_MIN_PASSWORD_SIZE 2342
  /* A new password would be smaller than the minimum password size. 
    Arg 1: new password  Arg2: min size
   */

#define RT_ERR_MAX_CONSEC_CHARS  2343
  /* A new password would contain too many consecutive characters ('abcd..')
    Arg 1) new password  2) max consecutive chars allowed  3) substring
         of new password that is in violation 
   */

#define RT_ERR_MAX_REPEATING_CHARS  2344
  /* A new password would contain too many repeating characters ('aaaa..')
    Arg 1) new password  2) max repeating chars allowed  3) substring
         of new password that is in violation 
   */

#define RT_ERR_MAX_CHARS_OF_TYPE  2345
  /* A new password would contain too many consecutive characters of a type 
    Arg 1) new password  2) max consecutive chars allowed  
        3) type ('alpha', 'numeric', etc)
        4) substring of new password that is in violation 
   */

#define RT_ERR_DISALLOWED_PASSWORD 2346
  /* A new password matches a word that is not allowed as a password 
    Arg 1) new password
   */

#define RT_ERR_WARNING_PASSWORD_EXPIRE 2347
  /* The password of the current UserProfile is about to expire */

#define RT_ERR_LOG_DIR_NOT_EXIST  2348
  /* The path (Arg 1) does not exist as a directory or raw device */

#define RT_ERR_ARG_TOO_SMALL    2349
  /* The object (arg 1) is too small. The minimum allowed size is (arg 2) */

#define RT_ERR_NO_STRUCT_UPDATE  2350
        /* A GCI update operation is not allowed on the target object,
           Args: 1) the object, 2) string describing the kind of 
            update that is not allowed 
         */

#define RT_ERR_OBSOLETE_CLASS  2351

#define RT_ERR_LOCAL_XACTION_FAILED_COMMIT  2352
  /* Local session failed to commit after remote sessions voted to commit. */

#define RT_ERR_REMOTE_SESSION_FAILED_COMMIT 2353
  /* Remote session failed to commit after voting affirmative. */

#define RT_ERR_NO_ELEM_DETECTED             2354
  /* The object Arg2 was not detected in Arg1 */
  
#define RT_ERR_DATE_TIME_OUT_OF_RANGE       2355
  /* The resulting DateTime object would be out of range. */
  
#define RT_ERR_OBJ_NOT_FOUND                2356
  /* The object Arg2 was not found in Arg1 */
  
#define RT_ERR_FAILED_STN_CFG_WRITE         2357
  /* The operation should update the stone configuration file but 
     the write failed. */

#define GCI_ERR_NO_USER_ACTION              2358
  /* Attempt to call a user action that is not registered with the gem
      Args 1) the action name 2) reserved for internal use,
	   3)-10) the arguments to the action routine . Normally not seen
   */

#define SEG_ERR_MAX_USER_PROFILE_GROUPS 2359
	/* An attempt was made to add a UserProfile to a group when the
	UserProfile was already a member of four groups.
	Args: (1) the UserProfile; (2) the group */

#define RT_ERR_GS_COMMIT_LIST_NB_TIMEOUT   2360
      /* Args: (1) sessionId
       */

#define RT_ERR_GCGEM_STARTUP_FAILURES   2361
      /* Stone has logged GcGem Startup failures since last success.
         Args: None
       */

#define RT_ERR_GSSOCKET 2362
      /* A GsSocket method failed due to a socket error.
         Args: (1) GsSocket instance or nil
               (2) lastErrorSymbol
               (3) lastErrorString
               (4) lastErrorCode
       */

#define RT_ERR_GSSOCKET_INVARIANT 2363
      /* An instance of GsSocket that was not changable was sent a
	 message that would have required it to change.
         Args: (1) GsSocket instance
       */

#define RT_ERR_LOST_SESSION_STATE 2364
      /* An object that has some associated session state has lost that
         transient state. Examples of classes that use session state
         are GsSocket and GsFile.
         Args: (1) the oop of the instance that lost it session state
       */

#define RT_ERR_DELAY_IN_PROGRESS 2365
      /* An interval Delay object already has a process waiting on it.
         Args: (1) the delay
       */

#define RT_ERR_SCHEDULER_DEADLOCKED 2366
      /* The processor scheduler is dead locked.
         Args: (1) the processor scheduler (2) Array of GsProcesses which
           might be contributing to the deadlock.
       */

#define RT_ERR_PRIMITIVE_SYSERR 2367
	/* A primitive failed due to a system error.
	   Args: (1) a string describing the system error
	 */

#define RT_ERR_GSPROCESS_TERMINATED 2368
      /* The active GsProcess was sent the terminate message.
         Trappable only by an Exception specifying exactly this error .
         Args: none
       */

#define RT_ERR_NO_MORE_CBUFFERS 2369
      /* All available CBuffers are in use.
         Args: none
       */

#define RT_ERR_REMOTE_ERROR 2370
      /* An error occurred on the remote system.
	 Args: 1 -- the text of the error message
       */

#define RT_ERR_REMOTE_LOGIN_FAILED 2371
      /* A remote login attempt failed.
         Args: 1 -- the error text
      */

#define RT_ERR_CLIENT_FWD   2372
     /* The client encountered an uncaught exception when a message was 
        forwarded.
        Args  1) the error number from the client
              2) the error message from the client
              3) the stack trace from the client  
      */

#define RT_ERR_BAD_GSPROCESS_ARG_COUNT   2373
     /* An attempt was made to create a GsProcess with the wrong number
        of arguments for the specified block.
	Args: (1) the block; (2) the expected number of arguments; 
	(3) the number of arguments used. */

#define RT_ERR_PASSWORD_NOT_VARIANT   2374
     /* The password for session parameters must be variant. */

#define RT_ERR_GSPROCESS_NOT_DEBUGGABLE 2376
      /* The gsprocess is not in a debuggable state.
         Args: (1) the gsprocess.
       */

#define GCI_ERR_ARG_NOT_PAIRS 2377
      /* The argument to remotePerform: should be a list of pairs of
	 object/bools, of maximum size 20.
	 Args: (1) the argument that was given */

#define RT_ERR_CLIENT_ACTION_DISALLOWED 2378
	/* An attempt was made to execute a client user action from
           a session that is not allowed to do this.
	   Args:  1) The name of the user action. */

#define RT_ERR_REMOVE_SPECIAL_USER    2379
        /* an attempt was made to remove a special user from AllUsers 
           Args: 1)  The userId of the special user. */

#define RT_ERR_TRACKED_OBJS_NEEDS_INIT   2381 
        /* GciEnableObjTracking() must be called before other object tracking
           functions.
           Args: None */

/* 2382 still used by GS 6.1 and 2G.  DO NOT REUSE THIS NUMBER!! See bug 31601 */
/* 2383 still used by GS 6.1 and 2G.  DO NOT REUSE THIS NUMBER!! See bug 31601 */   
/* 2384 still used by GS 6.1 and 2G.  DO NOT REUSE THIS NUMBER!! See bug 31601 */   
/* 2385 still used by GS 6.1 and 2G.  DO NOT REUSE THIS NUMBER!! See bug 31601 */   
/* 2386 still used by GS 6.1 and 2G.  DO NOT REUSE THIS NUMBER!! See bug 31601 */   
/* 2387 still used by GS 6.1 and 2G.  DO NOT REUSE THIS NUMBER!! See bug 31601 */   

#define RT_ERR_CANT_READ_FILE        2388
	/* The system was unable to read the given file.
	   Args: (1) the filename (2) errno */

#define RT_ERR_FILE_CORRUPT         2389
	/* The given file is corrupted.
	   Args: (1) the filename (2) message */

#define RT_GC_COMMIT_FAILURE        2390
// A commit during a garbage collection operation failed.

#define RT_ERR_SYMBOL_CREATION_NOT_ALLOWED 2391
        /* Creation of new Symbols not allowed at this time,
	   Args: (1)  reason  (2) symbol value */

#define BKUP_ERR_NO_START 2392
	/* Backup failed Args: (1) reason */

#define RT_ERR_DECODED_OBJ_DOES_NOT_EXIST 2393
/* The decoded object at offset (2) does not exist
   Args: (1) Integer value of objectId,
         (2) offset in the byte array
 */

#define RT_ERR_MAX_SUPERCLASS_DEPTH 2394
/* attempt to create a subclass too far below Object in superclass chain.
 *  Args 1) receiver, 2) max depth .
 */

#define RT_ERR_RECLAIM_ALL_MISSING_GC_GEM 2395
/* A reclaimAll operation was attempted but at least one GC session
 * is not running.  Ensure all reclaim sessions and the Admin GC session
 * are running and try the operation again.
 */

#define RT_ERR_CANNOT_SUSPEND_LOGINS 2400
        /* cannot suspend logins, Args:(1) reason */

#define RT_ERR_WEAK_DICT_NEEDS_INIT 2401
        /* GciWeakDictInit() must be called before other weak dictionary
           functions.
           Args: None */

#define RT_ERR_SYMBOL_TOO_LARGE  2402
        /* Attempt to create a symbol that is more than 1024 bytes */

#define RT_ERR_FLUSH_FOR_COMMIT_FAILED 2403
        /* Cannot commit, Arg1: reason (a String) */

#define RT_ERR_NO_EXISTING_SYM 2404
        /* GciSendMsg failed because there is no existing Symbol
         * that matches the selector String. Arg1: selector */

#define RT_ERR_OBJ_MUST_BE_COMMITTED 2405
        /* The given object is a temporary object but is required to
	 * be a committed object.  Arg1: the object  Arg2: details
	 */ 

#define RT_ERR_CANT_WRITE_FILE 2406
	/* The system was unable to write to the given file.
	   Args: (1) the filename (2) errno (3) error message*/

#define RT_ERR_CLASS_IS_NP 2407
        /* Object may not be committed, object's class is NP .
           Args: (1) an object
         */

#define RT_ERR_SUPERCLASS_IS_NP 2408
        /* Class may not have instances persistent because superclass is NP.
           Args: (1) a Class
         */
#define RT_ERR_CONTINUE_TRANS_ERROR 2409
        /* continueTransaction is not allowed. Args (1) reason (a String) */

#define RT_ERR_METHOD_SOURCE_TOO_BIG  2410
        /* source string for a method is too big, Args 1) source string,
	   2) source string size, 3) maxSize*/

#define LGC_ERR_TRAV_BUFF_SIZE 2411
        /* a Traversal buffer received over the network exceeded RPC client's
           allocated buffer size */

#define RT_ERR_ABORT_WOULD_LOSE_DATA 2412
        /* a method is being run that requires an abort to function, however,
           an abort would result in lost data as there are modified objects. */

#define BKUP_ERR_NOT_IN_PROGRESS        2413
        /* An attempt to continue a full backup when no backup is in progress. */

#define GCI_ERR_CALL_NOT_SUPPORTED 2414
/* The GCI call is not supported when invoked from a client user action */

#define RT_ERR_REMOVE_ALL_INDEXES_FAILED 2415
        /* An attempt to remove all indexes has failed */

#define RT_ERR_COLLECTION_WITH_INCOMPLETE_INDEX 2416
       /* An attempt was made to create an index on a collection that has incomplete indexes.
          The incomplete indexes must be removed before creating new indexes.
        * Args: None */

#define RT_ERR_NO_MORE_SEGMENTS 2417
	/* No more segments can be created.  SystemRepository has reached
	   maximum size. Args none
         */

#define LOCK_ERR_DEADLOCK 2418
     /* RcRetry or Application write lock denied due to possible deadlock 
	   Args (1) object upon which lock was requested. */

#define LOCK_ERR_TIMEOUT  2419
     /* RcRetry or Application write lock denied due to timeout 
	   Args (1) object upon which lock was requested. */

#define LOCK_ERR_INVALID_OBJECT 2420
    /* RcRetry or Application write lock denied , a different object
       is already registered with the lock queue ,
         Args (1) details ( a String ) */

#define AUTH_ERR_PROCESS_SWITCH 2421
    /* processor scheduler cannot switch processes while a primitive
     * is within a bypass-authorization block */

#define RT_ERR_OBJ_NOT_IN_EXPORT_SET 2422
	/* illegal argument to GciStoreTravDoTravRefs, one or more
         * objects not found in exported set
         * were not found in the referenced and/or exported set,
         * Args 1) a not-found object */

#define RT_ERR_GCI_TRAV_NOT_LICENSED 2423
        /* License does not allow use of Gci Traversal operations */

#define RT_ERR_COMMIT_DISALLOWED_UNTIL_ABORT 2424
  /* Commits are disallowed because an attempt was made to continue
   * a transaction after accessing an RcQueue.  The session must abort.
   */

#define RT_ERR_ROLLBACK_DL_FAIL 2425
  /* Rollback of objects in a specific dirty list not allowed 
   * after failed commit */

#define RT_ERR_CANNOT_BECOME_GENERIC 2426
  /* Become not allowed,   Args 1) reason, a String */

// Note: use same error number as in 6.2
#define RT_ERR_RC_UPDATE_DISALLOWED 2500
        /* an attempt was made to update an RC object in a continued transaction.
           the transaction must abort. */
          

/*=========================================================================
 *
 *  ABORTING ERRORS  - numbered from 3001 to 3999
 * 
 *=========================================================================
 */

#define RT_ERR_ABORT_TRANS              3001
        /* The transaction was aborted by the user.  Only used within
	GCI internals implementation.  Not generated by a user level abort.
        Args: none */

/* errors 3002, 3003 , 3005 not used*/

/* error 3004 not used */

#define ABORT_ERR_GARBAGE_COLLECTION    3006
	/* The garbage collection process detected conflict on one of 
	   the objects that it might have collected. 
	   The operation was aborted and should be tried again later.
	   Args:  1) reason (aString),  2) conflict code (smallInt or nil)
	 */
#define ABORT_ERR_UNDEF_POM_OBJ         3007
	/* References to objects exist in Pom even though the objects have
	   not been defined in Pom.  The current transaction is aborted.
	   Args:  one of the objects that wasn't defined in Pom.
	 */

// BKUP_ERR_RESTORE_SUCCESSFUL changed to a fatal error

#define BKUP_ERR_BACKUP_NOT_COMPLETE    3009
	/* The backup was successful, but was not completed due to a  
	   byte limit restriction.  A partial backup file was created.
	   Args: 1) (long) number of objects written to the file;
		 2) (long) number of bytes written to the file */

#define OT_ERR_REBUILD_SUCCESSFUL    3010 
        /* Rebuild of the object table was successful , not trappable in 
         * Gemstone Smalltalk */

// BKUP_ERR_RESTORE_LOG* moved to fatal category

#define OT_ERR_COMPACT_SUCCESSFUL    3013
        /* Compact of the object table was successful, not trappable in
         * Gemstone Smalltalk */

/* error 3014 not used */


#define BKUP_ERR_DISALLOWED  3015
        /* Full backups are not allowed with reclaim GcGems running. */


#define ABORT_ERR_FINISHED_MARK         3020
	/*  Completed execution of the markForCollection method. 
	   Args: 1) (long) number of live objects; 2)(long) number of dead objs;
		 3) (long) number of bytes occupied by dead objects */

// error 3021 not used, was  ABORT_ERR_OBJ_AUDIT_OK

#define ABORT_ERR_OBJ_AUDIT_FAIL 3022
	/* Object audit failed 
	   Args: 1) number of objects containing errors.  This error is
	   not trappable from GemStone Smalltalk . */

/* error numbers 3023..3030 not in use */

#define ABORT_ERR_RECORD_DEAD_FAILED  3030 
       /* Record possibleDead failed at end of MFC Args: 1) reason */

#define ABORT_ERR_LOST_OT_ROOT             3031
       /* This error indicates that while running outside of a transaction
          stone requested the gem process to abort but the gem did not respond
          in the allocated time, so stone revoked access to the object table.
          Args: NONE  */


/*=========================================================================
 *
 *   FATAL ERRORS   - numbered from 4001 to 4999
 *
 *=========================================================================
 */

#define GS_ERR_BAD_ROOT_PAGE            4001
	/* The root page of the repository is bad. A disk access of the
	   root page encountered a disk read error, or found corrupted data
	   Args: none */
#define GS_FIRST_FATAL_ERROR   4001

#define REP_ERR_REPOS_FULL              4002
	/* The logical repository is full. */
       /* If space needs originated from Gem session actions, only the
	  requesting Gem is killed; if space needs originated from Stone
	 monitor processing, Stone shuts down, killing any live Gem sessions */

#define REP_ERR_NO_FREE_PAGES           4003
        /* Stone was unable to find any free pages after growing the repository.
        Args: (1) the repository */

#define HOST_FATAL_ERR_OUT_OF_MEM 	4004
        /* malloc failed in such a way that execution cannot continue. The
         * customer needs more swap space and/or more primary memory.
         Args: (1) string describing where in GemStone the error happened */ 

#define ERR_CORRUPT_OBJ_SIZE     4005
        /* The size of an object (usually a reserved object) in the database 
        is not the size expected by the virtual machine. 
        Args: object, actual size, expected size.  
        Note: you may be able to bypass this error by logging in
	as SystemUser and then repair the dbf with GemStone Smalltalk */
 	   
#define REP_ERR_BAD_DBF_SWIZZLE 4006
        /* an invalid swizzle transform was detected in a database extent
          Args: longTransform , shortTransform */

#define GCI_ERR_ACTION_DEFINED          4007
	/* This user action is already defined for this application.
	   The user action name is appended to the error text.  */

#define ERR_USER_PROFILE_LOST      4008
        /* User profile object for the session is damaged.
         args (1) objectId (2) reason */

#define GS_ERR_SHRPC_CONNECTION_FAILURE 4009
        /* The process detected a connection failure from the
           SharedPageCache monitor. 
        args (1) the error text */

#define GS_ERR_SHRPC_UNEXPECTED_NET_EVENT 4010
        /* The process detected an unexpected read or write event
           from the SharedPageCache monitor. 
        Args: (1) True indicates read operation, false is write */ 

#define GS_ERR_SHRPC_INVALID_CONFIG       4011
        /* The process tried to login to a Stone with the config file
	   specifying that the SharedPageCache should NOT be used when
           the Stone already has a SharedPageCache active on the host 
	   machine. */
	   
#define GS_ERR_STOP_GC_GEM              4012
        /* The GcGem process received a signal that forces a shutdown */

#define GS_ERR_REMOVE_FROM_CACHES       4013
        /* A page owned by a Gem could not be removed from a remote cache.
           after 50 seconds of retries*/

#define GS_FATAL_ERR_TRANLOG_DIR_FULL  4014
  /* Login denied to other than SystemUser or DataCurator because all 
   tranlog directories or partitions are full.  The system 
   is waiting for an operator to make more space available either by
   cleaning up the existing files (copying them to archive media and 
   deleting them or by adding a new tranlog directory.
   Args: None
 */

#define ERR_DURING_LOST_OT_SERVICE      4031
        /* An error occurred during servicing of error 3031
	Args: 1. The number of errors found in the global error descriptors.
	      2. Error number for ErrorDescriptor[0].
	      3. Error number for ErrorDescriptor[1].
	      4. Error number for ErrorDescriptor[2].
         */

#define ERR_CANT_OPEN_TRAN_LOG 4032
        /* Unable to open the next transaction log for writing.
         * File open failure message giving name of log will preceed this
         * error in the message log */

#define ERR_FINISHED_OBJ_AUDIT_REPAIR    4033
	/* Object audit completed after repair
	   Args: 1) number of objects containing errors */

#define GS_ERR_GEM_STONE_NET_PROTOCOL   4034
        /* a protocol error occurred on the Gem-Stone network connection
        Args: (1) internal failure code (see GscNetErrEType in session.ht) */

#define GS_ERR_STN_NET_LOST        	4035
        /* An end of file was received over the Gem-Stone network, 
         indicating that the network is being shut down.
        Args: none */

#define GS_ERR_COPY_PROTECTION     	4036
        /* Copy protection check failed.  
        Contact your customer representative.  Args:  none */

#define GS_ERR_NO_CAPABILITY     	4037
        /* You attempted to use a feature not licensed to you.  Contact
        your customer representative.  Args:  String */

#define GS_ERR_DISCONNECT_IN_LOGIN    4038
        /* Stone disconnected during an attempt to login, probably
           because logins are disabled or max users are already logged in */

#define GS_ERR_MAX_SESSIONS_LIMIT       4039
	/* Login failed because the system was full.
	Args: none 
		      OR 
	Login attempt failed - 
	  the maximum number of sessions are already logged in 
	Args: NONE  */

#define LGC_ERR_INCOMPAT_GCI            4040
	/* The version of the GCI is not compatible with the
	 version of the Gem. Args: NONE */

#define GS_ERR_GCI_SESSIONS_LIMIT       4041
        /* login failed because the session limit of the GCI has been
         * reached */

#define HOST_ERR_CANT_SPAWN             4042
	/* HostFork() attempted to spawn a Gem but was unable to do so.
	Args: none */

#define GS_ERR_SHRPC_LOST     4043
        /* Network connection to the shrpcmonitor was lost  */

#define GS_ERR_BAD_GEM_STONE_VERSION    4044
	/* The Gem and Stone versions are incompatible.
	Args: 1) the Gem version 2) the Stone version */
#define GS_ERR_BAD_GEM_DBF_VERSION      4045
	/* The Gem and dbf versions are incompatible.
	Args: 1) the Gem version 2) the dbf version */

#define BKUP_ERR_RESTORE_SUCCESSFUL     4046
	/* The restore of a full backup file was successful.
	   Args: 1) (string) status
                 2) (long) number of objects restored.  
                 3) (long) number of corrupt objects not restored */

#define GS_ERR_SHRPC_LOSTOT_TIMEOUT    4047 
	/* LostOt timeout detected when accessing the shared cache */

#define BKUP_ERR_RESTORE_LOG_SUCCESS   4048
        /* A restore from a transaction log succeeded */

#define BKUP_ERR_RESTORE_LOG_FAIL   4049
        /* A restore from a transaction log failed ,
         *  Args 1) (string) reason*/

#define GS_ERR_ACTIVE_USER_LIMIT        4050
        /* Too many sessions already logged in with given userId .
         * Arg 1) the userId */

#define GS_ERR_LOGIN_DENIAL             4051
	/* The login failed because of an invalid userId/password combination,
	 * or an expired password Args: none */

#define GS_ERR_SIGTERM			4052
        /* Gem process terminated because SIGTERM was received.
           See gem log file for details.  RPC GCI client will typically receive a
           network error 4137
         */

#define GS_ERR_LOGINS_DISABLED          4053
	/* The login failed because all logins are currently disabled.
	Args: none */

#define GS_ERR_CACHE_TOO_BIG 4054
/* GemStone could not start a remote shared page cache because the requested cache
 * size exceeds the license limit.
 * Args: none
 *
 */

#define GS_ERR_GET_TRAN_HINTS_FAILED 4055
/* StnCallTranSerialization: PageGetTranHints() call failed
 * Arg 1) the errorCode (int) 
 *   PAGE_CACHE_HINT_NO_ERROR = 0
 *   PAGE_CACHE_HINT_NO_EXTENT = 1
 *   PAGE_CACHE_HINT_NO_FILE = 2
 *   PAGE_CACHE_HINT_NO_REMOTE_SERVER = 3
 *   PAGE_CACHE_HINT_NO_GEM = 3
*/

#define GS_ERR_NO_FREE_FRAMES 4056
/* Gem ran out of free frames - cache must be larger. */

#define GS_ERR_STN_SHUTDOWN             4057
	/* Stone is shutting down.  Args: none */

#define GS_ERR_LOSTOT_HANDLING_FAILED    4058
        /* An error occurred during LostOT handling; view of SharedOt 
           may not be correct.
           This error indicates that a lostOt was not handled properly on
           the transition from transactionless or outside of a transaction
           to inside a transaction.  
           Args: None  */

#define GS_ERR_SESSION_SHUTDOWN         4059
	 /* The Data Curator is shutting down this session.  Args: none */
#define GS_ERR_GEM_NORMAL_SHUTDOWN      4060
	/* Gem is shutting down normally Args: none */
#define GS_ERR_GEM_FATAL_SHUTDOWN       4061
	/* Gem did not shut down normally.  Args: none */
#define GS_ERR_NO_MORE_OOPS             4062
	/* The GemStone system ran out of persistent object identifiers. Args: none */

#define NET_ERR_NO_SUCH_STN             4065
	/* The given GemStone does not exist.  Args: none */

#define GS_ERR_VM_OUT_OF_MEM            4067
	/* VM local object memory is full, Arg 1) reason(a string) */

#define GS_ERR_CLASS_LOAD_ERROR		4068
	/* Fatal error during class loading, session terminated
	Arg 1) reason (a string) */

#define GS_ERR_VM_OUT_OF_GSSCOPES       4069
        /* VM ran out of GsScopes memory  Arg 1) reason (a string) */

#define GS_ERR_VM_REFRESH_FAILED        4070
 	/* Another error happened during object memory refresh
         * at a transaction boundary.  Object memory is in inconsistent
         * state and execution cannot continue.
         Arg 1) other error number */

/* Fatal errors 4071-4099 not in use */

#define GCI_ERR_BAD_SESSION_ID          4100
	/* The GCI was called with a an invalid SessionId , or the
         * current GCI session no longer exists.
	Args: none */
#define GCI_ERR_UNEXPECTED_LNK_ERR          4101
	/* An active linkable GCI session received an unexpected error
	 *  during processing a GCI call to another RPC session.
	 * Both the linkable session and the current RPC session were killed.
	 * Args: none
	 */
#define GCI_ERR_FATAL_INTERNAL_RPC           4102
	/* An internal logic error was detected in the implementation of
	 *  an RPC GCI call. Args: none
	 */ 

/* Fatal errors 4102-4125 not in use */

#define FATAL_ERR_INTERNAL              4126
	/* SYSTEM ERROR: A system fatal error was detected.  
	Args: (1) the system error number; (2..n) error-specific arguments */

/* Fatal errors 4127-4135 not in use */

#define NET_ERR_CONNECTION_REFUSED      4136
	/* The connection was refused - check the name of STONE.
	   System error text is appended to message. */

#define NET_ERR                         4137
	/* An undefined network error.  System error text is appended 
	to message. */

#define REP_ERR_SYSTEM_REP_NOT_ATTACHED 4138
	/* The system repository could not be attached.  Args: none */

#define RT_ERR_SHR_PC_NOT_ATTACHED      4139
        /* The config file specified that a shared cache was to be used, but
           the cache could not be attached.
         Args: NONE */

#define AUTH_ERR_SEG_LOGIN_SEG          4140
	/* No authorization to write in your default login segment.
	Args (1) oop of segment, (2) segmentId of the segment */

#define RT_ERR_PGSVR_CREATION         4141 
        /* Problem encountered in creating a pageserver.
        Args: (1) reason returned from the create call. */
      
#define REP_ERR_SYSTEM_REP_NOT_ATTACHED_NO_STONE 4142
	/* The system repository could not be attached
	 * because the stone could not be found.
	 * Args: 1) stone name 2) reason
	 */

#define REP_ERR_SYSTEM_REP_NOT_ATTACHED_NO_EXTENT 4143
	/* The system repository could not be attached
	 * because the extent could not be mounted.
	 * Args: 1) extent id 2) reason
	 */

#define REP_ERR_SYSTEM_REP_NOT_ATTACHED_BAD_PID 4144
	/* The system repository could not be attached
	 * because the pid in the repos did not match stone pid.
	 * Args: none
	 */

#define REP_ERR_SYSTEM_REP_NOT_ATTACHED_INCOMPATIBLE 4145
	/* The system repository could not be attached
	 * because extent is not compatible with primary extent.
	 * Args: 1) extent name 2) extent id
	 */

#define RT_ERR_GET_NET_PEER         4146 
        /* Stone could not get gem's network address.
	 * Args: (1) reason returned from the get peer call.
	 */
      
#define AUTH_ERR_IN_LOGIN 4147
        /* Fatal read authorization error during login.
           Args: (1) detail (a String)
         */

#define ERR_LGC_NET_SHUTDOWN        4148
	/* An end of file was received over the GCI network,
	indicating that the network is being shut down.
	Args: none */
      

/*=========================================================================
 *
 *   EVENT ERRORS   - numbered from 6000 to 6999
 *
 *=========================================================================
 */

#define RT_ERR_PAUSE                    6001
	/* Execution has been halted by an Object|pause message. */

#define RT_ERR_STEP                     6002
       /* You have encountered a single-step breakpoint.
	 1) code object in which the breakpoint existed 
	 2) instruction offset from first named instVar in code object
        Not trappable in Gemstone Smalltalk if a single step operation
        is in progress */

#define RT_ERR_SOFT_BREAK               6003
	/* A soft break was received.  Args: none */

#define RT_ERR_HARD_BREAK               6004
	/* A hard break was received. If this occurs during  
        markForCollection, fullBackupTo:,  restoreFromBackup(s): 
        objectAudit, auditWithLimit:, repairWithLimit:   or 
        pagesWithPercentFree, the error is fatal.
	Args: none .  not trappable in Gemstone Smalltalk */

#define RT_ERR_CODE_BREAKPOINT        6005
       /* You have encountered a method breakpoint.  Args:
	 1) code object in which the breakpoint existed 
	 2) instruction offset from first named instVar in code object
        Not trappable in Gemstone Smalltalk if a single step operation
        is in progress */

#define RT_ERR_STACK_BREAKPOINT       6006 
       /* A return from block has encountered a stack breakpoint.
        * The stack breakpoint has been cleared and the return has
        * been executed.  Args: none .
        Not trappable in Gemstone Smalltalk if a single step operation
        is in progress */


#define RT_ERR_COMMIT_ABORT_PENDING     6007
	/* The transaction is about to be committed or aborted.
        (A GciContinue from the point of the error will complete the
        commit or abort.)
	Only generated if GciDirtyObjsInit has been called
	Args: none , not trappable in Gemstone Smalltalk*/

#define RT_ERR_SIGNAL_COMMIT            6008
       /* This error indicates that a member of the notifySet has been
          committed and was added to the signaledObjects set.  This error is 
          only generated if the user has executed the enableNotifyError method.
          Args: NONE  */

#define RT_ERR_SIGNAL_ABORT             6009
       /* This error indicates that while running outside of a transaction
          stone requested the gem process to abort.  This error is only
          generated if the user has executed the enableSignalAbortError method.
          Args: NONE  */

#define RT_ERR_SIGNAL_GEMSTONE_SESSION  6010
       /* This error indicates that the session received a signal from
          another GemStone session.  The arguments are the contents
          of the message sent with the signal.
          Args: (1) the serialNumber of the session that sent the signal
                (2) the signal value (a smallInt)
                (3) a messageString */

#define RT_ERR_UNCONTINUABLE_ERROR  6011
       /* An attempt was made to continue execution past an uncontinuable
        * error , not trappable in Gemstone Smalltalk
        */

#define RT_ERR_SIGNAL_FINISH_TRANSACTION   6012
       /* This error indicates that stone has requested the gem to
          commit, abort or continue(with continueTransaction) the gem's
          current transaction .
          This error is only generated if the session has executed 
          the enableSignaledFinishTransactionError method and is in-transaction
          at the time stone sends the error.
          Args: NONE  */

#define RT_ERR_SIGNAL_ALMOST_OUT_OF_MEMORY 6013
       /* This error indicates the session's temporary object memory is almost
	  full.  The error is deferred if in user action or index maintenance.
          See method  signalAlmostOutOfMemoryThreshold: in class System 
          for more detail.  
          Trappable only by an Exception specifying exactly this error.
          Args: None */

#endif /* GCIERR_HT */
