Crashlytics 导致崩溃

Crashlytics causing a crash

我在 Firebase Crashlytics 中遇到崩溃,原因相当不确定 (Thread 10: EXC_BAD_ACCESS (code=1, address=0x2406e80d2))。它发生在 FIRCLSBinaryImage.m 内部,我是 运行 Xcode 模拟器上的代码。 Crashlytics 显示过去 4 天没有崩溃。 Xcode 中的线程看起来像这样..

#3  0x0000000110dacfb9 in __FIRCLSBinaryImageChanged_block_invoke
#2  0x0000000110dacaf7 in FIRCLSBinaryImageFillInImageDetails
#1  0x0000000110dada71 in FIRCLSBinaryImageMachOSliceInitSectionByName

最后的崩溃是在这段代码中...

static bool FIRCLSBinaryImageMachOSliceInitSectionByName(FIRCLSMachOSliceRef slice,
                                                         const char* segName,
                                                         const char* sectionName,
                                                         FIRCLSMachOSection* section) {
  if (!FIRCLSIsValidPointer(slice)) {
    return false;
  }

  if (!section) {
    return false;
  }

  memset(section, 0, sizeof(FIRCLSMachOSection));

  if (FIRCLSMachOSliceIs64Bit(slice)) {

    const struct section_64* sect =
        getsectbynamefromheader_64(slice->startAddress, segName, sectionName);
    if (!sect) {
      return false;
    }

    section->addr = sect->addr;
    section->size = sect->size;
    section->offset = sect->offset;
  } else {
// crashes on the next line
    const struct section* sect = getsectbynamefromheader(slice->startAddress, segName, sectionName);
    if (!sect) {
      return false;
    }

    section->addr = sect->addr;
    section->size = sect->size;
    section->offset = sect->offset;
  }

  return true;
}

在 Xcode 中,此日志在崩溃前显示:

2021-02-04 18:36:54.748558+0100 MyApp[10255:196371] 7.5.0 - [GULReachability][I-REA902003] Monitoring the network status
2021-02-04 18:36:54.755552+0100 MyApp[10255:196371] 7.5.0 - [GULReachability][I-REA902003] Monitoring the network status

我正在使用 Xcode 12.4 和以下版本的 Firebase sw:

Installing BoringSSL-GRPC (0.0.7)
Installing Firebase (7.5.0)
Installing FirebaseAnalytics (7.5.0)
Installing FirebaseAuth (7.5.0)
Installing FirebaseCore (7.5.0)
Installing FirebaseCoreDiagnostics (7.5.0)
Installing FirebaseCrashlytics (7.5.0)
Installing FirebaseDatabase (7.5.0)
Installing FirebaseFirestore (7.5.0)
Installing FirebaseInstallations (7.5.0)
Installing FirebaseStorage (7.5.0)
Installing GTMSessionFetcher (1.5.0)
Installing GoogleAppMeasurement (7.5.0)
Installing GoogleDataTransport (8.2.0)
Installing GoogleUtilities (7.2.2)
Installing PromisesObjC (1.2.12)
Installing abseil (0.20200225.0)
Installing gRPC-C++ (1.28.2)
Installing gRPC-Core (1.28.2)
Installing leveldb-library (1.22)
Installing nanopb (2.30907.0)

有人对发生了什么或如何进行有什么建议吗?

这是 bug introduced in the 7.5.0 release 的结果。

修复将在 7.6.0 或 7.7.0 中发布。

同时,您可以直接将 fix 应用到您的安装或恢复到 7.4.0。