Android 7 Native Crash:libc.so tgkill

时间:2017-05-20 00:48:39

标签: android crash native android-7.0-nougat android-7.1-nougat

我通过以下堆栈跟踪看到此本机崩溃。

这种情况发生在Android 7.0&仅限7.1。该应用程序没有添加任何新内容,该应用程序已投入生产几年,但随着更多设备更新到Nougat,此崩溃现在经常发生并且正在变得令人讨厌。

任何建议都将受到赞赏。

native: pc 000000000007a6c4  /system/lib64/libc.so (tgkill+8)
  native: pc 0000000000077920  /system/lib64/libc.so (pthread_kill+64)
  native: pc 000000000002538c  /system/lib64/libc.so (raise+24)
  native: pc 000000000001d24c  /system/lib64/libc.so (abort+52)
  native: pc 000000000001225c  /system/lib64/libcutils.so (__android_log_assert+224)
  native: pc 00000000000610e0  /system/lib64/libhwui.so
  native: pc 000000000003908c  /system/lib64/libhwui.so
  native: pc 000000000003609c  /system/lib64/libhwui.so
  native: pc 000000000003b4fc  /system/lib64/libhwui.so
  native: pc 000000000003c520  /system/lib64/libhwui.so
  native: pc 000000000003e694  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+152)
  native: pc 00000000000127f0  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+336)
  native: pc 00000000000a50b0  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)
  native: pc 00000000000770f4  /system/lib64/libc.so (_ZL15__pthread_startPv+204)
  native: pc 000000000001e7d0  /system/lib64/libc.so (__start_thread+16)

以下是受影响的设备列表: enter image description here

更新7月18日:

仍然无法找到这个的根,所以我决定购买一个出现次数最多并且价格合理的设备,结果是Android 7.0的三星Galaxy J3 2017版本。但不幸的是仍然无法重现崩溃。

我还在生产中对应用程序进行了一些内存使用改进,但崩溃仍在发生。

从所有的评论和我自己的研究中,它似乎与动态链接的NDK有关,但我没有使用任何,并且很难找出是否有任何依赖。

我想分享我的依赖关系,如果遇到同样问题的其他人可以在他们使用相同的依赖关系时调用它们会很棒 - 也许我们可以通过这种方式发现罪魁祸首。

// App Compat
    compile 'com.android.support:support-v4:23.0.1'
    compile 'com.android.support:appcompat-v7:23.0.1'
    compile 'com.android.support:cardview-v7:23.0.1'
    compile 'com.android.support:recyclerview-v7:23.0.1'

    // Play Services
    compile 'com.google.android.gms:play-services-location:8.3.0'
    compile 'com.google.android.gms:play-services-maps:8.3.0'
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
    compile 'com.google.android.gms:play-services-appindexing:8.3.0'
    compile 'com.google.android.gms:play-services-ads:8.3.0'

    // Misc Libraries
    compile 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
    compile files('app/libs/htmlcleaner-2.7.jar')
    compile files('app/libs/protobuf-java-2.6.0.jar')
    compile files('app/libs/nineoldandroids-2.4.0.jar')

    // Fabric
    compile('com.twitter.sdk.android:twitter:1.13.0@aar') { transitive = true; }
    compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { transitive = true; }

对于面临同样崩溃的人,如果您使用任何这些依赖项/版本,请在评论中回复。也许我们可以挑出问题依赖。

7 个答案:

答案 0 :(得分:27)

查看您提供的转储提供了一些线索:

<强> _ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv

这表示UI线程中发生了错误。

libhwui.so x 6

这表明这发生在一些图形/ ui相关代码的中间。

libcutils.so - __android_log_assert

这是一个断言处理程序,因此很可能在libwhui中违反了某种断言。

<强>中止:

这是告诉O / S关闭&#34;异常&#34;的应用程序。

加注+ pthread_kill + tgkill: 这是关闭应用程序的O / S(Android)。

您可以看到一些用于调试此类崩溃的文档here

无论如何,我担心除了对你提供的数据的这种粗略和不精确的解释之外,很难推测。

也许如果你在附加到Android日志查看器时发现了错误,那么你将拥有更多特定于应用程序的数据(甚至是断言函数通常会发出的错误消息)。

我的提示是使用类似AGRA的内容来跟踪与错误相关的所有细节,或者获取受影响的设备并在连接到调试器时实际重现它。

祝你好运!

编辑2017-06-16 :我只想添加一些额外的信息由Fco P提供评论显然谷歌决定对允许在最新版本中运行的本机库进行一些更改Android(7.x)。更多详情请见this link

答案 1 :(得分:8)

这是在这里报道的: https://issuetracker.google.com/issues/37123764

要重现:获取受影响的模式,启用开发人员模式,并将后台活动设置为0.同时启用&#34;显示背景崩溃&#34;。

然后打开应用程序,然后再次关闭它: 你会看到崩溃。

答案 2 :(得分:3)

不在评论中(代表不足)。

在您列出的依赖项中,我们使用:

fo:float

与您的版本不同。 我强烈怀疑play-services-maps包含了这个bug。

