You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have searched open and closed issues for duplicates
I am submitting a bug report for existing functionality that does not work as intended
This isn't a feature request or a discussion topic
Bug description
As of the changes merged in 7dd6132, when installed and run for the first time on a clean device, the app crashes on launch with an uncaught exception: [OWSStorage.m:851 +[OWSStorage deleteDBKeys]]: could not remove legacy passphrase.
The cause of the crash is this newly-added code in +[OWSStorage deleteDBKeys] to delete the legacy passphrase:
When asked to delete a password that does not exist, the underlying keychain API used by +[SAMKeychain deletePasswordForService:account:error:] produces an error with the localized description "The specified item could not be found in the keychain". In this case, failing to delete a password because the password did not exist should not be considered an error. This particular error case needs to be caught and treated as a success.
Steps to reproduce
Launch the iOS Simulator, and reset the simulator with "Hardware > Erase All Content and Settings..."
Build and run the app at commit 7dd6132, or any later commit currently on the master branch.
Actual result: On launch, the app crashes with an uncaught exception: [OWSStorage.m:851 +[OWSStorage deleteDBKeys]]: could not remove legacy passphrase.
Expected result: The app should not crash when attempting to delete the legacy passphrase if the legacy passphrase does not exist. Following the above steps with the parent commit (0357699), the app will launch on a clean simulator without issue.
Device info
Device: iPhone X (simulator) iOS version: iOS 11.4 (15F79) Signal version: Development build at commit 7dd6132
The text was updated successfully, but these errors were encountered:
mattrubin
added a commit
to mattrubin/Signal-iOS
that referenced
this issue
Sep 9, 2018
Bug description
As of the changes merged in 7dd6132, when installed and run for the first time on a clean device, the app crashes on launch with an uncaught exception:
[OWSStorage.m:851 +[OWSStorage deleteDBKeys]]: could not remove legacy passphrase.
The cause of the crash is this newly-added code in
+[OWSStorage deleteDBKeys]
to delete the legacy passphrase:Signal-iOS/SignalServiceKit/src/Storage/OWSStorage.m
Lines 846 to 852 in 7dd6132
The error originates inside of
SSKDefaultKeychainStorage.remove(service:key:)
:Signal-iOS/SignalServiceKit/src/Storage/KeychainStorage.swift
Lines 94 to 98 in 7dd6132
When asked to delete a password that does not exist, the underlying keychain API used by
+[SAMKeychain deletePasswordForService:account:error:]
produces an error with the localized description "The specified item could not be found in the keychain". In this case, failing to delete a password because the password did not exist should not be considered an error. This particular error case needs to be caught and treated as a success.Steps to reproduce
Actual result: On launch, the app crashes with an uncaught exception:
[OWSStorage.m:851 +[OWSStorage deleteDBKeys]]: could not remove legacy passphrase.
Expected result: The app should not crash when attempting to delete the legacy passphrase if the legacy passphrase does not exist. Following the above steps with the parent commit (0357699), the app will launch on a clean simulator without issue.
Device info
Device: iPhone X (simulator)
iOS version: iOS 11.4 (15F79)
Signal version: Development build at commit 7dd6132
The text was updated successfully, but these errors were encountered: