Error Codes

From SoftMC-Wiki
Revision as of 14:13, 13 December 2010 by Arwiebe (talk | contribs) (added Run Time Scheduler (2000 through 2999))
Jump to: navigation, search

In most cases, the MC communicates error codes with a text message via the serial port to the host. Some error codes are also transmitted to the Status Display. The same message is saved in the EEPROM under an error history log (FLTHIST, ERR) so nothing is lost when power is removed. Not all errors reflect a message back to the host. In these cases, the no-message errors communicate only to the Status Display.

Error Handler (1 through 999)

Number Message Description Type Severity Action
1 CPU Divide error Generated by the CPU if the divisor is zero or the quotient overflows the result register. ASYNC Fatal Fault Watchdog
2 CPU Debug Generated by the CPU after each instruction if Trap Flag is set. ASYNC Fatal Fault Watchdog
3 CPU NMI Generated by the CPU when the input to the NMI pin is asserted ASYNC Fatal Fault Watchdog
4 CPU Breakpoint Generated by one-byte breakpoint instruction. ASYNC Fatal Fault Watchdog
5 CPU Detected Overflow Generated by the CPU if Overflow Flag is set. ASYNC Fatal Fault Watchdog
6 CPU Bound range exceed Generated by BOUND instruction when the value to be tested is less than the indicated lower bound or greater than the indicated upper bound. ASYNC Fatal Fault Watchdog
7 Invalid opcode Generated when the CPU attempts to execute an invalid operation. ASYNC Fatal Fault Watchdog
8 CPU extension not available Generated if a co-processor instruction is encountered and a co-processor is not installed. ASYNC Fatal Fault Watchdog
9 CPU: double exception detected Generated when multiple exceptions occur on one CPU instruction or in an exception handler. ASYNC Fatal Fault Watchdog
10 CPU Coprocessor overrun Generated if the co-processor attempts to access memory outside a segment boundary. ASYNC Fatal Fault Watchdog
11 CPU Invalid Task State Segment Automatically generated by the CPU during task switch if the new TSS specified by the task gate is invalid. ASYNC Fatal Fault Watchdog
12 CPU segment not present Generated when loading a segment register of the CPU if the segment descriptor indicates that the segment is not currently in memory. ASYNC Fatal Fault Watchdog
13 CPU Stack fault Generated on a stack overflow, underflow or if an inter-level transition or task switch references a stack segment marked "not present". ASYNC Fatal Fault Watchdog
14 CPU General protection fault Generated when the CPU detects a protection violation that does not fit under another category having a separate interrupt. This error is generated on an 80486 protected- mode floating-point protection fault. ASYNC Fatal Fault Watchdog
15 CPU Page fault Generated when attempting to access a 4 K memory page whose page table entry has the "present" bit cleared. ASYNC Fatal Fault Watchdog
16 CPU Coprocessor fault Generated if the co-processor attempts to access memory outside a segment boundary. It may occur at any arbitrary time after the coprocessor instruction is issued. ASYNC Fatal Fault Watchdog
17 CPU Alignment error Automatically generated by the CPU if memory is misaligned. ASYNC Fatal Fault Watchdog
18 Invalid FPU operation Program error (e.g., an out-of-range argument to trigonometric functions, SQRT of negative operand, logarithm of zero or negative operand). ASYNC Error Idle Task
19 FPU: Unnormalized operand Generated when an instruction attempts to operate on an operand that is not normalized. The result may have reduced significance due to lost low-order bits. ASYNC Error Idle task
20 FPU divide by zero Generated when an instruction attempts to divide by zero. ASYNC Error Idle Task
21 FPU overflow Occurs if the magnitude of the rounded true result exceeds the magnitude of the largest finite number in the destination format. ASYNC Error Idle Task
22 FPU Underflow Two related events can contribute to this error: 1) creation of a very small operand which can cause some other exception later, and 2) overflow upon division producing an inexact result. ASYNC Error Idle Task
23 FPU Precision lost Occurs when the result of an operation is not exactly representable in the destination format. For example, 1/3 cannot be precisely represented in binary form. This exception occurs frequently and indicates that some (generally acceptable) exception has been lost. Most applications mask this exception. ASYNC Error Idle task
24 FPU Stack fault Generated on the FPU due to stack overflow or underflow. ASYNC Error Idle Task
25 Invalid FPU operation Program error (e.g., out-of-range argument to trigonometric functions, SQRT of negative operand, logarithm of zero or negative operand). System Context ASYNC Fatal Fault Watchdog
26 FPU: Unnormalized operand When an instruction attempts to operate on a non-normalized operand, the result may have reduced significance due to lost low-order bits. Most applications mask this exception since a non-normalized operand will be normalized to the extended-real format when loaded to the FPU. System Context ASYNC Fatal Fault Watchdog
27 FPU Zero divide Generated when an instruction attempts to divide a finite non-zero operand by zero. System Context. ASYNC Fatal Fault Watchdog
28 FPU Overflow Occurs if the magnitude of the rounded true result exceeds the magnitude of the largest finite number in the destination format. ASYNC Fatal Fault Watchdog
29 FPU Underflow Two related events contribute to this error: 1) creation of a very small operand which can cause some other exception later, and 2) overflow upon division producing an inexact result. ASYNC Fatal Fault Watchdog
30 FPU Precision lost Occurs when the result of an operation is not exactly representable in the destination format. For example, 1/3 cannot be precisely represented in binary form. This exception occurs frequently and indicates that some (generally acceptable) exception has been lost. Most applications mask this exception. ASYNC Fatal Fault Watchdog
31 FPU Stack fault Generated on the FPU due to stack overflow or underflow. ASYNC Fatal Fault Watchdog
32 Unknown module ID Internal error. Unregistered code of the module encountered in the error code. ASYNC Fatal Fault Watchdog
33 Failed to create Logger message queue Internal system resource cannot be allocated ROOT Fatal Fault Watchdog
34 Failed to create logger task Internal error. Contact technical support. ROOT Fatal Fault Watchdog
35 Failed to write logger file An error occurred while writing to the log file. This can happen if many errors are generated simultaneously. ASYNC Error None
36 Invalid logger message queue ID Internal error. Contact technical support. ASYNC Fatal Fault Watchdog
37 Failed to create logger mutex Internal error. Contact technical support. ROOT Fatal Fault Watchdog
38 Invalid logger mutex Internal error. Contact technical support. ASYNC Fatal Fault Watchdog
39 Task does not exist Generated in response to ERROR or ERRORNUM task query when task does not exist. SYNC Note None
40 Invalid message queue Invalid message queue ID SYNC/ ASYNC Fatal Fault Watchdog
41 Failed to create Error Handler task Internal error. Contact technical support. ROOT Fatal Fault Watchdog
42 Failed to create Error Handler message queue Internal error. Contact technical support. ROOT Fatal Fault Watchdog
43 Error message queue overflow The error flow too intense. Some error messages may be lost. ASYNC Error None
44 Logger message queue overflow The error message flow is too numerous. Some error messages may be lost. ASYNC Error None
46 Could not stop Interpreter User process cannot be stopped by the default system error handler. ASYNC Fatal Fault Watchdog
47 Cannot proceed user error handler Internal error. Contact technical support. ASYNC Fatal Fault Watchdog
48 Error code with invalid severity Internal error. Contact technical support. ASYNC Fatal Fault Watchdog
49 Error code with invalid context info Internal error. Contact technical support. Invalid context value recognized by the Error Handler state machine. ASYNC Fatal Fault Watchdog
50 Cannot open logger file A file system error occurred while opening Logger file. ASYNC Error None
51 User error handler cannot be created. An error occurred while spawning user error handler task. Add memory. SYNC Error None
52 User error handler message queue failed Internal error. Contact technical support. SYNC Fatal Fault Watchdog
53 User error handler stack allocation failed. Could not create internal data structure. Add memory or unload unnecessary tasks. SYNC Error None
54 Recurring attempt to define user system error handler Only one instance of the user system error handler may exist. SYNC Error Idle Task
55 Unsuccessful OnSystemError kill User error handler cannot run. ASYNC Error Idle Task
56 Bad exception handle Bad exception handle bad handle SYNC Error Idle Task
57 Bad exception number Bad exception number SYNC Error Idle Task
58 Exception number is already used Exception number is already used SYNC Error Idle Task
59 No memory Out of memory SYNC Error Idle Task
60 Too many user defined exceptions Too many user defined exceptions SYNC Error Idle Task
61 Invalid error print level Invalid error print level SYNC Error Idle Task
62 Unknown error The error code cannot be recognized by the error handler. ASYNC Fatal Fault Watchdog
63 On System Error queue is full On System Error queue is full SYNC Error Idle Task
64 Fault.log file was invalid see Fault.bak file Fault.log file was invalid see Fault.bak file SYNC Error Idle Task

Built In Test (1000 through 1999)

Number Message Description Type Severity Action
1001 Internal error. Contact technical support. Internal error. Contact technical support. ROOT Fatal Fault Watchdog
1002 Internal error. Contact technical support. Internal error. Contact technical support. ROOT Fatal Fault Watchdog
1003 System memory exhausted: unload tasks or add memory. The Bit task verifies at least 200k bytes of contiguous memory are unavailable. Unload unnecessary tasks or add memory. ASYNC Note
1004 Out of memory: add more memory or unload unnecessary tasks. Out of memory. Bit is not able to allocate needed amount of RAM for the new handle. This can occur in response to the WDINIT() function. Add more memory or unload unnecessary tasks. SYNC Error Idle Task
1005 Invalid BIT handle. Internal error. Bit task received an invalid handle (pointer). The handle is generated in response to the WdInit() function, and must be specified in the WdCycle() function SYNC Error Idle Task
1006 Task stuck. One of the tasks that should report to Bit has not done so. A task tells Bit that it will report to INIT when it executes WDINIT. Thereafter, the task must execute WDCYCLE periodically. ASYNC Fatal Fault Watchdog
1015 Error reading to SERCON DPRAM. Internal error. Hardware power-up tests failed reading from the SERCON chip Dual Port RAM ASYNC Error
1016 Error writing to SERCON DPRAM. Internal error. Hardware power-up tests failed writing to the SERCON chip Dual Port RAM ASYNC Error
1020 TaskUnlock() failure Internal error, returned by diagnostic code. Not applicable for application. ASYNC Fatal Fault Watchdog
1021 TaskLock() failure. Internal error, returned by diagnostic code. Not applicable for application. ASYNC Fatal Fault Watchdog
1023 WatchDog failure. Internal error, returned by diagnostic code. Not applicable for application. ASYNC Fatal Fault Watchdog

Run Time Scheduler (2000 through 2999)

Number Message Description Type Severity Action
2001 Unknown error. Contact tech support. Internal error: unrecognized error code ASYNC Fatal Fault
2002 Internal error. Contact tech support. Internal error: failed to allocate data structure for MutEx semaphore. ROOT Fatal Fault
2003 Internal error. Contact tech support. Internal error: failed to allocate data structure for synchronization semaphore ROOT Fatal Fault
2004 Overlap error. Not enough system resources to run all mandatory system tasks. ASYNC Error
2005 Internal error. Contact technical support. Internal error: cannot perform scheduling operation over unregistered RTS element. ASYNC Fatal Fault
2006 Internal error. Contact technical support. Internal error: Semaphore cannot be taken. ASYNC Fatal Fault
2007 Internal error. Contact technical support. Internal error: the task received invalid request for operation. ASYNC Fatal Fault
2008 Out of memory. Internal error: not enough memory to allocate internal data. ASYNC Fatal Fault
2009 Internal error. Contact technical support. Internal error: failure while spawning the Reatime Scheduler task ROOT Fatal Fault