简体   繁体   English

sigsegv segv_accerr在ios7中崩溃mkmapview

[英]sigsegv segv_accerr crash mkmapview in ios7

I have an app in the field that is crashing while in the foreground. 我在该领域有一个应用程序在前台崩溃。 I have a MKMapView in a root view controller. 我在根视图控制器中有一个MKMapView。 This root view controller is showing a modal view controller on top. 此根视图控制器在顶部显示模态视图控制器。 When the modal view controller is dismissed, it appears a crash is happening while rendering the MKMapView in the root view controller after the call to its viewWillAppear method. 当模态视图控制器被解除时,在调用其viewWillAppear方法之后,在根视图控制器中呈现MKMapView时,似乎发生了崩溃。 This is happening in ios7. 这发生在ios7中。 Anyone know what could be the cause of such a crash? 任何人都知道造成这种崩溃的原因是什么? The crash is happening in the foreground and is not the same as Occasionally iOS 6 MKMapView crashes in initWithFrame 崩溃发生在前台,并且与initWithFrame中偶尔出现的iOS 6 MKMapView崩溃不一样

stack trace: 堆栈跟踪:

Exception Type:  SIGSEGV
Exception Codes: SEGV_ACCERR at 0x200000a0
Crashed Thread:  13

0     IMGSGX543GLDriver                     0x2efadfd6 sgxBindCurrentTextures + 118
1     IMGSGX543GLDriver                     0x2efaf143 sgxBeginRender + 399
2     IMGSGX543GLDriver                     0x2efa75c3 glrClearCore + 235
3     IMGSGX543GLDriver                     0x2efa73e5 glrClear + 193
4     GLEngine                              0x323640c7 glClear_Exec + 395
5     VectorKit                             0x37bf1531 -[VKMapModel drawScene:withContext:] + 125
6     VectorKit                             0x37bf13f1 -[VKMapModel recursiveDrawScene:withContext:pass:] + 189
7     VectorKit                             0x37bf12d5 -[VKModelObject recursiveDrawScene:withContext:pass:] + 237
8     VectorKit                             0x37bf11e1 -[VKWorld drawScene:withContext:] + 45
9     VectorKit                             0x37bf0a0d -[VKScreenCanvas _renderCore:] + 353
10   VectorKit                              0x37befba7 __36-[VKScreenCanvas drawWithTimestamp:]_block_invoke_2 + 51
11   VectorKit                              0x37bd527f -[VGLContext perform:] + 67
12   VectorKit                              0x37befb5d __36-[VKScreenCanvas drawWithTimestamp:]_block_invoke + 113
13   libdispatch.dylib                      0x3ab36d1b _dispatch_call_block_and_release + 11
14   libdispatch.dylib                      0x3ab3d273 _dispatch_queue_drain$VARIANT$mp + 375
15   libdispatch.dylib                      0x3ab3d06b _dispatch_queue_invoke$VARIANT$mp + 43
16   libdispatch.dylib                      0x3ab3dce1 _dispatch_root_queue_drain + 77
17   libdispatch.dylib                      0x3ab3dc23 _dispatch_worker_thread + 87
18   libsystem_pthread.dylib                0x3ac7ac1d _pthread_body + 141
19   libsystem_pthread.dylib                0x3ac7ab8f _pthread_start + 103

A SIGSEV usually means illegal memory addressing (nil, destroyed object) or you have a device that has failing memory. SIGSEV通常意味着非法内存寻址(nil,被破坏的对象)或者你有一个内存失败的设备。 If you're using custom map images, they may be too large or stressing that device's memory and causing it to fail. 如果您使用自定义地图图像,它们可能太大或者压力设备的内存并导致其失败。 In general, MapKits don't handle more than 100 points properly on older devices. 通常,MapKits在旧设备上不能正确处理超过100个点。

Try testing different devices. 尝试测试不同的设备。 If it fails on each device, then you most likely have an error in your code where it's loading custom graphics. 如果它在每台设备上都出现故障,那么您的代码中很可能会出现加载自定义图形的错误。

If it fails on only the one device, then you most likely have an issue with your device. 如果仅在一台设备上出现故障,则您的设备很可能出现问题。 Replace it. 代替它。

It's possible the MKMapView is getting deallocated, but the delegate is still trying to send it messages, hence the crash. MKMapView可能会被取消分配,但委托仍在尝试向其发送消息,因此崩溃。 Try setting the delegate to nil when presenting the modal, then set it back to self once the modal is dismissed. 尝试在呈现模态时将委托设置为nil,然后在模态被解除后将其设置为自我。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM