gpt4 book ai didi

iOS - 如何理解并正确调试这种类型的崩溃 : com. apple.root.background-qos?

转载 作者:行者123 更新时间:2023-11-29 05:50:44 25 4
gpt4 key购买 nike

我知道这个问题已经被问过好几次了,但要么没有得到解答,要么答案完全没有帮助。

这是我的崩溃报告:

enter image description here

This question,尤其是评论帮助我理解(某种程度上)我的问题。

It seems from your crash log com.apple.root.background-qos, this is the thread request which might be over committed due to which it exist as it cannot take any more request.

如果我理解正确的话,处理请求的线程可能无法处理更多请求?

如何调试和测试它?我无法重现崩溃。

注意:在我的启动器服务中,我正在执行 5 或 6 个请求,完成后每个请求都在dispatchGroup.enter/.leave 中分开,如下所示:

dispatchGroup.enter()
self.fetchObservationForecast(lat: lat, lon: lon) { result in
switch result {
case .success(let observationForecast) :
print("Observation Forecast request succeeded")
model["observationForecast"] = observationForecast
break
case .failure(let error) :
print("Observation Forecast request failed : \(error)")
model["observationForecast"] = error
break
}
dispatchGroup.leave()
}

我是不是看错地方了?我如何测试和重现它以提交修复?

如有任何帮助,我们将不胜感激。

最佳答案

崩溃是由于 LauncherService 方法中指示的闭包中的某些内容引起的。跟踪表明您在设置字典值时崩溃了。

PartialStackTrace

可变 Swift 字典不是线程安全的,这一事实与 background.qos 指示器一起让我认为你正在多个线程上读取/写入字典。

这可能类似于下面的 model["observationForecast"] = 代码。

dispatchGroup.enter()
self.fetchObservationForecast(lat: lat, lon: lon) { result in
switch result {
case .success(let observationForecast) :
print("Observation Forecast request succeeded")
model["observationForecast"] = observationForecast
break
case .failure(let error) :
print("Observation Forecast request failed : \(error)")
model["observationForecast"] = error
break
}
dispatchGroup.leave()
}

关于iOS - 如何理解并正确调试这种类型的崩溃 : com. apple.root.background-qos?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55690216/

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