Skip to content

"Blob ID is missing in index files" on pruning #490

@Chostakovitch

Description

@Chostakovitch

Hi there,

This message started to show up after other issues I already reported, which are apparently unrelated (and sometimes unrelated to rustic), but may have created corruption at some point.

On a machine with no history of failure/disk full and no notable event, prune commands stopped to work for all profiles with the following error:

Message:
Blob ID `205baf63` is missing in index files.

We believe this is a bug, please report it by opening an issue at:
https://github.com/rustic-rs/rustic_core/issues/new

for once I'm asked to create an issue to there it is. I compiled rustic so the stacktrace shows up. Complete output is below:

$ sudo RUST_BACKTRACE=1 ./rustic -P platine forget --log-level=debug --log-level-dependencies=debug --prune --no-progress
[sudo] password for me: 
[INFO] using config /etc/rustic/platine.toml
[INFO] using config /etc/rustic/global.toml
[DEBUG] initialized global time zone database: TimeZoneDatabase(ZoneInfo(/usr/share/zoneinfo))
[INFO] repository local:/data/backup/repository: password is correct.
[INFO] using cache at /root/.cache/rustic/822c46af18f258ff765facec47fd66022f13e7f573e9c5400ea321955aba2679
[DEBUG] `TZ` environment variable is not set
[INFO] snapshots for (host [scenari], label [], paths [/data/backup/platine,/var/lib/docker/volumes/platine,/var/lib/docker/volumes/platine-es-backup]):
[...]
# abbreviated for easier reading
[...]
| bb71ae2c | 2026-02-22 | scenari |       | platine | /data/backup/platine      | keep   | weekly        |
|          | 02:09:27   |         |       |         | /var/lib/docker/volumes/p |        |               |
|          |            |         |       |         | latine-es-backup          |        |               |
|          |            |         |       |         | /var/lib/docker/volumes/p |        |               |
|          |            |         |       |         | latine/_data/addons       |        |               |
|          |            |         |       |         | /var/lib/docker/volumes/p |        |               |
|          |            |         |       |         | latine/_data/data         |        |               |
[INFO] nothing to remove
[INFO] repository local:/data/backup/repository: password is correct.
[INFO] using cache at /root/.cache/rustic/822c46af18f258ff765facec47fd66022f13e7f573e9c5400ea321955aba2679
error: `rustic_core` experienced an error related to `internal operations`.

Message:
Blob ID `205baf63` is missing in index files.

We believe this is a bug, please report it by opening an issue at:
https://github.com/rustic-rs/rustic_core/issues/new

If you can, please attach an anonymized debug log to the issue.

Thank you for helping us improve rustic!


Some additional details ...

