Error codes and their expected error objects
 
Table 2. Error codes
Error code
Error descriptioin
Error object
0
No error.
nil.
1*
Too many objects to be unloaded. The object should be broken up into smaller objects and then unloaded.
The object that causes the limit to be exceeded.
2**
Invalid file handle. The CfsFileDescriptor passed to ObjectSwapper was invalid. See the error object for more information.
The object that is given to the ObjectSwapper as a file handle.
3**
Invalid file offset. File offset must be an integer in the range 0.. (2^32)-1.
The object that is given to the ObjectSwapper as a file offset.
4*
Invalid output (internal) buffer.
The output buffer object which causes the error (a ByteArray).
5*
Invalid index (internal) tables.
The index tables that cause the error (an Array of ByteArrays).
6*
Invalid table of classes.
nil.
7*
Invalid input (internal) buffers.
Input buffer(s) containing the objects to be loaded (an Array of ByteArrays).
8*
Invalid internal hash buffer.
Temporary class hash buffer (a ByteArray).
9**
Invalid array of unlinked objects. The list of unlinked objects must be either nil or an Array.
An Array of objects to be unlinked.
10*
Invalid Metaclass ID.
An Integer that is the class hash of Metaclass or the object which was given as an instance of Metaclass.
11*
Invalid array of input buffers.
Input buffer(s) containing objects to be loaded (an Array of ByteArrays).
12*
Invalid class hash array.
An Array of Integers where each integer is a class hash.
13*
Invalid class reference array.
An Array of classes.
14*
Invalid symbol reference array.
An Array of symbols.
15*
Unknown object encountered.
A SmallInteger whose value is part of an object pointer.
16*
Object with size > 64KB encountered and cannot be unloaded.
Object with size > 64K which causes the error.
17
Object greater than output buffer limit. This is just a warning. The warning code and the object with size > output buffer limit will be stored in their respective collections of warnings.
Unspecified.
18
Total object size (size used by all objects to be dumped) exceeds the buffer limit specified or allowed.
Object to be unloaded.
19**
Error in seeking to the specified position in the stream.
The stream where the problem happened.
20
Error in writing the data to the stream specified.
The stream where the problem happened.
21
Error in reading the data from the stream specified.
The stream where the problem happened.
22*
Incorrect number of bytes read.
A SmallInteger whose value is the OS file handle.
23
Invalid object input stream. The stream specified does not contain valid ObjectSwapper objects or the reading offset into the stream is incorrect.
A SmallInteger or nil.
24
Class definition missing. The object to be loaded into the system does not have a class definition in the current image.
Class name of the missing class (a String).
25
Mutation was performed. This is just a warning. The class definition in the image is different from the object to be loaded. The offending object was mutated. The warning code and the class name will be stored in their respective collections of warnings.
Unspecified.
26
Checksums do not match. This error will occur if the input stream containing the objects is corrupted.
A buffer containing the corrupted objects (a ByteArray).
27
ObjectSwapper found a format of a version that is not supported.
A SmallInteger indicating the version number of the object.
28
Invalid maximum limit specified. The maximum limit can be unspecified (i.e. nil) or an integer in the range 0.. (2^32)-1.
The maximum limit object given to the ObjectDumper.
29
Maximum limit exceeded. The objects to be unloaded take up more space than the maximum limit specified.
The object to be unloaded.
30*
Invalid array of classes which cannot be dumped.
An Array of classes whose instances cannot be dumped.
31
Instance of an undumpable class encountered. The Swapper disallows the unloading of instances of certain classes. When an instance of one of these classes is encountered, this error will be returned.
The instance of an undumpable class (such as CompiledMethod) that causes the error.
32*
Objects nested too deep. The number of levels in the objects to be unloaded is causing a stack overflow. A circular object (i.e. an object that references itself) does not cause this error.
Object to be unloaded.
33*
Invalid integer buffer array.
A ByteArray or an Array of ByteArrays.
34*
Invalid Float ID.
The class hash of Float or the class Float.
35*
Invalid symbol hash buffer.
A buffer (a ByteArray) used to store symbols referenced by the unloaded objects.
36*
Invalid class hash buffer.
A buffer (a ByteArray) used to store classes referenced by the unloaded objects.
37**
Invalid Array of ByteArrays. The Array of byte objects into which the unloaded objects are to be stored is invalid.
An Array of byte objects (ByteArrays or Strings).
38**
Invalid Array of integer offsets into ByteArrays. The Array of offsets into the byte objects specified is not an Array or its size does not match the number of byte objects.
An Array of offsets (Integers) into the byte objects.
39**
Invalid Array of classes whose instances are to be unlinked. This parameter must be an Array of classes.
An Array of classes whose instances are to be unlinked.
40**
Invalid Array of instance variables to be unlinked. This parameter must be an Array of Arrays of positive SmallInteger, and its size must match the number of classes whose instance variables are to be unlinked.
An Array of instance variables to be unlinked.
41**
Invalid Array of classes whose instance variables are to be unlinked.
An Array of classes whose instance variables are to be unlinked.
42*
Invalid "unlink-instances-of-classes" buffer.
A buffer (a ByteArray) which causes the error.
43*
Invalid "unlink-instvars-of-classes" buffer.
A buffer (a ByteArray) which causes the error.
44*
Invalid Array of classes to be treated as objects.
An Array of classes to be treated as objects when unloaded.
45*
Invalid Array of newlyLoadedInstances.
An Array of newly loaded instances of the requested classes.
46*
Invalid user-defined look-up table.
User-defined look-up table (an Array of Objects or a Dictionary).
47*
Invalid entry in user-defined look-up table.
A SmallInteger that is the index into the user-defined look-up table.
48*
Read-only object encountered.
The read-only object that causes the dump to fail.
49*
Invalid special objects' IDs.
Special objects' IDs that cause the dumping or loading to fail (an Array of objects).
50
Unknown platform encountered.
A SmallInteger representing the unknown platform code.
51*
Invalid total object count.
Object which represents the total object count (a ByteArray).
52*
Temporary class hash buffer too small.
Object to be unloaded.
53*
The names of the atoms cannot be found.
The object to be unloaded.
54*
Invalid atom reference array.
nil.
59*
Unable to open file.
File name that could not be opened (a String).
60
Class with encoding not present in the image.
A SmallInteger, representing the encoding of the class.
61
Failed to copy objects to intermediate buffer
A SmallInteger, representing the size of the object that could not be copied.
62
Special class does not define encoding.
A class that is defined as special for dumping and loading and that should define a numeric encoding as well but does not.
63
Invalid output buffer limit.
The object which is given to the ObjectSwapper as buffer limit.
64
Dumping replacement for class field of object is not a Behavior.
The instance that defines an invalid dumping replacement for its class field.
65
An implementation error exists. An exception was trapped.
The ObjectDumper or ObjectLoader.
66
Cannot load objects in old format without old loader.
An EswHeader defining the object stream header.
67
Loading replacement for class field of object is not a Behavior.
The instance that defines an invalid loading replacement for its class field.
68
Mutation was not performed. Generic mutation code in Behavior cannot be used for this class.
A Symbol giving the name of the class for which mutation could not be performed.
69
Backwards compatibility application has to be installed to load objects in old format.
The input swapping stream.
70
An instance of a class with encoding was found. There is no loading replacement for the encoded class.
The object that was loaded.
71
Invalid Remap request.
An Array with the loaded class and the remap class passed by the user.
72
Error in replacement block.
The replacement block passed by the user.
73
Ambiguous class definition.
A String giving the name of the class being loaded.
255
Unexpected error.
nil.
* The error is obsolete. It should occur only if a release previous to V4.0 is used.
** The error can occur only when an obsolete API is used.
 
Last modified date: 05/19/2020