yandex-cloud/geesefs

main.ERROR stacktrace from panic: runtime error: slice bounds out of range

alex-v-jc opened this issue · 1 comments

Окружение.

4.18.0-240.10.1.el8_3.x86_64
CentOS Linux release 8.3.2011

geesefs version 0.28.4

fuse-overlayfs-1.6-1.module_el8.4.0+886+c9a8d9ad.x86_64
fuse3-libs-3.2.1-12.el8.x86_64
fuse3-3.2.1-12.el8.x86_64
s3fs-fuse-1.90-1.el8.x86_64
fuse-common-3.2.1-12.el8.x86_64
fuse-2.9.7-12.el8.x86_64
fuse-libs-2.9.7-12.el8.x86_64

В произвольный момент возникает ситуация, указанная ниже.
Можно воспроизвести со 100%-ной вероятностью просто при серфинге каталогов.
Причем, зависимости от большого числа файлов не замечено.

Какие еще данные нужны для анализа?

2021/10/04 22:52:39.303735 main.ERROR stacktrace from panic: runtime error: slice bounds out of range [:2] with capacity 0
goroutine 86 [running]:
runtime/debug.Stack(0xc000da3930, 0x10af760, 0xc000376990)
        /opt/hostedtoolcache/go/1.16.8/x64/src/runtime/debug/stack.go:24 +0x9f
github.com/yandex-cloud/geesefs/api/common.LogPanic(0xc000da3f38)
        /home/runner/work/geesefs/geesefs/api/common/panic_logger.go:32 +0x76
panic(0x10af760, 0xc000376990)
        /opt/hostedtoolcache/go/1.16.8/x64/src/runtime/panic.go:965 +0x1b9
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc000b70d80)
        /home/runner/work/geesefs/geesefs/internal/dir.go:840 +0x165
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc000b70c00)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc000b70780)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc000b70300)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc000473e00)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc000473980)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc0002e9c80)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*Inode).removeAllChildrenUnlocked(0xc0002e8c00)
        /home/runner/work/geesefs/geesefs/internal/dir.go:828 +0xd3
github.com/yandex-cloud/geesefs/internal.(*DirHandle).ReadDir(0xc000d92780, 0x0, 0x0, 0xc000da8530, 0x1, 0x1)
        /home/runner/work/geesefs/geesefs/internal/dir.go:572 +0x210
github.com/yandex-cloud/geesefs/internal.(*Goofys).ReadDir(0xc0000b0000, 0x133b0b8, 0xc000c90720, 0xc000a3ec00, 0x0, 0x0)
        /home/runner/work/geesefs/geesefs/internal/goofys.go:1127 +0x265
github.com/yandex-cloud/geesefs/api/common.FusePanicLogger.ReadDir(0x134b380, 0xc0000b0000, 0x133b0b8, 0xc000c90720, 0xc000a3ec00, 0x0, 0x0)
        /home/runner/work/geesefs/geesefs/api/common/panic_logger.go:101 +0x8c
github.com/jacobsa/fuse/fuseutil.(*fileSystemServer).handleOp(0xc000684460, 0xc000118680, 0x133b0b8, 0xc000c90720, 0xf4b320, 0xc000a3ec00)
        /home/runner/go/pkg/mod/github.com/vitalif/fusego@v0.0.0-20210901111451-575b70f3fd32/fuseutil/file_system.go:183 +0xc87
created by github.com/jacobsa/fuse/fuseutil.(*fileSystemServer).ServeOps
        /home/runner/go/pkg/mod/github.com/vitalif/fusego@v0.0.0-20210901111451-575b70f3fd32/fuseutil/file_system.go:123 +0x1a5

2021/10/04 22:52:39.303756 fuse.DEBUG Op 0x00000040        connection.go:502] -> Error: "input/output error"
2021/10/04 22:52:39.303767 fuse.ERROR *fuseops.ReadDirOp error: input/output error

Сорри, не заметил #5
Добавлю туда, это закрываем.