【问题标题】:Sigabrt -6 xamarin.forms threadpool when running multiple Http calls运行多个 Http 调用时的 Sigabrt -6 xamarin.forms 线程池
【发布时间】:2018-07-30 14:53:44
【问题描述】:

我们有一个 Xamarin.Forms 应用程序因“信号 6 (SIGABRT)、代码 -6 (SI_TKILL)、故障地址 -------- java_vm_ext.cc:534] 应用程序中的 JNI 检测到错误而崩溃:使用已删除的全局引用 0x3ce2'

我们正在使用 Task.WhenAll() 并行地使用 HttpClient 对 Web 服务进行多次调用

崩溃是随机的,因此我们无法确定根本原因。

    07-27 19:21:52.443 11988-11988/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/walleye/walleye:8.1.0/OPM2.171026.006.G1/4820017:user/release-keys'
Revision: 'MP1'
ABI: 'arm64'
pid: 11908, tid: 11942, name: Threadpool work  >>> com.companyname.appname <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
07-27 19:21:52.446 11988-11988/? A/DEBUG: Abort message: 'java_vm_ext.cc:534] JNI DETECTED ERROR IN APPLICATION: use of deleted global reference 0x3ce2'
    x0   0000000000000000  x1   0000000000002ea6  x2   0000000000000006  x3   0000000000000008
    x4   0000000000000000  x5   0000000000000000  x6   0000000000000000  x7   7f7f7f7f7f7f7f7f
    x8   0000000000000083  x9   0000000010000000  x10  00000070d01fb5f0  x11  0000000000000001
    x12  00000070d01fb0e8  x13  ffffffffffffffff  x14  ff00000000000000  x15  ffffffffffffffff
    x16  0000006366ab0fa8  x17  0000007174b8052c  x18  0000000000000000  x19  0000000000002e84
07-27 19:21:52.447 11988-11988/? A/DEBUG:     x20  0000000000002ea6  x21  0000000000000083  x22  0000000000000002  x23  00000070d01fe588
    x24  00000070d01fb689  x25  00000000000006aa  x26  00000070eb715600  x27  00000000000006a9
    x28  0000000000000043  x29  00000070d01fb630  x30  0000007174b35760
    sp   00000070d01fb5f0  pc   0000007174b35788  pstate 0000000060000000
07-27 19:21:52.449 11988-11988/? A/DEBUG: backtrace:
    #00 pc 000000000001d788  /system/lib64/libc.so (abort+120)
    #01 pc 0000000000475af0  /system/lib64/libart.so (art::Runtime::Abort(char const*)+552)
    #02 pc 000000000056b3ec  /system/lib64/libart.so (android::base::LogMessage::~LogMessage()+1004)
    #03 pc 00000000002fe620  /system/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1712)
    #04 pc 00000000002fe878  /system/lib64/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+180)
    #05 pc 00000000004a1fc8  /system/lib64/libart.so (art::Thread::DecodeJObject(_jobject*) const+464)
    #06 pc 000000000010d3d8  /system/lib64/libart.so (art::ScopedCheck::CheckInstance(art::ScopedObjectAccess&, art::ScopedCheck::InstanceKind, _jobject*, bool)+96)
    #07 pc 000000000010c03c  /system/lib64/libart.so (art::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::JniValueType*)+644)
    #08 pc 000000000010f310  /system/lib64/libart.so (art::CheckJNI::DeleteRef(char const*, _JNIEnv*, _jobject*, art::IndirectRefKind)+632)
07-27 19:21:52.450 11988-11988/? A/DEBUG:     #09 pc 000000000000f384  <anonymous:0000007174a43000>

【问题讨论】:

    标签: c# android xamarin xamarin.forms sigabrt


    【解决方案1】:

    我们减少了正在创建的 HttpClient 并行实例的数量。这为我们解决了问题。

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多