2012/03/30 BlackBerry 开发:黑莓错误代码及解决方法大全

首先,了解几个名词解释以方便对下文的理解。
JVM—Java Virtual Machine(Java虚拟机)
C++—一种计算机编程语言
GC—Gabage Collection JAVA/.NET中的垃圾回收
CRC校验—循环冗余校验码(Cyclic Redundancy Check)
JIT编译器—(Just-In-Time)JAVA语言编译器

101 Previous startup failed

当jvm(Java虚拟机)启动过程中,前一个启动的项目失败了,设备已经被重置。这个错误表明jvm在启动时找到“启动进行中”这个标志位已经设置了,当前屏幕信息为:有意停止“系统继续重置”这个死循环,来纠正系统当前不正确的启动操作

102 Invalid code in filesystem

在文件系统中发现无效的代码。手持设备的系统检查.cod文件的变动时,在一些.cod文件中检测到这个问题。他肯可能是表明生成过程中发生了错 误,即在cod文件中存在一个有问题的签名。如果一些用户操作设备导致这个问题的发生,文件系统的代码被破坏,复位的周期将是连续循环的。唯一的恢复方法 是擦去设备并且恢复一个新的系统。

103 Cannot find starting address

找不到启动的地址,用于启动系统的引导cod文件找不到。这个错误表明一个用于引导系统的cod文件没有安装到设备上,或者格式不正确。

104 Uncaught:

非预期:《java模块名》jvm诊断出一个非预期的java代码异常错误抛出,程序可以继续执行,或者手持设备可以用桌面管理器连是USB线安装一个程序调试器来查看这些错误信息。事件日志里应该包含了异常错误的信息

105 Example, DbRecSize

举例,DbRecSize文件系统API已经为一种特定的操作返回一种错误状态码,他可能表明在jvm上存在一个无效的或者错误的文件系统

106 Graphics system error

图形系统错误,在设备的图形系统里一个错误发生并被检测到

107 operator new () called

在jvm里,操作new()回调一个c++类,该函数代码没有被正确的从VMRamObject对象来继承,新操作符需要被正确的继承。提取当前的(-后复位)的BUGDISP

108 operator delete () called

在jvm里,操作delete()回调一个c++类,,该函数代码没有被正确的从VMRamObject对象来继承,新操作符需要被正确的继承。提取当前的(-后复位)的BUGDISP

109 PriorityMessageCount error:

优先级统计信息计算错误:<优先级计算>当它应该总大于或者等于零时,RimPriorityMessageCount返回的值是负的。这表明在系统中这是一个错误。
提取当前(-后复位)的BUGDISP和查看系统事件记录

110 Non-idle event downtime error:

非空闲状态时间事件错误:<时间> <空闲时间>在jvm空闲时间统计时检测到一个错误,代表JVM空闲了很长时间。
这通常表明在手持设备或者JVM中发生一个错误。如果计数器空闲了400天以上的设备时间,他也可能出现。

111 Font engine error

字体引擎错误:一个系统设备的字体引擎错误检测到。请查看当前的BUGDISP和事件日志

112 Java Native Assertion Failure

Java本地化实例失败。一个本地化代码错误检测到。请查看当前的BUGDISP和事件日志

200 应用程序管理器抛出一个非预期的线程异常错误,程序无法继续执行。重新复位手持设备。

201 Crypto initialization code failed

Crypto初始化代码失败。Crypto模块初始化失败手持设备无法继续

202 在密匙存储上检测到一个破解攻击行为,程序无法继续

203 Console process died

控制台进程死亡。应用程序管理器控制台进程已经挂起。这看起来非常象执行程序时发生异常错误的现象

204 Persistent Content Exception

本地内存内容异常。一个应用程序试图提交一个文本对象到本地内存里。这个情况将仅仅发生在:如果内容保护服务打开了,然后一个进程试图保存一些文本 标记数据在本地内存里。当这个异常没有被正确处理过,可能说明本地内存已经处于损坏的状态。我们需要重设和回滚到最后正常状态的提交点。说明:这个jvm 异常反映了在Java代码里有一个错误的地方,Jvm仅仅只是简单的诊断这个错误。如果这不是jvm的问题,那么事件日志将包含足够的Java代码错误信 息。

300-303 Bad load

无效的加载持续,运行应用程序加载器重新给手持设备加载操作系统和应用程序

310-314 Hardware failure

硬件错误。尝试硬复位手持设备:关机,拿掉电池,等待一会儿,换掉电池看看设备重新启动时会出现什么状况,或者运行应用程序加载器重新给手持设备加载操作系统和应用程序。注意:如果这些办法没有解决这个错误,请联系你的服务提供商

320-325 AMX failure

AMX 失败。请运行应用程序加载器重新给手持设备加载操作系统和应用程序

330-339 Application tasks failure

应用程序任务失败。请运行应用程序加载器重新给手持设备加载操作系统和应用程序

340-343 Memory failure

内存错误。您可能看到手持设备报告如下错误代码:
Device Error 340
Device Error 341
Device Error 342
Device Error 343
原因:内存错误
解决:减少你手机里日历约会同步的个数
1、在桌面管理器里,双击Intellisync图标,点击配置PIM按钮
2、在设备应用程序列表中,选择日历
3、点击配置,高级设置,
4、在数据范围选项页,完成其中的一个任务来减少你手机里日历约会同步的个数,如果你选择了“调度最佳未来项目选择”的选项,手持设备仅仅只是同步未来的日历约会,如果你点击并输入了一个日期范围的调度项目选项,手持设备仅仅只是同步在选择日期范围内的日历计划约会.
5、点击OK保存改变,关闭窗口
6、在配置窗口,确定日历程序的复选框选择了,点击OK
7、在Intellisync窗口,确认同步PIM复选框已经选择了,然后点击立即同步。设备会减少至少一个以上的日历约会项目。
如果你仍然看到这个错误信息。请运行应用程序加载器重新给手持设备加载操作系统和应用程序

350-359 Software application failure

应用程序软件错误,您可能看到手持设备报告如下错误代码:
Device Error 350
Device Error 352
Device Error 353
Device Error 354
Device Error 355
Device Error 356
Device Error 357
Device Error 358
Device Error 359
原因:应用程序软件错误
解决方案:尝试硬复位手持设备,运行应用程序加载器重新给手持设备加载操作系统和应用程序。在向导窗口,不要选择任何第三方应用程序。在高级选项里,选择清除当前所有已安装的应用程序复选框。

360-363 Flash memory failure

Flash内存错误。尝试硬复位手持设备,运行应用程序加载器重新给手持设备加载操作系统和应用程序。

365-368 This one is often followed by “OHHH @&#%!!”

这是一个经常跟随 “OHHH @&#%!!”出现的错误,请联系服务提供商

395 Unclassified error code

未分类的错误代码
原因:
设备395代码表明是一个未分类的错误代码。手持设备安装了第三方应用程序可能导致了这个错误产生
解决方案1
尝试硬复位手持设备:关机,拿掉电池,等待一会儿,换掉电池看看设备重新启动时会出现什么状况
解决方案2
清除和重新加载手持设备的数据
1、在黑莓桌面管理器里,用备份和还原工具创建你的手机的数据备份文件。如需更多信息,请参考桌面管理器在线帮助里的“手持设备备份信息”。警告:下面的步骤可能清除手持设备的数据
2、打开桌面管理器,双击应用程序加载器图标
3、单击下一步,出现应用程序选择窗口
4、确认必须的应用程序已经选择了,点击下一步
5、点击“高级”
6、选择“清除所有的应用程序数据和当前已经安装的应用程序”玄虚,点击下一步
7、点击完成。当手持设备的操作系统和应用程序重新加载时,手持设备的数据被清除,
8、使用备份和还原工具从备份的数据文件还原到手持设备中,如需更多信息,请参考桌面管理器在线帮助里的“手持设备还原信息”。

