empty flake.lock
triggers std::terminate
due to unhandled json parsing exception #661
Labels
No labels
Affects/CppNix
Affects/Nightly
Affects/Only nightly
Affects/Stable
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/lix ci
Area/nix-eval-jobs
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/repl/debugger
Area/store
bug
Context
contributors
Context
drive-by
Context
maintainers
Context
RFD
crash 💥
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
imported
Language/Bash
Language/C++
Language/NixLang
Language/Python
Language/Rust
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
Topic/Large Scale Installations
ux
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-project/lix#661
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Describe the bug
subj
Steps To Reproduce
given valid
flake.nix
exists in the current directory:BANG!
Expected behavior
lix
should not crash when attempting to parse invalid json file (flake.lock
)nix --version
outputmaybe same underlying bug? #642 but unclear if this is a duplicate
Cannot reproduce.
I suspect this has been fixed in the commit fixing #559:
Of course, it is debatable if we should just re-generate the
flake.lock
if it is empty. Opinions on that?regenerating it seems rather dangerous, considering that "file suddenly empty" is a known crash recovery mode of some file systems. we should at least ask whether that's something the user wants to do as they may have just made a mistake and want to roll back the lockfile to a vcs version instead
^^ yeah. i think that the error now is actually pretty reasonable and actually tells you what is wrong even if it is a little fluffy.