Android应用程序强制关闭,错误“deadbaad”

时间:2016-04-05 12:30:29

标签: android forceclose

我只是在Play商店中更新我的应用程序。在最初的24小时内,没有崩溃错误报告。但是,在那之后,报告了一个独特的错误。此错误会导致App力关闭。

以下是Google Play开发者控制台的堆栈跟踪:

pid: 5161, tid: 5406, name: Thread-45807 >>> milandro.blogs.uny.ac.id.historoid <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr deadbaad
Abort message: 'invalid address or address of corrupt block 0x61e4dc98 passed to dlfree'
r0 00000000 r1 40134fea r2 deadbaad r3 40138b5e
r4 61e4dc98 r5 40143190 r6 400f1000 r7 61e4dca0
r8 00000000 r9 00000020 sl 00000002 fp 67f4eea9
ip 00000001 sp 644979c0 lr 40106833 pc 40106834 cpsr 600f0030
d0 2064696c61766e69 d1 2073736572646461
d2 657264646120726f d3 6f6320666f207373
d4 e42be0da81996cde d5 e316665881decb2c
d6 554268d4f956bf32 d7 a2d34a7f1ce294fc
d8 0000000000000000 d9 0000000000000000
d10 0000000000000000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 0000000000000000 d17 0000000000000000
d18 48ee5947bb7be20c d19 3ea720d5ec195d37
d20 63203ea720d5ec19 d21 2f4bd3cc2303919d
d22 f0ffb8df8fe3a1d4 d23 172b0884ca7b0205
d24 3ce47e5b39e23ec1 d25 bf56c087e80f1e27
d26 3fe62e42fefa39ef d27 bfdffffffd0c5e81
d28 39da3fc9ef8d6b7e d29 3ef99342e0ee5069
d30 3fa55553e1053a42 d31 36d0cf8435b916ef
scr 60000012

backtrace:
#00 pc 00011834 /system/lib/libc.so (dlfree+1191)
#01 pc 0000dcd3 /system/lib/libc.so (free+10)
#02 pc 00083983 /system/lib/libcrypto.so (CRYPTO_free+34)
#03 pc 0002f623 /system/lib/libssl.so (ssl_parse_serverhello_tlsext+738)
#04 pc 000181b1 /system/lib/libssl.so (ssl3_get_server_hello+1008)
#05 pc 000175af /system/lib/libssl.so (ssl3_connect+566)
#06 pc 00027ecb /system/lib/libssl.so (SSL_do_handshake+50)
#07 pc 0000aedd /system/lib/libjavacrypto.so
#08 pc 0002038c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#09 pc 00051007 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#10 pc 00029820 /system/lib/libdvm.so
#11 pc 00030ca8 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#12 pc 0002e340 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#13 pc 000634e5 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#14 pc 00063509 /system/lib/libdvm.so (dvmCallMethod(Thread*, Method const*, Object*, JValue*, ...)+20)
#15 pc 000581bb /system/lib/libdvm.so
#16 pc 0000d238 /system/lib/libc.so (__thread_entry+72)
#17 pc 0000d3d0 /system/lib/libc.so (pthread_create+240)

code around pc:
40106814 6a014478 62021e4a f7fdb95a e008fd39
40106824 4621482a 44784a2a f001447a 4a13f9b3
40106834 49286014 f8d14479 079a31bc f501d51c
40106844 e8bd70e0 f02c40f8 4823b801 f7fd4478
40106854 4822fd0d e7fa4478 42b7688f ae10f43f
40106864 481fe611 e7f24478 4478481e 6888e7ef
40106874 f43f4298 e606aed4 bf00bdf8 deadbaad
40106884 0003cdee 0003cde0 0003cd48 000326cc
40106894 0003ccbc 0003ccaa 0003cc32 0003cc10
401068a4 0003cbb4 0003cb9e 0003cb38 0003cb20
401068b4 0003cb0e 0003cab6 0003ca90 0003ca06
401068c4 0003c9b0 0003c996 0003c978 0002e7bc
401068d4 0003232e 0003c954 0003230a 00032302
401068e4 000322f2 000322ec 460db538 b1704601
401068f4 0200ea45 f405fb00 04030c10 4620b143
40106904 ee90f028 bf1842a8 34fff04f 4604e000

code around lr:
40106810 482e61a3 6a014478 62021e4a f7fdb95a
40106820 e008fd39 4621482a 44784a2a f001447a
40106830 4a13f9b3 49286014 f8d14479 079a31bc
40106840 f501d51c e8bd70e0 f02c40f8 4823b801
40106850 f7fd4478 4822fd0d e7fa4478 42b7688f
40106860 ae10f43f 481fe611 e7f24478 4478481e
40106870 6888e7ef f43f4298 e606aed4 bf00bdf8
40106880 deadbaad 0003cdee 0003cde0 0003cd48
40106890 000326cc 0003ccbc 0003ccaa 0003cc32
401068a0 0003cc10 0003cbb4 0003cb9e 0003cb38
401068b0 0003cb20 0003cb0e 0003cab6 0003ca90
401068c0 0003ca06 0003c9b0 0003c996 0003c978
401068d0 0002e7bc 0003232e 0003c954 0003230a
401068e0 00032302 000322f2 000322ec 460db538
401068f0 b1704601 0200ea45 f405fb00 04030c10
40106900 4620b143 ee90f028 bf1842a8 34fff04f

是否有解决此问题的解决方案?

谢谢。

1 个答案:

答案 0 :(得分:0)

请参阅:

https://code.google.com/p/android/issues/detail?id=74964

有一种可能的解决方案:

我们似乎已经大大减少了,如果不是通过在startHandshake()调用周围添加一个锁来消除这种崩溃(我们从未见过它)。代码很简单......

        synchronized(sHandshakeLock) {
            sslSock.startHandshake();
        }