2014-09-18 64 views
12

我得到在iOS 8大量的崩潰報告與該堆棧跟蹤:神祕墜毀在iOS 8

Date/Time:  2014-09-17T20:26:15Z 
OS Version:  iPhone OS 8.0 (12A365) 
Report Version: 104 

Exception Type: SIGSEGV 
Exception Codes: SEGV_ACCERR at 0x1 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libGPUSupportMercury.dylib   0x2a4f88fe gldGetBufferAllocationIdentifiers + 194 
1 libGPUSupportMercury.dylib   0x2a4f93cb gpusSubmitDataBuffers + 108 
2 libGPUSupportMercury.dylib   0x2a4f9249 gldCreateContext + 206 
3 GLEngine        0x2613c93b gliCreateContextWithShared + 600 
4 OpenGLES        0x26218ab3 glGetFramebufferParameteriAPPLE + 776 
5 CoreImage       0x23e88b8b 0x23dea000 + 65
6 libdispatch.dylib     0x314558b7 0x31454000 + 6327 
7 libdispatch.dylib     0x314564fb dispatch_once_f + 60 
8 CoreImage       0x23e88afb 0x23dea000 + 649979 
9 CoreImage       0x23e06c79 0x23dea000 + 117881 
10 CoreUI        0x29478837 CUIEqualRenditionKeysIgnoringAttribute + 71800 
11 libsystem_pthread.dylib    0x315b9dcf sched_get_priority_min + 64 
12 libsystem_platform.dylib    0x315b2867 _os_once + 40 
13 libsystem_pthread.dylib    0x315b7f8b pthread_once + 48 
14 CoreUI        0x294787d9 CUIEqualRenditionKeysIgnoringAttribute + 71706 
15 CoreUI        0x2947faf7 CUIEqualRenditionKeysIgnoringAttribute + 101176 
16 UIKit        0x26f649db _UIGraphicsEndLetterpressWithStyle + 20792 
17 UIKit        0x26cf2875 UIGraphicsEndImageContext + 7838 
18 UIKit        0x26cf1fb5 UIGraphicsEndImageContext + 5598 
19 UIKit        0x26fe3db9 _UINavigationButtonUpdateAccessibilityBackgroundsForBlendMode + 287838 
20 UIKit        0x26cf19c7 UIGraphicsEndImageContext + 4080 
21 UIKit        0x26d8c1b1 UICeilToViewScale + 55778 
22 UIKit        0x26d70143 _UIBarHairlineShadowColorForBarStyle + 10164 
23 UIKit        0x26ce2b37 0x26cd6000 + 52023 
24 QuartzCore       0x2670accd CABackingStoreGetTypeID + 894 
25 QuartzCore       0x267066b5 CARenderServerGetServerPort + 5366 
26 UIKit        0x26cf5183 UIGraphicsGetImageFromCurrentImageContext + 2068 
27 UIKit        0x26cf1fb5 UIGraphicsEndImageContext + 5598 
28 UIKit        0x26d6efc5 _UIBarHairlineShadowColorForBarStyle + 5686 
29 UIKit        0x26d6ec63 _UIBarHairlineShadowColorForBarStyle + 4820 
30 UIKit        0x26d6e3cd _UIBarHairlineShadowColorForBarStyle + 2622 
31 UIKit        0x26fd5a6f _UINavigationButtonUpdateAccessibilityBackgroundsForBlendMode + 229652 
32 UIKit        0x26d6b837 _UIAccessibilityReduceMotion + 16948 
33 UIKit        0x26ce53d9 _UIApplicationLinkedOnOrAfter + 2526 
34 UIKit        0x26ce535d _UIApplicationLinkedOnOrAfter + 2402 
35 UIKit        0x26d6b24d _UIAccessibilityReduceMotion + 15434 
36 UIKit        0x26fd7ef9 _UINavigationButtonUpdateAccessibilityBackgroundsForBlendMode + 239006 
37 UIKit        0x26d6b0b3 _UIAccessibilityReduceMotion + 15024 
38 UIKit        0x26dc516f UIRectIntegralWithScale + 1040 
39 Pogoplug        0x001bccc9 __41-[InitialSlidingViewController didSignIn]_block_invoke (InitialSlidingViewController.m:216) 
40 libdispatch.dylib     0x314558cb 0x31454000 + 6347 
41 libdispatch.dylib     0x314558b7 0x31454000 + 6327 
42 libdispatch.dylib     0x314590bf _dispatch_main_queue_callback_4CF + 720 
43 CoreFoundation      0x2380dbe9 CFRunLoopTimerSetTolerance + 3370 
44 CoreFoundation      0x2380c2e9 _CFRunLoopGet2b + 2926 
45 CoreFoundation      0x2375a621 CFRunLoopRunSpecific + 474 
46 CoreFoundation      0x2375a433 CFRunLoopRunInMode + 104 
47 GraphicsServices      0x2ab080a9 GSEventRunModal + 134 
48 UIKit        0x26d44809 UIApplicationMain + 1438 
49 Pogoplug        0x0012c4bf main (main.m:11) 
50 libdyld.dylib      0x31475aaf _tlv_atexit + 8 

什麼可以是錯誤的任何線索將非常感激。 這裏行216

MenuViewController *menuVC = [[MenuViewController alloc] initWithNibName:nil bundle:nil]; 
NavControllerPortrait *navController = [[NavControllerPortrait alloc] initWithRootViewController:menuVC]; 

獲取它主要是在iPhone 5和iPad 3代(不知道其限於這些設備)。

更多信息 出現這種情況有點不太經常通過這個代碼也有類似的堆棧跟蹤和導致另一個崩潰:

CELoginViewController *loginVC = [[CELoginViewController alloc] initWithNibName:nil bundle:nil]; 
NavControllerPortrait *nav = [[NavControllerPortrait alloc] initWithRootViewController:loginVC]; 

所以我強烈懷疑或我的自定義的UINavigationController或蘋果公司對它進行更改。鑑於我不是唯一一個遇到這種崩潰的人 - 我傾向於責怪蘋果:-)

謝謝。

+0

你還沒有給我們太多的繼續。我沒有看到代碼有任何問題。它在運行iOS 8的模擬器中工作嗎?如果確實如此,那麼您唯一的希望就是找到運行iOS 8的iPhone 5並對其進行測試。 – 2014-09-18 19:17:20

+0

在iOS 8的iPhone 5s/iPad Air上試用過它,它也能正常工作,模擬器也一樣。 – 2014-09-19 16:10:56

+0

@CherpakEvgeny不幸的是,改變着色的圖像並沒有解決這個問題,你是否能夠修復你的問題? – kbtombul 2014-10-14 21:40:13

回答

23

我沒有足夠的評論和要求細節的聲望,但是我遇到了同樣的問題,主要是在iPhone 5上,但也有5c,4s,iPad 3和iPod 5G,我相信我是什麼即使它沒有回答這個問題,也會有所幫助。

首先,這是當您嘗試使用OpenGL繪製某些東西或在背景中調整大小或移動MKMapView 時發生的崩潰。它在崩潰日誌中可能並不明顯,但我得到的每一個崩潰報告都是應用程序在後臺啓動的時候。它看起來對你來說是一樣的,考慮到UIViewController被稱爲InitialSlidingViewController。在我的情況下,大部分時間都是「重要位置更新」,但在您的情況下,它可能是「後臺抓取」或「訪問」更新或「無聲遠程通知」。

我在應用程序中注意到的一件事是,它在崩潰時設置了導航欄,更具體地說,試圖渲染圖像,我在導航欄中着色了圖像。對你來說,這是另一回事,但需要OpenGL,也許像視差這樣的運動效果,我在棧跟蹤中看到_UIAccessibilityReduceMotion?

