You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
• Do this on a computer running macOS 10.15 Beta 8, 9, 10 or 11.
• In the scheme BSTest > Edit Scheme > Run > Arguments, ensure that the argument "-com.apple.CoreData.ConcurrencyDebug 1" is active/on.
• In BSManagedDocument.m, in -configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:, under the comment "And now, the fix…", un-comment the four lines of code which are commented out.
• Build and run the test app (scheme BSTest). The test app will launch and show a new untitled document. Or, click in the menu: File > New. You will get the same result with either document.
• Click in the menu: File > Save. The Save sheet appears.
• Give the document a name and dismiss the sheet.
Result: App raises assertion in CoreData`+[NSManagedObjectContext Multithreading_Violation_AllThatIsLeftToUsIsHonor]:, which means that a Core Data multithreading violation has supposedly occurred. Did it really? I don't know. When I dig in with the debugger, the action seems to be happening on the correct thread for that persistent store. So it might be a false alarm.
• If you re-comment-out those four lines and re-do the above steps, no assertion is raised.
• If you run in macOS 10.14.6, no assertion is raised.
The only disadvantage to leaving the code commented out is that we are not using the latest available method in macOS 10.10 and later. And it stinks.
Someone who feels that Apple cares about bugs like this needs to make a demo and, if indeed the bug is proven to be in macOS, file a bug with Apple :(
The text was updated successfully, but these errors were encountered:
Steps to reproduce:
• Do this on a computer running macOS 10.15 Beta 8, 9, 10 or 11.
• In the scheme BSTest > Edit Scheme > Run > Arguments, ensure that the argument "-com.apple.CoreData.ConcurrencyDebug 1" is active/on.
• In BSManagedDocument.m, in -configurePersistentStoreCoordinatorForURL:ofType:modelConfiguration:storeOptions:error:, under the comment "And now, the fix…", un-comment the four lines of code which are commented out.
• Build and run the test app (scheme BSTest). The test app will launch and show a new untitled document. Or, click in the menu: File > New. You will get the same result with either document.
• Click in the menu: File > Save. The Save sheet appears.
• Give the document a name and dismiss the sheet.
Result: App raises assertion in CoreData`+[NSManagedObjectContext Multithreading_Violation_AllThatIsLeftToUsIsHonor]:, which means that a Core Data multithreading violation has supposedly occurred. Did it really? I don't know. When I dig in with the debugger, the action seems to be happening on the correct thread for that persistent store. So it might be a false alarm.
• If you re-comment-out those four lines and re-do the above steps, no assertion is raised.
• If you run in macOS 10.14.6, no assertion is raised.
The only disadvantage to leaving the code commented out is that we are not using the latest available method in macOS 10.10 and later. And it stinks.
Someone who feels that Apple cares about bugs like this needs to make a demo and, if indeed the bug is proven to be in macOS, file a bug with Apple :(
The text was updated successfully, but these errors were encountered: