Potential Structural Swift Concurrency Issue: unsafeForcedSync called from Swift Concurrent context

I occasionally get this error in Xcode’s console:

Potential Structural Swift Concurrency Issue: unsafeForcedSync called from Swift Concurrent context.

What does this mean, and how can I resolve it? Googling it doesn’t turn up any results.

This doesn't crash the app - it’s just an error diagnostic that I see in the Xcode console. The app keeps running before and after the issue.

Is there a way I can set a breakpoint to catch this where it happens?

Answered by DTS Engineer in 860509022

Thanks for bringing this over to the Apple Developer Forums.

On Swift Forums you wrote:

This isn’t actually crashing the app

Ah, confusing. There are multiple instances of code like this and some of them trap using fatalError(…) while others just log.

Is there a way I can set a breakpoint to catch this where it happens?

Try this:

(lldb) br set -s libswiftos.dylib -n os_log

I’m not 100% sure it’ll hit this breakpoint but, if it does, the backtrace should help you understand how you got there.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Thanks for bringing this over to the Apple Developer Forums.

On Swift Forums you wrote:

This isn’t actually crashing the app

Ah, confusing. There are multiple instances of code like this and some of them trap using fatalError(…) while others just log.

Is there a way I can set a breakpoint to catch this where it happens?

Try this:

(lldb) br set -s libswiftos.dylib -n os_log

I’m not 100% sure it’ll hit this breakpoint but, if it does, the backtrace should help you understand how you got there.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I've seen this error message too when running a very simple SwiftUI app (built using Xcode 26.0 (17A324)) on my device (iPhone 16 running iOS 26.0 (23A341)):

  1. Start the app
  2. Wait 10 seconds
  3. Send the app to the background.

No other user interaction is necessary.

The LLDB statement you provided does catch the location of the error message. But the stack trace is not helpful, as non of my code is involved.

But what I've seen is that the error message is written to the console when the app is sent for the first time to the background. It doesn't appear anymore afterwards.

The call stack I've captured is:

#0	0x00000001a74e1280 in os_log ()
#1	0x00000001914d4218 in ___lldb_unnamed_symbol7481 ()
#2	0x000000018b2855c0 in ___lldb_unnamed_symbol14749 ()
#3	0x00000001914dc944 in ___lldb_unnamed_symbol7669 ()
#4	0x00000001914dce24 in ___lldb_unnamed_symbol7677 ()
#5	0x00000001de688520 in partial apply forwarder for closure #1 (Swift.UnsafeMutablePointer<Swift.Optional<Observation.ObservationTracking._AccessList>>) -> τ_0_0 in Observation.generateAccessList<τ_0_0>(() -> τ_0_0) -> (τ_0_0, Swift.Optional<Observation.ObservationTracking._AccessList>) ()
#6	0x00000001de67fc18 in withUnsafeMutablePointer ()
#7	0x00000001de67fb40 in Observation.generateAccessList<τ_0_0>(() -> τ_0_0) -> (τ_0_0, Swift.Optional<Observation.ObservationTracking._AccessList>) ()
#8	0x00000001de67ff00 in withObservationTracking ()
#9	0x00000001914dad74 in ___lldb_unnamed_symbol7647 ()
#10	0x0000000181785ef0 in merged closure #1 (Builtin.RawUnsafeContinuation) -> () in Swift.withCheckedContinuation<τ_0_0>(isolation: isolated Swift.Optional<Swift.Actor>, function: Swift.String, _: (Swift.CheckedContinuation<τ_0_0, Swift.Never>) -> ()) async -> τ_0_0 ()
#11	0x000000018178605c in (1) suspend resume partial function for Swift.withCheckedThrowingContinuation<τ_0_0>(isolation: isolated Swift.Optional<Swift.Actor>, function: Swift.String, _: (Swift.CheckedContinuation<τ_0_0, Swift.Error>) -> ()) async throws -> τ_0_0 ()
#12	0x00000001914dcc30 in ___lldb_unnamed_symbol7676 ()
#13	0x00000001914aa7f8 in ___lldb_unnamed_symbol6613 ()
#14	0x00000001817afe60 in (2) await resume partial function for Swift.withTaskCancellationHandler<τ_0_0>(operation: () async throws -> τ_0_0, onCancel: @Sendable () -> (), isolation: isolated Swift.Optional<Swift.Actor>) async throws -> τ_0_0 ()
#15	0x00000001914da668 in ___lldb_unnamed_symbol7643 ()
#16	0x00000001914adb30 in ___lldb_unnamed_symbol6682 ()

The unnamed symbols are from AXCoreUtilities.

The log with its meta data is:

Potential Structural Swift Concurrency Issue: unsafeForcedSync called from Swift Concurrent context.
Type: Fault | Timestamp: 2025-09-30 22:09:09.104033+02:00 | Process: TicTacToe | Library: AXCoreUtilities | Subsystem: com.apple.Accessibility | Category: AXCommon | TID: 0x621c23
Potential Structural Swift Concurrency Issue: unsafeForcedSync called from Swift Concurrent context
 
 
Q