無論你是什麼,或者我在做什麼,事實上它在某些設備上發生的事情,從來沒有在某些設備上發生,這意味着它最有可能是一個iOS錯誤。我也在我的堆棧跟蹤中看到「CI :: can_use_gpu()」,它崩潰是因爲它在檢查GPU是否可以使用GPU時使用了GPU。

那麼我們如何防止它崩潰呢?

您可以嘗試禁用正在使用的功能,對於我來說,我會用正確顏色的圖像替換圖像,而不是使用色調顏色。
或者你可以嘗試加載另一個視圖控制器,也許只是一個空視圖控制器,當應用程序在後臺啓動,然後當它前景交換視圖控制器與你現在使用的視圖控制器。

+2

我其實已經懷疑過 - 出於同樣的原因,並且有一句話「偉大的思想認爲像」 - 所以我想這是這種情況 – 2014-09-23 13:00:20

+0

我不懷疑這是一個iOS bug:https://developer.apple.com/library/ios/qa/qa1766/_index.html – 2014-09-24 10:00:14

+3

感謝@Sjoerd提及的文檔,我應該在我的答案中包含該鏈接,我會相應地更新。問題在於iOS在內部使用OpenGL進行一些基本任務,並導致此次崩潰。我有一個視圖控制器,它有一個帶有着色圖像的UIBarButtonItem。我在viewDidLoad中設置了這個按鈕,並且我在applicationDidFinishLaunching中使這個視圖控制器rootViewController。我認爲這是一個非常基本的設置,有這種問題。 – kbtombul 2014-09-29 04:41:12

1

我在其中一個選項卡上包含mapKit視圖的應用程序上看到了這一點。據報道,該錯誤與在地圖上執行的更新綁定在應用程序背景中時發生,並且我意識到唯一可能得到更新的是用戶位置「閃爍的」藍點。所以我添加了代碼來設置

self.mapview.showsUserLocation = NO; 

每當應用程序獲得後臺,並將其設置爲YES時,它變爲活動。這似乎已經停止了我的alpha測試中的錯誤。一旦我從beta測試中獲得結果,我會更新這個。

+1

仍然看到用戶的這次崩潰,所以再次挖掘它。堆棧跟蹤包括對「VKPolygonTileSource TileForData:downloadKey:sourceKey」方法的調用,所以我想知道在應用程序背景下正在下載或更新地圖切片。一種可能的情況 - 連接性差,連接速度慢,地圖開始加載,用戶背景通過主頁按鈕,地圖圖塊完成加載,嘗試更新,崩潰。 – 2015-04-06 17:25:18

+0

仍然看到這次崩潰,但頻率更低(每週一次)。這是一款關鍵業務的企業應用程序,所以即使這也是有問題的。 :-( – 2015-05-28 14:56:03

2

有關於這個非常行爲,在蘋果員工承認這是一個錯誤的蘋果開發者論壇的討論:

https://devforums.apple.com/thread/246744?start=0&tstart=0

的iOS 8.3發佈短短數天前,如果我們的碰撞監控是準確的,8.3有一個很好的機會解決了這個問題。一旦我們在我們的腰帶上獲得了超過幾天的數據,我會更新這個答案。編輯:經過Fabric/Crashlytics一週的崩潰報告後,它看起來像8.3已經解決了這個崩潰的兩個來源:一個來自MapKit,它試圖渲染矢量地圖圖塊和/或用OpenGL覆蓋柵格圖塊ES在後臺,另一個來自UIKit,它試圖在後臺渲染UITabBar的選項卡圖像(同樣,在後臺使用OpenGL ES)。我很想聽聽別人在製作中看到的內容。

+0

Cool,thx。同時我已經添加了代碼來解決這個問題,爲每個人修復它,而不僅僅是升級到8.3 – 2015-04-16 15:35:47

+0

的用戶,我仍然在8.3中看到這個崩潰... – 2015-06-12 21:52:10