android - 信号 11 (SIGSEGV),使用 Bump API 时 android 中的故障地址

标签 android android-service bump

我正在尝试开发一个使用 bump API 的应用程序。第一次一切正常。不知何故,如果我按下主页按钮并返回到应用程序,它会毫无异常(exception)地崩溃(有时它可以正常工作 2 或 3 次)。当我检查 logcat 时,我得到了以下堆栈跟踪:

16:33:18.915: I/DEBUG(31): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-11 16:33:18.915: I/DEBUG(31): Build fingerprint: 'generic/sdk/generic/:2.2/FRF91/43546:eng/test-keys'
07-11 16:33:18.915: I/DEBUG(31): pid: 280, tid: 338  >>> dig.app.com <<<
07-11 16:33:18.915: I/DEBUG(31): signal 11 (SIGSEGV), fault addr 4897c000
07-11 16:33:18.915: I/DEBUG(31):  r0 4897bfe0  r1 4897bfe8  r2 ffecb094  r3 00000000
07-11 16:33:18.915: I/DEBUG(31):  r4 00000000  r5 00000000  r6 00000000  r7 00000000
07-11 16:33:18.915: I/DEBUG(31):  r8 00000000  r9 00000000  10 00000000  fp 00000000
07-11 16:33:18.915: I/DEBUG(31):  ip 00000000  sp 480cadf8  lr 00000010  pc afd0f234  cpsr a0000010
07-11 16:33:19.025: I/DEBUG(31):          #00  pc 0000f234  /system/lib/libc.so
07-11 16:33:19.061: W/dalvikvm(280): JNI WARNING: native code passing in bad object 0x4003fc78 0x4003fc78 (Check_SetFloatField)
07-11 16:33:19.061: W/dalvikvm(280):              in Landroid/graphics
/Path;.native_computeBounds (ILandroid/graphics/RectF;)V (SetFloatField)
07-11 16:33:19.061: I/dalvikvm(280): "main" prio=5 tid=1 RUNNABLE
07-11 16:33:19.061: I/dalvikvm(280):   | group="main" sCount=0 dsCount=0 s=N obj=0x4001d8e0 self=0xccb0
07-11 16:33:19.061: I/dalvikvm(280):   | sysTid=280 nice=0 sched=0/0 cgrp=default handle=-1345026008
07-11 16:33:19.061: I/dalvikvm(280):   | schedstat=( 955496474453 102439081045 208084 )
07-11 16:33:19.061: I/dalvikvm(280):   at android.graphics.Path.native_computeBounds(Native Method)
07-11 16:33:19.135: I/DEBUG(31):          #01  pc 00051e22  /data/data/dig.app.com/lib/libandroid-api.so
07-11 16:33:19.135: I/DEBUG(31):          #02  pc 0005401a  /data/data/dig.app.com/lib/libandroid-api.so
07-11 16:33:19.135: I/DEBUG(31):          #03  pc 0005609e  /data/data/dig.app.com/lib/libandroid-api.so
07-11 16:33:19.135: I/DEBUG(31):          #04  pc 000512fe  /data/data/dig.app.com/lib/libandroid-api.so
07-11 16:33:19.135: I/DEBUG(31):          #05  pc 0001103c  /system/lib/libc.so
07-11 16:33:19.135: I/DEBUG(31):          #06  pc 00010b20  /system/lib/libc.so
07-11 16:33:19.135: I/DEBUG(31): code around pc:
07-11 16:33:19.135: I/DEBUG(31): afd0f214 e2522020 3a00004d e35c0018 0a000033 
07-11 16:33:19.135: I/DEBUG(31): afd0f224 e35c0008 0a000018 e491c004 e1a0400c 
07-11 16:33:19.135: I/DEBUG(31): afd0f234 e8b10fe0 f5d1f040 e2522020 2491c004 
07-11 16:33:19.135: I/DEBUG(31): afd0f244 e1833804 e1a04824 e1844805 e1a05825 
07-11 16:33:19.135: I/DEBUG(31): afd0f254 e1855806 e1a06826 e1866807 e1a07827 
07-11 16:33:19.145: I/DEBUG(31): code around lr:
07-11 16:33:19.145: I/DEBUG(31): stack:
07-11 16:33:19.145: I/DEBUG(31):     480cadb8  00000000  
07-11 16:33:19.145: I/DEBUG(31):     480cadbc  005cc628  [heap]
07-11 16:33:19.145: I/DEBUG(31):     480cadc0  00000000  
07-11 16:33:19.145: I/DEBUG(31):     480cadc4  afd103f0  /system/lib/libc.so
07-11 16:33:19.145: I/DEBUG(31):     480cadc8  00000003  
07-11 16:33:19.145: I/DEBUG(31):     480cadcc  afd41724  /system/lib/libc.so
07-11 16:33:19.145: I/DEBUG(31):     480cadd0  00562878  [heap]
07-11 16:33:19.145: I/DEBUG(31):     480cadd4  c0000000  
07-11 16:33:19.145: I/DEBUG(31):     480cadd8  0007d0c4  [heap]
07-11 16:33:19.145: I/DEBUG(31):     480caddc  0007d0c0  [heap]
07-11 16:33:19.145: I/DEBUG(31):     480cade0  488470a1  
07-11 16:33:19.145: I/DEBUG(31):     480cade4  afd0c741  /system/lib/libc.so
07-11 16:33:19.145: I/DEBUG(31):     480cade8  80a7cdd9  /data/data/dig.app.com/lib/libandroid-api.so
07-11 16:33:19.145: I/DEBUG(31):     480cadec  005cc5e0  [heap]
07-11 16:33:19.145: I/DEBUG(31):     480cadf0  df002777  
07-11 16:33:19.145: I/DEBUG(31):     480cadf4  e3a070ad  
07-11 16:33:19.145: I/DEBUG(31): #00 480cadf8  fffffffe  
07-11 16:33:19.145: I/DEBUG(31):     480cadfc  48847099  
07-11 16:33:19.145: I/DEBUG(31):     480cae00  480cae4c  
07-11 16:33:19.145: I/DEBUG(31):     480cae04  0007d0c4  [heap]
07-11 16:33:19.155: I/DEBUG(31):     480cae08  0007d0c0  [heap]
07-11 16:33:19.155: I/DEBUG(31):     480cae0c  488470a1  
07-11 16:33:19.155: I/DEBUG(31):     480cae10  00000002  
07-11 16:33:19.155: I/DEBUG(31):     480cae14  48847098  
07-11 16:33:19.155: I/DEBUG(31):     480cae18  48847008  
07-11 16:33:19.155: I/DEBUG(31):     480cae1c  80a51e25  /data/data/dig.app.com/lib/libandroid-api.so
07-11 16:33:19.155: I/DEBUG(31): #01 480cae20  00000000  
07-11 16:33:19.155: I/DEBUG(31):     480cae24  480cae4c  

bump API 作为 native 库包含在我的应用程序中 (libandroid-api.so)。为了连接到 bump 服务器,我正在使用一项服务,在 onStop 期间(当我按下主页按钮时)我正在解除绑定(bind) 服务,在 onStart 期间 (从后台恢复时)我将绑定(bind) 服务。因此,如果我继续此 UnBinding 和 Binding 2 或 3 次,我会收到此错误。

我对信号 11 (SIGSEGV)、故障地址进行了一些搜索,发现当应用程序进行无效内存引用时会发生这种情况。我无权访问此本地库。我不知道该怎么办。

最佳答案

我有同样的问题,事实是第一个 api.configure 工作正常,下一次尝试只是使应用程序崩溃。

我在这里发布了我认为同样的问题:Bump API Android crash

我自己解决了这个问题,我围绕 bump api 构建了一个单例,所以我确保 api 只配置一次,然后它只在配置完成后返回。你会在我的问题中找到代码。

关于android - 信号 11 (SIGSEGV),使用 Bump API 时 android 中的故障地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11452398/

相关文章:

android - android 的 facebook 集成是 eclipse 中的繁忙过程

android - 如何修复Android Studio 3中的 'cannot find symbol class Nullable'错误

android - 华为设备杀死我的前台服务,即使使用 dontkillmyapp.com 的解决方案

iphone - 想要使用我的应用程序(使用 Bump API)的用户是否需要在他们的手机上安装 Bump 才能使我的应用程序运行?

java - 无法从 MainActivity 中找到 TextView

android - 从Play商店下载时无法加载应用程序,但可以安装生成的APK

java - 我在服务中做错了什么?

android - 泄漏金丝雀检测 MediaBrowserServiceCompat 示例应用程序中的内存泄漏

java - Bump API Android 崩溃

ios - Bump 不由自主地连接和断开连接 - iOS