Documente Academic
Documente Profesional
Documente Cultură
The following table lists errors that can occur in the Java virtual machine (JVM) on
BlackBerry handhelds.
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: <Java-type-name> 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.
110 Non-idle event downtime error: <down-time> <idle-down-time> 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. We need to reset to roll back to the
last good commit point. NOTE: This JVM error reflects an error in the Java code, the
JVM is simply diagnosing the error. This is not a JVM problem, the eventlog will contain
information about the erroneous Java code.
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 this is sample[fontads]A dependency on a .COD file could not be
satisfied because the .COD file is missing.
[fontads]508 Invalid object A problem has been detected with a debugger command to
the VM.
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 <clinit> needs running An opcode requires that a class <clinit> execute before it can
continue execution.
514 <init> 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.
All data will be lost when execution is continued. The error message screen contains a
number representing an internal "reason" for the corruption. This error is not diagnosed if
a .COD file has been removed, because the JVM must delete objects that were defined in
the removed .COD file; therefore, this error is not expected in normal operation of the
device.
Reason codes:
529 Corrupt filesystem. About to attempt recovery. Some data may be lost
Some data will be lost when execution is continued. The error message screen contains a
number representing an internal "reason" for the corruption. This error is not diagnosed if
a .COD file has been removed, because the VM must delete objects that were defined in
the removed .COD file; therefore, this error is not expected in normal operation of the
device.
Reason codes:
531 Flash exhausted There are certain operations where the JVM cannot tolerate running
out of flash space. In these circumstances, this error will be reported if the JVM cannot
allocate a required amount of flash space.
532 VM_ASSERTION_FAILED: Assertion failed Normally this JVM error should never
be reported since the device is not shipped with assertions enabled. The simulator may
report this error in debug mode indicating a VM assertion has been violated. Try typing
BKPT to activate the debugger and dump the native call stack for forwarding to the VM
team.
533 VM_RUN_METHOD: <method> needs running Used internally for ECMAScript to
call Java methods.
Resolution
First, hard reset the handheld. If this does not resolve the issue, obtain the latest version
of the BlackBerry handheld software through your carrier. Then, run Application Loader
from BlackBerry Desktop Manager to update the handheld.
542 Transient memory leak The JVM has detected that some memory has not been freed,
which indicates that a memory leak has occurred. This condition is detected as early as
possible in the hope that the cause can be isolated.
543 VM_FS_MISMATCH: Incompatible Java filesystem installed The VM has detected
that the OS binary is different than the OS binary used to create the Java file system. This
means that the Java native methods may not be linked properly and as such, the integrity
of the system cannot be guaranteed. The system can be recovered by using the VM
DLFX and DLPS commands to delete the fixups and persistent store. This will clear all
data and fixups and let the filesystem relink to match the new OS binary. The recovery
order is important: 1) Delete Fixups 2) Delete Persistent Store 3) Reset device.
546 VM_UNUSED_546: unused The VM has detected that the RAM image of its
filesystem is corrupted (failed CRC check) Better to reset than to duplice the corruption
into flash.