400-564 Page faults

页面文件失效。运行应用程序加载器重新给手持设备加载操作系统和应用程序

410 Radio failure

无线电服务失败。
尝试硬复位手持设备,运行应用程序加载器重新给手持设备加载操作系统和应用程序。注意:如果这样都没有解决这个错误,请请联系服务提供商
Error:411=电池模块问题,更换电池
Error:499=软件问题,重启手持设备.

501 VM_THREAD_SWITCHED

线程已经被切换,内部错误,这是在VM中被内部使用的一个错误返回信息。它应该从会不报告为一个设备错误代码。

502 VM_PROCESS_DEATH

进程已死(挂起),所有的进程已经退出,最后一个java进程已被终止,没有任何程序可以执行

503 VM_THREAD_DEATH

线程已死(挂起),内部错误,这是在VM中被内部使用的一个错误返回信息。它应该从不会报告为一个设备错误代码

504 VM_THREAD_SWITCH

线程已经被切换,内部错误,这是在VM中被内部使用的一个错误返回信息。它应该从不会报告为一个设备错误代码

505 VM_BAD_CODE5 I

无效的代码:无效字节代码,在JIT编译器里发生一个错误

506 Uncaught Exception

未知的异常:在初始化VM的java线程的时候一个未知的java异常被抛出,导致了系统被迫结束了唯一活动的线程。事件日志包含了异常的回滚记录!

在cod文件里有不合适的文件链接关联,可能丢失了cod文件,(原文的英文是如此)
Device Error 5059
Device Error 5077
手持设备没有安装任何应用程序
原因1
当应用程序加载器工作时,黑莓设备上存在的应用程序已经被清除,但应用程序加载器加载新的应用程序时失败了
解决方案
1、确认你的电脑上已经正确安装了设备软件
2、请直接将您的黑莓设备直接连接到一台笔记本电脑的USB接口处
3、如果第三方程序(如:杀毒软件)已经使用了和桌面管理器手持设备的相同的COM端口,关闭第三方程序来释放COM端口
4、如果你使用USB数据线链接黑莓设备到你的电脑的串口,请用USB端口直接链接BB
5、在桌面管理器里,双击应用程序加载器
6、用应用程序加载器安装设备系统软件
原因2
如果你输入密码错误超过10次,你bb上所有的数据和程序都会被清除
解决
1、在桌面管理器里,双击应用程序加载器
2、用应用程序加载器安装设备系统软件

508 Invalid object

无效的对象,当vm执行一个调试器命令时检测到一个问题:无效的对象

509 VM_PPO_INFINITE_LOOP

在垃圾手机的PPO阶段中发现死循环,在GC的PPO阶段中,最大的迭代总数必须是系统中的文件句柄的最大数字。这个错误表明这个迭代总数已经超过 这个数,因而在PPO循环中或者不正确的文件系统中出现了一个瑕疵。在错误字符串中可以提取到一个特别的16进制整数值,是当前检测到的死循环记录的id 值

510 Deadlock

死锁,所有的线程对象都在等待,但一个线程返回结果时已经死锁了。系统不能从这个死锁状态中恢复,因为所有的线程都被锁定了。

511 Debug connection died

调试器连接已经死锁,当调试的时候,vm的问题或者不正确的调试命令发送给vm时,可能导致这个问题发生

512 GC Aborted

GC(垃圾收集)已经终止,空间垃圾收集器程序被用户操作事件强制终止了,诸如挤压键盘或者移动滚轮操作

513 needs running

类需要先运行。此类名能继续执行之前要求执行一个opcode,。

514 needs running

需要运行。一个新的类实例在使用之前必须通过默认构造函数初始化和分配内存空间。

515 Object group too big

对象组太大。jvm不能正确的获得对象组,不是因为对象太多就是因为对象组太大

516 Persistent ids exhausted

