Does Mac OS call display methods such as drawRect: concurrently from different threads? Isn't that dangerous when accessing the data model? - multithreading

We have a subclass of NSTableRowView that overwrites drawSelectionInRect: (which is internally called by drawRect:). This method needs to access the NSManagedObjectContext, so as a sanity check we have an assertion there that we are in the main thread. Now it turns out that sometimes Apple calls drawRect from a non-main-thread (example stack trace below). Does this mean it could even do that concurrently from two different threads? I.e. we have to take care of thread safety ourselves when overwriting drawRect: and using the data model?
ERROR: Assertion failed: [NSThread isMainThread]: (ZS_AppDelegate.m:1287)
(
0 tomedo_kunden 0x00000001008af46a -[ZS_AppDelegate loggedInUser] + 554
1 tomedo_kunden 0x00000001016feca7 +[Nutzer loggedInUser] + 71
2 tomedo_kunden 0x0000000100f33397 +[ZSUserDefaults(MacOS) colorFromPreferences:] + 167
3 tomedo_kunden 0x00000001003d8265 -[Besuch(BesuchCategory) baseTextColor] + 101
4 tomedo_kunden 0x000000010071f846 -[ZSTableRowView drawSelectionInRect:] + 806
5 AppKit 0x00007fffd189d26c -[NSTableRowView drawRect:] + 242
6 AppKit 0x00007fffd184eba3 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 1318
7 AppKit 0x00007fffd184f053 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:] + 2518
8 AppKit 0x00007fffd184e548 __46-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke + 267
9 AppKit 0x00007fffd184e071 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 1589
10 AppKit 0x00007fffd184da36 -[NSView(NSLayerKitGlue) drawLayer:inContext:] + 80
11 AppKit 0x00007fffd19839ff -[_NSBackingLayerContents drawLayer:inContext:] + 162
12 QuartzCore 0x00007fffd96a1e42 -[CALayer drawInContext:] + 257
13 AppKit 0x00007fffd19834d8 -[_NSTiledLayer drawTile:inContext:] + 624
14 AppKit 0x00007fffd198320e -[_NSTiledLayerContents drawLayer:inContext:] + 176
15 QuartzCore 0x00007fffd96a1e42 -[CALayer drawInContext:] + 257
16 AppKit 0x00007fffd1983155 -[NSTileLayer drawInContext:] + 169
17 QuartzCore 0x00007fffd9584a38 CABackingStoreUpdate_ + 3740
18 QuartzCore 0x00007fffd96a1a3c ___ZN2CA5Layer8display_Ev_block_invoke + 75
19 QuartzCore 0x00007fffd96a169d _ZN2CA5Layer8display_Ev + 1803
20 AppKit 0x00007fffd198306c -[NSTileLayer display] + 119
21 QuartzCore 0x00007fffd9695546 _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 572
22 QuartzCore 0x00007fffd9695671 _ZN2CA5Layer28layout_and_display_if_neededEPNS_11TransactionE + 35
23 QuartzCore 0x00007fffd968ae88 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 280
24 QuartzCore 0x00007fffd9581d55 _ZN2CA11Transaction6commitEv + 475
25 AppKit 0x00007fffd19701d9 __58-[_NSScrollingConcurrentVBLMonitor _updateScrollAnimation]_block_invoke + 972
26 AppKit 0x00007fffd196aa3a -[_NSScrollingConcurrentSharedData threadSafePropertyAccess:] + 44
27 AppKit 0x00007fffd196d127 -[_NSScrollingConcurrentVBLMonitor _updateScrollAnimation] + 672
28 AppKit 0x00007fffd196c84e -[_NSScrollingConcurrentVBLMonitor _synchronizeForVBLSerialNumber:timestamp:updateDuration:] + 561
29 AppKit 0x00007fffd196c5ad __42-[_NSScrollingConcurrentVBLMonitor resume]_block_invoke + 218
30 AppKit 0x00007fffd196c4ca __45-[NSScreen(NSScreenUpdate) addUpdateHandler:]_block_invoke_2 + 212
31 libdispatch.dylib 0x000000010345ffcc _dispatch_client_callout + 8
32 libdispatch.dylib 0x0000000103476bca _dispatch_continuation_pop + 1025
33 libdispatch.dylib 0x000000010346c6bc _dispatch_source_latch_and_call + 195
34 libdispatch.dylib 0x0000000103462e15 _dispatch_source_invoke + 1106
35 libdispatch.dylib 0x00000001034768f0 _dispatch_continuation_pop + 295
36 libdispatch.dylib 0x000000010346deda _dispatch_async_redirect_invoke + 777
37 libdispatch.dylib 0x0000000103462247 _dispatch_root_queue_drain + 671
38 libdispatch.dylib 0x0000000103461f58 _dispatch_worker_thread3 + 114
39 libsystem_pthread.dylib 0x00000001034d78c2 _pthread_wqthread + 1299
40 libsystem_pthread.dylib 0x00000001034d739d start_wqthread + 13
)

