haskell / haskell/cabal

Be more robust to store corruption

Open
#4,119 0 comments 1 reaction 0 assignees View on GitHub
cabal-install: v2-build system re: store-dir
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

The new-build code assumes that whatever is in `.cabal/store` is well-formed. However, in some cases the store can get corrupted; for example, if you upgrade to a new version of cabal-install that uses a different format, or if you manually modify files inside the store. In cases like this, new-build works extremely poorly; it will fail in a supremely uninformative way, and users won't have any recourse except to blow their store away and try again. It would be better if cabal-install was coded defensively against problems in the store.

Examples:

* #4113 Self-bootstrap with latest master and index doesn't work, it turned out that deleting store fixed the problem
* If some packages in the store are broken, new-build will still attempt o improve to them.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.