101 Previous startup failed
The device has been reset during the JVM boot process. This error indicates that the JVM found the "boot in progress" flag was set on startup. The screen is intended to break continuous reset loops so that corrective action can be taken
102 Invalid code in filesystem
The system has checked the .COD files in the handheld for modification, and determined that there is a problem with one or more .COD files. If all loads fail, it could indicate a build process error where there was a problem signing the codfiles. If some user action to the device caused this problem, the reset cycle will be continuous since the code in the filesystem has been corrupted. The only recovery method is to wipe the device and restore a new system
103 Cannot find starting address
The starting address for the boot .COD file cannot be found. This may indicate that a boot .COD file has not been installed on the device, or that its format is invalid or corrupt
104 Uncaught:
An uncaught Java exception was thrown by the Java code and diagnosed by the JVM. Execution can be continued, or the handheld can be attached to a debugger on a desktop through a serial or USB cable. The event log should contain the traceback of the thrown exception.
105 Example, DbRecSize( %d ) -> %d
The file system API has returned an error status for a certain operation. This could indicate a corrupt filesystem or an error in the JVM
106 Graphics system error
An error has been detected in the graphics system of the device
107 operator new() called A
C++ class in the JVM has not been coded correctly to inherit from VMRamObject that has the correct override for operator new. Extract the current (post-reset) BUGDISP
108 operator delete() called A
C++ class in the JVM has not been coded correctly to inherit from VMRamObject that has the correct override for operator delete. Extract the current (post-reset) BUGDISP
109 PriorityMessageCount error:
The value returned by RimPriorityMessageCount is negative when it should always be greater than or equal to zero. This indicates an error in the OS code. Extract the current (post-reset) BUGDISP and EVENTLOG
110 Non-idle event downtime error:
A problem has been detected in the accumulation of JVM down time, which represents how long the JVM has been idle. This usually indicates an error in the handheld firmware or the JVM. This could also occur if the tick count rolls over after 400+ days of device time
111 Font engine error
An error has been detected in the font engine system of the device. Extract the current (post-reset) BUGDISP and EVENTLOG
112 Java Native Assertion Failure
An error has been detected in the Java native code. Extract the current (post-reset) BUGDISP and EVENTLOG
200 Application manager threw an uncaught exception
The application manager event thread threw an uncaught exception and so cannot continue execution
201 Crypto initialization code failed
The initialization of the crypto system failed and the handheld cannot continue execution
202 An attack on the key store has been detected
The attack has been detected and execution cannot continue.
203 Console process died
The application manager console process (usually the Ribbon) has died. This is likely due to an uncaught exception during execution.
204 Persistent Content Exception
An application tried to commit a plaintext object to the Persistent Store. This will only happen if Content Protection is on and a process tries to save something in the PersistentStore that is marked as plaintext. Since this exception was not handled, the persistent store is in a bad state.
300-303 Bad load
Run Application Loader to reload the operating system and applications onto the handheld
395 Unclassified error code
400-564 Page faults
Run Application Loader to reload the operating system and applications onto the handheld
310-314 Hardware failure
Perform a hard reset on the handheld: Shut down, remove the battery wait a few second,replace battery then see when happens when it starts or
Run Application Loader to reload the operating system and applications onto the handheld
320-325 AMX failure
Run Application Loader to reload the operating system and applications onto the handheld
330-339 Application tasks failure
Run Application Loader to reload the operating system and applications onto the handheld
340-343 Memory failure
350-359 Software application failure
360-363 Flash memory failure
Run Application Loader to reload the operating system and applications onto the handheld
365-368 This one is often followed by "OHHH @&#%!!"
410 Radio failure
Run Application Loader to reload the operating system and applications onto the handheld
507 No applications on handheld
Reflash handheld
501 VM_THREAD_SWITCHED:
Internal Error This is an error return used internally in the VM. It should never be reported as a device error
502 VM_PROCESS_DEATH:
All processes exited The last Java process has terminated. There is nothing left to execute
503 VM_THREAD_DEATH:
Internal Error This is an error return used internally in the VM. It should never be reported as a device error
504 VM_THREAD_SWITCH:
Internal Error This is an error return used internally in the VM. It should never be reported as a device error
505 VM_BAD_CODE: Bad Byte Code
An error has occurred in the JIT compiler
506 Uncaught Exception
An uncaught Java exception was thrown in the initial VM Java thread thus ending the only live thread in the system. The eventlog contains the traceback for the exception
507 Unsatisfied Link
A dependency on a .COD file could not be satisfied because the .COD file is missing
508 Invalid object
A problem has been detected with a debugger command to the VM
509 VM_PPO_INFINITE_LOOP: infinite loop in PPO phase of GC
The maximum iteration count for the PPO phase of a GC must be the maximum number of file handles in the system. This error indicates that the iteration count has exceeded that count and hence there is a flaw in the PPO loop or a corrupted file system. The extra hex integer in the error string is the flash id of the current record where the infinite loop was detected
510 Deadlock
All threads are waiting on objects, resulting in deadlock. The system cannot recover from this state because no thread can release a lock
511 Debug connection died A
problem has occurred while debugging that may be caused by a VM problem or an incorrect debugging command being sent to the VM
512 GC Aborted
An idle garbage collection has been interrupted by a user event, such as pressing the keyboard or moving the trackwheel
513 needs running
An opcode requires that a class execute before it can continue execution
514 needs running
A new instance of a class has been allocated and it must be initialized by the default constructor before it can be used
515 Object group too big
The reachable objects form a group that cannot be represented properly by the JVM because either there are too many objects or the total size of the objects is too large
516 Persistent ids exhausted
When committing a persistent object, the JVM found that the persistent store id counter has reached its limit. The object was not committed and a critical error was reported. This error should never happen unless a device is heavily used for years
517 Filesystem corrupt
An inconsistency has been detected in the JVM persistent object store
518 Unexpected longjmp
A garbage collection marking phase was terminated via a longjmp. This indicates that the marking phase was interrupted when it should have completed without interruption. This should never happen because these actions are executed when the device is not idle, and GCs can only be interrupted when the device is idle
519 Internal Error
The JVM host is missing or has been disabled
520 Internal Return
An internal state that indicates a Java method return needs to be executed
521 Dangerous Wait
An Object.wait() has been executed by a thread that holds a lock on another object. This is only checked in the simulator under the control of the JvmDebugWaits application switch
522 Interlaced synchronization
A thread has acquired two locks on objects in an order that doesn't match the order that previous locks for the two types were acquired. This indicates a future potential deadlock situation and is reported. The check is only available in the simulator under the control of the JvmDebugLocks application switch
523 System process died
A critical Java process has terminated, and the device cannot continue to operate in a normal manner
524 LMM error
An object has been marked as recovered by the Low Memory Manager, but it was not freed during a garbage collection. This is only checked in the simulator under the control of the JvmDebugLMM application switch
525 Bad persistent object
An auto-commit operation during a garbage collection has detected a non-persistent object reachable from the persistent store root. The type of the object has been output into the eventlog
526 java.lang.Object not found
The class definition for java.lang.Object cannot be found
527 java.lang.String not found
The class definition for java.lang.String cannot be found
528 Corrupt filesystem
Unrecoverable. All data will be lost
The device has been reset during the JVM boot process. This error indicates that the JVM found the "boot in progress" flag was set on startup. The screen is intended to break continuous reset loops so that corrective action can be taken
102 Invalid code in filesystem
The system has checked the .COD files in the handheld for modification, and determined that there is a problem with one or more .COD files. If all loads fail, it could indicate a build process error where there was a problem signing the codfiles. If some user action to the device caused this problem, the reset cycle will be continuous since the code in the filesystem has been corrupted. The only recovery method is to wipe the device and restore a new system
103 Cannot find starting address
The starting address for the boot .COD file cannot be found. This may indicate that a boot .COD file has not been installed on the device, or that its format is invalid or corrupt
104 Uncaught:
An uncaught Java exception was thrown by the Java code and diagnosed by the JVM. Execution can be continued, or the handheld can be attached to a debugger on a desktop through a serial or USB cable. The event log should contain the traceback of the thrown exception.
105 Example, DbRecSize( %d ) -> %d
The file system API has returned an error status for a certain operation. This could indicate a corrupt filesystem or an error in the JVM
106 Graphics system error
An error has been detected in the graphics system of the device
107 operator new() called A
C++ class in the JVM has not been coded correctly to inherit from VMRamObject that has the correct override for operator new. Extract the current (post-reset) BUGDISP
108 operator delete() called A
C++ class in the JVM has not been coded correctly to inherit from VMRamObject that has the correct override for operator delete. Extract the current (post-reset) BUGDISP
109 PriorityMessageCount error:
The value returned by RimPriorityMessageCount is negative when it should always be greater than or equal to zero. This indicates an error in the OS code. Extract the current (post-reset) BUGDISP and EVENTLOG
110 Non-idle event downtime error:
A problem has been detected in the accumulation of JVM down time, which represents how long the JVM has been idle. This usually indicates an error in the handheld firmware or the JVM. This could also occur if the tick count rolls over after 400+ days of device time
111 Font engine error
An error has been detected in the font engine system of the device. Extract the current (post-reset) BUGDISP and EVENTLOG
112 Java Native Assertion Failure
An error has been detected in the Java native code. Extract the current (post-reset) BUGDISP and EVENTLOG
200 Application manager threw an uncaught exception
The application manager event thread threw an uncaught exception and so cannot continue execution
201 Crypto initialization code failed
The initialization of the crypto system failed and the handheld cannot continue execution
202 An attack on the key store has been detected
The attack has been detected and execution cannot continue.
203 Console process died
The application manager console process (usually the Ribbon) has died. This is likely due to an uncaught exception during execution.
204 Persistent Content Exception
An application tried to commit a plaintext object to the Persistent Store. This will only happen if Content Protection is on and a process tries to save something in the PersistentStore that is marked as plaintext. Since this exception was not handled, the persistent store is in a bad state.
300-303 Bad load
Run Application Loader to reload the operating system and applications onto the handheld
395 Unclassified error code
400-564 Page faults
Run Application Loader to reload the operating system and applications onto the handheld
310-314 Hardware failure
Perform a hard reset on the handheld: Shut down, remove the battery wait a few second,replace battery then see when happens when it starts or
Run Application Loader to reload the operating system and applications onto the handheld
320-325 AMX failure
Run Application Loader to reload the operating system and applications onto the handheld
330-339 Application tasks failure
Run Application Loader to reload the operating system and applications onto the handheld
340-343 Memory failure
350-359 Software application failure
360-363 Flash memory failure
Run Application Loader to reload the operating system and applications onto the handheld
365-368 This one is often followed by "OHHH @&#%!!"
410 Radio failure
Run Application Loader to reload the operating system and applications onto the handheld
507 No applications on handheld
Reflash handheld
501 VM_THREAD_SWITCHED:
Internal Error This is an error return used internally in the VM. It should never be reported as a device error
502 VM_PROCESS_DEATH:
All processes exited The last Java process has terminated. There is nothing left to execute
503 VM_THREAD_DEATH:
Internal Error This is an error return used internally in the VM. It should never be reported as a device error
504 VM_THREAD_SWITCH:
Internal Error This is an error return used internally in the VM. It should never be reported as a device error
505 VM_BAD_CODE: Bad Byte Code
An error has occurred in the JIT compiler
506 Uncaught Exception
An uncaught Java exception was thrown in the initial VM Java thread thus ending the only live thread in the system. The eventlog contains the traceback for the exception
507 Unsatisfied Link
A dependency on a .COD file could not be satisfied because the .COD file is missing
508 Invalid object
A problem has been detected with a debugger command to the VM
509 VM_PPO_INFINITE_LOOP: infinite loop in PPO phase of GC
The maximum iteration count for the PPO phase of a GC must be the maximum number of file handles in the system. This error indicates that the iteration count has exceeded that count and hence there is a flaw in the PPO loop or a corrupted file system. The extra hex integer in the error string is the flash id of the current record where the infinite loop was detected
510 Deadlock
All threads are waiting on objects, resulting in deadlock. The system cannot recover from this state because no thread can release a lock
511 Debug connection died A
problem has occurred while debugging that may be caused by a VM problem or an incorrect debugging command being sent to the VM
512 GC Aborted
An idle garbage collection has been interrupted by a user event, such as pressing the keyboard or moving the trackwheel
513 needs running
An opcode requires that a class execute before it can continue execution
514 needs running
A new instance of a class has been allocated and it must be initialized by the default constructor before it can be used
515 Object group too big
The reachable objects form a group that cannot be represented properly by the JVM because either there are too many objects or the total size of the objects is too large
516 Persistent ids exhausted
When committing a persistent object, the JVM found that the persistent store id counter has reached its limit. The object was not committed and a critical error was reported. This error should never happen unless a device is heavily used for years
517 Filesystem corrupt
An inconsistency has been detected in the JVM persistent object store
518 Unexpected longjmp
A garbage collection marking phase was terminated via a longjmp. This indicates that the marking phase was interrupted when it should have completed without interruption. This should never happen because these actions are executed when the device is not idle, and GCs can only be interrupted when the device is idle
519 Internal Error
The JVM host is missing or has been disabled
520 Internal Return
An internal state that indicates a Java method return needs to be executed
521 Dangerous Wait
An Object.wait() has been executed by a thread that holds a lock on another object. This is only checked in the simulator under the control of the JvmDebugWaits application switch
522 Interlaced synchronization
A thread has acquired two locks on objects in an order that doesn't match the order that previous locks for the two types were acquired. This indicates a future potential deadlock situation and is reported. The check is only available in the simulator under the control of the JvmDebugLocks application switch
523 System process died
A critical Java process has terminated, and the device cannot continue to operate in a normal manner
524 LMM error
An object has been marked as recovered by the Low Memory Manager, but it was not freed during a garbage collection. This is only checked in the simulator under the control of the JvmDebugLMM application switch
525 Bad persistent object
An auto-commit operation during a garbage collection has detected a non-persistent object reachable from the persistent store root. The type of the object has been output into the eventlog
526 java.lang.Object not found
The class definition for java.lang.Object cannot be found
527 java.lang.String not found
The class definition for java.lang.String cannot be found
528 Corrupt filesystem
Unrecoverable. All data will be lost