1

I'm getting a crash in Firebase Crashlytics with a fairly indeterminate cause (Thread 10: EXC_BAD_ACCESS (code=1, address=0x2406e80d2)). It takes place inside FIRCLSBinaryImage.m and I'm running the code on the Xcode simulator. Crashlytics is showing no crashes for the last 4 days. The thread in Xcode looks like this..

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

Final crash is in this bit of code...

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;
}

In Xcode, this log shows just before the crash:

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

I'm using Xcode 12.4 and the following versions of 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)

Does anyone have some suggestions about what's up or how to proceed?

Shane O'Seasnain
  • 3,534
  • 5
  • 24
  • 31

1 Answers1

1

This is the result of a bug introduced in the 7.5.0 release.

The fix will release in 7.6.0 or 7.7.0.

In the meantime, you can directly apply the fix to your installation or revert to 7.4.0.

Paul Beusterien
  • 27,542
  • 6
  • 83
  • 139