NSView subclasses can draw concurrently in recent releases of OS X. This behavior can be turned off by overriding canDrawConcurrently and returning NO.
You might find it preferable to separate the view from the model a little more and isolate the data to be rendered from the CoreData managed data a bit; pull the data to be rendered out into a local-only representation and let AppKit concurrently update the view.
https://developer.apple.com/reference/appkit/nsview/1483425-candrawconcurrently

Related

Crash in MetalContext with Xamarin

We have a crash in MetalContext with over 3000 crashes in a single day on iOS 10 devices only. We are unable to track down the root of the error and google reveals nobody else have the same issue. Is there anyone who has any clues to where we can begin to look?
CRASH_INFO_ENTRY_0
Assertion failed: (_mcimpl->device == [_mcimpl->queue device]), function MetalContext, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/QuartzCore/QuartzCore-449.40.9/LayerKit/ogl/ogl-metal.mm, line 1005.
tid_403
0 libsystem_kernel.dylib 0x18d19e8e8 __ulock_wait + 8
1 libdispatch.dylib 0x18d06c0d8 _dispatch_ulock_wait + 48
2 libdispatch.dylib 0x18d06c200 _dispatch_thread_event_wait_slow + 36
3 libdispatch.dylib 0x18d069df8 _dispatch_barrier_sync_f_slow + 236
4 QuartzCore 0x1913e7090 CABackingStoreGetFrontTexture(CABackingStore*) + 92
5 QuartzCore 0x1913e7118 CABackingStorePrepareFrontTexture + 64
6 QuartzCore 0x1914db0a4 CA::Layer::prepare_commit(CA::Transaction*) + 320
7 QuartzCore 0x1914577f8 CA::Context::commit_transaction(CA::Transaction*) + 264
8 QuartzCore 0x19147ec58 CA::Transaction::commit() + 512
9 QuartzCore 0x19147f678 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 120
10 CoreFoundation 0x18e17b7dc __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
11 CoreFoundation 0x18e17940c __CFRunLoopDoObservers + 372
12 CoreFoundation 0x18e17989c __CFRunLoopRun + 1024
13 CoreFoundation 0x18e0a8048 CFRunLoopRunSpecific + 444
14 GraphicsServices 0x18fb2e198 GSEventRunModal + 180
15 UIKit 0x1940942fc -[UIApplication _run] + 684
16 UIKit 0x19408f034 UIApplicationMain + 208
17 NDC2010 0x100a321d4 wrapper_managed_to_native_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr (<unknown>:1)
18 NDC2010 0x1009ae138 Xamarin_iOS_UIKit_UIApplication_Main_string___string_string (UIApplication.cs:63)
19 NDC2010 0x100526288 NDC2010_NDC2010_NDC2010Application_Main_string__ + 28620
20 NDC2010 0x100921ba4 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 4204776
21 Mono 0x1019aa4e8 mono_jit_runtime_invoke + 1772
22 Mono 0x101a1ad64 do_runtime_invoke + 112
23 Mono 0x101a1d348 mono_runtime_exec_main + 832
24 Mono 0x101a1cf64 mono_runtime_run_main + 764
25 Mono 0x10198eb04 mono_jit_exec + 236
26 NDC2010 0x10051ed3c xamarin_main (monotouch-main.m:487)
27 NDC2010 0x101291970 main (main.arm64.m:133)
28 libdispatch.dylib 0x18d08c5b8 (Missing)
My app kept crashing with the same log, what fixed for me was a quick reset of device, i traced it to webView usage. I cant reset device every time so further testing revealed that i was using xcode 7.3 to build for ios10 that was the problem, after updating to xcode 8 and rebuilding the app i no longer get this crash. Hope this helps

WebKitLegacy - [_WebSafeForwarder forwardInvocation:] application crash in iOS10.0.1

I am getting the following crash only in iOS10.0.1. Its not giving me enough stack trace information. The only clue I have is , seems to be happening from WebView.Because it says "WebKitLegacy - [_WebSafeForwarder forwardInvocation:] ".
The crash log is given below. I have another crash group related to "updateSubviewsOfScrollContentViews" seems like all are related.
Any suggestions on this very helpful. Like how to debug this issue ? Where might be the problem?
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0xcec18beb8
Crashed Thread: 0
Application Specific Information:
objc_msgSend() selector name: addObject:
Thread 0 Crashed:
0 libobjc.A.dylib 0x000000018d9fef30 objc_msgSend + 16
1 UIKit 0x000000019502abd8 updateSubviewsOfScrollContentViews + 184
2 UIKit 0x000000019502acdc updateSubviewsOfScrollContentViews + 444
3 UIKit 0x000000019502acdc updateSubviewsOfScrollContentViews + 444
4 UIKit 0x000000019502acdc updateSubviewsOfScrollContentViews + 444
5 UIKit 0x000000019502acdc updateSubviewsOfScrollContentViews + 444
6 UIKit 0x000000019502aad0 -[UIWebBrowserView _collectAdditionalSubviews] + 380
7 UIKit 0x000000019502a924 -[UIWebDocumentView _updateSubviewCaches] + 52
8 UIKit 0x000000019500d268 -[UIWebDocumentView webViewDidCommitCompositingLayerChanges:] + 44
9 UIKit 0x000000019500cf80 -[UIWebBrowserView webViewDidCommitCompositingLayerChanges:] + 80
10 CoreFoundation 0x000000018efba160 __invoking___ + 140
11 CoreFoundation 0x000000018eeadc3c -[NSInvocation invoke] + 280
12 CoreFoundation 0x000000018eeb26ec -[NSInvocation invokeWithTarget:] + 56
13 WebKitLegacy 0x0000000194ae77f8 -[_WebSafeForwarder forwardInvocation:] + 152
14 libdispatch.dylib 0x000000018de3d200 _dispatch_call_block_and_release + 20
15 libdispatch.dylib 0x000000018de3d1c0 _dispatch_client_callout + 12
16 libdispatch.dylib 0x000000018de41d6c _dispatch_main_queue_callback_4CF + 996
17 CoreFoundation 0x000000018ef61f2c __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
18 CoreFoundation 0x000000018ef5fb18 __CFRunLoopRun + 1656
19 CoreFoundation 0x000000018ee8e048 CFRunLoopRunSpecific + 440
20 GraphicsServices 0x0000000190911198 GSEventRunModal + 176
21 UIKit 0x0000000194e67818 -[UIApplication _run] + 680
22 UIKit 0x0000000194e62550 UIApplicationMain + 204
23 Essentials 0x00000001000f5f08 main (main.m:52)
24 ??? 0x000000018de705b8 0x0 + 0enter code here

Xcode 6.1.1 crashes when opening project. Why?

