这是indexloc提供的服务,不要输入任何密码
Skip to content

Deadlock caused by call to objc_copyImageNames in FIRPopulateProtoWithNumberOfLinkedFrameworks #7310

@SquaredTiki

Description

@SquaredTiki

Environment

  • Xcode version: 12.1
  • Firebase SDK version: 6.34.0
  • Installation method: CocoaPods (select one)
  • Firebase Component: Crashlytics

Problem

Firebase's call to objc_copyImageNames within FIRPopulateProtoWithNumberOfLinkedFrameworks can sometimes trigger a deadlock on launch (if another thread is performing a dlopen, e.g. CFNetwork) resulting in the app being terminated by the system watchdog. This has been filed as a bug report with Apple (FB8971497) and discussed on the developer forums here however it's worth raising here as well to see if there's any workarounds.

Is it possible to disable diagnostics including the number of linked frameworks to remove the call to objc_copyImageNames?

Steps to reproduce:

In an app that makes a network request at launch, with a reasonable number of dynamic libraries linked (~5+), it may trigger a deadlock (timing dependant) resulting in the app being terminated by the system watchdog. Crash report can be found here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions