Android Java 应用程序因 SIGSEGV 崩溃
我的 Android 应用程序有时会崩溃,但没有任何错误消息。应用程序关闭,设备返回主屏幕。
通常会出现一些应用程序崩溃的错误消息,但什么也没有显示。 Logcat 显示发生了某种分段违规,导致崩溃,但由于该应用程序仅由 java 代码组成,没有本机代码,我真的很好奇为什么该应用程序崩溃。有人能给我一个线索吗?
以下是应用程序崩溃时 logcat 显示的内容:
D/dalvikvm(23912): GC freed 3923 objects / 230968 bytes in 94ms
I/DEBUG (18110): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG (18110): Build fingerprint: 'MOTO_O2DE/umts_sholes/umts_sholes/sholes:2.1-update1/SHOLS_U2_02.36.0/6899264:user/rel-keys'
I/DEBUG (18110): pid: 23912, tid: 23913 >>> com.example.test <<<
I/DEBUG (18110): signal 11 (SIGSEGV), fault addr 0000000c
I/DEBUG (18110): r0 00140120 r1 00000048 r2 00000000 r3 00140168
I/DEBUG (18110): r4 afe3ae08 r5 00000006 r6 00140158 r7 0000a000
I/DEBUG (18110): r8 100ffcf8 r9 4185eef8 10 4185eee0 fp 001243b0
I/DEBUG (18110): ip 00000000 sp 100ffc50 lr afe0f130 pc afe0aeec cpsr 80000070
I/DEBUG (18110): #00 pc 0000aeec /system/lib/libc.so
I/DEBUG (18110): #01 pc 000008e6 /system/lib/libstdc++.so
I/DEBUG (18110): #02 pc 00014124 /system/lib/libutils.so
I/DEBUG (18110): #03 pc 0001423c /system/lib/libutils.so
I/DEBUG (18110): #04 pc 0001af28 /system/lib/libbinder.so
I/DEBUG (18110): #05 pc 0001ba20 /system/lib/libbinder.so
I/DEBUG (18110): #06 pc 0001bcd6 /system/lib/libbinder.so
I/DEBUG (18110): #07 pc 00014236 /system/lib/libutils.so
I/DEBUG (18110): #08 pc 000293a6 /system/lib/libandroid_runtime.so
I/DEBUG (18110): #09 pc 000313ca /system/lib/libandroid_runtime.so
I/DEBUG (18110): #10 pc 0000ecb4 /system/lib/libdvm.so
I/DEBUG (18110): #11 pc 00038838 /system/lib/libdvm.so
I/DEBUG (18110): #12 pc 000139b8 /system/lib/libdvm.so
I/DEBUG (18110): #13 pc 00019338 /system/lib/libdvm.so
I/DEBUG (18110): #14 pc 00018804 /system/lib/libdvm.so
I/DEBUG (18110): #15 pc 0004eed0 /system/lib/libdvm.so
I/DEBUG (18110): #16 pc 0004eef8 /system/lib/libdvm.so
I/DEBUG (18110): #17 pc 00044ada /system/lib/libdvm.so
I/DEBUG (18110): #18 pc 00044b66 /system/lib/libdvm.so
I/DEBUG (18110): #19 pc 00044ff0 /system/lib/libdvm.so
I/DEBUG (18110): #20 pc 000425f4 /system/lib/libdvm.so
I/DEBUG (18110): #21 pc 0000fd94 /system/lib/libc.so
I/DEBUG (18110): #22 pc 0000f860 /system/lib/libc.so
I/DEBUG (18110):
I/DEBUG (18110): code around pc:
I/DEBUG (18110): afe0aedc 809bf000 2d1f08d5 f8d0d829 68c2c008
I/DEBUG (18110): afe0aeec 600cf8dc f0404286 6890822e f04042b0
I/DEBUG (18110): afe0aefc 4594822a d1079e02 fa122201 59a2f505
I/DEBUG (18110):
I/DEBUG (18110): code around lr:
I/DEBUG (18110): afe0f120 e1a00005 e3a01001 e1a02004 ebfffa00
I/DEBUG (18110): afe0f130 e3500000 1a000001 ea000008 ebfffa0a
I/DEBUG (18110): afe0f140 e1a01004 e3a00002 ebfffa05 e3a02000
I/DEBUG (18110):
I/DEBUG (18110): stack:
I/DEBUG (18110): 100ffc10 afe3db94
I/DEBUG (18110): 100ffc14 afe0f130 /system/lib/libc.so
I/DEBUG (18110): 100ffc18 00000000
I/DEBUG (18110): 100ffc1c afe0f048 /system/lib/libc.so
I/DEBUG (18110): 100ffc20 afe3d9dc
I/DEBUG (18110): 100ffc24 998bffec
I/DEBUG (18110): 100ffc28 afe3db94
I/DEBUG (18110): 100ffc2c afe0f130 /system/lib/libc.so
I/DEBUG (18110): 100ffc30 afe3ae08 /system/lib/libc.so
I/DEBUG (18110): 100ffc34 003f194c [heap]
I/DEBUG (18110): 100ffc38 00140158 [heap]
I/DEBUG (18110): 100ffc3c 00005f38
I/DEBUG (18110): 100ffc40 100ffcf8
I/DEBUG (18110): 100ffc44 4185eef8
I/DEBUG (18110): 100ffc48 df002777
I/DEBUG (18110): 100ffc4c e3a070ad
I/DEBUG (18110): #00 100ffc50 a9da9208 /system/lib/libbinder.so
I/DEBUG (18110): 100ffc54 00100000 [heap]
I/DEBUG (18110): 100ffc58 00002bd4
I/DEBUG (18110): 100ffc5c afd008e9 /system/lib/libstdc++.so
I/DEBUG (18110): 100ffc60 003ee870 [heap]
I/DEBUG (18110): 100ffc64 00140158 [heap]
I/DEBUG (18110): 100ffc68 003f194c [heap]
I/DEBUG (18110): 100ffc6c 003f194c [heap]
I/DEBUG (18110): 100ffc70 00005f38
I/DEBUG (18110): 100ffc74 afd008e9 /system/lib/libstdc++.so
I/DEBUG (18110): #01 100ffc78 00140158 [heap]
I/DEBUG (18110): 100ffc7c a9d14127 /system/lib/libutils.so
I/ActivityManager( 1283): Process com.example.test (pid 23912) has died.
I/WindowManager( 1283): WIN DEATH: Window{44fcf318 com.example.test/com.example.test.Main paused=false}
D/Zygote ( 1054): Process 23912 terminated by signal (11)
D/dalvikvm( 1614): GC freed 1856 objects / 84128 bytes in 78ms
设备的 Android 版本是 2.1 update 1
My android application sometimes crashes without any error message. The app just closes up and the device returns to the home screen.
Normally there would be some error message that the app crashed but nothing shows up. Logcat shows that some kind of segmentation violation happened causing the crash but as the app only consists of java code and no native code I'm really curious why the app is crashing.Can anybody give me a clue?
Here is what logcat is showing when the app is crashing:
D/dalvikvm(23912): GC freed 3923 objects / 230968 bytes in 94ms
I/DEBUG (18110): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG (18110): Build fingerprint: 'MOTO_O2DE/umts_sholes/umts_sholes/sholes:2.1-update1/SHOLS_U2_02.36.0/6899264:user/rel-keys'
I/DEBUG (18110): pid: 23912, tid: 23913 >>> com.example.test <<<
I/DEBUG (18110): signal 11 (SIGSEGV), fault addr 0000000c
I/DEBUG (18110): r0 00140120 r1 00000048 r2 00000000 r3 00140168
I/DEBUG (18110): r4 afe3ae08 r5 00000006 r6 00140158 r7 0000a000
I/DEBUG (18110): r8 100ffcf8 r9 4185eef8 10 4185eee0 fp 001243b0
I/DEBUG (18110): ip 00000000 sp 100ffc50 lr afe0f130 pc afe0aeec cpsr 80000070
I/DEBUG (18110): #00 pc 0000aeec /system/lib/libc.so
I/DEBUG (18110): #01 pc 000008e6 /system/lib/libstdc++.so
I/DEBUG (18110): #02 pc 00014124 /system/lib/libutils.so
I/DEBUG (18110): #03 pc 0001423c /system/lib/libutils.so
I/DEBUG (18110): #04 pc 0001af28 /system/lib/libbinder.so
I/DEBUG (18110): #05 pc 0001ba20 /system/lib/libbinder.so
I/DEBUG (18110): #06 pc 0001bcd6 /system/lib/libbinder.so
I/DEBUG (18110): #07 pc 00014236 /system/lib/libutils.so
I/DEBUG (18110): #08 pc 000293a6 /system/lib/libandroid_runtime.so
I/DEBUG (18110): #09 pc 000313ca /system/lib/libandroid_runtime.so
I/DEBUG (18110): #10 pc 0000ecb4 /system/lib/libdvm.so
I/DEBUG (18110): #11 pc 00038838 /system/lib/libdvm.so
I/DEBUG (18110): #12 pc 000139b8 /system/lib/libdvm.so
I/DEBUG (18110): #13 pc 00019338 /system/lib/libdvm.so
I/DEBUG (18110): #14 pc 00018804 /system/lib/libdvm.so
I/DEBUG (18110): #15 pc 0004eed0 /system/lib/libdvm.so
I/DEBUG (18110): #16 pc 0004eef8 /system/lib/libdvm.so
I/DEBUG (18110): #17 pc 00044ada /system/lib/libdvm.so
I/DEBUG (18110): #18 pc 00044b66 /system/lib/libdvm.so
I/DEBUG (18110): #19 pc 00044ff0 /system/lib/libdvm.so
I/DEBUG (18110): #20 pc 000425f4 /system/lib/libdvm.so
I/DEBUG (18110): #21 pc 0000fd94 /system/lib/libc.so
I/DEBUG (18110): #22 pc 0000f860 /system/lib/libc.so
I/DEBUG (18110):
I/DEBUG (18110): code around pc:
I/DEBUG (18110): afe0aedc 809bf000 2d1f08d5 f8d0d829 68c2c008
I/DEBUG (18110): afe0aeec 600cf8dc f0404286 6890822e f04042b0
I/DEBUG (18110): afe0aefc 4594822a d1079e02 fa122201 59a2f505
I/DEBUG (18110):
I/DEBUG (18110): code around lr:
I/DEBUG (18110): afe0f120 e1a00005 e3a01001 e1a02004 ebfffa00
I/DEBUG (18110): afe0f130 e3500000 1a000001 ea000008 ebfffa0a
I/DEBUG (18110): afe0f140 e1a01004 e3a00002 ebfffa05 e3a02000
I/DEBUG (18110):
I/DEBUG (18110): stack:
I/DEBUG (18110): 100ffc10 afe3db94
I/DEBUG (18110): 100ffc14 afe0f130 /system/lib/libc.so
I/DEBUG (18110): 100ffc18 00000000
I/DEBUG (18110): 100ffc1c afe0f048 /system/lib/libc.so
I/DEBUG (18110): 100ffc20 afe3d9dc
I/DEBUG (18110): 100ffc24 998bffec
I/DEBUG (18110): 100ffc28 afe3db94
I/DEBUG (18110): 100ffc2c afe0f130 /system/lib/libc.so
I/DEBUG (18110): 100ffc30 afe3ae08 /system/lib/libc.so
I/DEBUG (18110): 100ffc34 003f194c [heap]
I/DEBUG (18110): 100ffc38 00140158 [heap]
I/DEBUG (18110): 100ffc3c 00005f38
I/DEBUG (18110): 100ffc40 100ffcf8
I/DEBUG (18110): 100ffc44 4185eef8
I/DEBUG (18110): 100ffc48 df002777
I/DEBUG (18110): 100ffc4c e3a070ad
I/DEBUG (18110): #00 100ffc50 a9da9208 /system/lib/libbinder.so
I/DEBUG (18110): 100ffc54 00100000 [heap]
I/DEBUG (18110): 100ffc58 00002bd4
I/DEBUG (18110): 100ffc5c afd008e9 /system/lib/libstdc++.so
I/DEBUG (18110): 100ffc60 003ee870 [heap]
I/DEBUG (18110): 100ffc64 00140158 [heap]
I/DEBUG (18110): 100ffc68 003f194c [heap]
I/DEBUG (18110): 100ffc6c 003f194c [heap]
I/DEBUG (18110): 100ffc70 00005f38
I/DEBUG (18110): 100ffc74 afd008e9 /system/lib/libstdc++.so
I/DEBUG (18110): #01 100ffc78 00140158 [heap]
I/DEBUG (18110): 100ffc7c a9d14127 /system/lib/libutils.so
I/ActivityManager( 1283): Process com.example.test (pid 23912) has died.
I/WindowManager( 1283): WIN DEATH: Window{44fcf318 com.example.test/com.example.test.Main paused=false}
D/Zygote ( 1054): Process 23912 terminated by signal (11)
D/dalvikvm( 1614): GC freed 1856 objects / 84128 bytes in 78ms
The android version of the device is 2.1 update 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
SIGSEGV
表示固件错误。 Android SDK 应用程序不应该导致其中之一。错误转储表明您正在摩托罗拉设备(可能是 DROID)上对此进行测试。如果您可以访问其他设备,请在那里尝试您的应用程序,看看是否有相同的崩溃情况。
如果您仅在某些修改过的 ROM 上遇到这些崩溃,您应该联系该 ROM 制造商并向他们指出这个问题,最好提供有关如何重现此崩溃的说明。
如果您在多个设备上发生崩溃,每个设备都运行库存固件,那么这将是 Android 固件错误。将下面的整个错误转储以及重现崩溃的步骤发布到 http://b.android.com。
如果您仅在此摩托罗拉设备上发生崩溃,则将下面的整个错误转储以及重现崩溃的步骤发送到相关的 MOTODEV 支持板。
A
SIGSEGV
indicates a firmware bug. There should be no way of causing one of these from an Android SDK application.The error dump suggests that you are testing this on a Motorola device, perhaps a DROID. If you have access to another device, please try your app there and see if you have the same crashes.
If you have these crashes only on some modded ROM, you should contact that ROM maker and point them to this question, preferably with instructions for how to reproduce this crash.
If you have the crashes on multiple devices each running stock firmware, then this would be an Android firmware bug. Post the whole error dump you have below, plus steps to reproduce the crash, to http://b.android.com.
If you only have the crashes on this Motorola device, then the whole error dump you have below, plus steps to reproduce the crash, to the relevant MOTODEV support board.
这些突然崩溃是否发生在其他应用程序上?
您能描述一下您的应用程序的一般性质、它的用途、它使用的权限和库吗?随机性使我怀疑某个硬件由于热量或其他异常条件而在随机时间发生故障。
Do these sudden crashes occur on any other app?
Can you describe the general nature of your app, what it does, what permissions and libraries it is using? The random nature makes me suspect a piece of hardware is failing at random times due to heat or other anomalous conditions.