After upgrading Xcode to 6.1.1, there's one project I just can't open anymore. It happens while "Loading xxx...". Here's the dump:
Process: Xcode [9343]
Path: /Applications/Xcode.app/Contents/MacOS/Xcode
Identifier: com.apple.dt.Xcode
Version: 6.1.1 (6611)
Build Info: IDEFrameworks-6611000000000000~4
App Item ID: 497799835
App External ID: 810788292
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Xcode [9343]
User ID: 503
Date/Time: 2014-12-04 09:13:16.198 -0500
OS Version: Mac OS X 10.10.2 (14C68k)
Report Version: 11
Anonymous UUID: 4D866B4F-CB26-6063-CCCD-E67B869C790D
Sleep/Wake UUID: AFB5AAC7-3418-4089-9431-D5F33891A437
Time Awake Since Boot: 12000 seconds
Time Since Wake: 1100 seconds
Crashed Thread: 10 Dispatch queue: IBPlatformToolRequestQueue.IBCocoaTouchFramework-EightAndLater
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Application Specific Information:
ProductBuildVersion: 6A2008a
UNCAUGHT EXCEPTION (IBAssertionFailure): ASSERTION FAILURE: [item ibBaselineCount] >= 1
Reason: An item that references the first attribute must have multiple baselines
File: /SourceCache/IBAutolayoutFoundationIOS/IDEInterfaceBuilder-6254/AutolayoutFoundation/Model/IBAutolayoutCommon.m:221
Method: CGFloat IBLayoutAttributeValueOfAttributeForItemInCoordinateSpaceOfItem(IBLayoutAttribute, NSObject<IBAutolayoutItem> *__strong, NSObject<IBAutolayoutItem> *__strong, IBUserInterfaceLayoutDirection)
UserInfo: {
IBAbstractPlatformToolExceptionBacktrace = " 0. CoreFoundation 0x000000010e8d9f1d __exceptionPreprocess\n 1. libobjc.A.dylib 0x000000010d5c0bb7 objc_exception_throw\n 2. CoreFoundation 0x000000010e8d9b79 -[NSException raise]\n 3. IBAutolayoutFoundation 0x000000010cc7cb9a IBLayoutAttributeValueOfAttributeForItemInCoordinateSpaceOfItem\n 4. IBAutolayoutFoundation 0x000000010ccaef34 -[IBLayoutConstraint roundingAdjustmentWithUserInterfaceLayoutDirection:]\n 5. IBAutolayoutFoundation 0x000000010cc8f1c3 -[IBAutolayoutEngine _attemptToAddConstraint:toView:returningConstraintsOrConstraintAbstractionsMakingSystemOverConstrained:constraintsOrAbstractionsForRepresentedConstraintsBlock:]\n 6. IBAutolayoutFoundation 0x000000010cc8f43d -[IBAutolayoutEngine attemptToAddConstraint:toView:returningConstraintsMakingSystemOverConstrained:]\n 7. IBAutolayoutFoundation 0x000000010cc63009 +[IBAutolayoutArbiter attemptToAddConstraint:byModifyingLayoutEngine:mutuallyExclusiveConstraintBreakageStrategy:mutableConstraintsToAdd:mutableConstraintsToRemove:]\n 8. IBAutolayoutFoundation 0x000000010cc8d6be -[IBAutolayoutEngine performEngineBootstrappingConstraintAdditionOperationForAddingConstraint:]\n 9. IBAutolayoutFoundation 0x000000010cc8dc44 __90-[IBAutolayoutEngine iterateViewsAndGenerateRepresentedConstraintsAndMapToRealConstraints]_block_invoke662\n 10. CoreFoundation 0x000000010e813a45 __NSDictionaryEnumerate\n 11. IBAutolayoutFoundation 0x000000010cc8d9c6 -[IBAutolayoutEngine iterateViewsAndGenerateRepresentedConstraintsAndMapToRealConstraints]\n 12. IBAutolayoutFoundation 0x000000010cc882f3 -[IBAutolayoutEngine initWithArbitrationUnit:options:]\n 13. IBAutolayoutFoundation 0x000000010cc6e818 -[IBAutolayoutArbitrationUnit computeStatus]\n 14. ??? 0x000000010b0987a5 [IBCocoaTouchTool computeAutolayoutStatusForRequest:document:]\n 15. IBFoundation 0x000000010cde08ef __80-[IBMessageReceiveChannel deliverMessage:toTarget:withArguments:context:result:]_block_invoke\n 16. IBFoundation 0x000000010cde0686 -[IBMessageReceiveChannel deliverMessage:toTarget:withArguments:context:result:]\n 17. IBFoundation 0x000000010cde0350 __88-[IBMessageReceiveChannel runBlockingReceiveLoopNotifyingQueue:notifyingTarget:context:]_block_invoke\n 18. libdispatch.dylib 0x0000000111ed5af4 _dispatch_client_callout\n 19. libdispatch.dylib 0x0000000111ec2e95 _dispatch_barrier_sync_f_slow_invoke\n 20. libdispatch.dylib 0x0000000111ed5af4 _dispatch_client_callout\n 21. libdispatch.dylib 0x0000000111ec1265 _dispatch_main_queue_callback_4CF\n 22. CoreFoundation 0x000000010e841fe9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__\n 23. CoreFoundation 0x000000010e804eeb __CFRunLoopRun\n 24. CoreFoundation 0x000000010e804486 CFRunLoopRunSpecific\n 25. Foundation 0x000000010d17db42 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]\n 26. IBFoundation 0x000000010cdbf955 -[IBAbstractPlatformTool startServingReceiveChannel:]\n 27. IBFoundation 0x000000010cdbfa2f -[IBAbstractPlatformTool startServingSocket:]\n 28. IBFoundation 0x000000010cdbfcf2 +[IBAbstractPlatformTool main]\n 29. ??? 0x000000010b0cae90 [IBViewRenderer .cxx_destruct]\n 30. libdyld.dylib 0x0000000111f06145 start";
}
Hints: None
Backtrace:
0 0x00007fff91dae654 __exceptionPreprocess (in CoreFoundation)
1 0x00000001018f7274 DVTFailureHintExceptionPreprocessor (in DVTFoundation)
2 0x00007fff9497f76e objc_exception_throw (in libobjc.A.dylib)
3 0x00007fff91dae209 -[NSException raise] (in CoreFoundation)
4 0x000000010bc8c9d9 -[IBAbstractMessageChannelToolProxy _errorByAddingAdditionalCrashInformationToError:orRaiseIfNeededOnFailure:shouldRaiseOnFailures:waitForCrashLog:] (in IDEInterfaceBuilderKit)
5 0x000000010bc8c8fd -[IBAbstractMessageChannelToolProxy errorByAddingAdditionalCrashInformationToError:orRaiseIfNeededOnFailure:] (in IDEInterfaceBuilderKit)
6 0x000000011054c06e (in IDEInterfaceBuilderCocoaTouchIntegration)
7 0x00000001105413d3 (in IDEInterfaceBuilderCocoaTouchIntegration)
8 0x000000010ba8d51d -[IBPlatformToolRequester processRequests] (in IDEInterfaceBuilderKit)
9 0x000000010192dc9c __DVTDispatchAsync_block_invoke (in DVTFoundation)
10 0x00007fff94d8d323 _dispatch_call_block_and_release (in libdispatch.dylib)
11 0x00007fff94d88c13 _dispatch_client_callout (in libdispatch.dylib)
12 0x00007fff94d8c365 _dispatch_queue_drain (in libdispatch.dylib)
13 0x00007fff94d8decc _dispatch_queue_invoke (in libdispatch.dylib)
14 0x00007fff94d8b6b7 _dispatch_root_queue_drain (in libdispatch.dylib)
15 0x00007fff94d99fe4 _dispatch_worker_thread3 (in libdispatch.dylib)
16 0x00007fff96cac637 _pthread_wqthread (in libsystem_pthread.dylib)
17 0x00007fff96caa40d start_wqthread (in libsystem_pthread.dylib)
abort() called
Application Specific Signatures:
IBAssertionFailure
Application Specific Backtrace 1:
0 CoreFoundation 0x00007fff91dae66c __exceptionPreprocess + 172
1 DVTFoundation 0x00000001018f7274 DVTFailureHintExceptionPreprocessor + 194
2 libobjc.A.dylib 0x00007fff9497f76e objc_exception_throw + 43
3 CoreFoundation 0x00007fff91dae209 -[NSException raise] + 9
4 IDEInterfaceBuilderKit 0x000000010bc8c9d9 -[IBAbstractMessageChannelToolProxy _errorByAddingAdditionalCrashInformationToError:orRaiseIfNeededOnFailure:shouldRaiseOnFailures:waitForCrashLog:] + 178
5 IDEInterfaceBuilderKit 0x000000010bc8c8fd -[IBAbstractMessageChannelToolProxy errorByAddingAdditionalCrashInformationToError:orRaiseIfNeededOnFailure:] + 98
6 IDEInterfaceBuilderCocoaTouchIntegration 0x000000011054c06e IBUISegmentConfiguration + 4812
7 IDEInterfaceBuilderCocoaTouchIntegration 0x00000001105413d3 IBIsObjectIllegalCocoaTouchOutletEndPoint + 10699
8 IDEInterfaceBuilderKit 0x000000010ba8d51d -[IBPlatformToolRequester processRequests] + 1161
9 DVTFoundation 0x000000010192dc9c __DVTDispatchAsync_block_invoke + 106
10 libdispatch.dylib 0x00007fff94d8d323 _dispatch_call_block_and_release + 12
11 libdispatch.dylib 0x00007fff94d88c13 _dispatch_client_callout + 8
12 libdispatch.dylib 0x00007fff94d8c365 _dispatch_queue_drain + 1100
13 libdispatch.dylib 0x00007fff94d8decc _dispatch_queue_invoke + 202
14 libdispatch.dylib 0x00007fff94d8b6b7 _dispatch_root_queue_drain + 463
15 libdispatch.dylib 0x00007fff94d99fe4 _dispatch_worker_thread3 + 91
16 libsystem_pthread.dylib 0x00007fff96cac637 _pthread_wqthread + 729
17 libsystem_pthread.dylib 0x00007fff96caa40d start_wqthread + 13
Thread 0:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fff9730d136 __psynch_cvwait + 10
1 com.apple.Foundation 0x00007fff979cb220 -[NSCondition waitUntilDate:] + 343
2 com.apple.Foundation 0x00007fff979c10d8 -[NSConditionLock lockWhenCondition:beforeDate:] + 232
3 com.apple.dt.IBFoundation 0x00000001082c8ea6 -[IBSemaphore decrementWithTimeout:] + 179
4 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010ba8ccea -[IBPlatformToolRequester waitForRequestWithID:timeout:] + 352
5 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb8f6f6 -[IBDocumentAutolayoutManager autolayoutStatusForArbitrationUnitContainingObject:] + 200
6 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb903ea -[IBDocumentAutolayoutManager isItemMisplaced:] + 69
7 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb90a4b __61-[IBDocumentAutolayoutManager itemsWithCleanAutolayoutStatus]_block_invoke + 42
8 com.apple.dt.IBFoundation 0x00000001082598cd -[NSSet(IBSetAdditions) ib_setByFilteringUsingBlock:] + 246
9 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb909f0 -[IBDocumentAutolayoutManager itemsWithCleanAutolayoutStatus] + 145
10 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb829a7 -[IBDocumentAutolayoutManager preserveCleanAutolayoutStatusDuring:] + 55
11 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb6b59c -[IBDocument preserveCleanAutolayoutStatusDuring:] + 79
12 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bd2c9be -[IBResourceManager synchronizeObjectPropertyValuesWithVariantContext] + 112
13 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bd29de7 __66-[IBResourceManager setupVariantContextWithContainerRepositories:]_block_invoke + 870
14 com.apple.dt.IDEKit 0x0000000102ef7cac -[IDEMediaResourceVariantContext registerVariantContextObserverWithOptions:block:] + 194
15 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bd299a0 -[IBResourceManager setupVariantContextWithContainerRepositories:] + 493
16 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bd29f4b -[IBResourceManager setResourceProvidingContainer:] + 196
17 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb45d77 -[IBDocument setResourceProvidingContainer:] + 79
18 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb449eb -[IBDocument refreshWorkspaceSourcedContent] + 120
19 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bb44cbe -[IBDocument registerWorkspaceDocument:forEditorViewController:] + 271
20 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010ba2fa3b -[IBAbstractDocumentEditor viewDidInstall] + 166
21 com.apple.dt.IDE.IDEInterfaceBuilderKit 0x000000010bd7ebb8 -[IBStoryboardDocumentEditor viewDidInstall] + 51
22 com.apple.dt.DVTKit 0x0000000101f4240f -[DVTViewController _didInstallContentView:] + 244
23 com.apple.dt.DVTKit 0x0000000101d458bc -[DVTControllerContentView _viewDidInstall] + 330
24 com.apple.dt.DVTKit 0x0000000101d4516c -[DVTControllerContentView viewDidMoveToWindow] + 97
25 com.apple.AppKit 0x00007fff904a0997 -[NSView _setWindow:] + 3274
26 com.apple.AppKit 0x00007fff9049dc83 -[NSView addSubview:] + 463
27 com.apple.AppKit 0x00007fff9054aea3 -[NSView setSubviews:] + 947
28 com.apple.dt.DVTKit 0x0000000101d379a1 -[DVTBorderedView setContentView:] + 193
29 com.apple.dt.IDEKit 0x0000000102928f43 -[IDEEditorContext _setEditorView] + 324
30 com.apple.dt.IDEKit 0x0000000102ae75eb -[IDEEditorContext setupNewEditor:] + 946
31 com.apple.dt.IDEKit 0x0000000102ae91f2 __91-[IDEEditorContext _openNavigableItem:documentExtension:document:shouldInstallEditorBlock:]_block_invoke + 1311
32 com.apple.dt.IDEKit 0x000000010293c01b -[IDEEditorContext _performBlockInsideReentrantGuard:] + 132
33 com.apple.dt.IDEKit 0x000000010293be6e -[IDEEditorContext _openNavigableItem:documentExtension:document:shouldInstallEditorBlock:] + 3521
34 com.apple.dt.IDEKit 0x000000010296f805 -[IDEEditorContext _openNavigableItem:withContentsOfURL:documentExtension:shouldInstallEditorBlock:] + 1713
35 com.apple.dt.IDEKit 0x0000000102aeace0 -[IDEEditorContext _notifyDelegateAndOpenNavigableItem:withContentsURL:documentExtensionIdentifier:locationToSelect:annotationRepresentedObject:stateDictionary:annotationWantsIndicatorAnimation:exploreAnnotationRepresentedObject:highlightSelection:skipSubDocumentNavigationUnlessEditorIsReplaced:] + 3652
36 com.apple.dt.IDEKit 0x0000000102aec74b -[IDEEditorContext _notifyDelegateAndOpenEditorHistoryItem:previousHistoryItemOrNil:skipSubDocumentNavigationUnlessEditorIsReplaced:] + 955
37 com.apple.dt.IDEKit 0x0000000102ae82a7 -[IDEEditorContext _openEditorHistoryItem:previousHistoryItemOrNil:skipSubDocumentNavigationUnlessEditorIsReplaced:] + 381
38 com.apple.dt.IDEKit 0x000000010296d9fe -[IDEEditorContext _openEditorHistoryItem:updateHistory:] + 346
39 com.apple.dt.IDEKit 0x000000010296cc01 -[IDEEditorContext _openEditorHistoryItemFromStateSaving:] + 448
40 com.apple.dt.IDEKit 0x00000001029a217d -[IDEEditorBasicMode _setPersistentRepresentation:forIdentifier:] + 519
41 com.apple.dt.IDEKit 0x0000000102db60be __60-[IDEEditorModeViewController _setPersistentRepresentation:]_block_invoke + 84
42 com.apple.CoreFoundation 0x00007fff91ce3536 __53-[__NSArrayI enumerateObjectsWithOptions:usingBlock:]_block_invoke + 70
43 com.apple.CoreFoundation 0x00007fff91ce3469 -[__NSArrayI enumerateObjectsWithOptions:usingBlock:] + 297
44 com.apple.dt.IDEKit 0x00000001029688ce -[IDEEditorModeViewController _setPersistentRepresentation:] + 201
45 com.apple.dt.IDEKit 0x00000001029686d1 -[IDEEditorModeViewController revertStateWithDictionary:] + 170
46 com.apple.dt.DVTFoundation 0x000000010177797b -[DVTStateToken _pullStateFromDictionary:] + 327
47 com.apple.dt.DVTFoundation 0x000000010177779d -[DVTStateToken pullStateFromRepository] + 168
48 com.apple.dt.IDEKit 0x0000000102948f18 -[IDEViewController revertState] + 48
49 com.apple.dt.IDEKit 0x0000000102922bc0 -[IDEEditorArea _updateStateSavingRegistrations] + 442
50 com.apple.dt.IDEKit 0x000000010294b48f -[IDEEditorArea _refreshEditorContextsAndPreserveCurrentEditorHistoryStack:] + 705
51 com.apple.dt.IDEKit 0x0000000102b27d0a __31-[IDEEditorArea viewDidInstall]_block_invoke + 429
52 com.apple.dt.DVTFoundation 0x00000001019081ab __73-[DVTObservingBlockToken observeValueForKeyPath:ofObject:change:context:]_block_invoke183 + 83
53 com.apple.dt.DVTFoundation 0x0000000101883d78 DVTInvokeWithStrongOwnership + 75
54 com.apple.dt.DVTFoundation 0x00000001017375fc -[DVTObservingBlockToken observeValueForKeyPath:ofObject:change:context:] + 328
55 com.apple.Foundation 0x00007fff9799aa93 NSKeyValueNotifyObserver + 382
56 com.apple.Foundation 0x00007fff97999c68 NSKeyValueDidChange + 463
57 com.apple.Foundation 0x00007fff9799e7cd -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:] + 118
58 com.apple.dt.IDEFoundation 0x0000000102335a12 __81-[IDEWorkspace _finishLoadingAsynchronously:shouldUpgradeFromSimpleFilesFocused:]_block_invoke + 321
59 com.apple.dt.IDEFoundation 0x0000000102335c6a __81-[IDEWorkspace _finishLoadingAsynchronously:shouldUpgradeFromSimpleFilesFocused:]_block_invoke321 + 59
60 com.apple.Foundation 0x00007fff97ace108 __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 7
61 com.apple.Foundation 0x00007fff979ba725 -[NSBlockOperation main] + 97
62 com.apple.Foundation 0x00007fff979993bc -[__NSOperationInternal _start:] + 653
63 com.apple.Foundation 0x00007fff97998fc3 __NSOQSchedule_f + 184
64 libdispatch.dylib 0x00007fff94d88c13 _dispatch_client_callout + 8
65 libdispatch.dylib 0x00007fff94d94cbf _dispatch_main_queue_callback_4CF + 861
66 com.apple.CoreFoundation 0x00007fff91d01c79 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
67 com.apple.CoreFoundation 0x00007fff91cbe30f __CFRunLoopRun + 2159
68 com.apple.CoreFoundation 0x00007fff91cbd858 CFRunLoopRunSpecific + 296
69 com.apple.HIToolbox 0x00007fff8fcc52df RunCurrentEventLoopInMode + 235
70 com.apple.HIToolbox 0x00007fff8fcc505a ReceiveNextEventCommon + 431
71 com.apple.HIToolbox 0x00007fff8fcc4e9b _BlockUntilNextEventMatchingListInModeWithFilter + 71
72 com.apple.AppKit 0x00007fff90488cf1 _DPSNextEvent + 964
73 com.apple.AppKit 0x00007fff904884a0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 194
74 com.apple.dt.DVTKit 0x0000000101e5e6fd -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 237
75 com.apple.AppKit 0x00007fff9047c463 -[NSApplication run] + 594
76 com.apple.AppKit 0x00007fff90467914 NSApplicationMain + 1832
77 libdyld.dylib 0x00007fff9496e5c9 start + 1
While I see the problem originates from IB (An item that references the first attribute must have multiple baselines), I have no clue what to try and change in my storyboard file, which is rather big.
Anyone had the same fate? Any ideas?
I may suggest to open your storyboard file as source
and remove baseline constraints from scenes
You may remove it one by one to localize error reason
In my case the issue was that I had some contraints that were conflicting. I opened Main.storyboard with a text editor and removed the contraints tags from a couple of views and it let me open the file without crashing.

