【发布时间】:2017-10-20 05:15:34
【问题描述】:
我看到这个本机崩溃并带有以下堆栈跟踪。
这仅在 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)
7/18 更新:
仍然无法追根究底,所以我决定购买一台出现次数最多且价格合理的设备,结果是三星 Galaxy J3 2017 版本,搭载 Android 7.0。不幸的是,我仍然无法重现崩溃。
我还对生产中的应用程序进行了一些内存使用改进,但崩溃仍在发生。
从所有 cmets 和我自己的研究来看,它似乎与动态链接的 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; }
对于面临同样崩溃的人,如果您正在使用这些依赖项/版本中的任何一个,请在 cmets 中回复。也许我们可以挑出问题的依赖关系。
【问题讨论】:
-
也许我认为您的本机崩溃与以下问题相同。 issuetracker.google.com/issues/37123764我的应用程序有类似的bug,但我没有找到任何解决方案...我认为是android 7、7.1的bug。
-
我也看到了这个,完全相同的堆栈跟踪和完全相同的受影响设备列表!最新版本于 5 月 15 日发布,但我在崩溃页面中有两行具有相同的“tgkill”名称。
-
我也遇到了同样的问题,完全相同的堆栈跟踪,完全相同的设备受到影响,使用零本机库,以及使用位置和地图服务。也许它与此有关?有人有解决办法吗?
-
在过去 2 个月中,我们有超过 30k 的此类 tgkill 崩溃影响了 14k+ 用户。在过去的几周里,我慢慢地删除了我们正在使用的任何 3rd 方库,并发布了分阶段的部署,看看我是否可以追踪导致这些崩溃的原因。除 Retrofit、Okhttp、Jackson、Picasso、Firebase、Google Play Services、MultiDex 和 Apache Legacy 之外的所有内容都被删除。基于此线程,我们正在讨论向 1% 的用户发布,并删除我们的地图。当前运行:'com.google.android.gms:play-services-maps:11.0.1'
-
我们发布了分阶段部署,只删除了“com.google.android.gms:play-services-maps:11.0.1”。在整个周末看完之后,没有发生 tgkill 崩溃的实例。是的,这个问题是由@Deo 提到的地图引起的,并链接到下面的问题跟踪器。
标签: android crash native android-7.0-nougat android-7.1-nougat