We have over 20K crashes with the same error from the Xamarin AdMob bindings. Since they all mention MP4 I am wondering if it could be related to video ads but we only use AdMob for banner ads in our app.
Anyone have any tips to what can cause this? Since we can have 5000 crashes in a single day I feel it can't be "only" memory issues.
Fatal Exception: NSInvalidArgumentException
-[FNFLocalMp4Asset _absoluteURL]: unrecognized selector sent to instance 0x110df8ac0
Fatal Exception: NSInvalidArgumentException
0 CoreFoundation 0x1939501c0 __exceptionPreprocess
1 libobjc.A.dylib 0x19238855c objc_exception_throw
2 CoreFoundation 0x193957278 __methodDescriptionForSelector
3 CoreFoundation 0x193954278 ___forwarding___
4 CoreFoundation 0x19384e59c _CF_forwarding_prep_0
5 AVFoundation 0x19aff57cc -[AVPlayerItem initWithAsset:automaticallyLoadedAssetKeys:]
6 NDC2010 0x100199c74 GADAdSizeFromNSValue
7 NDC2010 0x1001c6eec GADAdSizeFromNSValue
8 libdispatch.dylib 0x1927d9200 _dispatch_call_block_and_release
9 libdispatch.dylib 0x1927d91c0 _dispatch_client_callout
10 libdispatch.dylib 0x1927ddd6c _dispatch_main_queue_callback_4CF
11 CoreFoundation 0x1938fdf2c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__
12 CoreFoundation 0x1938fbb18 __CFRunLoopRun
13 CoreFoundation 0x19382a048 CFRunLoopRunSpecific
14 GraphicsServices 0x1952ad198 GSEventRunModal
15 UIKit 0x199804628 (Missing)
16 UIKit 0x1997ff360 (Missing)
17 NDC2010 0x100861614 WriteZStream
18 NDC2010 0x1007cf7dc WriteZStream
19 NDC2010 0x1003faee4 WriteZStream
20 NDC2010 0x100764664 WriteZStream
21 Mono 0x101469c08 (Missing)
22 Mono 0x1014daa6c (Missing)
23 Mono 0x1014dd050 (Missing)
24 Mono 0x1014dcc6c (Missing)
25 Mono 0x10144e224 (Missing)
26 NDC2010 0x1003f3f8c xamarin_GetFolderPath
27 NDC2010 0x100efa800 WriteZStream
28 libdispatch.dylib 0x19280c5b8 (Missing)
Related
I'm using SinchRTC 3.11.1 in my IOS App. When I enter a video chat the following warnings are being produced because of the Sinch library. A few UI API calls are being done from a background thread instead of the main UI thread. Can these be fixed within the library?
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 96751, TID: 7066961, Thread name: Sinch Worker Thread, Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4 XXXXXX 0x0000000105d7eb41 -[SINClientImpl onPubSubSubscriptionConnectionEvent] + 66
5 XXXXXX 0x0000000105d7ec84 -[SINClientImpl onPubSubSubscriptionSuccess:] + 197
6 CoreFoundation 0x0000000108740a3c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
7 CoreFoundation 0x000000010874093a _CFXRegistrationPost + 442
8 CoreFoundation 0x0000000108740682 ___CFXNotificationPost_block_invoke + 50
9 CoreFoundation 0x0000000108702a02 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1826
10 CoreFoundation 0x0000000108701b7c _CFXNotificationPost + 652
11 Foundation 0x0000000109ec0172 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
12 XXXXXX 0x0000000105d9b8c7 -[SINPubSubscriber notify:userInfo:] + 336
13 XXXXXX 0x0000000105d9ba46 -[SINPubSubscriber subscribeDidSucceedOnChannel:sequence:withRequestedTimetoken:] + 220
14 XXXXXX 0x0000000105d92515 -[PubnubSubscriber request:withInitialTimeToken:didSucceedWithResponse:] + 435
15 XXXXXX 0x0000000105d920d5 __43-[PubnubSubscriber subscribeWithTimeToken:]_block_invoke + 111
16 XXXXXX 0x0000000105d909ce __52-[PubnubService performRequest:onSuccess:onFailure:]_block_invoke.42 + 143
17 XXXXXX 0x0000000105d8ffc9 -[PubnubRequestOperation operationWillFinish] + 284
18 XXXXXX 0x0000000105d6902d -[SINQRunLoopOperation finishWithError:] + 70
19 XXXXXX 0x0000000105d68536 -[SINQHTTPOperation finishWithError:] + 41
20 CFNetwork 0x0000000107f7e0e5 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 53
21 CFNetwork 0x0000000107f7e00a -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 198
22 CFNetwork 0x0000000107f7df32 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 48
23 CFNetwork 0x0000000107f823b3 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 100
24 CFNetwork 0x00000001081283cb ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 100
25 libdispatch.dylib 0x0000000110e8a658 _dispatch_client_callout + 8
26 libdispatch.dylib 0x0000000110e8fe6b _dispatch_block_invoke_direct + 589
27 CFNetwork 0x0000000107f7de04 _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 24
28 CoreFoundation 0x00000001086f35d8 CFArrayApplyFunction + 72
29 CFNetwork 0x0000000107f7dcda _ZN19RunloopBlockContext7performEv + 132
30 CFNetwork 0x0000000107f7db78 _ZN17MultiplexerSource7performEv + 282
31 CFNetwork 0x0000000107f7d9ab _ZN17MultiplexerSource8_performEPv + 65
32 CoreFoundation 0x0000000108747e71 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
33 CoreFoundation 0x000000010872c56f __CFRunLoopDoSources0 + 271
34 CoreFoundation 0x000000010872bb1f __CFRunLoopRun + 1039
35 CoreFoundation 0x000000010872b499 CFRunLoopRunSpecific + 409
36 Foundation 0x0000000109eda22e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 274
37 XXXXXX 0x0000000105cf8bd8 _ZN4base20MessagePumpNSRunLoop2017-07-12 12:20:51.360149-0700 XXXXXX[96751:7066961] [reports] Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 96751, TID: 7066961, Thread name: Sinch Worker Thread, Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4 XXXXXX 0x0000000105d7eb41 -[SINClientImpl onPubSubSubscriptionConnectionEvent] + 66
5 XXXXXX 0x0000000105d7ec84 -[SINClientImpl onPubSubSubscriptionSuccess:] + 197
6 CoreFoundation 0x0000000108740a3c __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
7 CoreFoundation 0x000000010874093a _CFXRegistrationPost + 442
8 CoreFoundation 0x0000000108740682 ___CFXNotificationPost_block_invoke + 50
9 CoreFoundation 0x0000000108702a02 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1826
10 CoreFoundation 0x0000000108701b7c _CFXNotificationPost + 652
11 Foundation 0x0000000109ec0172 -[NSNotificationCenter postNotificationName:object:userInfo:] + 66
12 XXXXXX 0x0000000105d9b8c7 -[SINPubSubscriber notify:userInfo:] + 336
13 XXXXXX 0x0000000105d9ba46 -[SINPubSubscriber subscribeDidSucceedOnChannel:sequence:withRequestedTimetoken:] + 220
14 XXXXXX 0x0000000105d92515 -[PubnubSubscriber request:withInitialTimeToken:didSucceedWithResponse:] + 435
15 XXXXXX 0x0000000105d920d5 __43-[PubnubSubscriber subscribeWithTimeToken:]_block_invoke + 111
16 XXXXXX 0x0000000105d909ce __52-[PubnubService performRequest:onSuccess:onFailure:]_block_invoke.42 + 143
17 XXXXXX 0x0000000105d8ffc9 -[PubnubRequestOperation operationWillFinish] + 284
18 XXXXXX 0x0000000105d6902d -[SINQRunLoopOperation finishWithError:] + 70
19 XXXXXX 0x0000000105d68536 -[SINQHTTPOperation finishWithError:] + 41
20 CFNetwork 0x0000000107f7e0e5 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke + 53
21 CFNetwork 0x0000000107f7e00a -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 198
22 CFNetwork 0x0000000107f7df32 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 48
23 CFNetwork 0x0000000107f823b3 ___ZN27URLConnectionClient_Classic26_delegate_didFinishLoadingEU13block_pointerFvvE_block_invoke + 100
24 CFNetwork 0x00000001081283cb ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 100
25 libdispatch.dylib 0x0000000110e8a658 _dispatch_client_callout + 8
26 libdispatch.dylib 0x0000000110e8fe6b _dispatch_block_invoke_direct + 589
27 CFNetwork 0x0000000107f7de04 _ZN19RunloopBlockContext13_invoke_blockEPKvPv + 24
28 CoreFoundation 0x00000001086f35d8 CFArrayApplyFunction + 72
29 CFNetwork 0x0000000107f7dcda _ZN19RunloopBlockContext7performEv + 132
30 CFNetwork 0x0000000107f7db78 _ZN17MultiplexerSource7performEv + 282
31 CFNetwork 0x0000000107f7d9ab _ZN17MultiplexerSource8_performEPv + 65
32 CoreFoundation 0x0000000108747e71 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
33 CoreFoundation 0x000000010872c56f __CFRunLoopDoSources0 + 271
34 CoreFoundation 0x000000010872bb1f __CFRunLoopRun + 1039
35 CoreFoundation 0x000000010872b499 CFRunLoopRunSpecific + 409
36 Foundation 0x0000000109eda22e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 274
37 XXXXXX 0x0000000105cf8bd8 _ZN4base20MessagePumpNSRunLoop
=================================================================
Main Thread Checker: UI API called on a background thread: -[UIView layer]
PID: 96751, TID: 7066464, Thread name: (none), Queue name: com.sinch.SINVideoCapturer.session, QoS: 25
Backtrace:
4 XXXXXX 0x0000000105d66f4f -[SINVideoCapturer startWithPreset_sq:frameRate:] + 505
5 libdispatch.dylib 0x0000000110e8966d _dispatch_call_block_and_release + 12
6 libdispatch.dylib 0x0000000110e8a658 _dispatch_client_callout + 8
7 libdispatch.dylib 0x0000000110e9308c _dispatch_queue_serial_drain + 1173
8 libdispatch.dylib 0x0000000110e93aa5 _dispatch_queue_invoke + 342
9 libdispatch.dylib 0x0000000110e96d3b _dispatch_root_queue_drain + 785
10 libdispatch.dylib 0x0000000110e969c7 _dispatch_worker_thread4 + 54
11 libsystem_pthread.dylib 0x00000001112ed616 _pthread_wqthread + 1299
12 libsystem_pthread.dylib 0x00000001112ed0f1 start_wqthread + 13
2017-07-12 12:20:52.112965-0700 XXXXXX[96751:7066464] [reports] Main Thread Checker: UI API called on a background thread: -[UIView layer]
PID: 96751, TID: 7066464, Thread name: (none), Queue name: com.sinch.SINVideoCapturer.session, QoS: 25
Backtrace:
4 XXXXXX 0x0000000105d66f4f -[SINVideoCapturer startWithPreset_sq:frameRate:] + 505
5 libdispatch.dylib 0x0000000110e8966d _dispatch_call_block_and_release + 12
6 libdispatch.dylib 0x0000000110e8a658 _dispatch_client_callout + 8
7 libdispatch.dylib 0x0000000110e9308c _dispatch_queue_serial_drain + 1173
8 libdispatch.dylib 0x0000000110e93aa5 _dispatch_queue_invoke + 342
9 libdispatch.dylib 0x0000000110e96d3b _dispatch_root_queue_drain + 785
10 libdispatch.dylib 0x0000000110e969c7 _dispatch_worker_thread4 + 54
11 libsystem_pthread.dylib 0x00000001112ed616 _pthread_wqthread + 1299
12 libsystem_pthread.dylib 0x00000001112ed0f1 start_wqthread + 13
That is because Xcode 9 features a new main thread checker that checks whether UI API's are executed in Main thread. UI operations are bound to cause problems in a non-main thread. You have to update your SinchRTC to fix this runtime issue. The developers of SinchRTC should patch this and release an update. Hope this helps. For more info., refer this link.
The library should fix theses errors but if you want to disable it you can do it in the scheme, in the Diagnostics option.
A crash is occurring in my app but the crash report only shows system libraries. It is clear that my app is provoking the issue but because 1) of its size and 2) there isn't sign of any of my libraries in the stack trace, I can't figure out where it is happening. As far as I know it is related with NSUrlConnection but it is being used in lots of places.
Does any body knows how can I used Atos or lldb to symbolicate when my app is NOT being mentioned in the stack trace?
Below is the stack.
Thanks
Thread 33:: com.apple.NSURLConnectionLoader Dispatch queue: com.apple.CFFileDescriptor
0 com.apple.CoreFoundation 0x00007fff9d3a2add __CFFileDescriptorEnableCallBacks_block_invoke + 13
1 libdispatch.dylib 0x00007fff9b13440b _dispatch_client_callout + 8
2 libdispatch.dylib 0x00007fff9b1359f2 _dispatch_barrier_sync_f_invoke + 74
3 com.apple.CoreFoundation 0x00007fff9d3a2ab4 CFFileDescriptorEnableCallBacks + 180
4 com.apple.CoreFoundation 0x00007fff9d42cdaa constructCFFD + 122
5 com.apple.CoreFoundation 0x00007fff9d36e48e fileOpen + 238
6 com.apple.CoreFoundation 0x00007fff9d3626a8 _CFStreamOpen + 120
7 com.apple.CoreFoundation 0x00007fff9d36e37f CFReadStreamOpen + 95
8 com.apple.CFNetwork 0x00007fff911b27fe FileURLProtocol::_protocolInterface_startLoad(_CFCachedURLResponse const*) + 578
9 com.apple.CFNetwork 0x00007fff91041350 ___ZN19URLConnectionLoader27_private_ScheduleOriginLoadEPK12NSURLRequestPK20_CFCachedURLResponse_block_invoke_2 + 61
10 com.apple.CFNetwork 0x00007fff910412f1 ___ZNK19URLConnectionLoader25withExistingProtocolAsyncEU13block_pointerFvP11URLProtocolE_block_invoke + 25
11 libdispatch.dylib 0x00007fff9b13440b _dispatch_client_callout + 8
12 libdispatch.dylib 0x00007fff9b142039 _dispatch_block_invoke + 474
13 com.apple.CFNetwork 0x00007fff9104017c RunloopBlockContext::_invoke_block(void const*, void*) + 24
14 com.apple.CoreFoundation 0x00007fff9d33ad74 CFArrayApplyFunction + 68
15 com.apple.CFNetwork 0x00007fff91040075 RunloopBlockContext::perform() + 137
16 com.apple.CFNetwork 0x00007fff9103ff16 MultiplexerSource::perform() + 282
17 com.apple.CFNetwork 0x00007fff9103fd38 MultiplexerSource::_perform(void*) + 72
18 com.apple.CoreFoundation 0x00007fff9d398881 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
19 com.apple.CoreFoundation 0x00007fff9d377fbc __CFRunLoopDoSources0 + 556
20 com.apple.CoreFoundation 0x00007fff9d3774df __CFRunLoopRun + 927
21 com.apple.CoreFoundation 0x00007fff9d376ed8 CFRunLoopRunSpecific + 296
22 com.apple.CFNetwork 0x00007fff9101aa6d +[NSURLConnection(Loader) _resourceLoadLoop:] + 412
23 com.apple.Foundation 0x00007fff9b195e64 __NSThread__start__ + 1351
24 libsystem_pthread.dylib 0x00007fff9997a99d _pthread_body + 131
25 libsystem_pthread.dylib 0x00007fff9997a91a _pthread_start + 168
26 libsystem_pthread.dylib 0x00007fff99978351 thread_start + 13
I have an app on the Mac App Store, and I get these crash reports from my users which I cannot reproduce or figure out how to debug. It seem like something crashes due to NSManagedObjectContext reset, but it's not obvious, and users don't have a reproducible case. The main thread can have a different stack trace, but the non-main thread always has the same stack trace.
Exception Type: SIGSEGV
Exception Codes: SEGV_MAPERR at 0x41bfc026bec0
Crashed Thread: 8
Application Specific Information:
Selector name found in current argument registers: retain
Thread 0:
0 libFontParser.dylib 0x00007fff8efa7921 _ZNK20TTrueTypeFontHandler11RenderGlyphEtR27TTrueTypeQuadOutlineContextj + 89
1 libFontParser.dylib 0x00007fff8efa789e _ZNK20TTrueTypeFontHandler14GetOutlinePathEtRK18TGlyphOutlineBatch + 60
2 libFontParser.dylib 0x00007fff8efa744a FPFontCopyGlyphPath + 394
3 CoreGraphics 0x00007fff8767e913 CGFontCreateGlyphPath + 44
4 CoreGraphics 0x00007fff8767e85d CGFontCreateGlyphBitmap + 437
5 CoreGraphics 0x00007fff8767e607 _ZN14CGGlyphBuilder22create_missing_bitmapsEPK17CGGlyphIdentifiermPPK13CGGlyphBitmap + 109
6 libRIP.A.dylib 0x00007fff8b7bec2d render_glyphs + 204
7 libRIP.A.dylib 0x00007fff8b7bdf6f draw_glyph_bitmaps + 1585
8 libRIP.A.dylib 0x00007fff8b7bd8cd ripc_DrawGlyphs + 2785
9 CoreGraphics 0x00007fff87738077 draw_glyphs + 1034
10 CoreText 0x00007fff8ac50426 _ZL25DrawSbixGlyphsAtPositionsPK5TFontP6CGFontRK6TCFRefIPK8__CFDataEPKtPK7CGPointmP9CGContext17CGAffineTransformSI_ + 2990
11 CoreText 0x00007fff8abfdb73 CTFontDrawGlyphsWithAdvances + 789
12 UIFoundation 0x00007fff966f212e -[NSLineFragmentRenderingContext drawAtPoint:inContext:] + 5398
13 UIFoundation 0x00007fff96616728 __NSStringDrawingEngine + 16941
14 UIFoundation 0x00007fff966108ff _NSStringDrawingCore + 150
15 AppKit 0x00007fff93ce6d50 _NSDrawTextCell + 6954
16 AppKit 0x00007fff9421cdf8 __47-[NSTextFieldCell drawLayer:inGraphicsContext:]_block_invoke + 576
17 AppKit 0x00007fff944aa538 +[NSAppearance _performWithCurrentAppearance:usingBlock:] + 79
18 AppKit 0x00007fff93cf6739 -[NSTextFieldCell drawLayer:inGraphicsContext:] + 225
19 AppKit 0x00007fff93cf6470 +[NSGraphicsContext configureGraphicsContextForCALayer:withCGContext:andRenderWithHandler:] + 97
20 QuartzCore 0x00007fff939f1e93 CABackingStoreUpdate_ + 3306
21 QuartzCore 0x00007fff939f11a3 ___ZN2CA5Layer8display_Ev_block_invoke + 59
22 QuartzCore 0x00007fff939f115f x_blame_allocations + 81
23 QuartzCore 0x00007fff939f0c5c _ZN2CA5Layer8display_Ev + 1546
24 AppKit 0x00007fff93ce039f _NSBackingLayerDisplay + 617
25 QuartzCore 0x00007fff939f0381 _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 603
26 QuartzCore 0x00007fff939efabd _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 35
27 QuartzCore 0x00007fff939ef24e _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 242
28 QuartzCore 0x00007fff939eeea4 _ZN2CA11Transaction6commitEv + 390
29 QuartzCore 0x00007fff939ffcad _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 71
30 CoreFoundation 0x00007fff8bbd0da7 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
31 CoreFoundation 0x00007fff8bbd0d00 __CFRunLoopDoObservers + 368
32 CoreFoundation 0x00007fff8bbc2878 CFRunLoopRunSpecific + 328
33 HIToolbox 0x00007fff918f1aef RunCurrentEventLoopInMode + 235
34 HIToolbox 0x00007fff918f176e ReceiveNextEventCommon + 179
35 HIToolbox 0x00007fff918f16ab _BlockUntilNextEventMatchingListInModeWithFilter + 71
36 AppKit 0x00007fff93bb0f81 _DPSNextEvent + 964
37 AppKit 0x00007fff93bb0730 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
38 AppKit 0x00007fff93ba4593 -[NSApplication run] + 594
39 AppKit 0x00007fff93b8fa14 NSApplicationMain + 1832
40 libdyld.dylib 0x00007fff88d605c9 start + 1
...
Thread 7:
0 libsystem_kernel.dylib 0x00007fff94d1b94a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff9508740d start_wqthread + 13
Thread 8 Crashed:
0 libobjc.A.dylib 0x00007fff90c740dd objc_msgSend + 29
1 Foundation 0x00007fff92461d24 NSKeyValuePushPendingNotificationPerThread + 446
2 Foundation 0x00007fff9240968f NSKeyValueWillChange + 465
3 Foundation 0x00007fff924bc33e -[NSObject(NSKeyValueObservingPrivate) _willChangeValuesForKeys:] + 234
4 CoreData 0x00007fff8d9fdd6d -[NSFaultHandler turnObject:intoFaultWithContext:] + 221
5 CoreData 0x00007fff8da28641 -[NSManagedObjectContext(_NSInternalAdditions) _disposeObjects:count:notifyParent:] + 353
6 CoreData 0x00007fff8da27c78 -[NSManagedObjectContext(_NSInternalAdditions) _dispose:] + 392
7 CoreData 0x00007fff8da27821 -[NSManagedObjectContext _dealloc__] + 337
8 CoreData 0x00007fff8da563ab __internalBlockToDeallocNSManagedObjectContext_block_invoke + 75
9 CoreData 0x00007fff8da1c246 developerSubmittedBlockToNSManagedObjectContextPerform + 182
10 libdispatch.dylib 0x00007fff8f122c13 _dispatch_client_callout + 8
11 libdispatch.dylib 0x00007fff8f126365 _dispatch_queue_drain + 1100
12 libdispatch.dylib 0x00007fff8f127ecc _dispatch_queue_invoke + 202
13 libdispatch.dylib 0x00007fff8f1256b7 _dispatch_root_queue_drain + 463
14 libdispatch.dylib 0x00007fff8f133fe4 _dispatch_worker_thread3 + 91
15 libsystem_pthread.dylib 0x00007fff95089637 _pthread_wqthread + 729
16 libsystem_pthread.dylib 0x00007fff9508740d start_wqthread + 13
Any idea how to find out what's causing the issue and possibly fix it? I've tried enabling zombies, setting NSBindingDebugLogLevel to 1, and running Zombies instrument, but no luck.
This one is quite weird. I recently upgraded to Mountain Lion on my dev machine and now every time I bring up the main project window of my app it crashes. The strange thing is that it only happens on 10.8.3 and it only happen if I sandbox the app. I have another test machine running 10.8.2 (also Mountain Lion) and the crash does not happen. Also, if I recreate the app without sandboxing it does not crash. This app is actually created with an implementation of common lisp the uses a cocoa bridge called CCL.
Here are some of the reports I get in the console when my app crashes:
4/19/13 11:30:15.605 AM AgentCubes[56676]: kCGErrorIllegalArgument: _getWindowRegion: Invalid window
4/19/13 11:30:15.606 AM AgentCubes[56676]: CGSSetWindowLevel: Invalid window 0x137c
4/19/13 11:30:15.607 AM AgentCubes[56676]: PSsetwindowlevel, error setting window level (1000)
4/19/13 11:30:15.607 AM AgentCubes[56676]: CGSClearWindowTags: Invalid window 0x137c
4/19/13 11:30:15.607 AM AgentCubes[56676]: CGSSetIgnoresCycle: error 1000 setting or clearing window tags
4/19/13 11:30:15.623 AM AgentCubes[56676]: *** Assertion failure in -[NativeScrollView scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:], /SourceCache/AppKit/AppKit-1187.37/AppKit.subproj/NSScrollView.m:5402
4/19/13 11:30:15.623 AM AgentCubes[56676]: An uncaught exception was raised
4/19/13 11:30:15.624 AM AgentCubes[56676]: Invalid parameter not satisfying: scrollerImpPair == SCROLLER_IMP_PAIR
and the big trace:
4/19/13 11:30:15.626 AM AgentCubes[56676]: (
0 CoreFoundation 0x99cbee9b __raiseError + 219
1 libobjc.A.dylib 0x90a6552e objc_exception_throw + 230
2 CoreFoundation 0x99c1e6a8 +[NSException raise:format:arguments:] + 136
3 Foundation 0x93dfb814 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 AppKit 0x977cd7ab -[NSScrollView(NSPrivate) scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 150
5 AppKit 0x977cd6a5 +[NSScrollerImpPair _updateAllScrollerImpPairsForNewRecommendedScrollerStyle:] + 406
6 AppKit 0x977cd4ff +[NSScrollerImpPair _scrollerStyleRecommendationChanged:] + 159
7 Foundation 0x93e52152 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 49
8 CoreFoundation 0x99c80861 ___CFXNotificationPost_block_invoke_0 + 257
9 CoreFoundation 0x99bcbe9a _CFXNotificationPost + 2794
10 Foundation 0x93e3ac88 -[NSNotificationCenter postNotificationName:object:userInfo:] + 92
11 AppKit 0x977cd3f5 -[_NSScrollerStyleRecommender setRecommendedScrollerStyleAndNotify:] + 248
12 AppKit 0x977cd2e3 __75-[_NSScrollerStyleRecommender scrollerStyleRecommendationUpdateTimerFired:]_block_invoke_0 + 43
13 AppKit 0x97eff42f __block_global_0 + 32
14 libdispatch.dylib 0x98f10f8f _dispatch_call_block_and_release + 15
15 libdispatch.dylib 0x98f0cc82 _dispatch_client_callout + 46
16 libdispatch.dylib 0x98f122e3 _dispatch_main_queue_callback_4CF + 223
17 CoreFoundation 0x99bbac39 __CFRunLoopRun + 1961
18 CoreFoundation 0x99bba02a CFRunLoopRunSpecific + 378
19 CoreFoundation 0x99bb9e9b CFRunLoopRunInMode + 123
20 HIToolbox 0x91e16f5a RunCurrentEventLoopInMode + 242
21 HIToolbox 0x91e16cc9 ReceiveNextEventCommon + 374
22 HIToolbox 0x91e16b44 BlockUntilNextEventMatchingListInMode + 88
23 AppKit 0x976e99aa _DPSNextEvent + 724
24 AppKit 0x976e91dc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 119
25 AppKit 0x976df63c -[NSApplication run] + 855
26 AgentCubes 0x0001991d ffcall_return + 0
27 ??? 0x003cbf9c 0x0 + 3981212
28 ??? 0x003cbf9c 0x0 + 3981212
29 AgentCubes 0x00019f79 func_start + 94
30 AgentCubes 0x0001c52e main + 1310
31 AgentCubes 0x00033fb4 _start + 207
32 AgentCubes 0x00033ee4 start + 40
)
and finally:
4/19/13 11:30:15.627 AM AgentCubes[56676]: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: scrollerImpPair == SCROLLER_IMP_PAIR'
*** Call stack at first throw:
(
0 CoreFoundation 0x99cbee9b __raiseError + 219
1 libobjc.A.dylib 0x90a6552e objc_exception_throw + 230
2 CoreFoundation 0x99c1e6a8 +[NSException raise:format:arguments:] + 136
3 Foundation 0x93dfb814 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 116
4 AppKit 0x977cd7ab -[NSScrollView(NSPrivate) scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:] + 150
5 AppKit 0x977cd6a5 +[NSScrollerImpPair _updateAllScrollerImpPairsForNewRecommendedScrollerStyle:] + 406
6 AppKit 0x977cd4ff +[NSScrollerImpPair _scrollerStyleRecommendationChanged:] + 159
7 Foundation 0x93e52152 __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 49
8 CoreFoundation 0x99c80861 ___CFXNotificationPost_block_invoke_0 + 257
9 CoreFoundation 0x99bcbe9a _CFXNotificationPost + 2794
10 Foundation 0x93e3ac88 -[NSNotificationCenter postNotificationName:object:userInfo:] + 92
11 AppKit 0x977cd3f5 -[_NSScrollerStyleRecommender setRecommendedScrollerStyleAndNotify:] + 248
12 AppKit 0x977cd2e3 __75-[_NSScrollerStyleRecommender scrollerStyleRecommendationUpdateTimerFired:]_block_invoke_0 + 43
13 AppKit 0x97eff42f __block_global_0 + 32
14 libdispatch.dylib 0x98f10f8f _dispatch_call_block_and_release + 15
15 libdispatch.dylib 0x98f0cc82 _dispatch_client_callout + 46
16 libdispatch.dylib 0x98f122e3 _dispatch_main_queue_callback_4CF + 223
17 CoreFoundation 0x99bbac39 __CFRunLoopRun + 1961
18 CoreFoundation 0x99bba02a CFRunLoopRunSpecific + 378
19 CoreFoundation 0x99bb9e9b CFRunLoopRunInMode + 123
20 HIToolbox 0x91e16f5a RunCurrentEventLoopInMode + 242
21 HIToolbox 0x91e16cc9 ReceiveNextEventCommon + 374
22 HIToolbox 0x91e16b44 BlockUntilNextEventMatchingListInMode + 88
23 AppKit 0x976e99aa _DPSNextEvent + 724
24 AppKit 0x976e91dc -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 119
25 AppKit 0x976df63c -[NSApplication run] + 855
26 AgentCubes 0x0001991d ffcall_return + 0
27 ??? 0x003cbf9c 0x0 + 3981212
28 ??? 0x003cbf9c 0x0 + 3981212
29 AgentCubes 0x00019f79 func_start + 94
30 AgentCubes 0x0001c52e main + 1310
31 AgentCubes 0x00033fb4 _start + 207
32 AgentCubes 0x00033ee4 start + 40
)
I am very confused by all this and I am wondering what could have changed in 10.8.3 that interacts badly with the sandboxing?
As i understood, the threads provided by GCD do have a runloop but no source/port. Now i use some of methods that call AppleScripts thru AppleEvents inside an NSOperationQueue. And sometimes my app crashes with following stacktrace.
my questions:
Usage of AppleScript inside a NSInvocationOperation or NSBlockOperation
Usage of AppleEvents inside GCD-Threads
do i have to add a source / port to a runloop of a gcd-thread before using AppleEvents?
do i have to add a source / port to a runloop of a gcd-thread before using [CATransaction commit]?
do i have to add a source / port to a runloop of a gcd-thread before using [NSObject performSelectorAfterDelay...] ?
if yes, how?
can i simply call CFRunLoopRunInMode(kCFRunLoopDefaultMode, 5.0, false); /// or 30 or the defined timeout of appleevent?
..
Thread 9: Dispatch queue: com.apple.root.default-priority
0 libSystem.B.dylib 0x00007fff88276e82 semaphore_wait_signal_trap 10
1 libSystem.B.dylib 0x00007fff8827c3cd pthread_mutex_lock 469
2 com.apple.applescript 0x000000011d3d461f AppleScriptComponent 50
3 com.apple.applescript 0x000000011d3edbcc AGenericCall::Delegate(ComponentInstanceRecord*) 46
4 com.apple.applescript 0x000000011d3ed520 AGenericManager::HandleOSACall(ComponentParameters*) 54
5 com.apple.applescript 0x000000011d3ed4b0 GenericComponent 219
6 com.apple.openscripting 0x00007fff8381c6da OSAExecuteEvent 63
7 com.apple.Foundation 0x00007fff86f320d8 -[NSAppleScript(NSPrivate) _executeAppleEvent:withMode:error:] 161
8 xxx 0x0000000100048af0 -[TCallScript callScript:withArrayOfParameters:] 480
9 xxx 0x0000000100048ffd -[TCallScript callHandler:withParameters:] 477
10 xxx 0x0000000100036032 -[ZFOpenWindowController getSafariItemForCurrentTabForWindow:] 66
11 xxx 0x00000001000346af -[ZFOpenWindowController refreshWindowList:] 1679
12 xxx 0x000000010003541c -[ZFOpenWindowController bringZFToForegroundZoomOut:orJustLinkFrontMost:toItem:] 2988
13 xxx 0x0000000100053556 __-[ZFSelectionTool openWithPreferredApplication:]_block_invoke_516 54
14 com.apple.Foundation 0x00007fff86ed87d9 -[NSBlockOperation main] 140
15 com.apple.Foundation 0x00007fff86ec906d -[__NSOperationInternal start] 681
16 com.apple.Foundation 0x00007fff86ec8d23 ____startOperations_block_invoke_2 99
17 libSystem.B.dylib 0x00007fff882b2ce8 _dispatch_call_block_and_release 15
18 libSystem.B.dylib 0x00007fff88291279 _dispatch_worker_thread2 231
19 libSystem.B.dylib 0x00007fff88290bb8 _pthread_wqthread 353
20 libSystem.B.dylib 0x00007fff88290a55 start_wqthread 13
...
Thread 11 Crashed: Dispatch queue: com.apple.root.default-priority
0 com.apple.applescript 0x000000011d40f658 BCHandleError() 182
1 com.apple.applescript 0x000000011d4059ca UASExecute1() 2546
2 com.apple.applescript 0x000000011d3dd1d5 ASExecuteEvent(AEDesc const*, unsigned int, int, unsigned int*) 695
3 ...ple.CoreServices.CarbonCore 0x00007fff85388e04 CallComponentFunction 28
4 com.apple.applescript 0x000000011d3d4cad AppleScriptComponent 1728
5 com.apple.applescript 0x000000011d3edbcc AGenericCall::Delegate(ComponentInstanceRecord*) 46
6 com.apple.applescript 0x000000011d3ed520 AGenericManager::HandleOSACall(ComponentParameters*) 54
7 com.apple.applescript 0x000000011d3ed4b0 GenericComponent 219
8 com.apple.openscripting 0x00007fff8381c6da OSAExecuteEvent 63
9 com.apple.Foundation 0x00007fff86f320d8 -[NSAppleScript(NSPrivate) _executeAppleEvent:withMode:error:] 161
10 xxx 0x0000000100048af0 -[TCallScript callScript:withArrayOfParameters:] 480
11 xxx 0x0000000100048ffd -[TCallScript callHandler:withParameters:] 477
12 xxx 0x0000000100035c67 -[ZFOpenWindowController getItemForAXDocumentOfFrontMostWindow] 119
13 xxx 0x00000001000359f1 -[ZFOpenWindowController getItemForFrontMostWindow:] 721
14 xxx 0x00000001000348ac -[ZFOpenWindowController bringZFToForegroundZoomOut:orJustLinkFrontMost:toItem:] 60
15 xxx 0x0000000100053556 __-[ZFSelectionTool openWithPreferredApplication:]_block_invoke_516 54
16 com.apple.Foundation 0x00007fff86ed87d9 -[NSBlockOperation main] 140
17 com.apple.Foundation 0x00007fff86ec906d -[__NSOperationInternal start] 681
18 com.apple.Foundation 0x00007fff86ec8d23 ____startOperations_block_invoke_2 99
19 libSystem.B.dylib 0x00007fff882b2ce8 _dispatch_call_block_and_release 15
20 libSystem.B.dylib 0x00007fff88291279 _dispatch_worker_thread2 231
21 libSystem.B.dylib 0x00007fff88290bb8 _pthread_wqthread 353
22 libSystem.B.dylib 0x00007fff88290a55 start_wqthread 13
Note that the AppleScript component has limited thread safety. As of 10.6, you can use it on non-main threads, but you will need to create a new ComponentInstance for each thread. I think you can do this with OSAKit, otherwise you'll need to resort to the gnarly Carbon API. What's best really depends on what you're trying to achieve (e.g. are you running user-supplied scripts, or scripts hardcoded into your application, and what's the motivation for running them via NSOperationQueue).