2016-05-07 61 views
1

我已經構建了一個自定義的NSURLProtocol,它在WebView瀏覽時使用。但在看似隨機的時間(在瀏覽20秒或幾分鐘之間),我得到一個EXC_BREAKPOINT,該應用程序停止在我的NSURLProtocol中運行。0_ os_lock_corruption_abort在NSURLProtocol

我NSURLProtocol的相關部分的下方,這是它顯示EXC_BREAKPOINT

self.mutableData = NSMutableData(data: data!) 
self.response = response 
self.client?.URLProtocol(self, didReceiveResponse: response!, cacheStoragePolicy: NSURLCacheStoragePolicy.Allowed) 
self.client?.URLProtocol(self, didLoadData: data!) 
self.client?.URLProtocolDidFinishLoading(self) 

Xcode的錯誤的最後一行是下清晰可見: enter image description here

我就這一個完全迷惑。有沒有人有一個想法可能會導致這種情況,以及如何解決它?

謝謝!

山姆

+0

在生產中遇到同樣的崩潰,儘管我認爲我們從未在本地看到過這種情況。對此也感到困惑。 –

+0

@Sam Heather你是否設法找到解決方案?我也面臨同樣的問題。 – Gyanendra

+0

@Gyanendra仍然沒有解決方案,我很抱歉地說 –

回答

0

有沒有足夠的背景下,我完全瞭解這裏的代碼,更猜測什麼是錯的,但基本上發生了什麼事是,有已被釋放的鎖(互斥),但仍在使用在NSURL *堆棧中的某處。

這可能指向沒有得到正確保留的東西,但它是任何人猜測什麼或在哪裏。它甚至可能是你的協議沒有被正確保留,在這種情況下,你可以通過將協議對象分配給它自己的屬性來修復它,直到你調用最後一個委託方法,然後將它歸零。這就是說,有理由相信這是操作系統本身的錯誤,所以當你嘗試解決它時,你也應該提交一個錯誤。它會被其他人在這裏和蘋果開發者論壇上提出的同樣問題的其他人所誤解。 :-)

相關問題