I am having a lot of Sprite Kit crashes in iOS 9. The below are logs I am getting. I don't think this has anything to do with my code and seems more like a SpriteKit bug in iOS 9. Anyone else faced the same issue and resolved yet?
Thread : Crashed: com.apple.main-thread
0 libmetal_timestamp.dylib 0x2ca73322 (Missing)
1 libmetal_timestamp.dylib 0x2ca73e13 (Missing)
2 RawCamera 0x226b068d (Missing)
3 OpenAL 0x2685a17f (Missing)
4 OpenAL 0x2685a0b3 (Missing)
5 OpenGLES 0x26865079 -[EAGLContext presentRenderbuffer:] + 60
6 Jet 0x2dc85eb7 jet_context_OpenGL::present(std::__1::shared_ptr<jet_texture> const&, double) + 290
7 SpriteKit 0x280ec63d SKCRenderer::render(SKCNode*, float vector[4], std::__1::shared_ptr<jet_framebuffer> const&, unsigned int vector[4], matrix_float4x4, bool, NSDictionary*, SKCStats*, SKCStats*) + 1644
8 SpriteKit 0x28089a7f __51-[SKView _vsyncRenderForTime:preRender:postRender:]_block_invoke + 998
9 SpriteKit 0x28089d59 __51-[SKView _vsyncRenderForTime:preRender:postRender:]_block_invoke196 + 300
10 SpriteKit 0x280895e1 -[SKView _vsyncRenderForTime:preRender:postRender:] + 440
11 SpriteKit 0x2808b15b __29-[SKView setUpRenderCallback]_block_invoke + 118
12 SpriteKit 0x280bc1fb -[SKDisplayLink _callbackForNextFrame:] + 58
13 QuartzCore 0x27afe85f CA::Display::DisplayLinkItem::dispatch() + 106
14 QuartzCore 0x27afe6af CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 594
15 IOMobileFramebuffer 0x2db8b58b IOMobileFramebufferVsyncNotifyFunc + 86
16 IOKit 0x25179345 IODispatchCalloutFromCFMessage + 256
17 CoreFoundation 0x2406ab59 __CFMachPortPerform + 132
18 CoreFoundation 0x2407cf7b __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
19 CoreFoundation 0x2407c68f __CFRunLoopDoSource1 + 342
20 CoreFoundation 0x2407aaa1 __CFRunLoopRun + 1704
21 CoreFoundation 0x23fcd0d9 CFRunLoopRunSpecific + 516
22 CoreFoundation 0x23fccecd CFRunLoopRunInMode + 108
23 GraphicsServices 0x2d342af9 GSEventRunModal + 160
24 UIKit 0x282562dd UIApplicationMain + 144
25 jumpytiles 0x9358c main (AppDelegate.swift:17)
26 libdyld.dylib 0x35ec8873 start + 2
Related
I am using GoogleMaps to show markers on specific longitude and latitude. But I am getting the following crash on crashlytics.
Crashed: com.apple.main-thread
0 libGLProgrammability.dylib 0x377d0 glvmRasterOpDepthStencilTest
1 libGLProgrammability.dylib 0x86195 glvmInterpretFPTransformFour
2 GLRendererFloat 0x12986 gldLLVMFPTransform2x2
3 GLRendererFloat 0x11af8 gldMergeScanlines2x2
4 GLRendererFloat 0x27feb gldLLVMVecPolyRender
5 GLRendererFloat 0xf540 gldRenderFillPolygonPtr
6 GLEngine 0xded21 gleLLVMVecPrimMultiRender
7 GLEngine 0x1e6f7 gleFlushAtomicFunc
8 GLEngine 0x6b10d glDrawElements_IMM_ES2Exec
9 MyProjectName 0xcd4d7d gmscore::renderer::GLEntity::Draw(gmscore::renderer::EntityRenderer*, gmscore::renderer::RenderBin*, GMSPassID) + 827
10 MyProjectName 0xcd9656 void gmscore::renderer::RenderBin::PerformDraw<std::__1::__tree_const_iterator<gmscore::base::reffed_ptr<gmscore::renderer::BaseEntity>, std::__1::__tree_node<gmscore::base::reffed_ptr<gmscore::renderer::BaseEntity>, void*>*, long> >(std::__1::__tree_const_iterator<gmscore::base::reffed_ptr<gmscore::renderer::BaseEntity>, std::__1::__tree_node<gmscore::base::reffed_ptr<gmscore::renderer::BaseEntity>, void*>*, long>, std::__1::__tree_const_iterator<gmscore::base::reffed_ptr<gmscore::renderer::BaseEntity>, std::__1::__tree_node<gmscore::base::reffed_ptr<gmscore::renderer::BaseEntity>, void*>*, long>, gmscore::renderer::EntityRenderer*, bool) + 134
11 MyProjectName 0xda2a0d gmscore::vector::GMSVectorTileRenderBin::Draw(gmscore::renderer::EntityRenderer*) + 87
12 MyProjectName 0xcd25ae gmscore::renderer::EntityRenderer::Draw(bool) + 980
13 MyProjectName 0xd6c1d5 -[GMSPhoenixRenderer drawForced:] + 62
14 MyProjectName 0xd4e6b0 -[GMSEntityRendererView draw] + 399
15 MyProjectName 0xd9dadf -[GMSVectorMapView draw] + 42
16 MyProjectName 0xd4cc1c -[GMSEntityRendererView displayLinkFired:] + 46
17 MyProjectName 0xd4b796 -[GMSDisplayLink displayLinkFired:] + 394
18 QuartzCore 0xf474 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 932
19 QuartzCore 0x10e9c6 display_timer_callback(__CFMachPort*, void*, long, void*) + 395
20 CoreFoundation 0x4eb42 __CFMachPortPerform + 157
21 CoreFoundation 0x83125 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
22 CoreFoundation 0x824cc __CFRunLoopDoSource1 + 617
23 CoreFoundation 0x7c901 __CFRunLoopRun + 2420
24 CoreFoundation 0x7ba90 CFRunLoopRunSpecific + 562
25 GraphicsServices 0x3c8e GSEventRunModal + 139
26 UIKitCore 0xcda90e -[UIApplication _run] + 928
27 UIKitCore 0xcdf569 UIApplicationMain + 101
28 MyProjectName 0x7cf09f main + 12 (AppDelegate.swift:12)
29 ??? 0x110b23f21 (Missing)
30 ??? 0x20879351e (Missing)
31 ??? 0x20878e000 (Missing)
I have read this thread but found no solution. I thought it might have been fixed in pod version 6.2.1 but I have tried pod 'GoogleMaps', '6.2.1' still no solution. My crash is happening in the following environment:
Xcode 13.3.1
simulator iPhone 13
iOS 15.4
Does anyone know how to solve this issue?
I have a SKEffectNode that contains a node that will change it's children dynamically through times (Remove children and add children dynamically very often). And I keep getting this crash log (only happens on iOS10) on Fabric however i cannot reproduce it on my own devices. The log seems likes it is trying to calculate the bounds of this node and get some errors.
Does anyone has the same situation? plz give me sound suggestions and advices. Thanks!
0 SpriteKit 0x190fc2810 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 100
1 SpriteKit 0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176
2 SpriteKit 0x190fc3114 ___ZN7SKCNode25getAccumulatedBoundingBoxEv_block_invoke + 36
3 SpriteKit 0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172
4 SpriteKit 0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176
5 SpriteKit 0x190fc3114 ___ZN7SKCNode25getAccumulatedBoundingBoxEv_block_invoke + 36
6 SpriteKit 0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172
7 SpriteKit 0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176
8 SpriteKit 0x190fc3114 ___ZN7SKCNode25getAccumulatedBoundingBoxEv_block_invoke + 36
9 SpriteKit 0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172
10 SpriteKit 0x190fc2b50 SKCNode::getAccumulatedBoundingBox() + 176
11 SpriteKit 0x19102a090 ___ZN13SKCEffectNode19ensure_framebuffersEP13SKCRenderInfoDv4_j_block_invoke + 36
12 SpriteKit 0x190fc2858 SKCNode::walkChildren(void (SKCNode*, bool*) block_pointer, bool, bool) + 172
13 SpriteKit 0x191029ca0 SKCEffectNode::ensure_framebuffers(SKCRenderInfo*, unsigned int vector[4]) + 268
14 SpriteKit 0x19102a1d0 SKCEffectNode::addRequistePasses(SKCRenderInfo*, std::__1::list<std::__1::shared_ptr<SKCRenderPass>, std::__1::allocator<std::__1::shared_ptr<SKCRenderPass> > >*) + 248
15 SpriteKit 0x19106485c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 376
16 SpriteKit 0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872
17 SpriteKit 0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872
18 SpriteKit 0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872
19 SpriteKit 0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872
20 SpriteKit 0x191064a4c SKCRenderer::doBuildRenderGroup(SKCNode*, SKCRenderState, matrix_float4x4) + 872
21 SpriteKit 0x191063e30 SKCRenderer::buildRenderGroup(std::__1::shared_ptr<SKCRenderSortGroup> const&) + 792
22 SpriteKit 0x191061228 SKCRenderer::buildRenderPass(std::__1::shared_ptr<SKCRenderPass> const&) + 92
23 SpriteKit 0x191060c94 SKCRenderer::render(SKCNode*, float vector[4], std::__1::shared_ptr<jet_framebuffer> const&, unsigned int vector[4], matrix_float4x4, bool, NSDictionary*, SKCStats*, SKCStats*, double) + 1600
24 SpriteKit 0x190ff000c __51-[SKView _vsyncRenderForTime:preRender:postRender:]_block_invoke + 1564
25 SpriteKit 0x190ff04a0 __51-[SKView _vsyncRenderForTime:preRender:postRender:]_block_invoke.336 + 408
26 SpriteKit 0x190fef924 -[SKView _vsyncRenderForTime:preRender:postRender:] + 572
27 SpriteKit 0x190ff154c __29-[SKView setUpRenderCallback]_block_invoke + 208
28 SpriteKit 0x191027144 -[SKDisplayLink _callbackForNextFrame:] + 168
29 QuartzCore 0x184fe6f24 CA::Display::DisplayLinkItem::dispatch(unsigned long long) + 44
30 QuartzCore 0x184fe6dd0 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 444
31 IOKit 0x181ffe094 IODispatchCalloutFromCFMessage + 372
32 CoreFoundation 0x181d26e50 __CFMachPortPerform + 180
33 CoreFoundation 0x181d3f218 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
34 CoreFoundation 0x181d3e9cc __CFRunLoopDoSource1 + 436
35 CoreFoundation 0x181d3c4b0 __CFRunLoopRun + 1840
36 CoreFoundation 0x181c6a2b8 CFRunLoopRunSpecific + 444
37 GraphicsServices 0x18371e198 GSEventRunModal + 180
38 UIKit 0x187cb17fc -[UIApplication _run] + 684
39 UIKit 0x187cac534 UIApplicationMain + 208
40 Space Walk 0x10023fb50 main (main.m:16)
41 libdispatch.dylib 0x180c4d5b8 (Missing)
I finally figure out what's happening. According to Apple's documentation, we can only add and remove nodes in main thread.
I have a view which allocates a UILabel and sets the attributed string using NSAttributedString from HTML string. I get the crash during initialising the NSAttributedString. Following is the stack trace of the error:
Thread : Crashed: com.apple.main-thread
0 ??? 0x15e9d6c0
1 QuartzCore 0x2d967993 CA::Display::DisplayLink::get_link(CA::Display::Display*, __CFRunLoop*, X::List<__CFString const*> const*) + 254
2 QuartzCore 0x2d967723 CA::Display::DisplayLinkItem::update_link(__CFRunLoop*) + 162
3 QuartzCore 0x2d98a823 CA::Display::DisplayLinkItem::dispatch() + 170
4 QuartzCore 0x2d98a643 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 366
5 IOMobileFramebuffer 0x3288dc07 IOMobileFramebufferVsyncNotifyFunc + 90
6 IOKit 0x2b827001 IODispatchCalloutFromCFMessage + 256
7 CoreFoundation 0x2a86324d __CFMachPortPerform + 132
8 CoreFoundation 0x2a8737cb __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
9 CoreFoundation 0x2a873767 __CFRunLoopDoSource1 + 346
10 CoreFoundation 0x2a871d69 __CFRunLoopRun + 1608
11 CoreFoundation 0x2a7be201 CFRunLoopRunSpecific + 476
12 CoreFoundation 0x2a7be013 CFRunLoopRunInMode + 106
13 UIFoundation 0x3629bb7f -[NSHTMLReader _loadUsingWebKit] + 1950
14 UIFoundation 0x3629ce31 -[NSHTMLReader attributedString] + 24
15 UIFoundation 0x36244445 _NSReadAttributedStringFromURLOrData + 5648
16 UIFoundation 0x36242dad -[NSAttributedString(NSAttributedStringUIFoundationAdditions) initWithData:options:documentAttributes:error:] + 116
17 PageViewScrollView 0x0002ff54 #!objc ext.UIKit.ObjectiveC.NSAttributedString.init (ObjectiveC.NSAttributedString.Type)(data : ObjectiveC.NSData, options : Swift.Optional<Swift.Dictionary<ObjectiveC.NSObject, Swift.AnyObject>>, documentAttributes : Swift.AutoreleasingUnsafeMutablePointer<Swift.Optional<ObjectiveC.NSDictionary>>, error : Swift.AutoreleasingUnsafeMutablePointer<Swift.Optional<ObjectiveC.NSError>>) -> Swift.Optional<ObjectiveC.NSAttributedString> (HTMLTextView.swift)
18 PageViewScrollView 0x00029da4 ext.UIKit.ObjectiveC.NSAttributedString.init (ObjectiveC.NSAttributedString.Type)(data : ObjectiveC.NSData, options : Swift.Optional<Swift.Dictionary<ObjectiveC.NSObject, Swift.AnyObject>>, documentAttributes : Swift.AutoreleasingUnsafeMutablePointer<Swift.Optional<ObjectiveC.NSDictionary>>, error : Swift.AutoreleasingUnsafeMutablePointer<Swift.Optional<ObjectiveC.NSError>>) -> Swift.Optional<ObjectiveC.NSAttributedString> (HTMLTextView.swift)
19 PageViewScrollView 0x00026fd4 PageViewScrollView.HTMLTextView.init (PageViewScrollView.HTMLTextView.Type)(frame : C.CGRect) -> PageViewScrollView.HTMLTextView (HTMLTextView.swift:33)
20 PageViewScrollView 0x000286ac PageViewScrollView.HTMLTextView.__allocating_init (PageViewScrollView.HTMLTextView.Type)(frame : C.CGRect) -> PageViewScrollView.HTMLTextView (HTMLTextView.swift)
21 PageViewScrollView 0x0003fe4c PageViewScrollView.ViewController.getView (PageViewScrollView.ViewController)(Swift.Int) -> Swift.Optional<ObjectiveC.UIView> (ViewController.swift:149)
22 PageViewScrollView 0x0003c7f8 PageViewScrollView.ViewController.scrollViewDidScroll (PageViewScrollView.ViewController)(ObjectiveC.UIScrollView) -> () (ViewController.swift:86)
23 PageViewScrollView 0x0003f5fc #objc PageViewScrollView.ViewController.scrollViewDidScroll (PageViewScrollView.ViewController)(ObjectiveC.UIScrollView) -> () (ViewController.swift)
24 UIKit 0x2e1dc115 -[UIScrollView(UIScrollViewInternal) _notifyDidScroll] + 64
25 UIKit 0x2df451d5 -[UIScrollView setContentOffset:] + 632
26 UIKit 0x2e0be771 -[UIScrollView _smoothScrollWithUpdateTime:] + 3120
27 QuartzCore 0x2d98a7db CA::Display::DisplayLinkItem::dispatch() + 98
28 QuartzCore 0x2d98a643 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 366
29 IOMobileFramebuffer 0x3288dc07 IOMobileFramebufferVsyncNotifyFunc + 90
30 IOKit 0x2b827001 IODispatchCalloutFromCFMessage + 256
31 CoreFoundation 0x2a86324d __CFMachPortPerform + 132
32 CoreFoundation 0x2a8737cb __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 34
33 CoreFoundation 0x2a873767 __CFRunLoopDoSource1 + 346
34 CoreFoundation 0x2a871d69 __CFRunLoopRun + 1608
35 CoreFoundation 0x2a7be201 CFRunLoopRunSpecific + 476
36 CoreFoundation 0x2a7be013 CFRunLoopRunInMode + 106
37 GraphicsServices 0x3228f201 GSEventRunModal + 136
38 UIKit 0x2df8aa09 UIApplicationMain + 1440
39 PageViewScrollView 0x000448f4 main (AppDelegate.swift:14)
40 libdyld.dylib 0x397a3aaf start + 2
Here is the link to the source code of app where I've used this function. Basically it's a view pager using UIScrollView where views are added and removed as the user so as to keep minimal number of total view in memory. During initialisation of new views containing UILabel with NSAttributedString the above occurs. While scrolling from one view to other new view are created and older are removed from scrollView
I actually found the bug. The problem was that scrollViewDidScroll callbacks are sent on background thread. And I was performing UI updates on background which was causing the problem. Executing the code on main thread using dispatch_async(dispatch_get_main_queue(), block solved the issue.
After release ios 8.3 i began getting a crash reports from users, i can't figure out on which version of ios it is occurred, only i have is this crash report...
I think this is Sprite Kit bug and i also think that this occurs when app is going to background.
Stack Trace
1 SpriteKit 0x3104c3f3 _ZN9SKCSprite6updateEd + 351
2 SpriteKit 0x3104c3f3 _ZN9SKCSprite6updateEd + 348
3 SpriteKit 0x3104c3f3 _ZN9SKCSprite6updateEd + 348
4 SpriteKit 0x3104c3f3 _ZN9SKCSprite6updateEd + 348
5 SpriteKit 0x31014caf -[SKScene _update:] + 172
6 SpriteKit 0x31029599 -[SKView(Private) _update:] + 322
7 SpriteKit 0x31026c2b -[SKView renderCallback:] + 816
8 SpriteKit 0x31024663 __29-[SKView setUpRenderCallback]_block_invoke + 128
9 SpriteKit 0x31046ddb -[SKDisplayLink _callbackForNextFrame:] + 252
10 QuartzCore 0x30e069cf _ZN2CA7Display15DisplayLinkItem8dispatchEv + 96
11 QuartzCore 0x30e06779 _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 342
12 IOMobileFramebuffer 0x33a3376d IOMobileFramebufferVsyncNotifyFunc + 102
13 IOKit 0x2f69ea75 IODispatchCalloutFromCFMessage + 246
14 CoreFoundation 0x2e97ce21 __CFMachPortPerform + 134
15 CoreFoundation 0x2e9879df CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION + 32
16 CoreFoundation 0x2e98797b __CFRunLoopDoSource1 + 344
17 CoreFoundation 0x2e98614f __CFRunLoopRun + 1396
18 CoreFoundation 0x2e8f0c27 CFRunLoopRunSpecific + 520
19 CoreFoundation 0x2e8f0a0b CFRunLoopRunInMode + 104
20 GraphicsServices 0x33617283 GSEventRunModal + 136
21 UIKit 0x31194049 UIApplicationMain + 1134
22 Dotox 0x000f5047 main (main.m:16)
23 libdyld.dylib 0x39305ab7 start + 0
I'm getting a bizarre crash in a UIWebView where, somehow, MPVolumeView is somehow being instantiated by the OS, and not in the main thread. As a result, the application crashes.
Nowhere in my code is MPVolumeView being used or called, so I'm not sure what I should be doing here. The crash was not present in iOS 7 and only started to present itself in iOS 8.
Here's the traceback immediately before the crash:
Stacktrace: (
0 CustomFramework 0x000000010e918587 PSPDFAssertIfNotMainThread + 87
1 CustomFramework 0x000000010e918690 __PSPDFUIKitMainThreadGuard_block_invoke_2 + 32
2 UIKit 0x000000010cd2338c -[UIView initWithFrame:] + 153
3 MediaPlayer 0x0000000119b64b0d -[MPVolumeView initWithFrame:style:] + 80
4 UIKit 0x000000010cd22fb7 -[UIView init] + 62
5 WebCore 0x00000001151f9913 -[WebMediaSessionHelper initWithCallback:] + 115
6 WebCore 0x00000001151f9259 _ZN7WebCore22MediaSessionManageriOSC2Ev + 89
7 WebCore 0x00000001151f91d1 _ZN7WebCore19MediaSessionManager13sharedManagerEv + 49
8 WebCore 0x00000001151f7b6e _ZN7WebCore12MediaSessionC2ERNS_18MediaSessionClientE + 46
9 WebCore 0x0000000114be08a8 _ZN7WebCore16HTMLMediaSession6createERNS_18MediaSessionClientE + 40
10 WebCore 0x0000000114bc3545 _ZN7WebCore16HTMLMediaElementC2ERKNS_13QualifiedNameERNS_8DocumentEb + 1733
11 WebCore 0x0000000114c36118 _ZN7WebCore16HTMLVideoElementC2ERKNS_13QualifiedNameERNS_8DocumentEb + 24
12 WebCore 0x0000000114c34219 _ZN7WebCore16HTMLVideoElement6createERKNS_13QualifiedNameERNS_8DocumentEb + 57
13 WebCore 0x0000000114b9ef41 _ZN7WebCoreL16videoConstructorERKNS_13QualifiedNameERNS_8DocumentEPNS_15HTMLFormElementEb + 81
14 WebCore 0x0000000114b9df14 _ZN7WebCore18HTMLElementFactory13createElementERKNS_13QualifiedNameERNS_8DocumentEPNS_15HTMLFormElementEb + 356
15 WebCore 0x0000000114b8af85 _ZN7WebCore12HTMLDocument13createElementERKN3WTF12AtomicStringERi + 101
16 WebCore 0x0000000114e14f35 _ZN7WebCore40jsDocumentPrototypeFunctionCreateElementEPN3JSC9ExecStateE + 357
17 ??? 0x0000042139137034 0x0 + 4540738007092
18 JavaScriptCore 0x0000000117742d8e llint_entry + 22744
19 JavaScriptCore 0x000000011773d291 callToJavaScript + 311
20 JavaScriptCore 0x0000000117621be3 _ZN3JSC7JITCode7executeEPNS_2VMEPNS_14ProtoCallFrameE + 35
21 JavaScriptCore 0x0000000117603c93 _ZN3JSC11Interpreter7executeEPNS_17ProgramExecutableEPNS_9ExecStateEPNS_8JSObjectE + 8035
22 JavaScriptCore 0x000000011747272c _ZN3JSC8evaluateEPNS_9ExecStateERKNS_10SourceCodeENS_7JSValueEPS5_ + 508
23 WebCore 0x000000011546d2f4 _ZN7WebCore16ScriptController15evaluateInWorldERKNS_16ScriptSourceCodeERNS_15DOMWrapperWorldE + 260
24 WebCore 0x000000011546d609 _ZN7WebCore16ScriptController8evaluateERKNS_16ScriptSourceCodeE + 41
25 WebCore 0x0000000115473d62 _ZN7WebCore13ScriptElement13executeScriptERKNS_16ScriptSourceCodeE + 194
26 WebCore 0x0000000114bf6107 _ZN7WebCore16HTMLScriptRunner36executePendingScriptAndDispatchEventERNS_13PendingScriptE + 231
27 WebCore 0x0000000114bf68a7 _ZN7WebCore16HTMLScriptRunner29executeParsingBlockingScriptsEv + 135
28 WebCore 0x0000000114b8e3fb _ZN7WebCore18HTMLDocumentParser14notifyFinishedEPNS_14CachedResourceE + 59
29 WebCore 0x000000011477f067 _ZN7WebCore14CachedResource11checkNotifyEv + 343
30 WebCore 0x0000000115553347 _ZN7WebCore17SubresourceLoader16didFinishLoadingEd + 119
31 CFNetwork 0x0000000110e205f7 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 107
32 CFNetwork 0x0000000110eec871 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 273
33 CFNetwork 0x0000000110e0bb36 _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 72
34 CoreFoundation 0x000000010eebe714 CFArrayApplyFunction + 68
35 CFNetwork 0x0000000110e0b9f7 _ZN19RunloopBlockContext7performEv + 133
36 CFNetwork 0x0000000110e0b836 _ZN17MultiplexerSource7performEv + 256
37 CFNetwork 0x0000000110e0b64c _ZN17MultiplexerSource8_performEPv + 72
38 CoreFoundation 0x000000010eeebad1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
39 CoreFoundation 0x000000010eee199d __CFRunLoopDoSources0 + 269
40 CoreFoundation 0x000000010eee0fd4 __CFRunLoopRun + 868
41 CoreFoundation 0x000000010eee0a06 CFRunLoopRunSpecific + 470
42 WebCore 0x00000001156e8a95 _ZL12RunWebThreadPv + 469
43 libsystem_pthread.dylib 0x000000010f842899 _pthread_body + 138
44 libsystem_pthread.dylib 0x000000010f84272a _pthread_struct_init + 0
45 libsystem_pthread.dylib 0x000000010f846fc9 thread_start + 13
You have a framework that "ensures" no UIKit methods are called on a background thread. However, as you see, this kinds of frameworks are not recommended in a production environment, only in a debug environment.
This is an Apple framework bug. It has been reported, and you should create a bug report as well.
Make sure to update your helper framework to the latest version:
https://gist.github.com/steipete/5664345
My recommendation would be to surround this framework with #if DEBUG statements. This should not be running on production code. Even the author of the framework says so:
You should only use this in debug builds. It doesn't use private
API, but I wouldn't ship it.