gpt4 book ai didi

ios - 由于 NSURLSession/NSURLConnection HTTP 加载失败,无限 pthread 创建崩溃应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 14:51:27 25 4
gpt4 key购买 nike

我尝试连接互联网以测试应用程序中的网络,如果网络已连接或没有连接,一切顺利。但是有一个特殊的情况,当手机连上了wifi,但是wifi需要登录(就是说连上了wifi会跳转到登录页面),如果我不登录,事情就很奇怪了:
应用程序检测到 wifi,但它记录(通过网络 SDK):
更新在线配置失败 Error Domain=AVNetworkingErrorDomain Code=60 “无法使用给定的 CA 证书对对等证书进行身份验证”
我理解这种情况,因为我没有登录。但是,NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843) 会出现无限错误,每个错误可能需要 5 秒。

并且会有 99% 的 CPU 使用率。当我使用仪器查看细节时,我发现有一个线程名为_pthread_wqthreadcreates infinite thread infinite call

一段时间后,应用程序崩溃了。

这是设备的运行日志:

Nov 28 02:49:19 XXXXXXX-iPhone bird[145] <Error>: failed uploading 1 items (273 字节) in com.apple.TextInput: <CKError 0x144e7f650: "Partial Failure" (2/1011); "Failed to modify some records"; partial errors: {
documentContent/23EAA693-9E3F-4E21-BA02-08CF972FB90B:(com.apple.TextInput:__defaultOwner__) = <CKError 0x144e676b0: "Network Failure" (4/-1202); "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “p18-ckdatabase.icloud.com” which could put your confidential information at risk.">
}>
Nov 28 02:49:24 XXXXXXX-iPhone XXXXXXX[841] <Error>: SecTrustEvaluate [leaf SSLHostname]
Nov 28 02:49:24 XXXXXXX-iPhone XXXXXXX[841] <Warning>: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)
Nov 28 02:49:38 XXXXXXX-iPhone configd[37] <Notice>: Captive: CNPluginHandler en0: Maintaining (__BUILTIN__)
Nov 28 02:49:38 XXXXXXX-iPhone configd[37] <Notice>: Captive: en0: Not probing "the wifi's name" (disabled by user)
Nov 28 02:49:38 XXXXXXX-iPhone configd[37] <Notice>: Captive: CNPluginHandler en0: Authenticated (__BUILTIN__)
Nov 28 02:49:43 XXXXXXX-iPhone XXXXXXX[841] <Error>: SecTrustEvaluate [leaf SSLHostname]
Nov 28 02:49:43 XXXXXXX-iPhone XXXXXXX[841] <Warning>: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)
Nov 28 02:49:54 XXXXXXX-iPhone XXXXXXX[841] <Error>: SecTrustEvaluate [leaf SSLHostname]
Nov 28 02:49:54 XXXXXXX-iPhone XXXXXXX[841] <Warning>: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)
Nov 28 02:50:08 XXXXXXX-iPhone kernel[0] <Notice>: 028115.172774 wlan0.A[4856] updateLinkQualityMetrics@1991:Report LQM to User Land 100, fAverageRSSI -70
Nov 28 02:50:09 XXXXXXX-iPhone XXXXXXX[841] <Error>: SecTrustEvaluate [leaf SSLHostname]
Nov 28 02:50:09 XXXXXXX-iPhone XXXXXXX[841] <Warning>: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)
Nov 28 02:50:24 XXXXXXX-iPhone XXXXXXX[841] <Error>: SecTrustEvaluate [leaf SSLHostname]
Nov 28 02:50:24 XXXXXXX-iPhone XXXXXXX[841] <Warning>: NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9843)

我发现 -9843 意味着

errSSLHostNameMismatch -9843 The host name you connected with does not match any of the host names allowed by the certificate. This is commonly caused by an incorrect value for the kCFStreamSSLPeerName property within the dictionary associated with the stream’s kCFStreamPropertySSLSettings key. Available in OS X v10.4 and later.

更多细节,我使用了 AFNetworking 库。也许此链接也有帮助:Crash in background NSURLSession "HTTPMessage::ensureParserFinished()"

最佳答案

这是一个(损坏的)强制门户网站情况,其中强制门户网站使用来自不同域的响应来响应 HTTPS 请求。您的代码显然在失败后立即重试,导致大量 CPU 开销。

您需要坐下来查看 NSURL 错误代码列表,并列出永久性代码——即在后续尝试中不太可能消失的错误,例如服务器上的证书错误。当您的应用发现任何这些永久性错误时,它不应立即重试请求,无论是否可达。

关于ios - 由于 NSURLSession/NSURLConnection HTTP 加载失败,无限 pthread 创建崩溃应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33963534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com