Prune crash "hash does not match"

When doing a prune - I some strange behaviour before a crash. Perhaps some corruption in repo and wondering what steps I should do to fix (it is about 500Gb total and on my connection takes about 3-4 days to fully upload so prefer a fix rather than a reupload if possible)

Warnings/Errors start to appear when collecting data files:

find data files in index and calculate used size...
collect data files for deletion and repacking...
data file 66282794: calculated size 4198219 does not match real size 1212416 difference: -2985803 => treated as mixed data file
data file 6a00670e: calculated size 4247911 does not match real size 851968 difference: -3395943 => treated as mixed data file
data file ab92ce7a: calculated size 4799164 does not match real size 4521984 difference: -277180 => treated as mixed data file

The prune proceeds but then when at repacking step get the following (fatal) error.

repacking data files...
[0:57] 14.29%  2 / 14 data files repacked

hash does not match id: want ab92ce7a912d2d42557b8ce27445d26d6814ea06710299a68833f1fdf5a9e740, got 6027d91845ffd51b315af175bf9f1d53478e121f4b768e2f1240fc56fefc16e0
github.com/restic/restic/internal/repository.Repack
        github.com/restic/restic/internal/repository/repack.go:34
main.Prune
        github.com/restic/restic/cmd/restic/cmd_prune.go:493
main.runPruneWithRepo
        github.com/restic/restic/cmd/restic/cmd_prune.go:160
main.runForget
        github.com/restic/restic/cmd/restic/cmd_forget.go:218
main.glob..func10
        github.com/restic/restic/cmd/restic/cmd_forget.go:28
github.com/spf13/cobra.(*Command).execute
        github.com/spf13/cobra@v0.0.3/command.go:762
github.com/spf13/cobra.(*Command).ExecuteC
        github.com/spf13/cobra@v0.0.3/command.go:852
github.com/spf13/cobra.(*Command).Execute
        github.com/spf13/cobra@v0.0.3/command.go:800
main.main
        github.com/restic/restic/cmd/restic/main.go:86
runtime.main
        runtime/proc.go:203
runtime.goexit
        runtime/asm_amd64.s:1373

running a restic check I have following errors:

load indexes
Load(<index/18d2b4ff7a>, 0, 0) returned error, retrying after 720.254544ms: <index/18d2b4ff7a> does not exist
Load(<index/21c64c71de>, 0, 0) returned error, retrying after 582.280027ms: <index/21c64c71de> does not exist
Load(<index/22e2f7263b>, 0, 0) returned error, retrying after 468.857094ms: <index/22e2f7263b> does not exist

(since error doesn’t reappear; I suppose this is just temporary file access error?)

The check does finish reporting no errors were found and not sure how else to proceed

Are you running a beta build or some test version of the new prune? This error message should not be printed using 0.12.0 - there were some changes about the treatment of non-matching file size.

Can you please try with 0.12.0 - either it should simply delete this pack file (if it is not needed, what I guess is the case as check did not report an error) or abort with an error before attempting to repack.

was using the preview version of restic with the new (fast) prune function before it was official.

Updated to 0.12 and after one rebuild-index and a couple of further backups to fix up the data files, finally the prune worked without any errors/warnings

Thanks!