Java-приложение для Android сбои с SIGSEGV - PullRequest
1 голос
/ 11 октября 2011

Мой 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, обновление 1

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

A SIGSEGV указывает на ошибку прошивки.Не должно быть способа вызвать один из них из приложения Android SDK.

Дамп ошибки показывает, что вы тестируете это на устройстве Motorola, возможно, DROID.Если у вас есть доступ к другому устройству, пожалуйста, попробуйте там свое приложение и посмотрите, есть ли у вас такие же сбои.

Если у вас есть эти сбои только на каком-либо модифицированном ПЗУ, вам следует связаться с этим производителем ПЗУ и указать емувопрос, желательно с инструкциями о том, как воспроизвести этот сбой.

Если у вас происходит сбой на нескольких устройствах, на каждом из которых работает стоковая прошивка, то это будет ошибка прошивки Android.Опубликуйте весь дамп ошибок, который у вас есть ниже, плюс шаги по воспроизведению сбоя, в http://b.android.com.

Если у вас есть только сбои на этом устройстве Motorola, то весь дамп ошибок, который вы имеете ниже, плюс шаги по воспроизведениюавария, на соответствующую доску поддержки MOTODEV .

0 голосов
/ 11 октября 2011

Эти внезапные сбои происходят в любом другом приложении?

Можете ли вы описать общую природу вашего приложения, что оно делает, какие разрешения и библиотеки оно использует? Случайный характер заставляет меня подозревать, что аппаратное обеспечение иногда выходит из строя из-за жары или других аномальных условий.

...