Conversation
The category was never dropped: ld under Xcode 16.4 and 26.3 both load NSString+StdString.o through -ObjC. The runner's otool cannot follow a relative method list to its selector name, so the grep failed on a correct binary. Revert the Xcode 26.3 pin built on that misreading and match the method entry by its __objc_selrefs slot instead.
There was a problem hiding this comment.
All reported issues were addressed across 1 file
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
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.
The macOS release leg failed on the first main push after #52 with "WebRTC NSString category is missing", yet the binary was fine. Under both Xcode 16.4 (ld-1167) and 26.3 (ld-1230),
-Wl,-why_loadreports-ObjC caused load of ...(NSString+StdString.o), and the linker merges the category intoStdStringwithstringForAbslStringView:among its class methods. The runner's otool cannot follow a relative method list to its selector name and prints(0x1037c0848 extends past end of file)instead, so the grep never matched. A newer otool (CLT 27) decodes the same CI binary correctly. This reverts the Xcode 26.3 pin from #52, which rested on the wrong idea that 16.4 drops the category, and matches the method entry by its__objc_selrefsslot, which every otool decodes.Verified with probe runs on a throwaway branch (since deleted): a release build under Xcode 16.4 ran the new step body and printed
ok slot=1037c0848(run 35135158056). Locally, the check passes on the CI-built binary with both the 26.3 otool text and CLT 27 otool, and fails when the method entry is removed or only the selref line is left.actionlintis clean. The release leg only runs on pushes to main, so the merge is the final confirmation.Refs #52
Summary by cubic
Fixes the macOS release check, which rejected valid WebRTC binaries because the runner’s
otoolcould not resolve a relative Objective-C method list. It now verifies the method through its__objc_selrefsslot and removes the unnecessary Xcode 26.3 pin from #52.Written for commit 4962528. Summary will update on new commits.