From c4ca0ffc8c484393e00277a9a58b42d3c4685f85 Mon Sep 17 00:00:00 2001 From: Steve Kirkland-Walton Date: Fri, 1 Apr 2022 15:30:06 +0100 Subject: [PATCH 1/4] Ensure pipeline steps all have timeouts --- .buildkite/pipeline.full.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.buildkite/pipeline.full.yml b/.buildkite/pipeline.full.yml index f3e446f13..2b18dbfdc 100644 --- a/.buildkite/pipeline.full.yml +++ b/.buildkite/pipeline.full.yml @@ -327,6 +327,7 @@ steps: # - label: 'examples/objective-c-ios' + timeout_in_minutes: 30 agents: queue: opensource-arm-mac-cocoa-12 commands: @@ -339,6 +340,7 @@ steps: - xcodebuild -allowProvisioningUpdates -workspace objective-c-ios.xcworkspace -scheme objective-c-ios -configuration Debug -destination generic/platform=iOS\ Simulator -derivedDataPath DerivedData -quiet build GCC_TREAT_WARNINGS_AS_ERRORS=YES - label: 'examples/objective-c-osx' + timeout_in_minutes: 30 agents: queue: opensource-arm-mac-cocoa-12 commands: @@ -351,6 +353,7 @@ steps: - xcodebuild -allowProvisioningUpdates -workspace objective-c-osx.xcworkspace -scheme objective-c-osx -configuration Debug -derivedDataPath DerivedData -quiet build GCC_TREAT_WARNINGS_AS_ERRORS=YES - label: 'examples/swift-ios' + timeout_in_minutes: 30 agents: queue: opensource-arm-mac-cocoa-12 commands: @@ -363,6 +366,7 @@ steps: - xcodebuild -allowProvisioningUpdates -workspace swift-ios.xcworkspace -scheme swift-ios -configuration Debug -destination generic/platform=iOS\ Simulator -derivedDataPath DerivedData -quiet build GCC_TREAT_WARNINGS_AS_ERRORS=YES - label: 'examples/swift-package-manager' + timeout_in_minutes: 30 agents: queue: opensource-arm-mac-cocoa-12 commands: @@ -376,6 +380,7 @@ steps: - xcodebuild -allowProvisioningUpdates -scheme swift-package-manager -configuration Debug -destination generic/platform=iOS\ Simulator -derivedDataPath DerivedData -quiet build GCC_TREAT_WARNINGS_AS_ERRORS=YES - label: 'examples/swiftui' + timeout_in_minutes: 30 agents: queue: opensource-arm-mac-cocoa-12 commands: From d0b0158cda920859b72afc07fec0cb31d3878d80 Mon Sep 17 00:00:00 2001 From: Nick Dowell Date: Tue, 5 Apr 2022 15:13:15 +0100 Subject: [PATCH 2/4] Add BugsnagStackframe.codeIdentifier (#1328) --- Bugsnag/Payload/BugsnagStackframe+Private.h | 3 ++- Bugsnag/Payload/BugsnagStackframe.m | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Bugsnag/Payload/BugsnagStackframe+Private.h b/Bugsnag/Payload/BugsnagStackframe+Private.h index b24d25010..e4c71a12d 100644 --- a/Bugsnag/Payload/BugsnagStackframe+Private.h +++ b/Bugsnag/Payload/BugsnagStackframe+Private.h @@ -31,8 +31,9 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic) BOOL needsSymbolication; -// MARK: - Properties not used for Cocoa stack frames, but used by React Native and Unity. +// MARK: - Properties for Flutter, React Native, or Unity notifiers. +@property (copy, nullable, nonatomic) NSString *codeIdentifier; @property (strong, nullable, nonatomic) NSNumber *columnNumber; @property (copy, nullable, nonatomic) NSString *file; @property (strong, nullable, nonatomic) NSNumber *inProject; diff --git a/Bugsnag/Payload/BugsnagStackframe.m b/Bugsnag/Payload/BugsnagStackframe.m index 386f91786..740c05683 100644 --- a/Bugsnag/Payload/BugsnagStackframe.m +++ b/Bugsnag/Payload/BugsnagStackframe.m @@ -48,6 +48,7 @@ + (BugsnagStackframe *)frameFromJson:(NSDictionary *)json { frame.symbolAddress = [self readInt:json key:BSGKeySymbolAddr]; frame.machoLoadAddress = [self readInt:json key:BSGKeyMachoLoadAddr]; frame.type = BSGDeserializeString(json[BSGKeyType]); + frame.codeIdentifier = BSGDeserializeString(json[@"codeIdentifier"]); frame.columnNumber = BSGDeserializeNumber(json[@"columnNumber"]); frame.file = BSGDeserializeString(json[@"file"]); frame.inProject = BSGDeserializeNumber(json[@"inProject"]); @@ -234,6 +235,7 @@ - (NSDictionary *)toDictionary { dict[BSGKeyIsLR] = @(self.isLr); } dict[BSGKeyType] = self.type; + dict[@"codeIdentifier"] = self.codeIdentifier; dict[@"columnNumber"] = self.columnNumber; dict[@"file"] = self.file; dict[@"inProject"] = self.inProject; From f87d817c74330d88d68c427c66b514a56dc8ec6c Mon Sep 17 00:00:00 2001 From: Nick Dowell Date: Wed, 6 Apr 2022 08:51:48 +0100 Subject: [PATCH 3/4] Simplify EXC_BAD_ACCESS examples (#1329) --- examples/objective-c-ios/objective-c-ios/ViewController.m | 6 ++---- examples/swift-ios/swift-ios/AnObjCClass.mm | 4 +--- examples/swiftui/Shared/AnObjCClass.mm | 4 +--- 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/examples/objective-c-ios/objective-c-ios/ViewController.m b/examples/objective-c-ios/objective-c-ios/ViewController.m index 04ee231e2..e02e48c22 100644 --- a/examples/objective-c-ios/objective-c-ios/ViewController.m +++ b/examples/objective-c-ios/objective-c-ios/ViewController.m @@ -66,12 +66,10 @@ - (IBAction)generateSignal:(id)sender { } /** - This method causes a low-level exception from the operating system to terminate the app. Upon reopening the app this signal should be notified to your Bugsnag dashboard. + This method causes an EXC_BAD_ACCESS Mach exception from the operating system to terminate the app. Upon reopening the app this exception should be notified to your Bugsnag dashboard. */ - (IBAction)generateMachException:(id)sender { - // This should result in an EXC_BAD_ACCESS mach exception with code = KERN_INVALID_ADDRESS and subcode = 0xDEADBEEF - void (* ptr)(void) = (void *)0xDEADBEEF; - ptr(); + *(int *)0xdeadbeef = 0; } /** diff --git a/examples/swift-ios/swift-ios/AnObjCClass.mm b/examples/swift-ios/swift-ios/AnObjCClass.mm index 153dd3356..ffa0ca6e8 100644 --- a/examples/swift-ios/swift-ios/AnObjCClass.mm +++ b/examples/swift-ios/swift-ios/AnObjCClass.mm @@ -55,9 +55,7 @@ - (void)corruptSomeMemory { } - (void)accessInvalidMemoryAddress { - // This should result in an EXC_BAD_ACCESS mach exception with code = KERN_INVALID_ADDRESS and subcode = 0xDEADBEEF - void (* ptr)(void) = (void (*)(void))0xDEADBEEF; - ptr(); + *(int *)0xdeadbeef = 0; } - (void)throwCxxException { diff --git a/examples/swiftui/Shared/AnObjCClass.mm b/examples/swiftui/Shared/AnObjCClass.mm index 153dd3356..ffa0ca6e8 100644 --- a/examples/swiftui/Shared/AnObjCClass.mm +++ b/examples/swiftui/Shared/AnObjCClass.mm @@ -55,9 +55,7 @@ - (void)corruptSomeMemory { } - (void)accessInvalidMemoryAddress { - // This should result in an EXC_BAD_ACCESS mach exception with code = KERN_INVALID_ADDRESS and subcode = 0xDEADBEEF - void (* ptr)(void) = (void (*)(void))0xDEADBEEF; - ptr(); + *(int *)0xdeadbeef = 0; } - (void)throwCxxException { From 89c73fc2f6f61638d78a4943eb392935552b6e2b Mon Sep 17 00:00:00 2001 From: Nick Dowell Date: Wed, 6 Apr 2022 10:35:14 +0100 Subject: [PATCH 4/4] Release v6.16.6 --- .jazzy.yaml | 4 ++-- Bugsnag.podspec.json | 4 ++-- Bugsnag/Payload/BugsnagNotifier.m | 2 +- BugsnagNetworkRequestPlugin.podspec.json | 6 +++--- CHANGELOG.md | 7 +++++++ Framework/Info.plist | 2 +- Tests/BugsnagTests/Info.plist | 2 +- Tests/TestHost-iOS/Info.plist | 2 +- VERSION | 2 +- 9 files changed, 19 insertions(+), 12 deletions(-) diff --git a/.jazzy.yaml b/.jazzy.yaml index f2d0fe4e8..285a1da66 100644 --- a/.jazzy.yaml +++ b/.jazzy.yaml @@ -2,11 +2,11 @@ author_url: "https://www.bugsnag.com" author: "Bugsnag Inc" clean: false # avoid deleting docs/.git framework_root: "Bugsnag" -github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa/tree/v6.16.5/Bugsnag" +github_file_prefix: "https://github.com/bugsnag/bugsnag-cocoa/tree/v6.16.6/Bugsnag" github_url: "https://github.com/bugsnag/bugsnag-cocoa" hide_documentation_coverage: true module: "Bugsnag" -module_version: "6.16.5" +module_version: "6.16.6" objc: true output: "docs" readme: "README.md" diff --git a/Bugsnag.podspec.json b/Bugsnag.podspec.json index a74b751ec..127c260ce 100644 --- a/Bugsnag.podspec.json +++ b/Bugsnag.podspec.json @@ -1,6 +1,6 @@ { "name": "Bugsnag", - "version": "6.16.5", + "version": "6.16.6", "summary": "The Bugsnag crash reporting framework for Apple platforms.", "homepage": "https://bugsnag.com", "license": "MIT", @@ -9,7 +9,7 @@ }, "source": { "git": "https://github.com/bugsnag/bugsnag-cocoa.git", - "tag": "v6.16.5" + "tag": "v6.16.6" }, "frameworks": [ "Foundation", diff --git a/Bugsnag/Payload/BugsnagNotifier.m b/Bugsnag/Payload/BugsnagNotifier.m index 04716d2e5..ae76eedfa 100644 --- a/Bugsnag/Payload/BugsnagNotifier.m +++ b/Bugsnag/Payload/BugsnagNotifier.m @@ -21,7 +21,7 @@ - (instancetype)init { #else _name = @"Bugsnag Objective-C"; #endif - _version = @"6.16.5"; + _version = @"6.16.6"; _url = @"https://github.com/bugsnag/bugsnag-cocoa"; _dependencies = @[]; } diff --git a/BugsnagNetworkRequestPlugin.podspec.json b/BugsnagNetworkRequestPlugin.podspec.json index d51a7e5d9..e9561cd28 100644 --- a/BugsnagNetworkRequestPlugin.podspec.json +++ b/BugsnagNetworkRequestPlugin.podspec.json @@ -1,16 +1,16 @@ { "name": "BugsnagNetworkRequestPlugin", - "version": "6.16.5", + "version": "6.16.6", "summary": "Network request monitoring support for Bugsnag.", "homepage": "https://bugsnag.com", "license": "MIT", "authors": { "Bugsnag": "notifiers@bugsnag.com" }, - "readme": "https://raw.githubusercontent.com/bugsnag/bugsnag-cocoa/v6.16.5/BugsnagNetworkRequestPlugin/README.md", + "readme": "https://raw.githubusercontent.com/bugsnag/bugsnag-cocoa/v6.16.6/BugsnagNetworkRequestPlugin/README.md", "source": { "git": "https://github.com/bugsnag/bugsnag-cocoa.git", - "tag": "v6.16.5" + "tag": "v6.16.6" }, "dependencies": { "Bugsnag": "~> 6.13" diff --git a/CHANGELOG.md b/CHANGELOG.md index c759f61cf..25676d26d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,13 @@ Changelog ========= +## 6.16.6 (2022-04-06) + +### Changes + +* Add Flutter notifier support. + [#1328](https://github.com/bugsnag/bugsnag-cocoa/pull/1328) + ## 6.16.5 (2022-03-30) ### Bug fixes diff --git a/Framework/Info.plist b/Framework/Info.plist index b06a59f57..238456751 100644 --- a/Framework/Info.plist +++ b/Framework/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.16.5 + 6.16.6 CFBundleVersion 1 diff --git a/Tests/BugsnagTests/Info.plist b/Tests/BugsnagTests/Info.plist index 5ec85ccbd..0fa24d210 100644 --- a/Tests/BugsnagTests/Info.plist +++ b/Tests/BugsnagTests/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 6.16.5 + 6.16.6 CFBundleVersion 1 diff --git a/Tests/TestHost-iOS/Info.plist b/Tests/TestHost-iOS/Info.plist index e8438346c..830e8e1dd 100644 --- a/Tests/TestHost-iOS/Info.plist +++ b/Tests/TestHost-iOS/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString - 6.16.5 + 6.16.6 CFBundleVersion 1 LSRequiresIPhoneOS diff --git a/VERSION b/VERSION index 62d3df02c..98c4bc62d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -6.16.5 +6.16.6