也许你像我们一样在viewpager中使用地图片段,并且Koji Matsubara已经提到了很多人(https://issuetracker.google.com/issues/37123764

答案 3 :(得分:2)

我在谷歌播放控制台中遇到与您相同设备的相同问题。

在我的情况下,问题出现在TextureView中,动画在单独的线程中,带有锁定和解锁画布。

我将TextureView动画更改为7和7.1 android的invalidate-onDraw动画,这有帮助。

答案 4 :(得分:1)

我不知道,也许像我们这样的问题可能有所不同,因为我在依赖关系中看到包括carview。在这里分享希望将来对某人有用

我还面临着Android 7.0和7.1下面的问题

03-04 23:44:51.489 2173-2173/? A/DEBUG: Abort message: 'Error: Ambient Vertex Buffer overflow!!! used 420, total 284'
03-04 23:44:51.489 2173-2173/? A/DEBUG:     eax 00000000  ebx 0000083b  ecx 00000857  edx 00000006
03-04 23:44:51.489 2173-2173/? A/DEBUG:     esi d19ff978  edi d19ff920
03-04 23:44:51.489 2173-2173/? A/DEBUG:     xcs 00000023  xds 0000002b  xes 0000002b  xfs 0000006b  xss 0000002b
03-04 23:44:51.489 2173-2173/? A/DEBUG:     eip f00a6bb9  ebp d19fee68  esp d19fee0c  flags 00000292
03-04 23:44:51.555 2173-2173/? A/DEBUG: backtrace:
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #00 pc 00000bb9  [vdso:f00a6000] (__kernel_vsyscall+9)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #01 pc 0007a2ec  /system/lib/libc.so (tgkill+28)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #02 pc 00075b35  /system/lib/libc.so (pthread_kill+85)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #03 pc 0002784a  /system/lib/libc.so (raise+42)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #04 pc 0001ee26  /system/lib/libc.so (abort+86)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #05 pc 0000fa65  /system/lib/libcutils.so (__android_log_assert+245)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #06 pc 00084356  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #07 pc 0003a5ba  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #08 pc 00083d04  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #09 pc 0008c5df  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #10 pc 0008e6d8  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #11 pc 0008e5d2  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #12 pc 000350fe  /system/lib/libhwui.so
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #13 pc 0001201f  /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+207)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #14 pc 0006e53b  /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+111)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #15 pc 00011873  /system/lib/libutils.so (_ZN13thread_data_t10trampolineEPKS_+259)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #16 pc 00075292  /system/lib/libc.so (_ZL15__pthread_startPv+210)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #17 pc 0002028e  /system/lib/libc.so (__start_thread+30)
03-04 23:44:51.555 2173-2173/? A/DEBUG:     #18 pc 0001e066  /system/lib/libc.so (__bionic_clone+70)

在gooogle上进行研究和搜索后,我将cardview替换为Framelayout,然后问题得以解决

答案 5 :(得分:0)

我还在Google Play控制台的崩溃报告中看到了此问题。

Motorola Moto X样式| Android 7.0(SDK 24)

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.myappname<<<

backtrace:
  #00  pc 000000000006b81c  /system/lib64/libc.so (tgkill+8)
  #00  pc 0000000000068cb8  /system/lib64/libc.so (pthread_kill+64)
  #00  pc 0000000000023f68  /system/lib64/libc.so (raise+24)
  #00  pc 000000000001c9ec  /system/lib64/libc.so (abort+52)
  #00  pc 0000000000010d90  /system/lib64/libcutils.so (__android_log_assert+232)
  #00  pc 0000000000031bcc  /system/lib64/libhwui.so
  #00  pc 00000000000342bc  /system/lib64/libhwui.so
  #00  pc 0000000000039988  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+148)
  #00  pc 0000000000012454  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+272)
  #00  pc 000000000009de10  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+116)
  #00  pc 00000000000684c0  /system/lib64/libc.so (__pthread_start(void*)+196)
  #00  pc 000000000001dc00  /system/lib64/libc.so (__start_thread+16)

答案 6 :(得分:-1)

我从运行Android 8.0的一个用户设备“ Huawei Honor 7X(HWBND-H)”的崩溃报告中看到了此问题。由于在其他设备/操作系统版本中并未出现此问题,因此我认为它可能已在操作系统更新中得到修复(该用户未使用或可能未提供该用户)。

backtrace:
  #00  pc 000000000006a808  /system/lib64/libc.so (tgkill+8)
  #01  pc 000000000001db50  /system/lib64/libc.so (abort+88)
  #02  pc 0000000000007f4c  /system/lib64/liblog.so (__android_log_assert+304)
  #03  pc 000000000004e314  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread10EglManager13createSurfaceEP13ANativeWindow+192)
  #04  pc 000000000004c790  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread14OpenGLPipeline10setSurfaceEPNS_7SurfaceENS1_12SwapBehaviorE+64)
  #05  pc 00000000000492b4  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread13CanvasContext10setSurfaceEPNS_7SurfaceE+140)
  #06  pc 000000000005123c  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthreadL17Bridge_initializeEPNS1_14initializeArgsE+16)
  #07  pc 0000000000052fc4  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread22MethodInvokeRenderTask3runEv+24)
  #08  pc 0000000000053f1c  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+348)
  #09  pc 0000000000011670  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+280)
  #10  pc 00000000000be1e8  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+136)
  #11  pc 00000000000671b8  /system/lib64/libc.so (_ZL15__pthread_startPv+36)
  #12  pc 000000000001eee4  /system/lib64/libc.so (__start_thread+68)