NSInternalInconsistencyException Reason: Modifications to the layout engine must not be performed from a background thread

Hello,

We have a Xamarin app in the stores (I know, Xamarin is EOL). We are working on a new version, but do to planning issues, it's not yet ready to be published. We now have a customer who complains that our app is crashing on iOS 26 beta.

Our biggest question now is: will it be fixed in the stable release of iOS 26 or will we get a lot of complains around mid September?

We currently don't have a device running iOS 26. The crash logs show multiple devices: iPhone 15, iPhone 15 Pro Max and iPhone 16 Pro

This is the crash log:

Runtime.ThrowNSException (System.IntPtr ns_exception)
SIGABRT: Objective-C exception thrown. Name: NSInternalInconsistencyException Reason: Modifications to the layout engine must not be performed from a background thread after it has been accessed from the main thread. Native stack trace: 0 CoreFoundation 0x00000001a2e438dc 44CF748C-19F2-31C4-A0F1-143E32768AF1 + 825564 1 libobjc.A.dylib 0x000000019ffa17a4 objc_exception_throw + 88 2 CoreAutoLayout 0x00000001c9afb3a4 84BC5753-1758-31EE-9293-D54061CA6C7A + 5028 3 CoreAutoLayout 0x00000001c9afb734 84BC5753-1758-31EE-9293-D54061CA6C7A + 5940 4 CoreAutoLayout 0x00000001c9afb404 84BC5753-1758-31EE-9293-D54061CA6C7A + 5124 5 CoreAutoLayout 0x00000001c9afaee8 84BC5753-1758-31EE-9293-D54061CA6C7A + 3816 6 UIKitCore 0x00000001a5a8bac8 ABE178BE-C241-3474-A192-70F042F71BF4 + 162504 7 UIKitCore 0x00000001a5b62760 ABE178BE-C241-3474-A192-70F042F71BF4 + 1042272 8 UIKitCore 0x00000001a5c98228 ABE178BE-C241-3474-A192-70F042F71BF4 + 2310696 9 UIKitCore 0x00000001a5a8b674 ABE178BE-C241-3474-A192-70F042F71BF4 + 161396 10 UIKitCore 0x00000001a5a8c134 ABE178BE-C241-3474-A192-70F042F71BF4 + 164148 11 UIKitCore 0x00000001a7326898 ABE178BE-C241-3474-A192-70F042F71BF4 + 25962648 12 QuartzCore 0x00000001a4db7d98 56B9FC0F-1E8F-3B5F-BE34-7DDB9A5D7375 + 703896 13 QuartzCore 0x00000001a4d9a810 56B9FC0F-1E8F-3B5F-BE34-7DDB9A5D7375 + 583696 14 QuartzCore 0x00000001a4db945c 56B9FC0F-1E8F-3B5F-BE34-7DDB9A5D7375 + 709724 15 QuartzCore 0x00000001a4d7a30c 56B9FC0F-1E8F-3B5F-BE34-7DDB9A5D7375 + 451340 16 QuartzCore 0x00000001a4da6fc4 56B9FC0F-1E8F-3B5F-BE34-7DDB9A5D7375 + 634820 17 Time.iOS 0x0000000105ebb6b0 sqlite3_sourceid + 19991196 18 Time.iOS 0x0000000105dfe4f8 sqlite3_sourceid + 19216612 19 Time.iOS 0x0000000106094154 sqlite3_sourceid + 21927232 20 Time.iOS 0x0000000104efe21c sqlite3_sourceid + 3487240 21 Time.iOS 0x0000000104efb90c sqlite3_sourceid + 3476728 22 Time.iOS 0x0000000104efb70c sqlite3_sourceid + 3476216 23 Time.iOS 0x0000000104efb690 sqlite3_sourceid + 3476092 24 Time.iOS 0x0000000104efe384 sqlite3_sourceid + 3487600 25 Time.iOS 0x00000001051dea20 sqlite3_sourceid + 6503948 26 Time.iOS 0x0000000107a17744 sqlite3_sourceid + 48679728 27 Time.iOS 0x0000000107ad1390 sqlite3_sourceid + 49440636 28 Time.iOS 0x0000000107ad6d2c sqlite3_sourceid + 49463576 29 Time.iOS 0x0000000107b1efe0 sqlite3_sourceid + 49759180 30 Time.iOS 0x0000000107b1ed6c sqlite3_sourceid + 49758552 31 libsystem_pthread.dylib 0x00000002329c9424 _pthread_start + 136 32 libsystem_pthread.dylib 0x00000002329c58cc thread_start + 8 
Runtime.ThrowNSException (System.IntPtr ns_exception)
Runtime.throw_ns_exception (System.IntPtr exc)
(wrapper native-to-managed) ObjCRuntime.Runtime.throw_ns_exception(intptr)
(wrapper managed-to-native) ObjCRuntime.Messaging.objc_msgSend(intptr,intptr)
CATransaction.Commit ()
CADisplayLinkTicker.StartThread ()
ThreadHelper.ThreadStart_Context (System.Object state)
ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state)
ThreadHelper.ThreadStart ()
(wrapper managed-to-native) ObjCRuntime.Messaging.objc_msgSend(intptr,intptr)
CATransaction.Commit ()
CADisplayLinkTicker.StartThread ()
ThreadHelper.ThreadStart_Context (System.Object state)
ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx)
ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state)
ThreadHelper.ThreadStart ()

kind regards

NSInternalInconsistencyException Reason: Modifications to the layout engine must not be performed from a background thread
 
 
Q