android - 在 Chromebook 上运行 C 链接的 Android 应用程序时发生随机崩溃 (sigabrt)
问题描述
我正在运行我的应用程序,其中包含在 Chromebook 上使用 JNI 内置的 C 代码。使用应用程序一段时间后(5-20 分钟),而不是在发生任何特定操作时应用程序崩溃。在手机或平板电脑上运行相同的应用程序时不会发生此崩溃。
我能够关闭墓碑文件并提取堆栈跟踪。我通常希望在跟踪的某处看到对我程序中某个函数的调用,但这里没有。因此,我不知道从哪里开始调试它。我认为唯一感兴趣的是对 libsupportjni.so 的调用,这让我相信 C 代码中存在一些问题,或者 Chromebook 上的 JNI 实现可能有一些特别之处,而手机/平板电脑上不存在? 有任何想法吗?堆栈跟踪如下:
2019-01-10 14:01:48.022 1879-1965/ A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 1965 (Studio:Agent)
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: Build fingerprint: 'google/cyan/cyan_cheets:7.1.1/R71-11151.59.0/5167872:user/release-keys'
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: Revision: '0'
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: ABI: 'x86'
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: pid: 1879, tid: 1965, name: Studio:Agent >>> appname.redacted <<<
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: eax 00000000 ebx 00000757 ecx 000007ad edx 00000006
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: esi e6730978 edi e6730920
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: xcs 00000023 xds 0000002b xes 0000002b xfs 0000006b xss 0000002b
2019-01-10 14:01:48.105 3155-3155/? A/DEBUG: eip ed060a40 ebp e6730778 esp e673071c flags 00000296
2019-01-10 14:01:48.115 3155-3155/? A/DEBUG: backtrace:
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #00 pc 00000a40 [vdso:ed060000] (__kernel_vsyscall+16)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #01 pc 0008aafc /system/lib/libc.so (tgkill+28)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #02 pc 00086355 /system/lib/libc.so (pthread_kill+85)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #03 pc 00036d3a /system/lib/libc.so (raise+42)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #04 pc 0002e246 /system/lib/libc.so (abort+86)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #05 pc 001d8664 /data/app/appname.redacted-2/lib/x86/libsupportjni.so (_ZN9__gnu_cxx27__verbose_terminate_handlerEv+468)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #06 pc 001a9078 /data/app/appname.redacted-2/lib/x86/libsupportjni.so (_ZN10__cxxabiv111__terminateEPFvvE+24)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #07 pc 001a910f /data/app/appname.redacted-2/lib/x86/libsupportjni.so (_ZSt9terminatev+31)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #08 pc 001d5a09 /data/app/appname.redacted-2/lib/x86/libsupportjni.so
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #09 pc 00085ab2 /system/lib/libc.so (_ZL15__pthread_startPv+210)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #10 pc 0002f73e /system/lib/libc.so (__start_thread+30)
2019-01-10 14:01:48.116 3155-3155/? A/DEBUG: #11 pc 0002d3f6 /system/lib/libc.so (__bionic_clone+70)
2019-01-10 14:01:49.181 53-3156/? W/ActivityManager: Force finishing activity appname.redacted/.Activity
解决方案
推荐阅读
- c - valgrind C 中的 realloc 导致的内存泄漏
- java - Java 实例变量不保留状态
- c# - 在 Razor 页面 MVC5 中嵌入视频 URL
- flutter - 在 Flutter 中创建可共享的图像/证书
- python - 从 csv 导入数据,其中每个列表被分成许多行
- excel - 当不包含来自 varLists 的值时删除列/行
- c# - 如果与临时表和更改跟踪结合使用,C# yield return 会导致问题吗?
- ios - 将 Apple 健康数据链接到 firebase 用户
- javascript - Apache Royale 在项目中读取文件 javascript
- python - `pipenv install` 失败并出现“ KeyError: 'url' ”