Skip to content

Crashlytics: NSInvalidArgumentException -[NSNull lastPathComponent] in -[FIRCLSSymbolResolver updateStackFrame:] (FIRCLSSymbolResolver.m:171) #16622

Description

@allexan8

Description

Crashlytics itself crashes while symbolicating stack frames ("crash inside the crash reporter"). In -[FIRCLSSymbolResolver updateStackFrame:] the binary image path is read from the recorded session data and passed to lastPathComponent without a type check:

// Crashlytics/Crashlytics/Models/FIRCLSSymbolResolver.m:171 (tag 11.14.0; identical on main)
[frame setLibrary:[[binaryImage objectForKey:@"path"] lastPathComponent]];

When the recorded "path" value is JSON null, deserialization yields NSNull, which does not respond to lastPathComponent:

NSInvalidArgumentException: -[NSNull lastPathComponent]: unrecognized selector sent to instance
-[FIRCLSSymbolResolver updateStackFrame:] FIRCLSSymbolResolver.m:171

The line has been unchanged since the 2020 open-source import (#4610) and carries no nil/NSNull guard through current main; Crashlytics/CHANGELOG.md has no related entry.

Reproducing the issue

Not deterministically reproducible from app code: the crash is secondary — it fires when the SDK symbolicates previously recorded frames whose binary image entry carries a null path.

Firebase SDK Version

11.14.0

Xcode Version

26.6

Installation Method

CocoaPods

Firebase Product(s)

Crashlytics

Targeted Platforms

iOS

Relevant Log Output

If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet
Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet
Replace this line with the contents of your Podfile.lock!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions