firebase / firebase-ios-sdk

Firebase SDK for Apple App Development
https://firebase.google.com
Apache License 2.0
5.41k stars 1.42k forks source link

Crash shortly after launch #12319

Open WillBishop opened 5 months ago

WillBishop commented 5 months ago

Description

Hello. I have a pretty troubling report from a user about my app crashing shortly after launch. She launches my app, the first Firestore query succeeds but immediately after the app locks up and after 10s the OS terminates it.

Reproducing the issue

I haven't been able to reproduce the issue, but I do have a fully symbolicated crash log, from which I can share screenshots.

image image

It seems like there is some infinite loop or something causing the crash. I don't know how to proceed with a fix becuase my apps code isn't even in the stack trace.

Firebase SDK Version

10.20.0

Xcode Version

15.2

Installation Method

Swift Package Manager

Firebase Product(s)

App Check, Authentication, Crashlytics, Firestore, Storage

Targeted Platforms

iOS

Relevant Log Output

No response

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

{ "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c", "version" : "1.2022062300.0" } }, { "identity" : "app-check", "kind" : "remoteSourceControl", "location" : "https://github.com/google/app-check.git", "state" : { "revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2", "version" : "10.18.1" } }, { "identity" : "appauth-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/openid/AppAuth-iOS.git", "state" : { "revision" : "71cde449f13d453227e687458144bde372d30fc7", "version" : "1.6.2" } }, { "identity" : "cocoalumberjack", "kind" : "remoteSourceControl", "location" : "https://github.com/CocoaLumberjack/CocoaLumberjack.git", "state" : { "revision" : "67ec5818a757aba4d7c534e21a905d878d128dbf", "version" : "3.8.1" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk", "state" : { "revision" : "b880ec8ec927a838c51c12862c6222c30d7097d7", "version" : "10.20.0" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "ceec9f28dea12b7cf3dabf18b5ed7621c88fd4aa", "version" : "10.20.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "a732a4b47f59e4f725a2ea10f0c77e93a7131117", "version" : "9.3.0" } }, { "identity" : "googlesignin-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleSignIn-iOS", "state" : { "revision" : "7932d33686c1dc4d7df7a919aae47361d1cdfda4", "version" : "7.0.0" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "bc27fad73504f3d4af235de451f02ee22586ebd3", "version" : "7.12.1" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "a673bc2937fbe886dd1f99c401b01b6d977a9c98", "version" : "1.49.1" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "115f75e43851774934d695449a4836123c3246e1", "version" : "3.2.0" } }, { "identity" : "gtmappauth", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GTMAppAuth.git", "state" : { "revision" : "cee3c709307912d040bd1e06ca919875a92339c6", "version" : "2.0.0" } }, { "identity" : "gzipswift", "kind" : "remoteSourceControl", "location" : "https://github.com/1024jp/GzipSwift", "state" : { "revision" : "7a7f17761c76a932662ab77028a4329f67d645a4", "version" : "5.2.0" } }, { "identity" : "interop-ios-for-google-sdks", "kind" : "remoteSourceControl", "location" : "https://github.com/google/interop-ios-for-google-sdks.git", "state" : { "revision" : "2d12673670417654f08f5f90fdd62926dc3a2648", "version" : "100.0.0" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "9d108e9112aa1d65ce508facf804674546116d9c", "version" : "1.22.3" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692", "version" : "2.30909.0" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e", "version" : "2.3.1" } }, { "identity" : "purchases-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/RevenueCat/purchases-ios", "state" : { "revision" : "3e41e9914d1e5a02fa1230a7b711dbaa4525c66a", "version" : "4.31.6" } }, { "identity" : "swift-log", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-log.git", "state" : { "revision" : "532d8b529501fb73a2455b179e0bbb6d49b652ed", "version" : "1.5.3" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "65e8f29b2d63c4e38e736b25c27b83e012159be8", "version" : "1.25.2" } }, { "identity" : "swiftclient", "kind" : "remoteSourceControl", "location" : "https://github.com/TelemetryDeck/SwiftClient", "state" : { "revision" : "98500be378267abaa072ed08c2caf7da6493489e", "version" : "1.5.0" } }, { "identity" : "swiftsoup", "kind" : "remoteSourceControl", "location" : "https://github.com/scinfu/SwiftSoup", "state" : { "revision" : "8b6cf29eead8841a1fa7822481cb3af4ddaadba6", "version" : "2.6.1" } }, { "identity" : "zip", "kind" : "remoteSourceControl", "location" : "https://github.com/marmelroy/Zip.git", "state" : { "revision" : "67fa55813b9e7b3b9acee9c0ae501def28746d76", "version" : "2.1.2" } } ], "version" : 2 }

If using CocoaPods, the project's Podfile.lock

No response

google-oss-bot commented 5 months ago

I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.

ehsannas commented 5 months ago

Thanks for reporting @WillBishop . I looked through the code around the given stack trace but nothing jumps out as problematic. Are you able to reproduce the issue? If so, could you please provide a repro for us to use?

WillBishop commented 5 months ago

I'm not able to reproduce it no. For the user it went away for a bit after a reboot but it has since come back. She is the only user reporting the problem. She has over 200gb of free space on her phone too. If I get any more details I'll update the report.

hughesyadaddy commented 4 months ago

I'm also having this issue.

WillBishop commented 4 months ago

I just got another crash inside nanopb while debugging.

It occured after calling .getDocuments(source: .cache) (non-async) from within a withCheckedThrowingContinuation async context.

2024-02-05 17:52:59.855542+1030 Pestle[15683:3390181] [Info] [Firestore] Received snapshot from server at 2024-02-05 07:22:59 +0000 with 0 changes
Pestle(15683,0x16dcaf000) malloc: Heap corruption detected, free list is damaged at 0x600000e00d00
*** Incorrect guard value: 105553139827168
Pestle(15683,0x16dcaf000) malloc: *** set a breakpoint in malloc_error_break to debug
image
paulb777 commented 4 months ago

@SPHthabib We plan to release 10.22.0 next week.

I'm going to delete these comments since they don't apply to this bug. Please discuss at #11403 or #12425