# VM Run-Time Error Codes

When the VM encounters an error in the user program, it throws an exception of class RuntimeError. This exception object always contains an integer value its errno_ property giving the VM error code for the error condition. Programs that need to apply special handling for certain types of errors can determine the specific VM error condition via the error code errno_.

101: error reading file

Error reading file. The file might be corrupted or a media error might have occurred.

102: error writing file

Error writing file. The media might be full, or another media error might have occurred.

103: file not found

Error opening file. The specified file might not exist, you might not have sufficient privileges to open the file, or a sharing violation might have occurred.

104: error creating file

Error creating file. You might not have sufficient privileges to open the file, or a sharing violation might have occurred.

105: error closing file

Error closing file. Some or all changes made to the file might not have been properly written to the physical disk/media.

106: error deleting file

Error deleting file. This could because you don't have sufficient privileges, the file is marked as read-only, another program is using the file, or a physical media error occurred.

107: data packer format string parsing error at character index nnn

The format string for the data packing or unpacking has a syntax error at character index nnn.

108: data packer argument type mismatch at format string index nnn

Data packer argument type mismatch. The type of the argument doesn't match the format code at character index nnn in the format string.

109: wrong number of data packer arguments at format string index nnn

Wrong number of arguments to the data packer. The number of argument values doesn't match the number of elements in the format string.

110: this file operation isn't supported for storage server files

This file operation isn't supported for storage server files. This operation can only be used with local disk files.

111: error renaming file

An error occurred renaming the file. The new name might already be used by an existing file, you might not have the necessary permissions in the new or old directory locations, or the new name might be in an incompatible location, such as on a different device or volume.

201: object ID in use - the image/save file might be corrupted

An object ID requested by the image/save file is already in use and cannot be allocated to the file. This might indicate that the file is corrupted.

202: out of memory

Out of memory. Try making more memory available by closing other applications if possible.

203: out of memory allocating pool page

Out of memory allocating pool page. Try making more memory available by closing other applications.

204: invalid page size - file is not valid

Invalid page size. The file being loaded is not valid.

205: no more property ID's are available

Out of property ID's. No more properties can be allocated.

206: circular initialization dependency in intrinsic class (internal error)

Circular initialization dependency detected in intrinsic class. This indicates an internal error in the interpreter. Please report this error to the interpreter's maintainer.

301: this interpreter version cannot run this program (program requires intrinsic class xxx, which is not available in this interpreter)

This image file requires an intrinsic class with the identifier "xxx", but the class is not available in this interpreter. This program cannot be executed with this interpreter.

302: this interpreter version cannot run this program (program requires intrinsic function set xxx, which is not available in this interpreter)

This image file requires a function set with the identifier "xxx", but the function set is not available in this intepreter. This program cannot be executed with this interpreter.

303: reading past end of image file - program might be corrupted

Reading past end of image file. The image file might be corrupted.

304: this is not an image file (no valid signature found)

This file is not a valid image file - the file has an invalid signature. The image file might be corrupted.

305: this interpreter version cannot run this program (unknown block type in image file)

Unknown block type. This image file is either incompatible with this version of the interpreter, or has been corrupted.

306: data block too small

A data block in the image file is too small. The image file might be corrupted.

307: invalid image file: pool page before pool definition

This image file is invalid because it specifies a pool page before the pool's definition. The image file might be corrupted.

308: invalid image file: pool page out of range of definition

This image file is invalid because it specifies a pool page outside of the range of the pool's definition. The image file might be corrupted.

309: invalid image file: invalid pool ID

This image file is invalid because it specifies an invalid pool ID. The image file might be corrupted.

310: invalid image file: bad page index

This image file is invalid because it specifies an invalid page index. The image file might be corrupted.

311: loading undefined pool page

The program is attempting to load a pool page that is not present in the image file. The image file might be corrupted.

312: invalid image file: pool is defined more than once

This image file is invalid because it defines a pool more than once. The image file might be corrupted.

313: invalid image file: multiple intrinsic class dependency tables found

This image file is invalid because it contains multiple intrinsic class tables. The image file might be corrupted.

314: invalid image file: no intrinsic class dependency table found

This image file is invalid because it contains no intrinsic class tables. The image file might be corrupted.

315: invalid image file: multiple function set dependency tables found

This image file is invalid because it contains multiple function set tables. The image file might be corrupted.

316: invalid image file: no function set dependency table found

This image file is invalid because it contains no function set tables. The image file might be corrupted.

317: invalid image file: multiple entrypoints found

This image file is invalid because it contains multiple entrypoint definitions. The image file might be corrupted.

318: invalid image file: no entrypoint found

This image file is invalid because it contains no entrypoint specification. The image file might be corrupted.

319: incompatible image file format version

This image file has an incompatible format version. You must obtain a newer version of the interpreter to execute this program.

320: image contains no code

This image file contains no executable code. The file might be corrupted.

321: incomptabile image file format: method header too old

This image file has an incompatible method header format. This is an older image file version which this interpreter does not support.

322: unavailable intrinsic function called (index nnn in function set "xxx")

Unavailable intrinsic function called (the function is at index nnn in function set "xxx"). This function is not available in this version of the interpreter and cannot be called when running the program with this version. This normally indicates either (a) that the "preinit" function (or code invoked by preinit) called an intrinsic that isn't available during this phase, such as an advanced display function; or (b) that the program used '&' to refer to a function address, andthe function isn't available in this interpreter version.

323: unknown internal intrinsic class ID nnn

Unknown internal intrinsic class ID nnn. This indicates an internal error in the interpreter. Please report this error to the interpreter's maintainer.

324: page mask is not allowed for in-memory image file

This image file cannot be loaded from memory because it contains masked data. Masked data is not valid with in-memory files. This probably indicates that the program file was not installed properly; you must convert this program file for in-memory use before you can load the program with this version of the interpreter.

325: no embedded image file found in executable

This executable does not contain an embedded image file. The application might not be configured properly or might need to be rebuilt. Re-install the application or obtain an updated version from the application's author.

326: object size exceeds hardware limits of this computer

An object defined in this program file exceeds the hardware limits of this computer. This program cannot be executed on this type of computer or operating system. Contact the program's author for assistance.

327: this interpreter is too old to run this program (program requires intrinsic class version xxx, interpreter provides version xxx)

This program needs the intrinsic class "xxx". This VM implementation does not provide a sufficiently recent version of this intrinsic class; the latest version available in this VM is "xxx". This program cannot run with this version of the VM; you must use a more recent version of the VM to execute this program.

328: invalid intrinsic class data - image file may be corrupted

Invalid data were detected in an intrinsic class. This might indicate that the image file has been corrupted. You might need to re-install the program.

329: invalid object - class does not allow loading

An object in the image file cannot be loaded because its class does not allow creation of objects of the class. This usually means that the class is abstract and cannot be instantiated as a concrete object.

330: this interpreter is too old to run this program (program requires function set version xxx, interpreter provides version xxx)

This program needs the function set "xxx". This VM implementation does not provide a sufficiently recent version of this function set; the latest version available in this VM is "xxx". This program cannot run with this version of the VM; you must use a more recent version of the VM to execute this program.

331: exported symbol "xxx" is of incorrect datatype

The exported symbol "xxx" is of the incorrect datatype. Check the program and the library version.

332: invalid data in macro definitions in image file (error code nnn)

The image file contains invalid data in the macro symbols in the debugging records: macro loader error code nnn. This might indicate that the image file is corrupted.

333: this program is not capable of restoring a saved state on startup

This program is not capable of restoring a saved state on startup. To restore the saved state, you must run the program normally, then use the appropriate command or operation within the running program to restore the saved position file.

334: image file is incompatible with debugger - recompile the program

This image file was created with a version of the compiler that is incompatible with this debugger. Recompile the program with the compiler that's bundled with this debugger. If no compiler is bundled, check the debugger release notes for information on which compiler to use.

400: this operation is not allowed by the network safety level settings

This operation is not allowed by the current network safety level settings. The program is attempting to access network features that you have disabled with the network safety level options. If you wish to allow this operation, you must restart the program with new network safety settings.

1001: property cannot be set for object

Invalid property change - this property cannot be set for this object. This normally indicates that the object is of a type that does not allow setting of properties at all, or at least of certain properties. For example, a string object does not allow setting properties at all.

1201: file is not a valid saved state file

This file is not a valid saved state file. Either the file was not created as a saved state file, or its contents have been corrupted.

1202: saved state is for a different program or a different version of this program

This file does not contain saved state information for this program. The file was saved by another program, or by a different version of this program; in either case, it cannot be restored with this version of this program.

1203: intrinsic class name in saved state file is too long

An intrinsic class name in the saved state file is too long. The file might be corrupted, or might have been saved by an incompatible version of the interpreter.

1206: invalid object ID in saved state file

The saved state file contains an invalid object ID. The saved state file might be corrupted.

1207: saved state file is corrupted (incorrect checksum)

The saved state file's checksum is invalid. This usually indicates that the file has been corrupted (which could be due to a media error, modification by another application, or a file transfer that lost or changed data).

1209: storage server error

An error occurred accessing the storage server. This could be due to a network problem, invalid user credentials, or a configuration problem on the game server.

1210: saved file metadata table exceeds 64k bytes

The metadata table for the saved state file is too large. This table is limited to 64k bytes in length.

1208: invalid intrinsic class data in saved state file

The saved state file contains intrinsic class data that is not valid. This usually means that the file was saved with an incompatible version of the interpreter program.

2001: cannot convert value to string

This value cannot be converted to a string.

2002: string conversion buffer overflow

An internal buffer overflow occurred converting this value to a string.

2003: invalid datatypes for addition operator

Invalid datatypes for addition operator. The values being added cannot be combined in this manner.

2004: numeric value required

Invalid value type - a numeric value is required.

2005: integer value required

Invalid value type - an integer value is required.

2006: cannot convert value to logical (true/nil)

This value cannot be converted to a logical (true/nil) value.

2007: invalid datatypes for subtraction operator

Invalid datatypes for subtraction operator. The values used cannot be combined in this manner.

2008: division by zero

Arithmetic error - Division by zero.

2009: invalid comparison

Invalid comparison - these values cannot be compared to one another.

2010: object value required

An object value is required.

2011: property pointer required

A property pointer value is required.

2012: logical value required

A logical (true/nil) value is required.

2013: function pointer required

A function pointer value is required.

2014: invalid index operation - this type of value cannot be indexed

This type of value cannot be indexed.

2015: index out of range

The index value is out of range for the value being indexed (it is too low or too high).

2016: invalid intrinsic class index

The intrinsic class index is out of range. This probably indicates that the image file is corrupted.

2017: invalid dynamic object creation (intrinsic class does not support NEW)

This type of object cannot be dynamically created, because the intrinsic class does not support dynamic creation.

2018: object value required for base class

An object value must be specified for the base class of a dynamic object creation operation. The superclass value is of a non-object type.

2019: string value required

A string value is required.

2020: list value required

A list value is required.

2021: list or string reference found in dictionary (entry "xxx") - this dictionary cannot be saved in the image file

A dictionary entry (for the string "xxx") referred to a string or list value for its associated value data. This dictionary cannot be stored in the image file, so the image file cannot be created. Check dictionary word additions and ensure that only objects are added to the dictionary.

2022: invalid object type - cannot convert to required object type

An object is not of the correct type. The object specified cannot be converted to the required object type.

2023: numeric overflow

A numeric calculation overflowed the limits of the datatype.

2024: invalid datatypes for multiplication operator

Invalid datatypes for multiplication operator. The values being added cannot be combined in this manner.

2025: invalid datatypes for division operator

Invalid datatypes for division operator. The values being added cannot be combined in this manner.

2026: invalid datatype for arithmetic negation operator

Invalid datatype for arithmetic negation operator. The value cannot be negated.

2027: value is out of range

A value that was outside of the legal range of inputs was specified for a calculation.

2028: string is too long

A string value is limited to 65535 bytes in length. This string exceeds the length limit.

2029: list too long

A list value is limited to about 13100 elements. This list exceeds the limit.

2030: maximum equality test/hash recursion depth exceeded

This equality comparison or hash calculation is too complex and cannot be performed. This usually indicates that a value contains circular references, such as a Vector that contains a reference to itself, or to another Vector that contains a reference to the first one. This type of value cannot be compared for equality or used in a LookupTable.

2031: cannot convert value to integer

This value cannot be converted to an integer.

2032: invalid datatype for modulo operator

Invalid datatype for the modulo operator. These values can't be combined with this operator.

2033: invalid datatype for bitwise AND operator

Invalid datatype for the bitwise AND operator. These values can't be combined with this operator.

2034: invalid datatype for bitwise OR operator

Invalid datatype for the bitwise OR operator. These values can't be combined with this operator.

2035: invalid datatype for XOR operator

Invalid datatype for the XOR operator. These values can't be combined with this operator.

2036: invalid datatype for left-shift operator '<<'

Invalid datatype for the left-shift operator '<<'. These values can't be combined with this operator.

2037: invalid datatype for arithmetic right-shift operator '>>'

Invalid datatype for the arithmetic right-shift operator '>>'. These values can't be combined with this operator.

2038: invalid datatype for bitwise NOT operator

Invalid datatype for the bitwise NOT operator. These values can't be combined with this operator.

2039: code pointer value required

Invalid type - code pointer value required. (This probably indicates an internal problem in the interpreter.)

2040: exception object required, but 'new' did not yield an object

The VM tried to construct a new program-defined exception object to represent a run-time error that occurred, but 'new' did not yield an object. Note that another underlying run-time error occurred that triggered the throw in the first place, but information on that error is not available now because of the problem creating the exception object to represent that error.

2041: cannot convert value to native floating point

The value cannot be converted to a floating-point type.

2042: cannot convert value to a numeric type

The value cannot be converted to a numeric type. Only values that can be converted to integer or BigNumber can be used in this context.

2043: invalid datatype for logical right-shift operator '>>>'

Invalid datatype for the logical right-shift operator '>>>'. These values can't be combined with this operator.

2201: wrong number of arguments

The wrong number of arguments was passed to a function or method in the invocation of the function or method.

2202: argument mismatch calling xxx - function definition is incorrect

The number of arguments doesn't match the number expected calling xxx. Check the function or method and correct the number of parameters that it is declared to receive.

2203: nil object reference

The value 'nil' was used to reference an object property. Only valid object references can be used in property evaluations.

2204: missing named argument 'xxx'

The named argument 'xxx' was expected in a function or method call, but it wasn't provided by the caller.

2205: invalid type for call

The value cannot be invoked as a method or function.

2206: nil 'self' value is not allowed

'self' cannot be nil. The function or method context has a nil value for 'self', which is not allowed.

2270: cannot create instance of object - object is not a class

An instance of this object cannot be created, because this object is not a class.

2271: cannot create instance - class does not allow dynamic construction

An instance of this class cannot be created, because this class does not allow dynamic construction.

2301: invalid opcode - possible image file corruption

Invalid instruction opcode - the image file might be corrupted.

2302: unhandled exception

An exception was thrown but was not caught by the program. The interpreter is terminating execution of the program.

2303: stack overflow

Stack overflow. This indicates that function or method calls were nested too deeply; this might have occurred because of unterminated recursion, which can happen when a function or method calls itself (either directly or indirectly).

2304: invalid type for intrinsic function argument

An invalid datatype was provided for an intrinsic function argument.

2305: default output function is not defined

The default output function is not defined. Implicit string display is not allowed until a default output function is specified.

2306: invalid value for intrinsic function argument

An invalid value was specified for an intrinsic function argument. The value is out of range or is not an allowed value.

2307: breakpoint encountered

A breakpoint instruction was encountered, and no debugger is active. The compiler might have inserted this breakpoint to indicate an invalid or unreachable location in the code, so executing this instruction probably indicates an error in the program.

2308: external function calls are not implemented in this version

This version of the interpreter does not implement external function calls. This program requires an interpreter that provides external function call capabilities, so this program is not compatible with this interpreter.

2309: invalid opcode modifier - possible image file corruption

Invalid instruction opcode modifier - the image file might be corrupted.

2310: No mapping file available for local character set "xxx"

[Warning: no mapping file is available for the local character set "xxx". The system will use a default ASCII character set mapping instead, so accented characters will be displayed without their accents.]

2311: Unhandled exception: xxx

Unhandled exception: xxx

2312: VM Error: xxx

VM Error: xxx

(This is used as a generic template for VM run-time exception messages. The interpreter uses this to display unhandled exceptions that terminate the program.)

2313: VM Error: code nnn

VM Error: code nnn

(This is used as a generic template for VM run-time exceptions. The interpreter uses this to report unhandled exceptions that terminate the program. When it can't find any message for the VM error code, the interpreter simply displays the error number using this template.)

2314: Exception in static initializer for xxx.xxx: xxx

An exception occurred in the static initializer for xxx.xxx: xxx

2315: intrinsic class exception: xxx

Exception in intrinsic class method: xxx

2316: stack access is out of bounds

The program attempted to access a stack location that isn't part of the current expression storage area. This probably indicates a problem with the compiler that was used to create this program, or a corrupted program file.

2391: 'abort' signal

'abort' signal

(This exception is used internally by the debugger to signal program termination via the debugger UI.)

2392: 'restart' signal

'restart' signal

(This exception is used internally by the debugger to signal program restart via the debugger UI.)

2394: debugger VM halt

debugger VM halt

(This exception is used internally by the debugger to signal program termination via the debugger UI.)

2395: interrupted by user

The program was interrupted by a user interrupt key or other action.

2396: no debugger available

An instruction was encountered that requires the debugger, but this interpreter version doesn't include debugging capaabilities.

2500: invalid frame in debugger local/parameter evaluation

An invalid stack frame was specified in a debugger local/parameter evaluation. This probably indicates an internal problem in the debugger.

2501: invalid speculative expression

This expression cannot be executed speculatively. (This does not indicate a problem; it's merely an internal condition in the debugger.)

2502: invalid debugger expression

This expression cannot be evaluated in the debugger.

2503: image file has no debugging information - recompile for debugging

The image file has no debugging information. You must recompile the source code for this program with debugging information in order to run the program under the debugger.

2600: out of temporary floating point registers (calculation too complex)

The interpreter is out of temporary floating point registers. This probably indicates that an excessively complex calculation has been attempted.

2601: cannot convert value to BigNumber

This value cannot be converted to a BigNumber.

TADS 3 System Manual
Table of Contents | The Language > VM Run-Time Error Codes
Prev: Exporting Symbols Next: The Intrinsics