qiniu / objc-sdk

Qiniu Resource (Cloud) Storage Objective-C SDK for Mac/iOS
http://developer.qiniu.com
MIT License
435 stars 197 forks source link

DNS 解析崩溃, -[QNSessionManager sendRequest: ...]崩溃 #375

Closed NicolasKim closed 3 years ago

NicolasKim commented 3 years ago

pod 'Qiniu', '7.4.2'

有两种崩溃日志 第一种

#21 Thread
SIGSEGV
SEGV_ACCERR
0 libobjc.A.dylib | 0x00000001a5f0bb28 objc_msgSend + 8
-- | --
1 CoreFoundation | 0x00000001a60ca134 0x00000001a60c3000 + 28980
2 Qiniu | 0x00000001057807e4 -[QNDnsPrefetcher getInetAddressByHost:] + 96
3 Qiniu | 0x000000010579afd4 +[QNURLProtocol canInitWithRequest:] + 196
4 CFNetwork | 0x00000001a9449530 CFNetServiceBrowserSearchForServices + 86620
5 CFNetwork | 0x00000001a94495dc CFNetServiceBrowserSearchForServices + 86792
6 CFNetwork | 0x00000001a958d844 _CFNetworkSetATSContext + 44316
7 CFNetwork | 0x00000001a94bf9d8 CFURLDownloadCancel + 25244
8 CFNetwork | 0x00000001a94bedf4 CFURLDownloadCancel + 22200
9 CFNetwork | 0x00000001a958bc00 _CFNetworkSetATSContext + 37080
10 libdispatch.dylib | 0x00000001a5eb29a8 0x00000001a5e58000 + 371112
11 libdispatch.dylib | 0x00000001a5eb3524 0x00000001a5e58000 + 374052
12 libdispatch.dylib | 0x00000001a5e90b3c 0x00000001a5e58000 + 232252
13 libdispatch.dylib | 0x00000001a5e91580 0x00000001a5e58000 + 234880
14 libdispatch.dylib | 0x00000001a5e9a84c 0x00000001a5e58000 + 272460
15 libsystem_pthread.dylib | 0x00000001a5f04b74 _pthread_wqthread + 272

#44 Thread  com.qiniu.transaction
0 libsystem_kernel.dylib | 0x00000001a5fe3014 __select
-- | --
1 libresolv.9.dylib | 0x00000001dc521e08 _dns_res_send
2 libresolv.9.dylib | 0x00000001dc522dc4 _res_9_nsend_2
3 libresolv.9.dylib | 0x00000001dc520104 _res_nquery_soa_min
4 libresolv.9.dylib | 0x00000001dc5203bc res_9_nquery
5 HappyDNS | 0x0000000104e4387c -[QNResolver query:networkInfo:error:]
6 HappyDNS | 0x0000000104e3f400 -[QNDnsManager queryInternalWithDomain:needRecordInfo:]
7 HappyDNS | 0x0000000104e3ecdc -[QNDnsManager queryRecords:]
8 Qiniu | 0x0000000105780ed4 -[QNDnsPrefetcher preFetchHost:dns:]
9 Qiniu | 0x0000000105780ce4 -[QNDnsPrefetcher preFetchHosts:dns:]
10 Qiniu | 0x0000000105780b38 -[QNDnsPrefetcher preFetchHosts:]
11 Qiniu | 0x0000000105780308 -[QNDnsPrefetcher localFetch]
12 Qiniu | 0x0000000105782b70 __55-[QNTransactionManager(Dns) addDnsLocalLoadTransaction]_block_invoke_2
13 Qiniu | 0x00000001057909cc -[QNTransaction handleAction:]
14 Qiniu | 0x00000001057917e8 -[QNTransactionManager handleTransaction:]
15 Qiniu | 0x0000000105791754 __44-[QNTransactionManager handleAllTransaction]_block_invoke
16 Qiniu | 0x0000000105790d24 -[QNTransactionList enumerate:]
17 Qiniu | 0x000000010579170c -[QNTransactionManager handleAllTransaction]
18 Qiniu | 0x0000000105791b94 -[QNTransactionManager createTimer]
19 Qiniu | 0x00000001057919cc -[QNTransactionManager threadHandler]
20 Foundation | 0x00000001a65d7e20 ___NSThread__start__
21 libsystem_pthread.dylib | 0x00000001a5f03d98 _pthread_start

第二种

#39 Thread
SIGABRT

0 libsystem_kernel.dylib | __pthread_kill + 8
-- | --
1 libsystem_pthread.dylib | _pthread_kill$VARIANT$armv81 + 296
2 libsystem_c.dylib | abort + 140
3 libsystem_malloc.dylib | __malloc_put
4 libsystem_malloc.dylib | _malloc_report + 60
5 libsystem_malloc.dylib | free + 532
6 CoreFoundation | -[__NSArrayM insertObject:atIndex:] + 372
7 Qiniu | -[QNSessionManager sendRequest:withIdentifier:withCompleteBlock:withProgressBlock:withCancelBlock:withAccess:] + 952
8 Qiniu | -[QNSessionManager multipartPost:withData:withParams:withFileName:withMimeType:withIdentifier:withCompleteBlock:withProgressBlock:withCancelBlock:withAccess:] + 1444
9 Qiniu | -[QNFormUpload nextTask:host:param:] + 816
10 libdispatch.dylib | __dispatch_client_callout + 16
11 libdispatch.dylib | __dispatch_continuation_pop$VARIANT$armv81 + 404
12 libdispatch.dylib | __dispatch_source_invoke$VARIANT$armv81 + 1232
13 libdispatch.dylib | __dispatch_queue_override_invoke + 372
14 libdispatch.dylib | __dispatch_root_queue_drain + 340
15 libdispatch.dylib | __dispatch_worker_thread2 + 116
16 libsystem_pthread.dylib | _pthread_wqthread + 464

