Dalvikvm崩溃," LinearAlloc突破能力和QUOT;在仿真器1.6上运行单元测试时 [英] Dalvikvm crashes with "LinearAlloc exceeded capacity" when running unit tests on emulator 1.6

查看:228
本文介绍了Dalvikvm崩溃," LinearAlloc突破能力和QUOT;在仿真器1.6上运行单元测试时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个库项目,以及一些单元测试。
当在仿真器V1.6运行单元测试,我得到LinearAlloc突破能力,最后= 3136崩溃。
同样的测试项目运行在仿真器2.1版及以上的罚款。

有什么办法来解决这个问题?

请参阅堆栈跟踪:

  11月五日至2日:27:01.450:E / dalvikvm(558):LinearAlloc突破能力,最后= 3136
11月五日至2日:27:01.450:E / dalvikvm(558):虚拟机中止
11月五日至2日:27:01.550:I / DEBUG(28):*** *** *** *** *** *** *** *** *** *** *** * ** *** *** *** ***
11月五日至2日:27:01.550:I / DEBUG(28):构建指纹:通用/ SDK /通用/:1.6 /甜甜圈/ 20842:主机/测试键
11月五日至2日:27:01.550:I / DEBUG(28):PID:558,TID:574>>> 。com ***的android<<<
11月五日至2日:27:01.550:I / DEBUG(28):11(SIGSEGV),故障地址deadd00d
11月五日至2日:27:01.550:I / DEBUG(28):R0,R1 0000032c R2 8000 R3 0000000c 00000026
11月五日至2日:27:01.550:I / DEBUG(28):R4 deadd00d R5 00400088 R6 ad083e1c R7 003ff43c
11月五日至2日:27:01.550:I / DEBUG(28):R8 00003071 R9 002ab040 10 424bfd00 FP 00000001
11月五日至2日:27:01.550:I / DEBUG(28):IP ad083ef8 SP 45089c50 LR afe13f0d PC ad03b7fa CPSR 20000030
11月五日至2日:27:01.680:I / DEBUG(28):00#PC 0003b7fa /system/lib/libdvm.so
11月五日至2日:27:01.690:I / DEBUG(28):#01件00042892 /system/lib/libdvm.so
11月五日至2日:27:01.690:I / DEBUG(28):#02件00060a10 /system/lib/libdvm.so
11月五日至2日:27:01.700:I / DEBUG(28):#03件00059f10 /system/lib/libdvm.so
11月五日至2日:27:01.700:I / DEBUG(28):#04件00013198 /system/lib/libdvm.so
11月五日至2日:27:01.700:I / DEBUG(28):05#PC 00017be4 /system/lib/libdvm.so
11月五日至2日:27:01.700:I / DEBUG(28):#06件0001762c /system/lib/libdvm.so
11月五日至2日:27:01.700:I / DEBUG(28):07#PC 000529a8 /system/lib/libdvm.so
11月五日至2日:27:01.710:I / DEBUG(28):08#PC 00059eda /system/lib/libdvm.so
11月五日至2日:27:01.710:I / DEBUG(28):09#PC 00013198 /system/lib/libdvm.so
11月五日至2日:27:01.710:I / DEBUG(28):#10件00017be4 /system/lib/libdvm.so
11月五日至2日:27:01.710:I / DEBUG(28):11#PC 0001762c /system/lib/libdvm.so
11月五日至2日:27:01.720:I / DEBUG(28):12#PC 0005282c /system/lib/libdvm.so
11月五日至2日:27:01.720:I / DEBUG(28):13#PC 0005284a /system/lib/libdvm.so
11月五日至2日:27:01.720:I / DEBUG(28):14#PC 00047800 /system/lib/libdvm.so
11月五日至2日:27:01.720:I / DEBUG(28):#15件0000f940 /system/lib/libc.so
11月五日至2日:27:01.720:I / DEBUG(28):16#PC 0000f4b4 /system/lib/libc.so
11月五日至2日:27:01.730:I / DEBUG(28):堆栈:
11月五日至2日:27:01.730:I / DEBUG(28):45089c10 000b1210 [堆]
11月五日至2日:27:01.730:I / DEBUG(28):45089c14 afe12f59 /system/lib/libc.so
11月五日至2日:27:01.730:I / DEBUG(28):45089c18 afe39f90 /system/lib/libc.so
11月五日至2日:27:01.730:I / DEBUG(28):45089c1c afe39fe4 /system/lib/libc.so
11月五日至2日:27:01.730:I / DEBUG(28):45089c20 00000000
11月五日至2日:27:01.730:I / DEBUG(28):45089c24 afe13f0d /system/lib/libc.so
11月五日至2日:27:01.730:I / DEBUG(28):45089c28 0000000d
11月五日至2日:27:01.730:I / DEBUG(28):45089c2c afe12f29 /system/lib/libc.so
11月五日至2日:27:01.730:I / DEBUG(28):45089c30 000111b8 [堆]
11月五日至2日:27:01.740:I / DEBUG(28):45089c34 ad083e1c /system/lib/libdvm.so
11月五日至2日:27:01.740:I / DEBUG(28):45089c38 00400088 [堆]
11月五日至2日:27:01.740:I / DEBUG(28):45089c3c ad083e1c /system/lib/libdvm.so
11月五日至2日:27:01.740:I / DEBUG(28):45089c40 003ff43c [堆]
11月五日至2日:27:01.740:I / DEBUG(28):45089c44 afe12f8d /system/lib/libc.so
11月五日至2日:27:01.740:I / DEBUG(28):45089c48 df002777
11月五日至2日:27:01.740:I / DEBUG(28):45089c4c e3a070ad
11月五日至2日:27:01.740:I / DEBUG(28):#00 45089c50 000111b8 [堆]
11月五日至2日:27:01.740:I / DEBUG(28):45089c54 ad042897 /system/lib/libdvm.so
11月五日至2日:27:01.740:I / DEBUG(28):#01 45089c58 ad083e1c /system/lib/libdvm.so
11月五日至2日:27:01.740:I / DEBUG(28):45089c5c 00000001
11月五日至2日:27:01.740:I / DEBUG(28):45089c60 00000c40
11月五日至2日:27:01.750:I / DEBUG(28):45089c64 0000000A
11月五日至2日:27:01.750:I / DEBUG(28):45089c68 00400084 [堆]
11月五日至2日:27:01.750:I / DEBUG(28):45089c6c 000111bc [堆]
11月五日至2日:27:01.750:I / DEBUG(28):45089c70 5000121c
11月五日至2日:27:01.750:I / DEBUG(28):45089c74 000001C0
11月五日至2日:27:01.750:I / DEBUG(28):45089c78 ad083e1c /system/lib/libdvm.so
11月五日至2日:27:01.750:I / DEBUG(28):45089c7c 43ed1790的/ dev / ashmem / MSPACE / Dalvik的堆/ 2(删除)
11月五日至2日:27:01.760:I / DEBUG(28):45089c80 4144b400的/ dev / ashmem /达尔维克LinearAlloc(删除)
11月五日至2日:27:01.760:I / DEBUG(28):45089c84 ad060a15 /system/lib/libdvm.so
11月五日至2日:27:01.810:D / dalvikvm(551):GC释放10165对象/在36ms 534720字节
11月五日至2日:27:03.019:D / dalvikvm(551):GC释放9963对象/在54ms 523736字节
11月五日至2日:27:07.659:D /合子(30):558处理由信号终止(11)
11月五日至2日:27:07.670:I / ActivityManager(68):处理COM ***的Andr​​oid(PID 558)已经死亡。
11月五日至2日:27:07.670:W / ActivityManager(68):崩溃的应用程序融为一体***运行Android仪表ComponentInfo {。com *** android.test / android.test.InstrumentationTestRunner}
11月五日至2日:27:07.670:D / ActivityManager(68):卸载过程COM ***机器人
11月五日至2日:27:07.680:D / AndroidRuntime(551):关闭VM
11月五日至2日:27:07.680:D / dalvikvm(551):DestroyJavaVM等待非守护线程退出
11月五日至2日:27:07.680:D / dalvikvm(551):DestroyJavaVM关闭VM下来
11月五日至2日:27:07.680:D / dalvikvm(551):HeapWorker线程关闭
11月五日至2日:27:07.680:D / dalvikvm(551):HeapWorker线程关闭
11月五日至2日:27:07.680:D / JDWP(551):JDWP关停净...
11月五日至2日:27:07.680:D / JDWP(551):GOT唤醒信号,选择的拯救
11月五日至2日:27:07.680:I / dalvikvm(551):调试器分离;对象注册了1项
11月五日至2日:27:07.680:D / dalvikvm(551):VM清理
11月五日至2日:27:07.690:D / dalvikvm(551):用于LinearAlloc为0x0的4194304(16%)684532


解决方案

同样的问题,我发现这一点:

这是Dalvik的限制引发了异常复杂的界面层次。

HTTP://$c$c.google。 COM / p /安卓/问题/细节?ID = 22586

请参阅围绕工作思路的细节。简单的答案可能是使用不太复杂的不同的库来试试。

一个修复已合并到Android的AOSP。 https://android-review.googlesource.com/#/c/30900/

I have a library project, and some unit tests. While running unit tests on emulator v1.6, I get "LinearAlloc exceeded capacity, last=3136" crash. The same test project runs fine on emulator v2.1 and above.

Is there any way to solve this issue?

See stack trace :

05-02 11:27:01.450: E/dalvikvm(558): LinearAlloc exceeded capacity, last=3136
05-02 11:27:01.450: E/dalvikvm(558): VM aborting
05-02 11:27:01.550: I/DEBUG(28): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
05-02 11:27:01.550: I/DEBUG(28): Build fingerprint: 'generic/sdk/generic/:1.6/Donut/20842:eng/test-keys'
05-02 11:27:01.550: I/DEBUG(28): pid: 558, tid: 574  >>> com.***.android <<<
05-02 11:27:01.550: I/DEBUG(28): signal 11 (SIGSEGV), fault addr deadd00d
05-02 11:27:01.550: I/DEBUG(28):  r0 0000032c  r1 80000000  r2 0000000c  r3 00000026
05-02 11:27:01.550: I/DEBUG(28):  r4 deadd00d  r5 00400088  r6 ad083e1c  r7 003ff43c
05-02 11:27:01.550: I/DEBUG(28):  r8 00003071  r9 002ab040  10 424bfd00  fp 00000001
05-02 11:27:01.550: I/DEBUG(28):  ip ad083ef8  sp 45089c50  lr afe13f0d  pc ad03b7fa  cpsr 20000030
05-02 11:27:01.680: I/DEBUG(28):          #00  pc 0003b7fa  /system/lib/libdvm.so
05-02 11:27:01.690: I/DEBUG(28):          #01  pc 00042892  /system/lib/libdvm.so
05-02 11:27:01.690: I/DEBUG(28):          #02  pc 00060a10  /system/lib/libdvm.so
05-02 11:27:01.700: I/DEBUG(28):          #03  pc 00059f10  /system/lib/libdvm.so
05-02 11:27:01.700: I/DEBUG(28):          #04  pc 00013198  /system/lib/libdvm.so
05-02 11:27:01.700: I/DEBUG(28):          #05  pc 00017be4  /system/lib/libdvm.so
05-02 11:27:01.700: I/DEBUG(28):          #06  pc 0001762c  /system/lib/libdvm.so
05-02 11:27:01.700: I/DEBUG(28):          #07  pc 000529a8  /system/lib/libdvm.so
05-02 11:27:01.710: I/DEBUG(28):          #08  pc 00059eda  /system/lib/libdvm.so
05-02 11:27:01.710: I/DEBUG(28):          #09  pc 00013198  /system/lib/libdvm.so
05-02 11:27:01.710: I/DEBUG(28):          #10  pc 00017be4  /system/lib/libdvm.so
05-02 11:27:01.710: I/DEBUG(28):          #11  pc 0001762c  /system/lib/libdvm.so
05-02 11:27:01.720: I/DEBUG(28):          #12  pc 0005282c  /system/lib/libdvm.so
05-02 11:27:01.720: I/DEBUG(28):          #13  pc 0005284a  /system/lib/libdvm.so
05-02 11:27:01.720: I/DEBUG(28):          #14  pc 00047800  /system/lib/libdvm.so
05-02 11:27:01.720: I/DEBUG(28):          #15  pc 0000f940  /system/lib/libc.so
05-02 11:27:01.720: I/DEBUG(28):          #16  pc 0000f4b4  /system/lib/libc.so
05-02 11:27:01.730: I/DEBUG(28): stack:
05-02 11:27:01.730: I/DEBUG(28):     45089c10  000b1210  [heap]
05-02 11:27:01.730: I/DEBUG(28):     45089c14  afe12f59  /system/lib/libc.so
05-02 11:27:01.730: I/DEBUG(28):     45089c18  afe39f90  /system/lib/libc.so
05-02 11:27:01.730: I/DEBUG(28):     45089c1c  afe39fe4  /system/lib/libc.so
05-02 11:27:01.730: I/DEBUG(28):     45089c20  00000000  
05-02 11:27:01.730: I/DEBUG(28):     45089c24  afe13f0d  /system/lib/libc.so
05-02 11:27:01.730: I/DEBUG(28):     45089c28  0000000d  
05-02 11:27:01.730: I/DEBUG(28):     45089c2c  afe12f29  /system/lib/libc.so
05-02 11:27:01.730: I/DEBUG(28):     45089c30  000111b8  [heap]
05-02 11:27:01.740: I/DEBUG(28):     45089c34  ad083e1c  /system/lib/libdvm.so
05-02 11:27:01.740: I/DEBUG(28):     45089c38  00400088  [heap]
05-02 11:27:01.740: I/DEBUG(28):     45089c3c  ad083e1c  /system/lib/libdvm.so
05-02 11:27:01.740: I/DEBUG(28):     45089c40  003ff43c  [heap]
05-02 11:27:01.740: I/DEBUG(28):     45089c44  afe12f8d  /system/lib/libc.so
05-02 11:27:01.740: I/DEBUG(28):     45089c48  df002777  
05-02 11:27:01.740: I/DEBUG(28):     45089c4c  e3a070ad  
05-02 11:27:01.740: I/DEBUG(28): #00 45089c50  000111b8  [heap]
05-02 11:27:01.740: I/DEBUG(28):     45089c54  ad042897  /system/lib/libdvm.so
05-02 11:27:01.740: I/DEBUG(28): #01 45089c58  ad083e1c  /system/lib/libdvm.so
05-02 11:27:01.740: I/DEBUG(28):     45089c5c  00000001  
05-02 11:27:01.740: I/DEBUG(28):     45089c60  00000c40  
05-02 11:27:01.750: I/DEBUG(28):     45089c64  0000000a  
05-02 11:27:01.750: I/DEBUG(28):     45089c68  00400084  [heap]
05-02 11:27:01.750: I/DEBUG(28):     45089c6c  000111bc  [heap]
05-02 11:27:01.750: I/DEBUG(28):     45089c70  5000121c  
05-02 11:27:01.750: I/DEBUG(28):     45089c74  000001c0  
05-02 11:27:01.750: I/DEBUG(28):     45089c78  ad083e1c  /system/lib/libdvm.so
05-02 11:27:01.750: I/DEBUG(28):     45089c7c  43ed1790  /dev/ashmem/mspace/dalvik-heap/2 (deleted)
05-02 11:27:01.760: I/DEBUG(28):     45089c80  4144b400  /dev/ashmem/dalvik-LinearAlloc (deleted)
05-02 11:27:01.760: I/DEBUG(28):     45089c84  ad060a15  /system/lib/libdvm.so
05-02 11:27:01.810: D/dalvikvm(551): GC freed 10165 objects / 534720 bytes in 36ms
05-02 11:27:03.019: D/dalvikvm(551): GC freed 9963 objects / 523736 bytes in 54ms
05-02 11:27:07.659: D/Zygote(30): Process 558 terminated by signal (11)
05-02 11:27:07.670: I/ActivityManager(68): Process com.***.android (pid 558) has died.
05-02 11:27:07.670: W/ActivityManager(68): Crash of app com.***.android running instrumentation ComponentInfo{com.***.android.test/android.test.InstrumentationTestRunner}
05-02 11:27:07.670: D/ActivityManager(68): Uninstalling process com.***.android
05-02 11:27:07.680: D/AndroidRuntime(551): Shutting down VM
05-02 11:27:07.680: D/dalvikvm(551): DestroyJavaVM waiting for non-daemon threads to exit
05-02 11:27:07.680: D/dalvikvm(551): DestroyJavaVM shutting VM down
05-02 11:27:07.680: D/dalvikvm(551): HeapWorker thread shutting down
05-02 11:27:07.680: D/dalvikvm(551): HeapWorker thread has shut down
05-02 11:27:07.680: D/jdwp(551): JDWP shutting down net...
05-02 11:27:07.680: D/jdwp(551): Got wake-up signal, bailing out of select
05-02 11:27:07.680: I/dalvikvm(551): Debugger has detached; object registry had 1 entries
05-02 11:27:07.680: D/dalvikvm(551): VM cleaning up
05-02 11:27:07.690: D/dalvikvm(551): LinearAlloc 0x0 used 684532 of 4194304 (16%)

解决方案

Same problem, I found this:

"It's a limitation in Dalvik triggered on unusually complex interface hierarchies.

http://code.google.com/p/android/issues/detail?id=22586

See the details for ideas on working around. Simple answer might be to try using different libraries that are less complex.

A fix has been merged into Android AOSP. https://android-review.googlesource.com/#/c/30900/"

这篇关于Dalvikvm崩溃,&QUOT; LinearAlloc突破能力和QUOT;在仿真器1.6上运行单元测试时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