dfinity / dfinity/sdk

Weird error message on current directory deletion

Open
#4,405 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

needs-triage
Dominant language
Rust
Stars
204
Forks
98
PR merge metrics
No merged PRs in 30d

Description

I tried the following:

  1. dfx start --background
  2. Remove current directory.

I expected to see this happen: a nice error message and DFX quitting.

Instead, this happened:

Oct 14 03:45:44.915 CRIT s:/n:/ic_state_manager/ic_state_manager Failed to make a checkpoint @9200: IoError { path: "/home/porton/Projects/join-proxy-motoko/.dfx/network/local/state/replicated_state/f3e0a9711469429c3d961cd911fea7495e3919476b8d5de66cba203f05d9a734/tip", message: "Failed to rename scratchpad to checkpoint 9200", io_err: Os { code: 2, kind: NotFound, message: "No such file or directory" } }

thread 'tokio-runtime-worker' panicked at rs/state_manager/src/lib.rs:2338:13:
Failed to make a checkpoint @9200: IoError { path: "/home/porton/Projects/join-proxy-motoko/.dfx/network/local/state/replicated_state/f3e0a9711469429c3d961cd911fea7495e3919476b8d5de66cba203f05d9a734/tip", message: "Failed to rename scratchpad to checkpoint 9200", io_err: Os { code: 2, kind: NotFound, message: "No such file or directory" } }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Oct 14 03:45:44.926 CRIT s:/n:/ic_state_manager/ic_state_manager Failed to make a checkpoint @9199: IoError { path: "/home/porton/Projects/join-proxy-motoko/.dfx/network/local/state/replicated_state/a6dfc52868e089ed1e5e5484e117df14d0f76fe21bde22e7555ed6a02f999124/tip", message: "Failed to rename scratchpad to checkpoint 9199", io_err: Os { code: 2, kind: NotFound, message: "No such file or directory" } }
Meta

dfx --version:

dfx 0.29.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure with dfx start --background, then inspect rs/state_manager/src/lib.rs:2338:13, where the reported panic occurs. Trace how the missing current-directory state is handled and identify how dfx should report the failure and quit cleanly; done means the panic and raw checkpoint errors are replaced by the intended error behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.