Xcode Sanitizers and Runtime Issues

RSS for tag

Xcode Runtime Issues are reports of programming errors found at run time. Issues can be found by variety of tools, including Address Sanitizer (ASan), Main Thread Checker (MTC), Thread Sanitizer (TSan), and Undefined Behavior Sanitizer (UBSan).

Posts under Xcode Sanitizers and Runtime Issues tag

11 Posts

Post

Replies

Boosts

Views

Activity

Xcode 26.2 Can't download
Help please! I'm new to Xcode and my Mac is a 2021 MacBook Pro. I've downloaded Xcode recently (version 26.2) and wanted to preview and test my first App. But somehow, I just can't download the iOS simulator. People tell me that I can download resources from developer.apple.com, but I only found the iOS_18.2_runtime.dmg. I downloaded and installed the iOS 18.2 version but Xcode still requires to download the iOS 26.2 simulator. I don't know why and how to fix this problem. Please help!
3
0
220
Mar ’26
Two errors in debug: com.apple.modelcatalog.catalog sync and nw_protocol_instance_set_output_handler
We get two error message in Xcode debug. apple.model.catalog we get 1 time at startup, and the nw_protocol_instance_set_output_handler Not calling remove_input_handler on 0x152ac3c00:udp we get on sartup and some time during running of the app. I have tested cutoff repos WS eg. But nothing helpss, thats for the nw_protocol. We have a fondationmodel in a repo but we check if it is available if not we do not touch it. Please help me? nw_protocol_instance_set_output_handler Not calling remove_input_handler on 0x152ac3c00:udp com.apple.modelcatalog.catalog sync: connection error during call: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.modelcatalog.catalog was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.modelcatalog.catalog was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction.} reached max num connection attempts: 1 The function we have in the repo is this: public actor FoundationRepo: JobDescriptionChecker, SubskillSuggester { private var session: LanguageModelSession? private let isEnabled: Bool private let shouldUseLocalFoundation: Bool private let baseURLString = "https://xx.xx.xxx/xx" private let http: HTTPPac public init(http: HTTPPac, isEnabled: Bool = true) { self.http = http self.isEnabled = isEnabled self.session = nil guard isEnabled else { self.shouldUseLocalFoundation = false return } let model = SystemLanguageModel.default guard model.supportsLocale() else { self.shouldUseLocalFoundation = false return } switch model.availability { case .available: self.shouldUseLocalFoundation = true case .unavailable(.deviceNotEligible), .unavailable(.appleIntelligenceNotEnabled), .unavailable(.modelNotReady): self.shouldUseLocalFoundation = false @unknown default: self.shouldUseLocalFoundation = false } } So here we decide if we are going to use iPhone ML or my backend-remote?
2
0
725
Mar ’26
dlopen problems with debug build, macOS SDK 15, and ASAN
Hello, There seems to be a regression with macOS SDK 15 and dynamically loading libraries if Address Sanitizer is turned on. Seems to only affect Debug builds, and .frameworks. I've also reported this via the Feedback Assistant: FB16513866 Here's a minimal repro, if anyone is interested: https://gist.github.com/peter-esik/6b00432e411be85333e14ae7d953966e I thought I'd post this here, as according to my web searches, this isn't a very well-known bug at this point.
3
1
565
Feb ’26
How to avoid this thread priority inversions ?
Context: Xcode 16.4, Appkit In a windowController, I need to create and send a mouseDown event (newMouseDownEvent). I create the event with: let newMouseDownEvent = NSEvent.mouseEvent( with: .leftMouseDown, location: clickPoint, // all other fields I also need to make window key and front, otherwise the event is not handled.   func simulateMouseDown() { self.window?.makeFirstResponder(self.window) self.calepinFullView.perform(#selector(NSResponder.self.mouseDown(with:)), with: newMouseDownEvent!) }   As I have to delay the call( 0.5 s), I use asyncAfter: DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, qos: .userInteractive) { self.simulateMouseDown() }   It works as intended, but that generates the following (purple) warning at runtime: [Internal] Thread running at User-interactive quality-of-service class waiting on a lower QoS thread running at Default quality-of-service class. Investigate ways to avoid priority inversions I have tried several solutions, change qos in await: DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, qos: ..default) call from a DispatchQueue let interactiveQueue = DispatchQueue.global(qos: .userInteractive) interactiveQueue.async { self.window?.makeFirstResponder(self.window) self.calepinFullView.perform(#selector(NSResponder.self.mouseDown(with:)), with: newMouseDownEvent!) } But that's worse, it crashes with the following error: FAULT: NSInternalInconsistencyException: -[HIRunLoopSemaphore wait:] has been invoked on a secondary thread; the problem is likely in a much shallower frame in the backtrace; { NSAssertFile = "HIRunLoop.mm"; NSAssertLine = 709; }   How to eliminate the priority inversion risk (not just silencing the warning) ?
2
0
361
Feb ’26
something that's probably easy to fix but it's driving me crazy
hy! apple developer community! No, I have a problem that's driving me crazy: Multiple commands produce '/Users/giulia/Library/Developer/Xcode/DerivedData/ScheduledStudy-dcmmhcdncitvfkdditbjoipfalqg/Build/Products/Debug-iphonesimulator/singintestwidgetExtension.appex/Info.plist'. Can you help me fix it? I know it's probably stupid, but I've been trying to fix it for days. There aren't two info.plist file, and that's why I don't quite understand. If you could help me, you'd be doing me a favor. Thanks for your time. P.S. I'm sorry, but I'm just starting out with programming and I'm also quite young.
6
0
430
Jan ’26
iOS Simulators Fail Download
I've been going through different fixes for a few weeks and nothing seems to work. Prior to updating everything to iOS 26 and OS 26, everything worked normally except for the predictive code which wouldn't download. Download failed. Domain: DVTDownloadableErrorDomain Code: 41 User Info: { DVTErrorCreationDateKey = "2026-01-02 23:41:12 +0000"; } Download failed. Domain: DVTDownloadableErrorDomain Code: 41 Failed fetching catalog for assetType (com.apple.MobileAsset.iOSSimulatorRuntime), serverParameters ({ RequestedBuild = 23C54; }) Domain: DVTDownloadsUtilitiesErrorDomain Code: -1 Download failed due to a bad URL. (Catalog download for com.apple.MobileAsset.iOSSimulatorRuntime) Domain: com.apple.MobileAssetError.Download Code: 49 User Info: { checkConfiguration = 1; } System Information macOS Version 26.0 (Build 25A354) Xcode 26.2 (24553) (Build 17C52) Timestamp: 2026-01-02T16:41:12-07:00 What I've Tried Cleared caches Restarted my machine Reinstalled Xcode Installed other versions of Xcode Installed Xcode-beta Using a VPN Not using a VPN Changing DNS settings Using a different Wifi network Using an older machine Using an older OS I've run out of options and I have no idea what else to do. The issue every time seems to point back to Apple servers.
1
2
530
Jan ’26
AddressSanitizer __asan_cstring section and redzone padding behavior
Hi, I’m debugging an issue with AddressSanitizer (ASan) on macOS. I’ve noticed that strings placed in the __asan_cstring section are aligned and padded with redzones. When I attempt to copy a contiguous block of memory (e.g., memcpy(buf, asan_cstring, 4096)), ASan throws an out-of-bounds access error. On the other hand, strings in the __cstring section do not cause this problem, likely because they are laid out contiguously without redzone padding. Could you clarify: Are strings in __asan_cstring section aligned and padded individually with redzones? Is this redzone inserted after each global string for alignment or instrumentation purposes? Does this mean that bulk memory copies over this section (even if read-only) are inherently unsafe under ASan? Is there a recommended way to safely iterate or copy memory from __asan_cstring without triggering ASan violations? Any guidance on how redzones are managed in the __asan_cstring section would be very helpful.
1
0
284
Aug ’25
Possible thread performance checker bug
I'm experiencing some rare crash but only if I enable Xcode's "thread performance checker". The crash typically ends with these lines: std::_1::hash_table<std::_1::hash_value_type<long qosWaiterSignallerInvariantCheck ... and sometimes with "findPrimitiveInfoNoAssert" on the second line. I wonder if I am doing anything wrong, or is it a (hopefully known) issue in thread performance checker itself? It does look like some sort of data race bug, if to guess there's some internal dictionary that's not properly protected with a mutex or something. I'm using Xcode 16.4 running on macOS 15.5, building and running an app on iPhone with iOS 18.5. Cheers!
3
1
450
Aug ’25
Swapping the `objectAtIndex:` method of `__NSArrayM` using `method_exchangeImplementations` will lead to continuous memory growth.
After swapping the -objectAtIndex: method using method_exchangeImplementations, it will cause continuous memory growth. Connect the iPhone and run the provided project. Continuously tap the iPhone screen. Observe Memory; it will keep growing. Sample code
2
0
712
Jul ’25
FoundationModels Content Sanitizer Blocking Legitimate Text Processing
I'm developing a macOS application using the FoundationModels framework (LanguageModelSession) and encountering issues with the content sanitizer blocking legitimate text input. ** Issue Description:** The content sanitizer is flagging text strings that contain certain substrings, even when they represent legitimate technical content. For example: F_SEEL_SEX1S.wav (sE Electronics SEX1S microphone model) Technical product identifiers Serial numbers and version codes ** Broader Concern:** The content sanitizer appears to be applying restrictions that seem inappropriate for user-owned content. Even if a filename were something like "human sex.wav", users should have the right to process their own legitimate files on their own devices without content filtering interference. ** Error Messages:** SensitiveContentSettings: Sanitizer model found unsafe content in value FoundationModels.LanguageModelSession.GenerationError error 2 ** Questions:** Is there a way to disable content sanitization for processing user-owned content? 2. What's the recommended approach for applications that need to handle arbitrary user text? 3. Are there APIs to process personal content without filtering restrictions? ** Environment:** macOS 26.0 FoundationModels framework LanguageModelSession Any guidance would be appreciated.
1
0
657
Jun ’25
Enabling Main Thread Checker in Xcode May Cause Category Method Implementation Conflicts for UI-Related Classes
​Environment​: Xcode Version: 16.0 (latest stable release) iOS Version: 18.3.1 Devices: physical devices Configuration: Main Thread Checker enabled (Edit Scheme &amp;gt; Run &amp;gt; Diagnostics) ​Issue Description​ When the ​Main Thread Checker​ is enabled, methods defined in a UIViewController category (e.g., supportedInterfaceOrientations) fail to execute, whereas the subclass implementation of the same method works as expected. This conflicts with the normal behavior where ​both implementations should be called. ​Steps to Reproduce​ 1、Declare a category method in UIViewController+Extend.m: // UIViewController+Extend.m @implementation UIViewController (Extend) - (UIInterfaceOrientationMask)supportedInterfaceOrientations { NSLog(@"category supportedInterfaceOrientations hit"); return UIInterfaceOrientationMaskAll; } @end 2、Override the same method in a subclass ,call super methed(ViewController.m): // ViewController.m @implementation ViewController - (UIInterfaceOrientationMask)supportedInterfaceOrientations { NSLog(@"subclass called supportedInterfaceOrientations called"); return [super supportedInterfaceOrientations]; // Expected to call the category implementation } @end 3、​Expected Behavior​ (Main Thread Checker ​disabled): subclass called supportedInterfaceOrientations called category supportedInterfaceOrientations hit 4、Actual Behavior​ (Main Thread Checker ​enabled): subclass called supportedInterfaceOrientations called // category supportedInterfaceOrientations hit ​Requested Resolution​ Please investigate: 1、Why Main Thread Checker disrupts category method invocation. 2、Whether this is a broader issue affecting other UIKit categories.
1
0
373
Jun ’25
Xcode 26.2 Can't download
Help please! I'm new to Xcode and my Mac is a 2021 MacBook Pro. I've downloaded Xcode recently (version 26.2) and wanted to preview and test my first App. But somehow, I just can't download the iOS simulator. People tell me that I can download resources from developer.apple.com, but I only found the iOS_18.2_runtime.dmg. I downloaded and installed the iOS 18.2 version but Xcode still requires to download the iOS 26.2 simulator. I don't know why and how to fix this problem. Please help!
Replies
3
Boosts
0
Views
220
Activity
Mar ’26
Two errors in debug: com.apple.modelcatalog.catalog sync and nw_protocol_instance_set_output_handler
We get two error message in Xcode debug. apple.model.catalog we get 1 time at startup, and the nw_protocol_instance_set_output_handler Not calling remove_input_handler on 0x152ac3c00:udp we get on sartup and some time during running of the app. I have tested cutoff repos WS eg. But nothing helpss, thats for the nw_protocol. We have a fondationmodel in a repo but we check if it is available if not we do not touch it. Please help me? nw_protocol_instance_set_output_handler Not calling remove_input_handler on 0x152ac3c00:udp com.apple.modelcatalog.catalog sync: connection error during call: Error Domain=NSCocoaErrorDomain Code=4099 "The connection to service named com.apple.modelcatalog.catalog was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction." UserInfo={NSDebugDescription=The connection to service named com.apple.modelcatalog.catalog was invalidated: Connection init failed at lookup with error 159 - Sandbox restriction.} reached max num connection attempts: 1 The function we have in the repo is this: public actor FoundationRepo: JobDescriptionChecker, SubskillSuggester { private var session: LanguageModelSession? private let isEnabled: Bool private let shouldUseLocalFoundation: Bool private let baseURLString = "https://xx.xx.xxx/xx" private let http: HTTPPac public init(http: HTTPPac, isEnabled: Bool = true) { self.http = http self.isEnabled = isEnabled self.session = nil guard isEnabled else { self.shouldUseLocalFoundation = false return } let model = SystemLanguageModel.default guard model.supportsLocale() else { self.shouldUseLocalFoundation = false return } switch model.availability { case .available: self.shouldUseLocalFoundation = true case .unavailable(.deviceNotEligible), .unavailable(.appleIntelligenceNotEnabled), .unavailable(.modelNotReady): self.shouldUseLocalFoundation = false @unknown default: self.shouldUseLocalFoundation = false } } So here we decide if we are going to use iPhone ML or my backend-remote?
Replies
2
Boosts
0
Views
725
Activity
Mar ’26
dlopen problems with debug build, macOS SDK 15, and ASAN
Hello, There seems to be a regression with macOS SDK 15 and dynamically loading libraries if Address Sanitizer is turned on. Seems to only affect Debug builds, and .frameworks. I've also reported this via the Feedback Assistant: FB16513866 Here's a minimal repro, if anyone is interested: https://gist.github.com/peter-esik/6b00432e411be85333e14ae7d953966e I thought I'd post this here, as according to my web searches, this isn't a very well-known bug at this point.
Replies
3
Boosts
1
Views
565
Activity
Feb ’26
How to avoid this thread priority inversions ?
Context: Xcode 16.4, Appkit In a windowController, I need to create and send a mouseDown event (newMouseDownEvent). I create the event with: let newMouseDownEvent = NSEvent.mouseEvent( with: .leftMouseDown, location: clickPoint, // all other fields I also need to make window key and front, otherwise the event is not handled.   func simulateMouseDown() { self.window?.makeFirstResponder(self.window) self.calepinFullView.perform(#selector(NSResponder.self.mouseDown(with:)), with: newMouseDownEvent!) }   As I have to delay the call( 0.5 s), I use asyncAfter: DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, qos: .userInteractive) { self.simulateMouseDown() }   It works as intended, but that generates the following (purple) warning at runtime: [Internal] Thread running at User-interactive quality-of-service class waiting on a lower QoS thread running at Default quality-of-service class. Investigate ways to avoid priority inversions I have tried several solutions, change qos in await: DispatchQueue.main.asyncAfter(deadline: .now() + 0.5, qos: ..default) call from a DispatchQueue let interactiveQueue = DispatchQueue.global(qos: .userInteractive) interactiveQueue.async { self.window?.makeFirstResponder(self.window) self.calepinFullView.perform(#selector(NSResponder.self.mouseDown(with:)), with: newMouseDownEvent!) } But that's worse, it crashes with the following error: FAULT: NSInternalInconsistencyException: -[HIRunLoopSemaphore wait:] has been invoked on a secondary thread; the problem is likely in a much shallower frame in the backtrace; { NSAssertFile = "HIRunLoop.mm"; NSAssertLine = 709; }   How to eliminate the priority inversion risk (not just silencing the warning) ?
Replies
2
Boosts
0
Views
361
Activity
Feb ’26
something that's probably easy to fix but it's driving me crazy
hy! apple developer community! No, I have a problem that's driving me crazy: Multiple commands produce '/Users/giulia/Library/Developer/Xcode/DerivedData/ScheduledStudy-dcmmhcdncitvfkdditbjoipfalqg/Build/Products/Debug-iphonesimulator/singintestwidgetExtension.appex/Info.plist'. Can you help me fix it? I know it's probably stupid, but I've been trying to fix it for days. There aren't two info.plist file, and that's why I don't quite understand. If you could help me, you'd be doing me a favor. Thanks for your time. P.S. I'm sorry, but I'm just starting out with programming and I'm also quite young.
Replies
6
Boosts
0
Views
430
Activity
Jan ’26
iOS Simulators Fail Download
I've been going through different fixes for a few weeks and nothing seems to work. Prior to updating everything to iOS 26 and OS 26, everything worked normally except for the predictive code which wouldn't download. Download failed. Domain: DVTDownloadableErrorDomain Code: 41 User Info: { DVTErrorCreationDateKey = "2026-01-02 23:41:12 +0000"; } Download failed. Domain: DVTDownloadableErrorDomain Code: 41 Failed fetching catalog for assetType (com.apple.MobileAsset.iOSSimulatorRuntime), serverParameters ({ RequestedBuild = 23C54; }) Domain: DVTDownloadsUtilitiesErrorDomain Code: -1 Download failed due to a bad URL. (Catalog download for com.apple.MobileAsset.iOSSimulatorRuntime) Domain: com.apple.MobileAssetError.Download Code: 49 User Info: { checkConfiguration = 1; } System Information macOS Version 26.0 (Build 25A354) Xcode 26.2 (24553) (Build 17C52) Timestamp: 2026-01-02T16:41:12-07:00 What I've Tried Cleared caches Restarted my machine Reinstalled Xcode Installed other versions of Xcode Installed Xcode-beta Using a VPN Not using a VPN Changing DNS settings Using a different Wifi network Using an older machine Using an older OS I've run out of options and I have no idea what else to do. The issue every time seems to point back to Apple servers.
Replies
1
Boosts
2
Views
530
Activity
Jan ’26
AddressSanitizer __asan_cstring section and redzone padding behavior
Hi, I’m debugging an issue with AddressSanitizer (ASan) on macOS. I’ve noticed that strings placed in the __asan_cstring section are aligned and padded with redzones. When I attempt to copy a contiguous block of memory (e.g., memcpy(buf, asan_cstring, 4096)), ASan throws an out-of-bounds access error. On the other hand, strings in the __cstring section do not cause this problem, likely because they are laid out contiguously without redzone padding. Could you clarify: Are strings in __asan_cstring section aligned and padded individually with redzones? Is this redzone inserted after each global string for alignment or instrumentation purposes? Does this mean that bulk memory copies over this section (even if read-only) are inherently unsafe under ASan? Is there a recommended way to safely iterate or copy memory from __asan_cstring without triggering ASan violations? Any guidance on how redzones are managed in the __asan_cstring section would be very helpful.
Replies
1
Boosts
0
Views
284
Activity
Aug ’25
Possible thread performance checker bug
I'm experiencing some rare crash but only if I enable Xcode's "thread performance checker". The crash typically ends with these lines: std::_1::hash_table<std::_1::hash_value_type<long qosWaiterSignallerInvariantCheck ... and sometimes with "findPrimitiveInfoNoAssert" on the second line. I wonder if I am doing anything wrong, or is it a (hopefully known) issue in thread performance checker itself? It does look like some sort of data race bug, if to guess there's some internal dictionary that's not properly protected with a mutex or something. I'm using Xcode 16.4 running on macOS 15.5, building and running an app on iPhone with iOS 18.5. Cheers!
Replies
3
Boosts
1
Views
450
Activity
Aug ’25
Swapping the `objectAtIndex:` method of `__NSArrayM` using `method_exchangeImplementations` will lead to continuous memory growth.
After swapping the -objectAtIndex: method using method_exchangeImplementations, it will cause continuous memory growth. Connect the iPhone and run the provided project. Continuously tap the iPhone screen. Observe Memory; it will keep growing. Sample code
Replies
2
Boosts
0
Views
712
Activity
Jul ’25
FoundationModels Content Sanitizer Blocking Legitimate Text Processing
I'm developing a macOS application using the FoundationModels framework (LanguageModelSession) and encountering issues with the content sanitizer blocking legitimate text input. ** Issue Description:** The content sanitizer is flagging text strings that contain certain substrings, even when they represent legitimate technical content. For example: F_SEEL_SEX1S.wav (sE Electronics SEX1S microphone model) Technical product identifiers Serial numbers and version codes ** Broader Concern:** The content sanitizer appears to be applying restrictions that seem inappropriate for user-owned content. Even if a filename were something like "human sex.wav", users should have the right to process their own legitimate files on their own devices without content filtering interference. ** Error Messages:** SensitiveContentSettings: Sanitizer model found unsafe content in value FoundationModels.LanguageModelSession.GenerationError error 2 ** Questions:** Is there a way to disable content sanitization for processing user-owned content? 2. What's the recommended approach for applications that need to handle arbitrary user text? 3. Are there APIs to process personal content without filtering restrictions? ** Environment:** macOS 26.0 FoundationModels framework LanguageModelSession Any guidance would be appreciated.
Replies
1
Boosts
0
Views
657
Activity
Jun ’25
Enabling Main Thread Checker in Xcode May Cause Category Method Implementation Conflicts for UI-Related Classes
​Environment​: Xcode Version: 16.0 (latest stable release) iOS Version: 18.3.1 Devices: physical devices Configuration: Main Thread Checker enabled (Edit Scheme &amp;gt; Run &amp;gt; Diagnostics) ​Issue Description​ When the ​Main Thread Checker​ is enabled, methods defined in a UIViewController category (e.g., supportedInterfaceOrientations) fail to execute, whereas the subclass implementation of the same method works as expected. This conflicts with the normal behavior where ​both implementations should be called. ​Steps to Reproduce​ 1、Declare a category method in UIViewController+Extend.m: // UIViewController+Extend.m @implementation UIViewController (Extend) - (UIInterfaceOrientationMask)supportedInterfaceOrientations { NSLog(@"category supportedInterfaceOrientations hit"); return UIInterfaceOrientationMaskAll; } @end 2、Override the same method in a subclass ,call super methed(ViewController.m): // ViewController.m @implementation ViewController - (UIInterfaceOrientationMask)supportedInterfaceOrientations { NSLog(@"subclass called supportedInterfaceOrientations called"); return [super supportedInterfaceOrientations]; // Expected to call the category implementation } @end 3、​Expected Behavior​ (Main Thread Checker ​disabled): subclass called supportedInterfaceOrientations called category supportedInterfaceOrientations hit 4、Actual Behavior​ (Main Thread Checker ​enabled): subclass called supportedInterfaceOrientations called // category supportedInterfaceOrientations hit ​Requested Resolution​ Please investigate: 1、Why Main Thread Checker disrupts category method invocation. 2、Whether this is a broader issue affecting other UIKit categories.
Replies
1
Boosts
0
Views
373
Activity
Jun ’25