iOS 8上的神秘崩溃 [英] Mysterious crash on iOS 8

查看:158
本文介绍了iOS 8上的神秘崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在iOS 8上收到了很多关于此堆栈跟踪的崩溃报告:

 日期/时间:2014- 09-17T20:26:15Z 
OS版本:iPhone OS 8.0(12A365)
报告版本:104

异常类型:SIGSEGV
异常代码:SEGV_ACCERR在为0x1
崩溃螺纹:0

导线0毁损:
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 + 650123
6 libdispatch.dylib 0x314558b7 0x31454000 + 6327
7 libdispatch.dylib 0x314564fb dispat ch_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 0x26d6 EC63 _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 Pogoplug0x001bccc9 __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.m:11)
50 libdyld.dylib 0x31475aaf _tlv_at退出+ 8

任何可能出错的线索都将非常感激。
这里第216行

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

主要使用iPhone 5和iPad 3rd gen(不确定仅限于这些设备)。



更多信息
另一种频繁发生的崩溃具有类似的堆栈跟踪并且由此代码导致:

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

所以我强烈怀疑或我的自定义UINavigationController或Apple对它的更改。鉴于我不是唯一经历过此次崩溃的人 - 我更倾向于责怪Apple: - )



谢谢。

解决方案

我没有足够的声誉来评论和询问细节,但我遇到了同样的问题,主要是在iPhone 5上,还有5c,4s,iPad 3和iPod 5G,我相信即使它没有回答这个问题,我要说的也会有所帮助。



首先,这就是崩溃当您尝试使用OpenGL绘制内容或调整大小或在后台移动MKMapView 时会发生。在崩溃日志中可能并不明显,但我收到的每一个崩溃报告都是在后台启动应用程序的时候。考虑到UIViewController被称为InitialSlidingViewController,它似乎对你来说是一样的。在我的情况下大部分时间都是重要位置更新,但在您的情况下可能是后台获取或访问更新或无声远程通知。



我在我的应用程序中注意到的一件事是它在崩溃时设置导航栏,更具体地说是尝试渲染图像,我在导航栏中设置了着色图像。对于你来说这是另外一些需要OpenGL的东西,可能是像视差一样的动作效果,我在堆栈跟踪中看到_UIAccessibilityReduceMotion?



无论你是什么,或者我是事实上,它在某些设备上发生的事情更多,从不在某些设备上发生意味着它很可能是一个iOS错误。我在堆栈跟踪中也看到CI :: can_use_gpu(),因为它在检查是否可以使用gpu时使用gpu而崩溃。



那么我们如何防止它崩溃了?



你可以尝试禁用你正在使用的功能,对我来说,我会用正确颜色的图像替换图像,而不是使用淡色。

或者您可以尝试加载另一个视图控制器,可能只是一个空视图控制器,当应用程序在后台启动时,然后当它来到前台时,将视图控制器与您正在使用的视图控制器交换。 / p>

I'm getting a lot of crash reports on iOS 8 with this stack trace:

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 + 650123
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

Any clues to what can be wrong will be much appreciated. Here the line 216

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

Getting it mostly on iPhone 5 and iPad 3rd gen (not sure its limited to those devices).

More info Another crash that happens bit less frequently has similar stack trace and cause by this code:

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

So i strongly suspect or my custom UINavigationController or Apple's changes to it. Given that I'm not the only one experiencing this crash - i tend more to blame Apple :-)

Thanks.

解决方案

I don't have enough reputation to comment and ask for details, however I am experiencing the same issue, mostly on iPhone 5 but also 5c, 4s, iPad 3 and iPod 5G, and I believe that what I'm going to say will be helpful even if it doesn't answer the question.

First of all, this is the crash that happens when you try to draw something with OpenGL or resize or move a MKMapView in the background. It might not be obvious in your crash logs, but every single one of the crash reports I got was when the application started in the background. It seems like it's the same for you, considering the UIViewController is called InitialSlidingViewController. It was with "Significant Location Update" most of the time in my case, however it could be "Background Fetch" or "Visits" update or "Silent Remote Notification" in your case.

One thing I noticed in my app was that it was setting up the navigation bar when it crashed, more specifically trying to render an image, I have tinted images in my navigation bar. For you it's something else but something that requires OpenGL, maybe a motion effect like parallax, I see _UIAccessibilityReduceMotion in the stack trace?

Regardless of what you are, or I am, doing, the fact that it happens more on some devices and never on some devices means that it's most probably an iOS bug. I also see "CI::can_use_gpu()" in my stack trace, it crashes because it uses gpu while checking if it can use gpu.

So how do we prevent it from crashing?

You can try disabling the feature you are using, for me I'll replace the image with the correctly colored one, instead of using a tint color.
Or you can try loading another view controller, maybe just an empty view controller, when the app starts in the background, then when it comes foreground swap the view controller with the one you are using right now.

这篇关于iOS 8上的神秘崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