Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More robust handling of invalid config #197

Open
jieyouxu opened this issue Jun 16, 2024 · 1 comment
Open

More robust handling of invalid config #197

jieyouxu opened this issue Jun 16, 2024 · 1 comment
Labels
A-config Area: config A-diagnostics Area: error reporting and diagnostics C-enhancement Category: new feature or request

Comments

@jieyouxu
Copy link
Collaborator

jieyouxu commented Jun 16, 2024

If we fail to deserialize config or whatever, we want to fail hard but with better diagnostics:

  • Report where we tried looking for a valid config
  • Report which config was attempted to be deserialized and failed
  • Provide a suggestion (backup + nuke) the problematic config

In particular the configs being generation by the same version of mint does not guarantee it can be successfully deserialized, given that it's possible for the configs to be corrupted for reasons such as:

  • Incorrect manual manipulation
  • Partially written config
  • Hardware failures
  • Radiation-induced bit flipping
@jieyouxu jieyouxu added C-enhancement Category: new feature or request A-diagnostics Area: error reporting and diagnostics A-config Area: config labels Jun 16, 2024
@jieyouxu
Copy link
Collaborator Author

Hmm this might also have to do with how we do the config serialization logic. The current temp-file-and-rename logic is atomic on Linux, but is not guaranteed atomic on Windows in presence of an existing config file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-config Area: config A-diagnostics Area: error reporting and diagnostics C-enhancement Category: new feature or request
Projects
None yet
Development

No branches or pull requests

1 participant