_os_object_retain一看挂在dispatch里,想当然都会认为难道系统有bug了,但是问题不都是靠瞎猜的,还是有了分析才好下结论。
1.前言
最近新版本刚上线就发现少量特别的新增crash,堆栈如下
0 libdispatch.dylib 0x000000018fc296e0 __os_object_retain$VARIANT$mp + 72
1 mttlite 0x00000001033384ec +[CategorySearchDatas selectedSearchInfo] (CategorySearchDatas.m:0)
//...省略中间无意义堆栈
8 libsystem_pthread.dylib 0x000000018fe6a310 __pthread_body + 128
9 libsystem_pthread.dylib 0x000000018fe6a270 _pthread_start + 48
10 libsystem_pthread.dylib 0x000000018fe6dd08 start_wqthread + 4
0 libdispatch.dylib 0x0000000181dbf900 _os_object_retain + 72
1 mttlite 0x00000001023e84ec +[CategorySearchDatas selectedSearchInfo] (CategorySearchDatas.m:0)
2 mttlite 0x00000001001399d0 -[MttSearchEngineSelectorView selectedEngineView] (MttSearchEngineSelectorView.m:317)
//...省略中间堆栈
40 CoreFoundation 0x0000000182de2dc4 CFRunLoopRunSpecific + 452
41 UIKit 0x00000001890