Closed chan-reclip closed 7 months ago
I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
@themiswang do you know why this line of code has to be a dispatch_sync
instead of dispatch_async
?
@chan-reclip can you run bt all
when reproing the deadlock so I can see what other threads are stuck waiting?
@chan-reclip can you run bt all when reproing the deadlock so I can see what other threads are stuck waiting?
Sure, will do that next I hit this.
Thanks - @chan-reclip the thread that's likely causing the stoppage here is the Crashlytics logging queue. It'll have the name com.crashlytics....logging
Sorry for the really delayed reply, I am just looking into this piece of code recently. dispatch_sync
there is because we want to serialize the file read process (prevents two threads write to the same file same time). As Sam mentioned, we might need to see the backtrace for com.crashlytics....logging
thread
Hey @chan-reclip. We need more information to resolve this issue but there hasn't been an update in 5 weekdays. I'm marking the issue as stale and if there are no new updates in the next 5 days I will close it automatically.
If you have more information that will help us get to the bottom of this, just add a comment!
Since there haven't been any recent updates here, I am going to close this issue.
@chan-reclip if you're still experiencing this problem and want to continue the discussion just leave a comment here and we are happy to re-open this.
Description
The app I'm developing freezes in a certain condition. So, I paused Xcode debugger to see where it's stuck. Noticed it's pointing
dispatch_sync(...)
inFIRCLSUserLoggingWriteAndCheckABFiles()
.Reproducing the issue
Can't really tell exact condition. It occasionally happens when
Crashlytics.crashlytics().log()
is called.Firebase SDK Version
10.14.0
Xcode Version
15
Installation Method
Swift Package Manager
Firebase Product(s)
Crashlytics
Targeted Platforms
iOS
Relevant Log Output
If using Swift Package Manager, the project's Package.resolved
Expand
Package.resolved
snippet```json { "pins" : [ { "identity" : "abseil-cpp-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/abseil-cpp-binary.git", "state" : { "revision" : "bfc0b6f81adc06ce5121eb23f628473638d67c5c", "version" : "1.2022062300.0" } }, { "identity" : "anycodable", "kind" : "remoteSourceControl", "location" : "https://github.com/Flight-School/AnyCodable.git", "state" : { "revision" : "862808b2070cd908cb04f9aafe7de83d35f81b05", "version" : "0.6.7" } }, { "identity" : "appsflyerframework", "kind" : "remoteSourceControl", "location" : "https://github.com/AppsFlyerSDK/AppsFlyerFramework.git", "state" : { "revision" : "0d8359239a349db4ac2aba8efe2ad8835fc799b5", "version" : "6.12.2" } }, { "identity" : "combine-schedulers", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/combine-schedulers", "state" : { "revision" : "ec62f32d21584214a4b27c8cee2b2ad70ab2c38a", "version" : "0.11.0" } }, { "identity" : "combinefirebase", "kind" : "remoteSourceControl", "location" : "https://github.com/urban-health-labs/CombineFirebase", "state" : { "revision" : "77d2c7a9059451344259ab16669d4bd0b78e1e6a", "version" : "0.3.3" } }, { "identity" : "difference", "kind" : "remoteSourceControl", "location" : "https://github.com/krzysztofzablocki/Difference.git", "state" : { "revision" : "02fe1111edc8318c4f8a0da96336fcbcc201f38b", "version" : "1.0.1" } }, { "identity" : "disk", "kind" : "remoteSourceControl", "location" : "https://github.com/saoudrizwan/Disk.git", "state" : { "revision" : "b0cb4fdf23e51849cc2460bdc6de795c3bcca99d", "version" : "0.6.4" } }, { "identity" : "factory", "kind" : "remoteSourceControl", "location" : "https://github.com/hmlongco/Factory", "state" : { "revision" : "061b3afe0358a0da7ce568f8272c847910be3dd7", "version" : "2.2.0" } }, { "identity" : "firebase-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/firebase-ios-sdk.git", "state" : { "revision" : "2bfe6abe1014aafe5cf28401708f7d39f9926a76", "version" : "10.14.0" } }, { "identity" : "fittedsheets", "kind" : "remoteSourceControl", "location" : "https://github.com/gordontucker/FittedSheets.git", "state" : { "revision" : "5d7f5a6307ad510aa05de5a4a16ac40846d3b2d3", "version" : "2.6.1" } }, { "identity" : "flanimatedimage", "kind" : "remoteSourceControl", "location" : "https://github.com/Flipboard/FLAnimatedImage.git", "state" : { "revision" : "d4f07b6f164d53c1212c3e54d6460738b1981e9f", "version" : "1.0.17" } }, { "identity" : "flex", "kind" : "remoteSourceControl", "location" : "https://github.com/AndrewSB/FLEX", "state" : { "revision" : "a837105edd37c65ad571df6a61c003c622e6a0a3" } }, { "identity" : "funasync", "kind" : "remoteSourceControl", "location" : "https://github.com/inamiy/FunAsync", "state" : { "revision" : "8811f53863cca5fdcf6fee450e90a26614899c9e" } }, { "identity" : "get", "kind" : "remoteSourceControl", "location" : "https://github.com/kean/Get", "state" : { "revision" : "12830cc64f31789ae6f4352d2d51d03a25fc3741", "version" : "2.1.6" } }, { "identity" : "giphy-ios-sdk", "kind" : "remoteSourceControl", "location" : "https://github.com/Giphy/giphy-ios-sdk.git", "state" : { "revision" : "ba4a17d60352bc8bfaeed2a9cd39990295408fd8", "version" : "2.2.6" } }, { "identity" : "googleappmeasurement", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleAppMeasurement.git", "state" : { "revision" : "03b9beee1a61f62d32c521e172e192a1663a5e8b", "version" : "10.13.0" } }, { "identity" : "googledatatransport", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleDataTransport.git", "state" : { "revision" : "aae45a320fd0d11811820335b1eabc8753902a40", "version" : "9.2.5" } }, { "identity" : "googleutilities", "kind" : "remoteSourceControl", "location" : "https://github.com/google/GoogleUtilities.git", "state" : { "revision" : "c38ce365d77b04a9a300c31061c5227589e5597b", "version" : "7.11.5" } }, { "identity" : "grpc-binary", "kind" : "remoteSourceControl", "location" : "https://github.com/google/grpc-binary.git", "state" : { "revision" : "f1b366129d1125be7db83247e003fc333104b569", "version" : "1.50.2" } }, { "identity" : "gtm-session-fetcher", "kind" : "remoteSourceControl", "location" : "https://github.com/google/gtm-session-fetcher.git", "state" : { "revision" : "d415594121c9e8a4f9d79cecee0965cf35e74dbd", "version" : "3.1.1" } }, { "identity" : "instabug-sp", "kind" : "remoteSourceControl", "location" : "https://github.com/Instabug/Instabug-SP.git", "state" : { "revision" : "f55d8c8a2eb423c22f9faafb9cb6a2453e164772", "version" : "12.0.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" : "ios-branch-sdk-spm", "kind" : "remoteSourceControl", "location" : "https://github.com/BranchMetrics/ios-branch-sdk-spm.git", "state" : { "revision" : "7fbe3085821c8e60241a2037098c6eed76fd2798", "version" : "2.2.0" } }, { "identity" : "keychainaccess", "kind" : "remoteSourceControl", "location" : "https://github.com/kishikawakatsumi/KeychainAccess.git", "state" : { "revision" : "84e546727d66f1adc5439debad16270d0fdd04e7", "version" : "4.2.2" } }, { "identity" : "kingfisher", "kind" : "remoteSourceControl", "location" : "https://github.com/onevcat/Kingfisher.git", "state" : { "revision" : "b6f62758f21a8c03cd64f4009c037cfa580a256e", "version" : "7.9.1" } }, { "identity" : "leveldb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/leveldb.git", "state" : { "revision" : "0706abcc6b0bd9cedfbb015ba840e4a780b5159b", "version" : "1.22.2" } }, { "identity" : "libwebp-xcode", "kind" : "remoteSourceControl", "location" : "https://github.com/SDWebImage/libwebp-Xcode", "state" : { "revision" : "1cdddb80ccef6d30e869c4abe1f9f3d3871a25b5", "version" : "1.3.1" } }, { "identity" : "lottie-ios", "kind" : "remoteSourceControl", "location" : "https://github.com/airbnb/lottie-ios.git", "state" : { "revision" : "d6feea26a370019b4d3a85f5984cb95a2734776f", "version" : "4.2.0" } }, { "identity" : "marqueelabel", "kind" : "remoteSourceControl", "location" : "https://github.com/cbpowell/MarqueeLabel", "state" : { "revision" : "bc00d4cbff7f6c416035e3d16c21885452cd159e", "version" : "4.3.1" } }, { "identity" : "mixpanel-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/mixpanel/mixpanel-swift", "state" : { "revision" : "8ce81c8ed451d8aa5ede028e3838fd41e67938c9", "version" : "4.1.4" } }, { "identity" : "multipartformdatakit", "kind" : "remoteSourceControl", "location" : "https://github.com/Kuniwak/MultipartFormDataKit", "state" : { "revision" : "666c1715f6e70f4589d11ae2936eb16bf018ccd4" } }, { "identity" : "nanopb", "kind" : "remoteSourceControl", "location" : "https://github.com/firebase/nanopb.git", "state" : { "revision" : "819d0a2173aff699fb8c364b6fb906f7cdb1a692", "version" : "2.30909.0" } }, { "identity" : "nextlevelsessionexporter", "kind" : "remoteSourceControl", "location" : "https://github.com/rromanchuk/NextLevelSessionExporter.git", "state" : { "revision" : "75cad73f3d369abd8488debe707c9a8b69f7a9b6" } }, { "identity" : "notificationbanner", "kind" : "remoteSourceControl", "location" : "https://github.com/Daltron/NotificationBanner.git", "state" : { "revision" : "1406ac60bcab58074fc969e9b4cb804679832c8e", "version" : "3.2.1" } }, { "identity" : "nuke", "kind" : "remoteSourceControl", "location" : "https://github.com/kean/Nuke.git", "state" : { "revision" : "93c8dc78fbc0aa3538a0db460eb389d4180af242", "version" : "11.3.1" } }, { "identity" : "onesignal-xcframework", "kind" : "remoteSourceControl", "location" : "https://github.com/OneSignal/OneSignal-XCFramework.git", "state" : { "revision" : "b466a821e03008ecae885ebf79f52e4b88269b06", "version" : "3.12.6" } }, { "identity" : "phonenumberkit", "kind" : "remoteSourceControl", "location" : "https://github.com/marmelroy/PhoneNumberKit.git", "state" : { "revision" : "1e984b63edf82133d390db4873b3915fc837e8bd", "version" : "3.6.8" } }, { "identity" : "promises", "kind" : "remoteSourceControl", "location" : "https://github.com/google/promises.git", "state" : { "revision" : "e70e889c0196c76d22759eb50d6a0270ca9f1d9e", "version" : "2.3.1" } }, { "identity" : "pulse", "kind" : "remoteSourceControl", "location" : "https://github.com/kean/Pulse", "state" : { "revision" : "e080339a24f5a47461378e5fe02ba3f2ef0a2cfa", "version" : "4.0.3" } }, { "identity" : "queryable", "kind" : "remoteSourceControl", "location" : "https://github.com/SwiftedMind/Queryable", "state" : { "revision" : "7677089e3f0db3544ed657c18ed051a18f6dd781", "version" : "1.0.2" } }, { "identity" : "reachability.swift", "kind" : "remoteSourceControl", "location" : "https://github.com/ashleymills/Reachability.swift", "state" : { "revision" : "c01bbdf2d633cf049ae1ed1a68a2020a8bda32e2", "version" : "5.1.0" } }, { "identity" : "realflags", "kind" : "remoteSourceControl", "location" : "https://github.com/immobiliare/RealFlags.git", "state" : { "revision" : "9e6076aa0607bce6f57253a3aad8465c183402b7" } }, { "identity" : "snap-kit-spm", "kind" : "remoteSourceControl", "location" : "https://github.com/Snapchat/snap-kit-spm", "state" : { "revision" : "071281e1d9a1f3f6a875b105d866e2ab3d7c4234", "version" : "2.4.0" } }, { "identity" : "snapkit", "kind" : "remoteSourceControl", "location" : "https://github.com/SnapKit/SnapKit.git", "state" : { "revision" : "f222cbdf325885926566172f6f5f06af95473158", "version" : "5.6.0" } }, { "identity" : "sqlite.swift", "kind" : "remoteSourceControl", "location" : "https://github.com/stephencelis/SQLite.swift.git", "state" : { "revision" : "7a2e3cd27de56f6d396e84f63beefd0267b55ccb", "version" : "0.14.1" } }, { "identity" : "stream-chat-swift", "kind" : "remoteSourceControl", "location" : "https://github.com/reclipapp/stream-chat-swift.git", "state" : { "branch" : "reclip-4.37.0", "revision" : "35c660c44b71e05b26ea936f6cd8ab03b655311b" } }, { "identity" : "stream-chat-swift-test-helpers", "kind" : "remoteSourceControl", "location" : "https://github.com/GetStream/stream-chat-swift-test-helpers.git", "state" : { "revision" : "938bba9a3714e3d139d9460fcd6ee9b851e33807", "version" : "0.2.11" } }, { "identity" : "stream-chat-swiftui", "kind" : "remoteSourceControl", "location" : "https://github.com/reclipapp/stream-chat-swiftui.git", "state" : { "branch" : "reclip-4.37.1", "revision" : "9fa16dfeac06781232568d51051ba43c7b47c470" } }, { "identity" : "swift-clocks", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-clocks", "state" : { "revision" : "0fbaebfc013715dab44d715a4d350ba37f297e4d", "version" : "0.4.0" } }, { "identity" : "swift-collections", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-collections.git", "state" : { "revision" : "937e904258d22af6e447a0b72c0bc67583ef64a2", "version" : "1.0.4" } }, { "identity" : "swift-concurrency-extras", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-concurrency-extras", "state" : { "revision" : "479750bd98fac2e813fffcf2af0728b5b0085795", "version" : "0.1.1" } }, { "identity" : "swift-custom-dump", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-custom-dump", "state" : { "revision" : "4a87bb75be70c983a9548597e8783236feb3401e", "version" : "0.11.1" } }, { "identity" : "swift-dependencies", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-dependencies", "state" : { "revision" : "16fd42ae04c6e7f74a6a86395d04722c641cccee", "version" : "0.6.0" } }, { "identity" : "swift-nonempty", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-nonempty", "state" : { "revision" : "8074e5f2e4a6de5a42476e545cc33438021aa2a4", "version" : "0.4.0" } }, { "identity" : "swift-protobuf", "kind" : "remoteSourceControl", "location" : "https://github.com/apple/swift-protobuf.git", "state" : { "revision" : "cf62cdaea48b77f1a631e5cb3aeda6047c2cba1d", "version" : "1.23.0" } }, { "identity" : "swift-snapshot-testing", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-snapshot-testing", "state" : { "revision" : "26ed3a2b4a2df47917ca9b790a57f91285b923fb", "version" : "1.12.0" } }, { "identity" : "swift-tagged", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/swift-tagged", "state" : { "revision" : "3907a9438f5b57d317001dc99f3f11b46882272b", "version" : "0.10.0" } }, { "identity" : "swifter", "kind" : "remoteSourceControl", "location" : "https://github.com/httpswift/swifter", "state" : { "revision" : "9483a5d459b45c3ffd059f7b55f9638e268632fd", "version" : "1.5.0" } }, { "identity" : "swiftrunonce", "kind" : "remoteSourceControl", "location" : "https://github.com/thumbtack/SwiftRunOnce.git", "state" : { "revision" : "a6ed347f6fd5112c4e059ed4d14b92da09c7f62f", "version" : "0.2.1" } }, { "identity" : "swifttweaks", "kind" : "remoteSourceControl", "location" : "https://github.com/AndrewSB/SwiftTweaks", "state" : { "branch" : "c677ae3", "revision" : "c677ae3e8b19bbdf7400e90d73d79acb06e1cbd3" } }, { "identity" : "swiftui-introspect", "kind" : "remoteSourceControl", "location" : "https://github.com/siteline/SwiftUI-Introspect", "state" : { "revision" : "ccb973cfff703cba53fb88197413485c060eb26b", "version" : "0.10.0" } }, { "identity" : "swiftuipager", "kind" : "remoteSourceControl", "location" : "https://github.com/fermoya/SwiftUIPager.git", "state" : { "revision" : "4ddc04c801aac143090bb14cf26603a3bf9c74cb", "version" : "2.5.0" } }, { "identity" : "swipetransition", "kind" : "remoteSourceControl", "location" : "https://github.com/reclipapp/SwipeTransition", "state" : { "revision" : "222f5246f128ab459a20aef06935e6ef29240e51" } }, { "identity" : "then", "kind" : "remoteSourceControl", "location" : "https://github.com/jacobh0/Then.git", "state" : { "branch" : "master", "revision" : "b7fe324970608d3266ca9108120e6d448005f055" } }, { "identity" : "updatingtimeagoview", "kind" : "remoteSourceControl", "location" : "https://github.com/AndrewSB/UpdatingTimeAgoView.git", "state" : { "branch" : "main", "revision" : "401a3bb1fdccdb98b1ecc2b8b14a5ac46d206bbf" } }, { "identity" : "urlqueryencoder", "kind" : "remoteSourceControl", "location" : "https://github.com/CreateAPI/URLQueryEncoder", "state" : { "revision" : "4ce950479707ea109f229d7230ec074a133b15d7", "version" : "0.2.1" } }, { "identity" : "viewextractor", "kind" : "remoteSourceControl", "location" : "https://github.com/GeorgeElsham/ViewExtractor.git", "state" : { "revision" : "e20b1944524d4454c2a65c0054ce345c2c5d0185", "version" : "2.0.0" } }, { "identity" : "xctest-dynamic-overlay", "kind" : "remoteSourceControl", "location" : "https://github.com/pointfreeco/xctest-dynamic-overlay", "state" : { "revision" : "50843cbb8551db836adec2290bb4bc6bac5c1865", "version" : "0.9.0" } } ], "version" : 2 } ```
If using CocoaPods, the project's Podfile.lock
Expand
Podfile.lock
snippet```yml Replace this line with the contents of your Podfile.lock! ```