Backtrace:
   0: rustic_core::error::RusticError::new
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustic_core-0.10.1/src/error.rs:341:29
   1: rustic_core::commands::prune::PrunePlan::check
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustic_core-0.10.1/src/commands/prune.rs:794:28
   2: rustic_core::commands::prune::PrunePlan::from_prune_options
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustic_core-0.10.1/src/commands/prune.rs:739:16
   3: rustic_core::repository::Repository<S>::prune_plan
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/rustic_core-0.10.1/src/repository.rs:1071:9
   4: rustic_rs::commands::prune::PruneCmd::inner_run
             at /home/me/rustic-0.11.1/src/commands/prune.rs:39:31
   5: <rustic_rs::commands::prune::PruneCmd as abscissa_core::runnable::Runnable>::run::{{closure}}
             at /home/me/rustic-0.11.1/src/commands/prune.rs:27:35
   6: rustic_rs::repository::AllRepositoryOptions::run_open::{{closure}}
             at /home/me/rustic-0.11.1/src/repository.rs:81:25
   7: rustic_rs::repository::AllRepositoryOptions::run_with_progress::{{closure}}
             at /home/me/rustic-0.11.1/src/repository.rs:72:27
   8: rustic_rs::config::hooks::Hooks::use_with
             at /home/me/rustic-0.11.1/src/config/hooks.rs:107:29
   9: rustic_rs::repository::AllRepositoryOptions::run_with_progress
             at /home/me/rustic-0.11.1/src/repository.rs:72:15
  10: rustic_rs::repository::AllRepositoryOptions::run
             at /home/me/rustic-0.11.1/src/repository.rs:77:14
  11: rustic_rs::repository::AllRepositoryOptions::run_open
             at /home/me/rustic-0.11.1/src/repository.rs:81:14
  12: <rustic_rs::commands::prune::PruneCmd as abscissa_core::runnable::Runnable>::run
             at /home/me/rustic-0.11.1/src/commands/prune.rs:27:14
  13: rustic_rs::commands::forget::ForgetCmd::inner_run
             at /home/me/rustic-0.11.1/src/commands/forget.rs:158:24
  14: <rustic_rs::commands::forget::ForgetCmd as abscissa_core::runnable::Runnable>::run::{{closure}}
             at /home/me/rustic-0.11.1/src/commands/forget.rs:96:35
  15: rustic_rs::repository::AllRepositoryOptions::run_open::{{closure}}
             at /home/me/rustic-0.11.1/src/repository.rs:81:25
  16: rustic_rs::repository::AllRepositoryOptions::run_with_progress::{{closure}}
             at /home/me/rustic-0.11.1/src/repository.rs:72:27
  17: rustic_rs::config::hooks::Hooks::use_with
             at /home/me/rustic-0.11.1/src/config/hooks.rs:107:29
  18: rustic_rs::repository::AllRepositoryOptions::run_with_progress
             at /home/me/rustic-0.11.1/src/repository.rs:72:15
  19: rustic_rs::repository::AllRepositoryOptions::run
             at /home/me/rustic-0.11.1/src/repository.rs:77:14
  20: rustic_rs::repository::AllRepositoryOptions::run_open
             at /home/me/rustic-0.11.1/src/repository.rs:81:14
  21: <rustic_rs::commands::forget::ForgetCmd as abscissa_core::runnable::Runnable>::run
             at /home/me/rustic-0.11.1/src/commands/forget.rs:96:14
  22: rustic_rs::commands::_::<impl abscissa_core::runnable::Runnable for rustic_rs::commands::RusticCmd>::run
             at /home/me/rustic-0.11.1/src/commands.rs:73:40
  23: <rustic_rs::commands::EntryPoint as abscissa_core::runnable::Runnable>::run
             at /home/me/rustic-0.11.1/src/commands.rs:202:23
  24: abscissa_core::application::Application::run
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/abscissa_core-0.9.0/src/application.rs:61:17
  25: abscissa_core::application::boot_with_args
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/abscissa_core-0.9.0/src/application.rs:201:5
  26: abscissa_core::application::boot
             at /home/me/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/abscissa_core-0.9.0/src/application.rs:187:5
  27: rustic::main
             at /home/me/rustic-0.11.1/src/bin/rustic.rs:22:5
  28: core::ops::function::FnOnce::call_once
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
  29: std::sys::backtrace::__rust_begin_short_backtrace
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/sys/backtrace.rs:166:18
  30: std::rt::lang_start::{{closure}}
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/rt.rs:206:18
  31: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:287:21
  32: std::panicking::catch_unwind::do_call
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
  33: std::panicking::catch_unwind
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
  34: std::panic::catch_unwind
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
  35: std::rt::lang_start_internal::{{closure}}
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/rt.rs:175:24
  36: std::panicking::catch_unwind::do_call
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:581:40
  37: std::panicking::catch_unwind
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:544:19
  38: std::panic::catch_unwind
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panic.rs:359:14
  39: std::rt::lang_start_internal
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/rt.rs:171:5
  40: std::rt::lang_start
             at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/rt.rs:205:5
  41: main
  42: <unknown>
  43: __libc_start_main
  44: _start

check (with or without --read-data), repair index and repair snapshots report no error at all.

Please let me know if I can provide more information, and if you have an idea to solve this besides starting with a fresh repository.
Have a nice day!

Metadata

Metadata

Assignees

No one assigned

    Labels

    S-triageStatus: Waiting for a maintainer to triage this issue/PR

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions