Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread.

we got a crash: means refresh UI on a background thread, bug there is none clue in the crash log。 myapp method doesn't appear in the crash log. Have you ever encountered this problem?What is the solution

Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Triggered by Thread: 70

Last Exception Backtrace: 0 CoreFoundation 0x1c83ae248 __exceptionPreprocess + 164 (NSException.m:202)

1 libobjc.A.dylib 0x1c177ba68 objc_exception_throw + 60 (objc-exception.mm:356)

2 CoreAutoLayout 0x1e4888e84 _AssertAutoLayoutOnAllowedThreadsOnly + 328 (NSISEngine.m:0)

3 CoreAutoLayout 0x1e487f9b4 -[NSISEngine _optimizeWithoutRebuilding] + 72 (NSISEngine.m:1709)

4 CoreAutoLayout 0x1e487f8e4 -[NSISEngine optimize] + 96 (NSISEngine.m:1683)

5 CoreAutoLayout 0x1e487f670 -[NSISEngine performPendingChangeNotifications] + 104 (NSISEngine.m:677)

6 UIKitCore 0x1ca538710 -[UIView(Hierarchy) layoutSubviews] + 128 (UIView.m:13091)

7 UIKitCore 0x1ca536cec -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1980 (UIView.m:18550)

8 QuartzCore 0x1c9a134e8 CA::Layer::layout_if_needed(CA::Transaction*) + 500 (CALayer.mm:10223)

9 QuartzCore 0x1c9a26b9c CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 148 (CALayer.mm:2516)

10 QuartzCore 0x1c9a38098 CA::Context::commit_transaction(CA::Transaction*, double, double*) + 456 (CAContextInternal.mm:2711)

11 QuartzCore 0x1c9a6f3c4 CA::Transaction::commit() + 652 (CATransactionInternal.mm:431)

12 MediaToolbox 0x1d75d7254 videoQueueRemote_removeHostLayer + 116 (FigVideoQueue_Remote.m:509)

13 MediaToolbox 0x1d75d6250 videoQueueRemote_Invalidate + 348 (FigVideoQueue_Remote.m:463)

14 MediaToolbox 0x1d75d6334 videoQueueRemote_Finalize + 36 (FigVideoQueue_Remote.m:817)

15 CoreMedia 0x1d336a044 FigBaseObjectFinalize + 568 (FigBaseObject.c:402)

16 CoreFoundation 0x1c8422d20 _CFRelease + 316 (CFRuntime.c:2097)

17 MediaToolbox 0x1d75d5b30 FigVideoQueueRemoteCallbackServer_NotificationIsPending + 328 (FigCFUtilitiesFigOnly.h:65)

18 MediaToolbox 0x1d771ed7c figvideoqueuecallback_server + 108 (FigVideoQueue_RemoteCallbackServer.c:162)

19 libdispatch.dylib 0x1cf8482ac dispatch_mig_server + 424 (mach.c:3300)

20 libdispatch.dylib 0x1cf829fdc _dispatch_client_callout + 20 (object.m:560)

21 libdispatch.dylib 0x1cf82d46c _dispatch_continuation_pop + 504 (inline_internal.h:2632)

22 libdispatch.dylib 0x1cf840a58 _dispatch_source_invoke + 1588 (source.c:596)

23 libdispatch.dylib 0x1cf83156c _dispatch_lane_serial_drain + 376 (inline_internal.h:0)

24 libdispatch.dylib 0x1cf8321e0 _dispatch_lane_invoke + 384 (queue.c:3940)

25 libdispatch.dylib 0x1cf83ce10 _dispatch_workloop_worker_thread + 652 (queue.c:6846)

26 libsystem_pthread.dylib 0x214cccdf8 _pthread_wqthread + 288 (pthread.c:2618)

27 libsystem_pthread.dylib 0x214cccb98 start_wqthread + 8 (:-1)

here is the full log -------------*

Replies

The app I work on has also been experiencing this same crash. We filed a TSI with Apple, and Apple DTS determined that this is a bug within MediaToolbox without a workaround. The bug report they suggested I file currently has status "Potential Fix Identified – For a Future OS Update" -- hopefully a future release of iOS will fix this crash!