2

鉴于以下符号化的崩溃日志,是否更有可能由于线程 5 上的 ASIHTTPRequest 或线程 3 上的 NSURLConnection 而发生崩溃?我问是因为这个问题有类似的问题:ASIHTTPRequest, EXC_BAD_ACCESS when request done done

然而,他们有更多关于 ASIHTTPREquest 崩溃的信息,它在线程 3 上,而我的 NSURLConnection 在线程 3 上,信息比另一个多。

    Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Thread 0 Crashed:
0   libSystem.B.dylib               0x33bd52d4 __kill + 8
1   libSystem.B.dylib               0x33bd52c4 kill + 4
2   libSystem.B.dylib               0x33bd52b6 raise + 10
3   libSystem.B.dylib               0x33be9d72 abort + 50
4   libstdc++.6.dylib               0x31bdba20 __gnu_cxx::__verbose_terminate_handler() + 376
5   libobjc.A.dylib                 0x3347c594 _objc_terminate + 104
6   libstdc++.6.dylib               0x31bd9df2 __cxxabiv1::__terminate(void (*)()) + 46
7   libstdc++.6.dylib               0x31bd9e46 std::terminate() + 10
8   libstdc++.6.dylib               0x31bd9f16 __cxa_throw + 78
9   libobjc.A.dylib                 0x3347b4c4 objc_exception_throw + 64
10  Foundation                      0x33639910 __NSThreadPerformPerform + 648
11  CoreFoundation                  0x33a767d6 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 6
12  CoreFoundation                  0x33a485b0 __CFRunLoopDoSources0 + 376
13  CoreFoundation                  0x33a47e54 __CFRunLoopRun + 224
14  CoreFoundation                  0x33a47c80 CFRunLoopRunSpecific + 224
15  CoreFoundation                  0x33a47b88 CFRunLoopRunInMode + 52
16  GraphicsServices                0x33b0e4a4 GSEventRunModal + 108
17  GraphicsServices                0x33b0e550 GSEventRun + 56
18  UIKit                           0x32099322 -[UIApplication _run] + 406
19  UIKit                           0x32096e8c UIApplicationMain + 664
20  AppName                         0x00002172 main (main.m:14)
21  AppName                         0x0000213c start + 32

Thread 1:
0   libSystem.B.dylib               0x33b89974 kevent + 24
1   libSystem.B.dylib               0x33c33704 _dispatch_mgr_invoke + 88
2   libSystem.B.dylib               0x33c33174 _dispatch_queue_invoke + 96
3   libSystem.B.dylib               0x33c32b98 _dispatch_worker_thread2 + 120
4   libSystem.B.dylib               0x33bd724a _pthread_wqthread + 258
5   libSystem.B.dylib               0x33bcf970 start_wqthread + 0

Thread 2:
0   libSystem.B.dylib               0x33b5d268 mach_msg_trap + 20
1   libSystem.B.dylib               0x33b5f354 mach_msg + 44
2   CoreFoundation                  0x33a48648 __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x33a47ed2 __CFRunLoopRun + 350
4   CoreFoundation                  0x33a47c80 CFRunLoopRunSpecific + 224
5   CoreFoundation                  0x33a47b88 CFRunLoopRunInMode + 52
6   WebCore                         0x304df124 RunWebThread(void*) + 332
7   libSystem.B.dylib               0x33bd6886 _pthread_start + 242
8   libSystem.B.dylib               0x33bcba88 thread_start + 0

Thread 3:
0   libSystem.B.dylib               0x33b5d268 mach_msg_trap + 20
1   libSystem.B.dylib               0x33b5f354 mach_msg + 44
2   CoreFoundation                  0x33a48648 __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x33a47ed2 __CFRunLoopRun + 350
4   CoreFoundation                  0x33a47c80 CFRunLoopRunSpecific + 224
5   CoreFoundation                  0x33a47b88 CFRunLoopRunInMode + 52
6   Foundation                      0x336465f6 +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 206
7   Foundation                      0x33624192 -[NSThread main] + 38
8   Foundation                      0x3361d242 __NSThread__main__ + 966
9   libSystem.B.dylib               0x33bd6886 _pthread_start + 242
10  libSystem.B.dylib               0x33bcba88 thread_start + 0