ids固件设备衰竭。当访问一个固件对象时,jvm发现这个本地内存id计数器已经达到最大限制。对象不能被提交,同时报告一个致命的错误。这个错误可能从不会发生,除非这个设备大量使用了数年之久。

517 Filesystem corrupt

文件系统不正确。在jvm本地内存里检测到一个错误(矛盾)的分配地址

518 Unexpected longjmp5

意外的longjmp指令。一个垃圾收集器指令方面结束了一个longjmp指令。这可能表明当指令没有中断即将完成操作时,这个标记阶段被这个错误中断了。这个情况应该从不会发生,因为当设备非空闲的时候,这些操作会被执行,同时,
仅仅当设备空闲时,垃圾收集器的工作才会被中断

519 Internal Error

内部服务器错误。Jvm系统丢失或者被禁止

520 Internal Return

内部返回一个错误,表明一个java方法返回的一种内部的状态需要执行

521 Dangerous Wait An Object

一个危险的等待对象。一个线程执行Wait()方法时被另外一个对象锁定。这个仅仅在基于jvm的模拟器里控制调试应用程序切换时才会检查

522 Interlaced synchronization

交互式同步错误,对象的线程已经通过一个命令获得了2个锁定,但是,这2个已经取得的锁定类型并不匹配线程被锁定之前的命令。这表明一个即将发生潜在的死锁情况被报告。这个仅仅在基于jvm的模拟器里控制调试应用程序切换时才会检查

523 System process died

系统进程已死(挂起)。一个致命的java程序错误导致系统已经被终止,设备无法继续正常的操作,请复位重新启动手持设备。

524 LMM error

LMM错误。一个对象被低内存管理器作了回收标记,但内存垃圾收集时他没有被正确释放。这个仅仅在基于jvm的模拟器里控制调试应用程序切换时才会检查

525 Bad persistent object

损坏的本地内存对象。当垃圾收集期间,从本地内存根目录检测到一个自动操作提交到了一个非持久本地对象,这个类型的对象已经记录到事件日志里了

526 java.lang.Object not found

类定义java.lang.Object对象未找到。

527 java.lang.String not found

类定义java.lang.String对象未找到

528 –529 Corrupt filesystem

错误的文件系统。不可恢复的错误,继续执行的话将会导致所有数据丢失。这个错误信息包含了内部“错误原因”的数字代码。
jvm编译器常见错误代码
1.根数组引用不是有效的数组引用
2.根数组类型不是Object[]
3.根数组大小小于1,如Object[0]

  1. root[0]里的内存不是有效的引用
  2. root[0]类型不是一个长整型哈希表
    6.数组头部段包含一个无效的引用
  3. 在本地Object[]的一个项目中包含一个无效的引用
    8.一个对象类型引用了一个未知的cod文件
    9.在内存里,一个cod文件中的对象的类型描叙文件大小不匹配
  4. 一个对象里面有一个无效的类型字段引用
    11.对象中一个引用的类型字段链接到了另一对象的无效类型
    12.在描叙符中一个本地Object[]丢失!
    13.在本地内存中对象没有被标记为persis表
    14.根数组被分割,一个分隔段无效

    530 VM_PREVENT_GC_OVERFLOW

    _preventGC 溢出。原始对象的固定值会被保护起来防止被垃圾收集器收走。这个错误表明,
    数值可能超出了被保护对象的固定的极限。如果设备被重置或者线程回滚事件被记录,这个实际的数值可以提取出来。

    531 Flash exhausted

    内存已经耗尽用完。jvm无法容许超出内存空间的某些操作。如果jvm无法完成分配需要的内存空间大小,将会报告这个错误

    532 VM_ASSERTION_FAILED

    维护任务失败。通常,当设备没有启动允许维护状态时,这个jvm错误一般不会被报告,模拟器在调试状态时可能会报告这个错误,表明一个vm维护操作违反了约定。可以尝试输入BKPT来激活调试器,然后转储这个本地堆栈转交给vm组

    533 VM_RUN_METHOD

    方法需要使用国际标准的ECMAScript脚本调用方法才能运行

    534 VM_FAST_RESET_DISABLED

    快速复位被禁止。内部过去经常用这个代码表示快速复位能力是无效的。请经常使用平台制定的代码

    535 VM_UNUSED_535

    未使用的vm错误。错误535意味着内存溢出。导致535错误的一个原因可能是一个运行的线程内存溢出,导致虚拟内存线程计划任务程序终止了。这个错误是已知的,发生在一个启动的队列期间,或如果主事件线程被停止了。
    解决方案:
    首先,硬启动手持设备。如果不能解决问题,从你的载体获得并安装最新版的黑莓手持设备ROM软件,然后,运行桌面管理器里的应用程序加载器更新手持设备。或者删除一些铃声和主题文件等等以释放存储空间

    536 VM_FAST_RESET_BAD_INSTANCE

    vm快速复位实例检查失败。内部过去经常用这个代码表示:vm结构跳过了错误的地址空间或者vm已经被破坏了

    537 VM_FAST_RESET_BAD_HEAP

    快速复位错误,堆检查失败。内部过去经常用这个代码表示:vm堆已经无效了,或者指针堆已经无效

