【问题标题】:Crash in iOS: XPC API MisuseiOS 崩溃:XPC API 滥用
【发布时间】:2015-10-20 11:46:16
【问题描述】:

crashlytics 报告我们的 iOS 应用发生崩溃:

崩溃:XPC API 滥用:尝试发送一条消息,期望回复到 (com.apple.networking.connection.0x46bf35a0)

堆栈跟踪是:

Thread : Crashed: XPC API Misuse: Attempt to send a message expecting a reply to  (com.apple.networking.connection.0x46bf35a0)
0  libxpc.dylib                   0x35cc534a _xpc_api_misuse + 41
1  libsystem_c.dylib              0x35ba49e5 __strlcpy_chk + 48
2  libxpc.dylib                   0x35cb5f75 _xpc_serializer_create + 158
3  libxpc.dylib                   0x35cb5ea1 xpc_connection_send_message + 60

它发生在 iPhone 5 上的 iOS 9.0.2 下。我们无法重现崩溃,也不知道如何开始调试/修复。看来我们是not alone with this

也许这里有人有什么想法。

【问题讨论】:

  • 在装有 iOS 9.1.0 的 iPhone 6 Plus 上遇到同样的崩溃。

标签: ios iphone xpc


【解决方案1】:

在这个问题上有很多未解决的错误:rdar://21832853 是原始错误,还有 rdar://22860899 和 rdar://22874333,两者都在 OpenRadar 上。

我认为这是由 SCNetworkReachability 中的一些基于 C 的网络代码引起的,它正在尝试与 iOS VPN 系统(大概是为了确定是否已连接)或用于 NSURLSession 的后台守护进程通信请求,但我不确定。不幸的是,CFNetwork 不是开源的,而且 10.11 的 libdispatch 源代码(尽可能接近 iOS 9)还没有发布,所以我什至无法开始猜测网络代码做错了什么。

无论哪种方式,我认为您无法解决它。话虽如此,假设我对根本原因是正确的,您可以通过运行网络链接调节器并反复打开和关闭飞行模式来重现它。无论如何,值得一试。

【讨论】:

    【解决方案2】:

    我认为可能是你的代码错误,我以前每次关闭应用程序时都会遇到同样的问题,我有一个销毁函数,它释放 xpc 连接,如下所示:

    void XpcComm::destory()
    {
        std::lock_guard< std::mutex > lock( m_Lock );
        if ( m_xpcConn != nullptr )
        {
            xpc_connection_cancel( m_xpcConn );
            xpc_release( m_xpcConn );
        }
        m_xpcConn = nullptr;
    }
    

    我更新了

    void XpcComm::destory()
    {
        std::lock_guard< std::mutex > lock( m_Lock );
        if ( m_xpcConn != nullptr )
        {
            xpc_connection_cancel( m_xpcConn );
            xpc_release( m_xpcConn );
            m_xpcConn = nullptr;
        }
        
    }
    

    并修复了关闭应用程序时 xpc api 滥用崩溃的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多