What does this stack trace indicate? Crash caused by Xamarin.Media.MediaPicker.TakePhotoAsync on iOS8

What does this stack trace indicate? Crash caused by Xamarin.Media.MediaPicker.TakePhotoAsync on iOS8 on iPad2
I've logged a bug at...
https://bugzilla.xamarin.com/show_bug.cgi?id=22853
But I'd like to make sure that it is not something I'm doing. It works fine on iOS7.
OS Version: iOS 8.0 (12A365)
Report Version: 105
Exception Type: EXC_BAD_ACCESS (SIGABRT)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000002c
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_kernel.dylib 0x3ab05dfc __pthread_kill + 8
1 libsystem_pthread.dylib 0x3ab85d0e pthread_kill + 58
2 libsystem_c.dylib 0x3aaa5934 abort + 72
3 TouchContainer 0x00bd5b3a mono_handle_native_sigsegv (mini-exceptions.c:2360)
4 TouchContainer 0x00bdef72 mono_sigsegv_signal_handler (mini.c:6868)
5 libsystem_platform.dylib 0x3ab800a0 _sigtramp + 40
6 UIKit 0x30212304 _UIViewTopDownSubtreeTraversal + 260
7 UIKit 0x30212304 _UIViewTopDownSubtreeTraversal + 260
8 UIKit 0x305ab842 -[UIView(UIConstraintBasedLayout_EngineDelegate) _invalidateSystemLayoutSizeFittingSizeAtEngineDelegateLevel] + 118
9 UIKit 0x300429c0 -[UIView(AdditionalLayoutSupport) _setNeedsUpdateConstraintsNeedingLayout:] + 68
10 UIKit 0x305aa4e2 -[UIView(AdditionalLayoutSupport) _setSubviewWantsAutolayoutTripWantsAutolayout:] + 206
11 UIKit 0x2ff88588 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1352
12 UIKit 0x2ff88032 -[UIView(Hierarchy) addSubview:] + 26
13 UIKit 0x3024b2a2 __56-[UIPresentationController _transplantView:toSuperview:]_block_invoke + 242
14 UIKit 0x3024af8c -[UIPresentationController _performBlockWithoutTriggeringResponderEvents:] + 96
15 UIKit 0x3024b1a6 -[UIPresentationController _transplantView:toSuperview:] + 78
16 UIKit 0x3024e474 __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 768
17 UIKit 0x3024d358 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 148
18 UIKit 0x2fffb916 _applyBlockToCFArrayCopiedToStack + 306
19 UIKit 0x2ff777da _afterCACommitHandler + 454
20 CoreFoundation 0x2caca842 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
21 CoreFoundation 0x2cac7f24 __CFRunLoopDoObservers + 272
22 CoreFoundation 0x2cac8326 __CFRunLoopRun + 910
23 CoreFoundation 0x2ca15dac CFRunLoopRunSpecific + 472
24 CoreFoundation 0x2ca15bbe CFRunLoopRunInMode + 102
25 GraphicsServices 0x33d4904c GSEventRunModal + 132
26 UIKit 0x2ffe0efc UIApplicationMain + 1436
27 TouchContainer 0x001d81ec wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string___intptr_intptr + 268
28 TouchContainer 0x0018533c MonoTouch_UIKit_UIApplication_Main_string___intptr_intptr (UIApplication.cs:122)
29 TouchContainer 0x001852fc MonoTouch_UIKit_UIApplication_Main_string___string_string (UIApplication.cs:88)
30 TouchContainer 0x000ad800 Touch_Container_Application_Main_string__ (MainClass.cs:84)
31 TouchContainer 0x0036e9b4 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 196
32 TouchContainer 0x00be115c mono_jit_runtime_invoke (mini.c:6730)
33 TouchContainer 0x00c2059a mono_runtime_invoke (object.c:2831)
34 TouchContainer 0x00c242a2 mono_runtime_exec_main (object.c:4088)
35 TouchContainer 0x00c240ea mono_runtime_run_main (object.c:3714)
36 TouchContainer 0x00bcea74 mono_jit_exec (driver.g.c:1009)
37 TouchContainer 0x00c59894 monotouch_main (monotouch-main.m:469)
38 TouchContainer 0x00bb0da0 main (main.armv7.m:65)
39 TouchContainer 0x000a9024 start + 36
It seems that what I was doing wrong was calling TakePhotoAsync from the Clicked event of an ActionSheet. The action sheet was still presented when the photo picker was presented. Pre iOS8 there must have been defensive code to silently work in this apparently illegal situation. The solution was to run the TakePhotoAsync in a BeginInvokeOnMainThread call. This queues the call on the main thread and allows the ActionSheet some space to finish closing.

