2014-12-01 50 views
12

我有這個崩潰發生在我們的生產應用程序很多,但我們無法重現它。它僅在使用iOS8 SDK的iOS8上發生。iOS崩潰:CFNetwork HTTPReadFilter :: doPlainRead(StreamReader *,無符號字符*,長,CFStreamError *,無符號字符*)

HTTPReadFilter::doPlainRead(StreamReader*, unsigned char*, long, CFStreamError*, unsigned char*) inside CFNetwork. Crashed: com.apple.NSURLConnectionLoader EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00000000 

StackTrace: 

     libsystem_platform.dylib  
    _platform_memmove + 185 

    CFNetwork 
    HTTPReadFilter::doPlainRead(StreamReader*, unsigned char*, long, CFStreamError*, unsigned char*) + 178 

    CFNetwork 
    HTTPReadFilter::_streamImpl_Read(unsigned char*, long, CFStreamError*, unsigned char*) + 394 

    CFNetwork 
    CoreStreamBase::_streamInterface_Read(unsigned char*, long) + 98 

    CFNetwork 
    HTTPNetStreamInfo::_streamImpl_Read(__CFReadStream*, unsigned char*, long, CFStreamError*, unsigned char*) + 306 

    CFNetwork 
    CFNetworkReadStream::httpStreamRead(__CFReadStream*, unsigned char*, long, CFStreamError*, unsigned char*, void*) + 44 

    CoreFoundation 
    CFReadStreamRead + 328 

    CFNetwork 
    HTTPNetStreamInfo::_readStreamClientCallBack(__CFReadStream*, unsigned long) + 128 

    CFNetwork 
    CFNetworkReadStream::_readStreamClientCallBackCallBack(__CFReadStream*, unsigned long, void*) + 38 

    CoreFoundation 
    _signalEventSync + 146 

    CoreFoundation 
    _cfstream_shared_signalEventSync + 342 
     CoreFoundation 
    __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14 
     CoreFoundation 
    CFRunLoopRunInMode + 106 

    CFNetwork 
    +[NSURLConnection(Loader) _resourceLoadLoop:] + 486 
     Foundation 
    __NSThread__main__ + 1118 
     libsystem_pthread.dylib 
    _pthread_start + 118 

任何幫助非常感謝!

+2

看到這一點。你是在所有的拱門上還是僅在arm64上看到這個? – 2015-01-04 21:02:03

+0

你能給我們更多的背景嗎,偶然使用'SDWebImage'嗎? – 2015-01-09 07:26:02

+0

不使用SDWebImage,但我正在進行web服務調用來更新我的產品圖像。 '[NSURLConnection sendSynchronousRequest:req returningResponse:&resp error:&err];'是我在一個blockOperation中運行的行,它在for循環中。它僅在iOS-8上發生,並且每隔幾分鐘就會發生一次。不知何故'req'對象正在給予EXC_BAD_ACC。 @RyanRomanchuk你能找出你的問題嗎? – 2015-01-12 03:01:10

回答

2

這似乎確實是一個iOS 8的錯誤。儘量不要爲您的NSURLCache設置自定義大小。檢查這個https://devforums.apple.com/message/1102182#1102182

+0

謝謝你的鏈接Raphael。我沒有自定義NSURLCache的大小。我只是這樣做[[NSURLCache sharedURLCache] removeAllCachedResponses];當應用程序啓動,然後在一個webservice調用我這樣做[請求setCachePolicy:NSURLRequestReloadIgnoringLocalCacheData]; [[NSURLCache sharedURLCache] removeCachedResponseForRequest:request];你知道這是否也會影響CFNetwork崩潰?我這樣做是因爲有時app不會清除緩存,也不會查看服務器響應。 – 2015-02-12 04:35:51

+0

我不知道你提到的代碼是否也會導致崩潰。我還沒有在AppStore上更新我的版本,刪除NSURLCache的自定義大小。我會在這裏發佈結果。 – 2015-02-12 12:01:11

+0

只是爲了說明,沒有爲NSURLCache設置自定義大小確實解決了這個問題。這是Apple的一個bug的解決方法。 – 2015-02-23 16:54:23