Repository navigation
Swift: Do not terminate the extractor when a file cannot be opened - #22851
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The shared failure path affects dependency and extraction-status bookkeeping whose downstream behavior needs human verification.
1 open issue
What changed in this PR
Allows Swift extraction to continue when an output file cannot be opened, mitigating failures caused by overlong lazy-declaration TRAP filenames.
Changes:
- Replaces the fatal open-failure assertion with a nonfatal diagnostic.
- Uses the existing failure-return path to skip the affected file.
| File | Description |
|---|---|
swift/extractor/infra/file/TargetFile.cpp |
Reports unexpected open failures without aborting extraction. |
Review effort: Max
geoffw0
approved these changes
Oct 21, 2026
geoffw0
left a comment
Contributor
There was a problem hiding this comment.
LGTM.
I commented in the DCA run, though there's nothing to respond to really.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This mitigates #22843. Note that it does not technically solve the problem. It simply skips files where the file names get too long - by virtue of
std:option- instead of aborting. Given our future Swift plans, and where this shows up in the issue (Objective C code), this seems a reasonable compromise.Note that for the purposes of this PR I temporarily added the project where the failure was seen to DCA (
hyodotdev__openiap). Note that - ironically - the mitigation here increases the number of extraction errors: the extraction gets further, but in some cases now hits an internal Swift compiler error.Let me know if I should open a PR that actually adds the project to DCA.