panic: convertInMessage: Can't grow for 262144-byte read
kungf opened this issue · 6 comments
panic: convertInMessage: Can't grow for 262144-byte read
goroutine 132 [running]:
gitlab.infrasre.qihoo.net/polefs/fuse/fuseutil.(*fileSystemServer).ServeOps(0xc00085bef0, 0xc00085fe10)
/home/wangyang5/go/pkg/mod/gitlab.infrasre.qihoo.net/polefs/fuse@v1.0.0-0/fuseutil/file_system.go:113 +0x289
gitlab.infrasre.qihoo.net/polefs/fuse.Mount.func1(0xea1500, 0xc00085bef0, 0xc00085fe10, 0xc00085bf50)
/home/wangyang5/go/pkg/mod/gitlab.infrasre.qihoo.net/polefs/fuse@v1.0.0-0/mount.go:84 +0x3f
created by gitlab.infrasre.qihoo.net/polefs/fuse.Mount
/home/wangyang5/go/pkg/mod/gitlab.infrasre.qihoo.net/polefs/fuse@v1.0.0-0/mount.go:83 +0x4fe
hi, @stapelberg have you encounterd this panic error?
I have not seen this before. It seems like the kernel is sending you more data than the FUSE library ever expects to get.
MaxReadSize is 128K as per
fuse/internal/buffer/out_message_linux.go
Line 21 in ffe3eb0
Not sure why you’re seeing 256K. Have you changed some parts of the code?
Have you changed some parts of the code?
No. Not find something useful clue yet!
someone change the fuse.ko, and modify the FUSE_MAX_PAGES_PER_REQ casuse this issue.
someone change the fuse.ko, and modify the FUSE_MAX_PAGES_PER_REQ casuse this issue.
Thanks for letting us know. To be clear, are you saying that the code was changed (incorrectly), or are you saying that only the kernel side was changed and that triggered an issue in the code?
If the latter, we should fix that. The fuse library and kernel are supposed to negotiate what they support.
are you saying that only the kernel side was changed and that triggered an issue in the code
yes, the FUSE_MAX_PAGES_PER_REQ in kernel/fs/fuse/fuse_i.h was changed from 32 to 64, so trigger this issue!
If the latter, we should fix that. The fuse library and kernel are supposed to negotiate what they support.
i think so, the out message size may allocated according the size from kernel message, not always
MaxReadSize