bugsnag / bugsnag-cocoa

BugSnag error monitoring & exception reporter for iOS, macOS, tvOS and watchOS
https://docs.bugsnag.com/platforms/ios
MIT License
234 stars 128 forks source link

[Plat-11749] buggy cpp runtime #1643

Closed kstenerud closed 5 months ago

kstenerud commented 5 months ago

Goal

The C++ runtime is buggy on certain machines and can in rare cases return an invalid pointer to the C++ exception type information.

Design

Try copying the memory location to ensure that it is valid before attempting to call any methods on the object. If we can't get the type info, note that in the exception metadata.

github-actions[bot] commented 5 months ago

Bugsnag.framework binary size increased by 128 bytes from 713,264 to 713,392

    FILE SIZE        VM SIZE    
 --------------  -------------- 
  +0.1%     +96  +0.1%     +96    String Table
  +0.0%     +56  +0.0%     +56    __TEXT,__text
  +0.3%     +47  +0.3%     +47    __TEXT,__cstring
  +0.0%     +32  +0.0%     +32    Symbol Table
  [ = ]       0  +0.2%     +16    __DATA,__bss
  -0.1%      -4  -0.1%      -4    __TEXT,__unwind_info
  [ = ]       0  -0.1%     -16    [__DATA]
  -0.5%     -99  -0.5%     -99    [__TEXT]
  [ = ]       0  -1.7%    -128    [__LINKEDIT]
  +0.0%    +128  [ = ]       0    TOTAL

Generated by :no_entry_sign: Danger