Skip to content

Conversation

ncooke3
Copy link
Member

@ncooke3 ncooke3 commented Sep 17, 2024

Follow-up to #13647 to further attempt to fix #13650.

The crash reports from #13650 show swift_unknownObjectRetain as the last frame in the terminating thread.

Using a symbolic breakpoint, I verified that swift_unknownObjectRetain gets called to get the rpcIssuer used below:

let (data, error) = await rpcIssuer
.asyncCallToURL(with: request, body: bodyData, contentType: "application/json")

Stepping through the assembly from swift_unknownObjectRetain, the objc_retain is returned from its source.

When I removed the NSObject conformances and debugged again, swift_unknownObjectRetain is no longer called. I thought this was pretty interesting and will guarantee that should #13650 reappear, the report will at least look different as the object in question will have its memory managed differently as a native Swift type.

@ncooke3 ncooke3 merged commit 9b06b3f into main Sep 17, 2024
56 checks passed
@ncooke3 ncooke3 deleted the nc/auth-objc branch September 17, 2024 20:22
@firebase firebase locked and limited conversation to collaborators Oct 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AuthBackendRPCImplementation Crashes (Firebase v11.2)
3 participants