Problem
Panic in hasher when mounting with vfs-cache and not synced data
Version
rclone v1.57.0-DEV
- os/version: gentoo 2.8 (64 bit)
- os/kernel: 5.14.14-gentoo-x86_64 (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.17.7
- go/linking: dynamic
- go/tags: none
Cloud storage
Blomp (using swift backend)
The command
rclone -vv --transfers=8 --cache-dir=/storage/hot/rclone-cache/ --vfs-cache-mode full --config ~/.config/rclone/blomp.conf mount blomp-arch-hash:/final-backup/ remote
The rclone config
[blomp-remote]
type = swift
user = CENSORED
key = CENSORED
auth = CENSORED
tenant = storage
auth_version = 2
leave_parts_on_error = true
chunk_size = 1P
[blomp-alias]
type = alias
remote = blomp-remote:CENSORED
[blomp-arch]
type = compress
remote = blomp-alias:arch
level = 9
ram_cache_limit = 130Mi
[blomp-arch-hash]
type = hasher
remote = blomp-arch:
hashes = md5,sha1,sha256
The log
2022/03/11 23:20:49 DEBUG : rclone: Version "v1.57.0-DEV" starting with parameters ["rclone" "-vv" "--transfers=8" "--cache-dir=/storage/hot/rclone-cache/" "--vfs-cache-mode" "full" "--config" "/root/.config/rclone/blomp.conf" "mount" "b
lomp-arch-hash:/final-backup/" "remote"]
2022/03/11 23:20:49 DEBUG : Creating backend with remote "blomp-arch-hash:/final-backup/"
2022/03/11 23:20:49 DEBUG : Using config file from "/root/.config/rclone/blomp.conf"
2022/03/11 23:20:49 INFO : Hasher is EXPERIMENTAL!
2022/03/11 23:20:49 DEBUG : Creating backend with remote "blomp-arch:/final-backup"
2022/03/11 23:20:49 DEBUG : Creating backend with remote "blomp-remote:CENSORED/arch/final-backup.json"
2022/03/11 23:20:51 DEBUG : Creating backend with remote "blomp-remote:CENSORED/arch/final-backup"
2022/03/11 23:20:52 DEBUG : hasher::blomp-arch-hash:/final-backup/: Groups by usage: cached [md5, sha1, sha256], passed [md5], auto [md5, sha1, sha256], slow [], supported [md5, sha1, sha256]
2022/03/11 23:20:52 DEBUG : blomp-arch~hasher.bolt: Opened for reading in 56.866µs
2022/03/11 23:20:52 INFO : hasher::blomp-arch-hash:/final-backup/: poll-interval is not supported by this remote
2022/03/11 23:20:52 DEBUG : vfs cache: root is "/storage/hot/rclone-cache"
2022/03/11 23:20:52 DEBUG : vfs cache: data root is "/storage/hot/rclone-cache/vfs/blomp-arch-hash/final-backup"
2022/03/11 23:20:52 DEBUG : vfs cache: metadata root is "/storage/hot/rclone-cache/vfsMeta/blomp-arch-hash/final-backup"
2022/03/11 23:20:52 DEBUG : Creating backend with remote "/storage/hot/rclone-cache/vfs/blomp-arch-hash//final-backup/"
2022/03/11 23:20:52 DEBUG : Creating backend with remote "/storage/hot/rclone-cache/vfsMeta/blomp-arch-hash//final-backup/
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x169c2c0]
goroutine 1 [running]:
github.com/rclone/rclone/backend/hasher.(*Object).Fs(0x1ee17aa)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/backend/hasher/hasher.go:435
github.com/rclone/rclone/fs.Fingerprint({0x277a808, 0xc0000520e8}, {0x7ff41b699958, 0x0}, 0x0)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/fs/fingerprint.go:24 +0x7d
github.com/rclone/rclone/vfs/vfscache.(*Item)._checkObject(0xc000ad0620, {0x27aec48, 0x0})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/item.go:787 +0xe9
github.com/rclone/rclone/vfs/vfscache.(*Item).open(0xc000ad0620, {0x27aec48, 0x0})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/item.go:519 +0x130
github.com/rclone/rclone/vfs/vfscache.(*Item).Open(0xc000ad0620, {0x27aec48, 0x0})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/item.go:490 +0xab
github.com/rclone/rclone/vfs/vfscache.(*Item).reload(0xc000ad0620, {0x277a7d0, 0xc000aaa6c0})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/item.go:742 +0xdc
github.com/rclone/rclone/vfs/vfscache.(*Cache).reload.func1({0xc000adab80, 0x3a}, {0x2788bd0, 0xc00073a5b0}, {0xc000af305b, 0x17})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/cache.go:506 +0x9c
github.com/rclone/rclone/vfs/vfscache.(*Cache).walk.func1({0xc000af3020, 0x52}, {0x2788bd0, 0xc00073a5b0}, {0x0, 0x0})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/cache.go:489 +0xac
path/filepath.walk({0xc000af3020, 0x52}, {0x2788bd0, 0xc00073a5b0}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:418 +0x125
path/filepath.walk({0xc00096b090, 0x4f}, {0x2788bd0, 0xc000945860}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc00096a640, 0x4c}, {0x2788bd0, 0xc000944f70}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc00096a550, 0x49}, {0x2788bd0, 0xc000944ea0}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc00096a460, 0x46}, {0x2788bd0, 0xc000944dd0}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc00096a370, 0x43}, {0x2788bd0, 0xc000944d00}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc000adaf00, 0x40}, {0x2788bd0, 0xc000944c30}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc000adae40, 0x3d}, {0x2788bd0, 0xc000944b60}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.walk({0xc000adab80, 0x3a}, {0x2788bd0, 0xc000944a90}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:442 +0x28f
path/filepath.Walk({0xc000adab80, 0x3a}, 0xc000c07928)
/usr/lib/go/src/path/filepath/path.go:505 +0x6c
github.com/rclone/rclone/vfs/vfscache.(*Cache).walk(0x30, {0xc000adab80, 0xc000c079e8}, 0xc9a674)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/cache.go:474 +0x5c
github.com/rclone/rclone/vfs/vfscache.(*Cache).reload(0xc0004326c0, {0x277a7d0, 0xc000aaa6c0})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/cache.go:500 +0x10f
github.com/rclone/rclone/vfs/vfscache.New({0x277a7d0, 0xc000aaa6c0}, {0x27aebd8, 0xc000760d80}, 0xc000300978, 0xc000ae6720)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfscache/cache.go:131 +0x56d
github.com/rclone/rclone/vfs.(*VFS).SetCacheMode(0xc000300960, 0x3)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfs.go:269 +0x134
github.com/rclone/rclone/vfs.New({0x27aebd8, 0xc000760d80}, 0xc0000d3280)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/vfs/vfs.go:234 +0x5d9
github.com/rclone/rclone/cmd/mountlib.(*MountPoint).Mount(0xc0000d31e0)
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/cmd/mountlib/mount.go:247 +0xc7
github.com/rclone/rclone/cmd/mountlib.NewMountCommand.func1(0xc00058f180, {0xc0008cbea0, 0xa, 0x10})
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/cmd/mountlib/mount.go:176 +0x278
github.com/spf13/cobra.(*Command).execute(0xc00058f180, {0xc0008dae00, 0xa, 0x10})
/var/tmp/portage/net-misc/rclone-1.57.0/homedir/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:860 +0x5f8
github.com/spf13/cobra.(*Command).ExecuteC(0x34c5740)
/var/tmp/portage/net-misc/rclone-1.57.0/homedir/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:974 +0x3bc
github.com/spf13/cobra.(*Command).Execute(...)
/var/tmp/portage/net-misc/rclone-1.57.0/homedir/go/pkg/mod/github.com/spf13/cobra@v1.2.1/command.go:902
github.com/rclone/rclone/cmd.Main()
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/cmd/cmd.go:555 +0x76
main.main()
/var/tmp/portage/net-misc/rclone-1.57.0/work/rclone-1.57.0/rclone.go:14 +0x17