5

I have an app in the field that is crashing while in the foreground. I have a MKMapView in a root view controller. 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. This is happening in 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

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
Community
  • 1
  • 1

2 Answers2

0

A SIGSEV usually means illegal memory addressing (nil, destroyed object) or you have a device that has failing memory. 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.

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.

Derek
  • 1,170
  • 12
  • 16
0

It's possible the MKMapView is getting deallocated, but the delegate is still trying to send it messages, hence the crash. Try setting the delegate to nil when presenting the modal, then set it back to self once the modal is dismissed.

bmueller
  • 2,681
  • 1
  • 27
  • 45