#36 com.qiniu.transaction
0 libsystem_kernel.dylib | 0x00000001dcd1c0f4 mach_msg_trap
-- | --
1 libsystem_kernel.dylib | 0x00000001dcd1b5a0 mach_msg
2 CoreFoundation | 0x00000001dd11c120 0x00000001dd072000
3 CoreFoundation | 0x00000001dd117030 0x00000001dd072000
4 CoreFoundation | 0x00000001dd1167c0 CFRunLoopRunSpecific
5 Foundation | 0x00000001ddae498c 0x00000001ddadd000
6 Qiniu | 0x00000001090dda84 -[QNTransactionManager threadHandler]
7 Foundation | 0x00000001ddc114a0 0x00000001ddadd000
8 libsystem_pthread.dylib | 0x00000001dcda92c0 0x00000001dcd9e000
9 libsystem_pthread.dylib | 0x00000001dcda9220 _pthread_start
zisulu commented 3 years ago

第一种我好像也遇到了,我是7.4.4版本: Thread 11 name: com.qiniu.transaction Thread 11: 0 libsystem_kernel.dylib 0x00000001d3572c10 0x1d354c000 + 158736 1 libresolv.9.dylib 0x00000001ee21be00 0x1ee207000 + 85504 2 libresolv.9.dylib 0x00000001ee2191c0 0x1ee207000 + 74176 3 libresolv.9.dylib 0x00000001ee219478 0x1ee207000 + 74872 4 nyqbz 00000001008246d0 -[QNResolver query:networkInfo:error:] + 6768336 [QNResolver.m : 38] 5 nyqbz 0000000100820584 -[QNDnsManager queryInternalWithDomain:needRecordInfo:] + 6751620 [QNDnsManager.m : 0] 6 nyqbz 000000010081fe60 -[QNDnsManager queryRecords:] + 6749792 [QNDnsManager.m : 0] 7 nyqbz 000000010086f9e0 -[QNDnsPrefetcher preFetchHost:dns:] + 7076320 [QNDnsPrefetcher.m : 0] 8 nyqbz 000000010086f7f0 -[QNDnsPrefetcher preFetchHosts:dns:] + 7075824 [QNDnsPrefetcher.m : 239] 9 nyqbz 000000010086f644 -[QNDnsPrefetcher preFetchHosts:] + 7075396 [QNDnsPrefetcher.m : 0] 10 nyqbz 000000010086ef7c -[QNDnsPrefetcher checkWhetherCachedDnsValid] + 7073660 [QNDnsPrefetcher.m : 148] 11 nyqbz 000000010087190c 75-[QNTransactionManager(Dns) setDnsCheckWhetherCachedValidTransactionAction]_block_invoke + 7084300 [QNDnsPrefetcher.m : 554] 12 nyqbz 000000010087f52c -[QNTransaction handleAction:] + 7140652 [QNTransactionManager.m : 82] 13 nyqbz 0000000100880348 -[QNTransactionManager handleTransaction:] + 7144264 [QNTransactionManager.m : 0] 14 nyqbz 00000001008802b4 44-[QNTransactionManager handleAllTransaction]_block_invoke + 7144116 [QNTransactionManager.m : 283] 15 nyqbz 000000010087f884 -[QNTransactionList enumerate:] + 7141508 [QNTransactionManager.m : 128] 16 nyqbz 000000010088026c -[QNTransactionManager handleAllTransaction] + 7144044 [QNTransactionManager.m : 283] 17 Foundation 0x00000001a9cb9bbc 0x1a9b54000 + 1465276 18 CoreFoundation 0x00000001a8955a30 0x1a88bb000 + 633392 19 CoreFoundation 0x00000001a8955634 0x1a88bb000 + 632372 20 CoreFoundation 0x00000001a8954b14 0x1a88bb000 + 629524 21 CoreFoundation 0x00000001a894eeb0 0x1a88bb000 + 605872 22 CoreFoundation 0x00000001a894e200 0x1a88bb000 + 602624 23 Foundation 0x00000001a9b5c278 0x1a9b54000 + 33400 24 nyqbz 00000001008805e4 -[QNTransactionManager threadHandler] + 7144932 [QNTransactionManager.m : 317] 25 Foundation 0x00000001a9cb8c48 0x1a9b54000 + 1461320 26 libsystem_pthread.dylib 0x00000001ee741b70 0x1ee738000 + 39792

YangSen-qn commented 3 years ago

@NicolasKim @zisulu 升级下最新版本v8.0.5

zisulu commented 3 years ago

@NicolasKim @zisulu 升级下最新版本v8.0.5

行吧。。我的qiniu是用的pod集成的PLShortVideoKit依赖的qiniu 7.4.4版本,只能手动集成这个库了。