First arrow keystroke major delay

I have a game that uses arrow keys to control one of the player characters. It sometimes happens, especially if that player is not used first, that there is this awkward delay that “eats” an arrow keystroke or two before they actually start working. So I instrumented my program with a printf to print the key code of every key press, here’s what happened. When I typed most keys, everything happened normally. The moment I typed an arrow key, look at all this output! Tons of libraries were loaded at that time, delaying the game. Subsequent arrow keystrokes are handled quite normally. So what happened?

Is there something I can do to force an early load of libraries, so I don’t get this problem? Some other appropriate strategy?

The output:

Loaded '/System/Library/PrivateFrameworks/SidecarUI.framework/Versions/A/SidecarUI'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SidecarCore.framework/Versions/A/SidecarCore'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/VoiceShortcutClient.framework/Versions/A/VoiceShortcutClient'. Symbols loaded.
Loaded '/System/Library/Frameworks/Intents.framework/Versions/A/Intents'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/CoreDuet.framework/Versions/A/CoreDuet'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/CoreDuetContext.framework/Versions/A/CoreDuetContext'. Symbols loaded.
Loaded '/System/Library/Frameworks/CoreSpotlight.framework/Versions/A/CoreSpotlight'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/IntentsFoundation.framework/Versions/A/IntentsFoundation'. Symbols loaded.
Loaded '/System/Library/Frameworks/AppIntents.framework/Versions/A/AppIntents'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/IntentsCore.framework/Versions/A/IntentsCore'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/LinkServices.framework/Versions/A/LinkServices'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomePubSub.framework/Versions/A/BiomePubSub'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/LinkMetadata.framework/Versions/A/LinkMetadata'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftAccelerate.dylib'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftFileProvider.dylib'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftIntents.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/ApplePushService.framework/Versions/A/ApplePushService'. Symbols loaded.
Loaded '/System/Library/Frameworks/CloudKit.framework/Versions/A/CloudKit'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/CoreDuetDaemonProtocol.framework/Versions/A/CoreDuetDaemonProtocol'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/ProactiveSupport.framework/Versions/A/ProactiveSupport'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Rapport.framework/Versions/A/Rapport'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeStorage.framework/Versions/A/BiomeStorage'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeFoundation.framework/Versions/A/BiomeFoundation'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/MobileAsset.framework/Versions/A/MobileAsset'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/InternationalTextSearch.framework/Versions/A/InternationalTextSearch'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SoftwareUpdateCoreSupport.framework/Versions/A/SoftwareUpdateCoreSupport'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SoftwareUpdateCoreConnect.framework/Versions/A/SoftwareUpdateCoreConnect'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/StreamingZip.framework/Versions/A/StreamingZip'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/CommonUtilities.framework/Versions/A/CommonUtilities'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom'. Symbols loaded.
Loaded '/usr/lib/libParallelCompression.dylib'. Symbols loaded.
Loaded '/usr/lib/libAppleArchive.dylib'. Symbols loaded.
Loaded '/System/Library/Frameworks/SharedWithYouCore.framework/Versions/A/SharedWithYouCore'. Symbols loaded.
Loaded '/usr/lib/libBASupport.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/AppleAccount.framework/Versions/A/AppleAccount'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/C2.framework/Versions/A/C2'. Symbols loaded.
Loaded '/System/Library/Frameworks/PushKit.framework/Versions/A/PushKit'. Symbols loaded.
Loaded '/System/Library/Frameworks/CryptoKit.framework/Versions/A/CryptoKit'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/FeatureFlags.framework/Versions/A/FeatureFlags'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftAVFoundation.dylib'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftCoreMIDI.dylib'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftCoreMedia.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/IDS.framework/Versions/A/IDS'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/AppleIDSSOAuthentication.framework/Versions/A/AppleIDSSOAuthentication'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/IMFoundation.framework/Versions/A/IMFoundation'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Marco.framework/Versions/A/Marco'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/IDSFoundation.framework/Versions/A/IDSFoundation'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/FTServices.framework/Versions/A/FTServices'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Engram.framework/Versions/A/Engram'. Symbols loaded.
Loaded '/usr/lib/libtidy.A.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/FTAWD.framework/Versions/A/FTAWD'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/RTCReporting.framework/Versions/A/RTCReporting'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/CryptoKitCBridging.framework/Versions/A/CryptoKitCBridging'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftCryptoTokenKit.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/AssistantServices.framework/Versions/A/AssistantServices'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/DoNotDisturb.framework/Versions/A/DoNotDisturb'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeStreams.framework/Versions/A/BiomeStreams'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Koa.framework/Versions/A/Koa'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeSync.framework/Versions/A/BiomeSync'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeFlexibleStorage.framework/Versions/A/BiomeFlexibleStorage'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeDSL.framework/Versions/A/BiomeDSL'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeSequence.framework/Versions/A/BiomeSequence'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/InternalSwiftProtobuf.framework/Versions/A/InternalSwiftProtobuf'. Symbols loaded.
Loaded '/usr/lib/libskit.dylib'. Symbols loaded.
Loaded '/usr/lib/libmorphun.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/MorphunAssets.framework/Versions/A/MorphunAssets'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Trial.framework/Versions/A/Trial'. Symbols loaded.
Loaded '/usr/lib/libmarisa.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/EmbeddedAcousticRecognition.framework/Versions/A/EmbeddedAcousticRecognition'. Symbols loaded.
Loaded '/System/Library/Frameworks/CoreML.framework/Versions/A/CoreML'. Symbols loaded.
Loaded '/System/Library/Frameworks/NaturalLanguage.framework/Versions/A/NaturalLanguage'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/EmojiFoundation.framework/Versions/A/EmojiFoundation'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SDAPI.framework/Versions/A/SDAPI'. Symbols loaded.
Loaded '/System/Library/Frameworks/MLCompute.framework/Versions/A/MLCompute'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/MLAssetIO.framework/Versions/A/MLAssetIO'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Montreal.framework/Versions/A/Montreal'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/DifferentialPrivacy.framework/Versions/A/DifferentialPrivacy'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BiomeLibrary.framework/Versions/A/BiomeLibrary'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/UnifiedAssetFramework.framework/Versions/A/UnifiedAssetFramework'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriAnalytics.framework/Versions/A/SiriAnalytics'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriInstrumentation.framework/Versions/A/SiriInstrumentation'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/TrialProto.framework/Versions/A/TrialProto'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/FeedbackLogger.framework/Versions/A/FeedbackLogger'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/AtomicsInternal.framework/Versions/A/AtomicsInternal'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/AppleFlatBuffers.framework/Versions/A/AppleFlatBuffers'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/ProactiveEventTracker.framework/Versions/A/ProactiveEventTracker'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SAObjects.framework/Versions/A/SAObjects'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/MediaRemote.framework/Versions/A/MediaRemote'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriTTSService.framework/Versions/A/SiriTTSService'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriCrossDeviceArbitrationFeedback.framework/Versions/A/SiriCrossDeviceArbitrationFeedback'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriCrossDeviceArbitration.framework/Versions/A/SiriCrossDeviceArbitration'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/MediaServices.framework/Versions/A/MediaServices'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/PersistentConnection.framework/Versions/A/PersistentConnection'. Symbols loaded.
Loaded '/usr/lib/libtailspin.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Osprey.framework/Versions/A/Osprey'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriTTS.framework/Versions/A/SiriTTS'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/GraphicsServices.framework/Versions/A/GraphicsServices'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SiriPowerInstrumentation.framework/Versions/A/SiriPowerInstrumentation'. Symbols loaded.
Loaded '/usr/lib/swift/libswiftNaturalLanguage.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/TailspinSymbolication.framework/Versions/A/TailspinSymbolication'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/Darwinup.framework/Versions/A/Darwinup'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SignpostSupport.framework/Versions/A/SignpostSupport'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/FeatureFlagsSupport.framework/Versions/A/FeatureFlagsSupport'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/ktrace.framework/Versions/A/ktrace'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/SampleAnalysis.framework/Versions/A/SampleAnalysis'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/kperfdata.framework/Versions/A/kperfdata'. Symbols loaded.
Loaded '/usr/lib/libdscsym.dylib'. Symbols loaded.
Loaded '/System/Library/PrivateFrameworks/BulkSymbolication.framework/Versions/A/BulkSymbolication'. Symbols loaded.
Loaded '/usr/lib/libedit.3.dylib'. Symbols loaded.
2026-07-08 16:00:20.825524-0400 HallOfMirrors[16816:9220124] [AMCP] 94983 HALC_ProxyIOContext.cpp:1328 HALC_ProxyIOContext::IOWorkLoop: skipping cycle due to overload

It would be helpful if we could see the code itself, if it’s too large then can we get the event-handler?
What happens when you try to recreate a minimal sample code that reproduces this error?
Edit: I agree, I don’t think this is normal.

what is all this garbage ???

does your game need all this junk ???

why would pressing an arrow key load it ???

This sounds similar to: https://github.com/libsdl-org/SDL/issues/8928

1 Like

I’ve noticed that lldb sometimes loads all of the macos frameworks even for programs that do not use them, which is very annoying. Are you running this with lldb? I had better luck (in some ways) using homebrew’s version of lldb rather than the one that ships with Apple’s command line tools, so that may be worth a shot.

I think this is probably Apple’s fault but I’m still curious why these loads are happening at runtime, since when I encountered the problem it was always at load time. Maybe SDL has a call to dlopen somewhere that’s triggering it? In which case I suppose the question is which SDL function (if any) is called when this particular arrow key is pressed?