【问题标题】:Xamarin Android Native crash at /system/lib/libc.soXamarin Android Native 在 /system/lib/libc.so 崩溃
【发布时间】: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


【解决方案1】:

我通过从闪屏中删除 thread.sleep() 函数解决了这个问题。然后我决定从项目中删除所有这些。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多