Skip to content

Running out of diskspace for local backend results in a repository rustic cannot handle #1731

@Jonasmadsen

Description

@Jonasmadsen

Scenario

I ran out of disk space while in a "rustic backup" so the backup failed naturally.

[anon@nixos:~]$ rustic backup redacted
[INFO] using config ./rustic.toml
[INFO] repository local:redacted: password is correct.
[INFO] using no cache
[00:00:23] reading index...               ████████████████████████████████████████       2960/2960                                                              [00:00:00] getting latest snapshot...     ████████████████████████████████████████         16/16                                                                [INFO] using no parent
[INFO] starting to backup redacted ...
[ERROR] error backing up redacted `rustic_core` experienced an error related to `input/output operations`.

Message:
Failed to write to the buffer: `redacted index/redacted`. Please check the file and try again.


Some additional details ...

Caused by:
No space left on device (os error 28)


Backtrace:
disabled backtrace (set 'RUST_BACKTRACE="1"' environment variable to enable)

error: Not all snapshots were generated successfully!

What I did not expect

Afterwards I cleared some space and tried to backup again. But now I keep getting the same error almost regardless of which command I try.

I get the error from commands that are supposed to help me repair/recover my broken repository: rustic check, rustic repair, rustic prune and rustic restore all fail. rustic snapshots and rustic rewrite seem unaffected?
Best I can tell my repository just completely bricked. Obviously I still have the key and the data but some small simple config file is broken and now the data appears unrecoverable.


[INFO] using no cache
[00:00:00] getting snapshots...           ████████████████████████████████████████         16/16                                                                error: `rustic_core` experienced an error related to `cryptographic operations`.

Message:
Data decryption failed, MAC check failed.

For more information, see: https://rustic.cli.rs/docs/errors/C001


Some additional details ...

Context:
- nonce: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

Caused by:
aead::Error


Backtrace:
   0: rustic_core::error::RusticError::with_source
   1: <rustic_core::crypto::aespoly1305::Key as rustic_core::crypto::CryptoKey>::decrypt_data
   2: rustic_core::backend::decrypt::DecryptBackend<C>::decrypt_file
   3: rustic_core::backend::decrypt::DecryptReadBackend::get_file
   4: rayon::iter::plumbing::bridge_producer_consumer::helper
   5: rayon_core::join::join_context::{{closure}}
   6: rayon::iter::plumbing::bridge_producer_consumer::helper
   7: rayon_core::join::join_context::{{closure}}
   8: rayon::iter::plumbing::bridge_producer_consumer::helper
   9: rayon_core::join::join_context::{{closure}}
  10: rayon::iter::plumbing::bridge_producer_consumer::helper
  11: rayon_core::join::join_context::{{closure}}
  12: rayon::iter::plumbing::bridge_producer_consumer::helper
  13: rayon_core::join::join_context::{{closure}}
  14: rayon::iter::plumbing::bridge_producer_consumer::helper
  15: <rayon_core::job::StackJob<L,F,R> as rayon_core::job::Job>::execute


What I have yet to try

Since the repository format should match restic I may try to make restic repair my repository.

What I offer

But before I try to recover with restic (or other methods) I want to offer up my repository (select files if needed can be shared) to anyone who wants try and improve the integrity of rustic.

In the end I may have to abandon this repository if recovering is not possible. Thankfully rustic does not hold me only backup.

Additional information

Nixos latest stable 25.11
rustic --version: rustic 0.10.2
Repository size: aprox. 7tb
Settings from rustic config file:
[repository]
repository = "redacted"
password = "redacted"
no-cache = true
Settings from repository config:
[anon@nixos:~]$ rustic cat config
[INFO] using config ./rustic.toml
[INFO] repository local:/redacted: password is correct.
[INFO] using no cache
{"version":2,"id":"redacted","chunker_polynomial":"redacted","compression":22,"datapack_size":134217728}

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: Something isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions