cache_store: handle corrupt DBM database.#4949
Merged
MikeMcQuaid merged 1 commit intoHomebrew:masterfrom Sep 20, 2018
MikeMcQuaid:dbm_crash
Merged
cache_store: handle corrupt DBM database.#4949MikeMcQuaid merged 1 commit intoHomebrew:masterfrom MikeMcQuaid:dbm_crash
MikeMcQuaid merged 1 commit intoHomebrew:masterfrom
MikeMcQuaid:dbm_crash
Conversation
When the DBM database cannot be read by the current version of Ruby's DBM library (due to corruption or another incompatibility) it segfaults or freezes which takes down the entire Homebrew Ruby process. This isn't desirable so instead perform a shell out with the Homebrew Ruby to see if it can read the DBM database before we try to use the information. If this hangs or crashes: silently delete the database and recreate it.
Contributor
|
(Heads up: I will be away from my computer until tomorrow.) |
Member
Author
|
@claui No worries, I'll merge this as-is as it's somewhat urgent and welcome any post-merge review. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When the DBM database cannot be read by the current version of Ruby's DBM library (due to corruption or another incompatibility) it segfaults or freezes which takes down the entire Homebrew Ruby process.
This isn't desirable so instead perform a shell out with the Homebrew Ruby to see if it can read the DBM database before we try to use the information. If this hangs or crashes: silently delete the database and recreate it.
Fixes #4923.
brew stylewith your changes locally?brew testswith your changes locally?