firebase-ios-sdk icon indicating copy to clipboard operation
firebase-ios-sdk copied to clipboard

Crash shortly after launch

Open WillBishop opened this issue 1 year ago • 6 comments

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

WillBishop avatar Jan 25 '24 22:01 WillBishop

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

google-oss-bot avatar Jan 25 '24 22:01 google-oss-bot

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?

ehsannas avatar Jan 29 '24 20:01 ehsannas

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.

WillBishop avatar Jan 31 '24 04:01 WillBishop

I'm also having this issue.

hughesyadaddy avatar Feb 02 '24 21:02 hughesyadaddy

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

WillBishop avatar Feb 05 '24 07:02 WillBishop

@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

paulb777 avatar Feb 28 '24 04:02 paulb777