【发布时间】:2016-08-22 16:38:19
【问题描述】:
我发布了一个应用程序,我遇到了这些本地崩溃,尤其是来自 Galaxy J2(90% 的崩溃)。用户说,当应用程序启动时,它会立即崩溃。到目前为止,我遇到了 25 次崩溃,我什至找不到要解决的问题。我无法在 Galaxy J2 上进行调试,但我运行该应用程序的每台设备都可以正常工作。这是崩溃报告。
Revision: '4'
ABI: 'arm'
pid: 4110, tid: 4110, name: sth.someappname >>> com.sth.someappname <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: '* Assertion at /Users/builder/data/lanes/3511/b5fafb24/source/mono/mono/mini/method-to-ir.c:12777, condition `mono_arch_opcode_supported (OP_ATOMIC_STORE_I4)' not met
'
r0 00000000 r1 0000100e r2 00000006 r3 00000000
r4 b6f14e38 r5 00000006 r6 00000002 r7 0000010c
r8 b4542cac r9 00000000 sl b47709b8 fp bef19930
ip 0000100e sp bef198d8 lr b6d67e79 pc b6d8bb5c cpsr 600e0010
backtrace:
#00 pc 0003bb5c /system/lib/libc.so (tgkill+12)
#01 pc 00017e75 /system/lib/libc.so (pthread_kill+52)
#02 pc 00018a8b /system/lib/libc.so (raise+10)
#03 pc 00015325 /system/lib/libc.so (__libc_android_abort+36)
#04 pc 00012fb0 /system/lib/libc.so (abort+4)
#05 pc 00291cdc /data/app/com.sth.someappname-1/lib/arm/libmonosgen-2.0.so
有什么想法吗?
【问题讨论】:
-
您为软件包启用了哪些架构?
-
我启用了所有这些。但所有崩溃都发生在
ARM -
我认为问题出在 github.com/mono/mono/blob/master/mono/mini/method-to-ir.c 线上 g_assert (mono_arch_opcode_supported (OP_ATOMIC_STORE_I4));其中 g_assert() 的定义类似于 #define g_assert(expr) 调试宏以在断言失败时终止应用程序。如果断言失败(即表达式不正确),则会记录一条错误消息并终止应用程序。通过在编译应用程序时定义 G_DISABLE_ASSERT,可以在最终版本的代码中关闭宏。
-
这是用什么版本的
Xamarin.Android编译的? -
我通过从闪屏中删除 thread.sleep() 函数解决了这个问题。然后我决定从项目中删除所有这些。
标签: android xamarin crash xamarin.android native