538 VM_FAST_RESET_BAD_IRAM

快速复位IRAM损害,IRAM检查失败。内部过去经常用这个代码表示:vm的IRAM检查中检测到寄存在IRAM中无效的vm数据结构(线程+本地堆栈),或者指针

539 VM_FAST_RESET_NOT_IDLE

快速复位状态非空闲。内部过去经常用这个代码表示:当复位发生时vm正忙,类似这样的问题导致快速复位无法继续

540 VM_FAST_RESET_MULTIPLE_RESETS

多重复位错误。内部过去经常用这个代码表示:最近一次复位的时间小于最小复位时间间隔。由于禁止了短时间内多重复位次数,这个可以防止快速复位的死循环

541 VM_HEAP_COMPACT_INFINITE_LOOP

在堆压缩中检测到死循环。Vm在内存堆里检测到一个问题,表明这个内存块是无效的。当进行内存堆压缩时,在确认一个可能的死循环时这个问题可以被检 测到,当设备包含了这个错误条件时,bugdisp记录和事件日志可以快速提取这个错误信息。如果可能的话,内存映像将会保存下来。

542 Transient memory leak

瞬间内存泄露。Jvm检测到某些内存没有被释放,这表明发生了内存泄露。希望原因能够尽早检测出来,避免这个情况的发生

543 VM_FS_MISMATCH

文件系统不匹配。安装了不兼容的java文件系统。Jvm检测到现有的系统代码和经常用于创建java文件系统的系统代码有不同。这意味着java本地方法可能没有被正确的编译链接,所以,不能肯定系统的完整性。系统无法通过使用vm
DLFX和DLPS命令恢复,也不能删除或修理本地内存的错误。这可能清除所有的数据和固件内容,请重新链接编译文件系统,才能匹配新的系统代码。恢复顺序非常
重要:1.删除应用程序,2.删除本地内存内容,3.复位设备

544 VM_SECTION_MAP_OVERFLOW

一个模块引用超过了255个其他模块。Vm检测到一个模块试图引用超过了255个其他的模块。当错误检测到的时候,文件系统应该立即获取到该错误

545 VM_INCOMPATIBLE_FILESYS

Vm检测到一个不兼容的或无效的文件系统存在。当错误检测到的时候,文件系统应该立即获取到该错误

546 VM_UNUSED_546

未使用(的内部错误代码)。Vm检测到文件系统中的内存映像是无效的(CRC冗余检查失败),重新复位机器好过复制错误的内存
内容

547 VM_UNUSED_547

未使用(的内部错误代码)。Vm错误

548 VM_UNUSED_548

未使用(的内部错误代码)。Vm错误

549 VM_UNUSED_549

未使用(的内部错误代码)。Vm错误