Thread 4:
0   libSystem.B.dylib               0x33b8168c select$DARWIN_EXTSN + 20
1   CoreFoundation                  0x33a7f662 __CFSocketManager + 582
2   libSystem.B.dylib               0x33bd6886 _pthread_start + 242
3   libSystem.B.dylib               0x33bcba88 thread_start + 0

Thread 5:
0   libSystem.B.dylib               0x33b5d268 mach_msg_trap + 20
1   libSystem.B.dylib               0x33b5f354 mach_msg + 44
2   CoreFoundation                  0x33a48648 __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x33a47ed2 __CFRunLoopRun + 350
4   CoreFoundation                  0x33a47c80 CFRunLoopRunSpecific + 224
5   CoreFoundation                  0x33a57efe CFRunLoopRun + 42
6   StageBloc                       0x00032a08 +[ASIHTTPRequest runRequests] (ASIHTTPRequest.m:4269)
7   Foundation                      0x33624192 -[NSThread main] + 38
8   Foundation                      0x3361d242 __NSThread__main__ + 966
9   libSystem.B.dylib               0x33bd6886 _pthread_start + 242
10  libSystem.B.dylib               0x33bcba88 thread_start + 0
4

6 回答 6

2

正如其他人所说,故障转储中没有足够的信息来判断可能涉及的是 NSURLConnection 还是 ASIHTTPRequest 线程,控制台输出可能会有所帮助。

但是,根据过去的经验,它似乎很有可能涉及 ASIHTTPRequest。

您使用的是什么版本的 ASIHTTPRequest?

人们对 ASIHTTPRequest 最常见的问题是请求与委托生命周期的问题,因此我建议您仔细检查在 dealloc 方法中您拥有的可以成为 ASIHTTPRequest(或 ASINetworkQueue)的委托的每个对象:

[request cancel]
[request setDelegate:nil];
[request release];

这应该针对每个潜在的活动请求进行。

于 2011-03-09T07:19:23.637 回答
1

谷歌搜索 objc_exception_throw __NSThreadPerformPerform 并发现这个问题具有类似的崩溃回溯......您的异常可能是相同的缺失选择器。在该线程中,Brad Larson建议“转到您的构建设置并在其他警告标志中添加 -Wundeclared-selector”,以便在编译时捕捉到这一点。

于 2011-03-09T04:55:49.617 回答
0

原来是Three20的问题。当我最初安装它时,我不得不在构建设置中更改一些链接器标志。我的发行版本没有更改这些标志,只是我的调试版本。所以 App Store 的人们看到它崩溃了,因为那些必要的标志不存在。愚蠢的错误。

于 2011-04-09T19:52:33.560 回答
0

objc_exception_throw 堆栈中的 8 或 9 表示当然抛出了异常。您想查看设备的控制台日志(如果在模拟器中运行,则查看 xcode 的运行控制台)以查看在崩溃之前是否记录了消息。

(我对 os x 和 ios 崩溃报告有意见,为什么崩溃报告中没有记录到控制台的最后几行?这对多种崩溃非常有帮助)。

于 2011-03-09T02:10:54.547 回答
0

我用这个作为

[request clearDelegatesAndCancel];
request = nil;
于 2013-12-26T07:35:26.033 回答
0

据我所知,问题出在线程 5 中:

Thread 5:
0   libSystem.B.dylib               0x33b5d268 mach_msg_trap + 20
1   libSystem.B.dylib               0x33b5f354 mach_msg + 44
2   CoreFoundation                  0x33a48648 __CFRunLoopServiceMachPort + 88
3   CoreFoundation                  0x33a47ed2 __CFRunLoopRun + 350
4   CoreFoundation                  0x33a47c80 CFRunLoopRunSpecific + 224
5   CoreFoundation                  0x33a57efe CFRunLoopRun + 42
**6   StageBloc                       0x00032a08 +[ASIHTTPRequest runRequests] (ASIHTTPRequest.m:4269)**

ASIHTTPRequest 可能是问题所在。尝试将 ASIHTTPRequest 更新到最新版本:http ://allseeing-i.com/ASIHTTPRequest/

于 2011-09-16T14:40:17.287 回答