MonoTouch RedLaser SDK Object

I am trying to use the RedLaser SDK 3.30 with MonoTouch. Here is the code I am using:
https://github.com/mono/monotouch-bindings/tree/master/RedLaser
When I click the thunderbolt button to scan a barcode, my app crashes on my iPod touch. I am using ARM7. Here is my crash log:
wait_fences: failed to receive reply: 10004003
0 RedLaserSample 0x01669015 mono_handle_native_sigsegv + 244
1 RedLaserSample 0x01681cf1 sigabrt_signal_handler + 112
2 libsystem_c.dylib 0x309cf7ed _sigtramp + 48
3 libsystem_c.dylib 0x309c520f pthread_kill + 54
4 libsystem_c.dylib 0x309be29f abort + 94
5 libc++abi.dylib 0x367cef6b abort_message + 46
6 libc++abi.dylib 0x367cc34d _ZL17default_terminatev + 24
7 libobjc.A.dylib 0x3414036f _objc_terminate + 170
8 libc++abi.dylib 0x367cc3c5 _ZL19safe_handler_callerPFvvE + 76
9 libc++abi.dylib 0x367cc451 _ZdlPv + 0
10 libc++abi.dylib 0x367cd79f __cxa_throw + 122
11 RedLaserSample 0x00040565 _ZN5zxing6qrcode19FinderPatternFinder18selectBestPatternsEv + 172
12 RedLaserSample 0x000416a5 _ZN5zxing6qrcode19FinderPatternFinder4findERKNS_11DecodeHintsE + 512
13 RedLaserSample 0x0003a8b3 _ZN5zxing6qrcode8Detector6detectERKNS_11DecodeHintsE + 366
14 RedLaserSample 0x00046c53 _ZN5zxing6qrcode12QRCodeReader6decodeENS_3RefINS_12BinaryBitmapEEENS_11DecodeHintsE + 130
15 RedLaserSample 0x0004edcb _ZN5zxing6Reader6decodeENS_3RefINS_12BinaryBitmapEEE + 458
16 RedLaserSample 0x00055be9 -[FormatReader decode:] + 116
17 RedLaserSample 0x00013749 -[ZXingDecoder findCodesInBitmap:bytesPerRow:width:height:] + 656
18 RedLaserSample 0x0005b6df -[BarcodePhotoEngine zxingFindBarcodesInPixmap:] + 222
19 RedLaserSample 0x00053551 __38-[BarcodeEngine findBarcodesInPixMap:]_block_invoke_066 + 76
20 libdispatch.dylib 0x35737c59 _dispatch_call_block_and_release + 12
21 libdispatch.dylib 0x35742cab _dispatch_queue_drain + 274
22 libdispatch.dylib 0x35742b19 _dispatch_queue_invoke$VARIANT$up + 36
23 libdispatch.dylib 0x3574378b _dispatch_worker_thread2 + 214
24 libsystem_c.dylib 0x30980dfb _pthread_wqthread + 294
25 libsystem_c.dylib 0x30980cd0 start_wqthread + 8
In the current SDK, version 3.3, there is an issue with QR Codes. When the app starts, click the QR code button and it says no. It scans normal now.

Resources