From Local Disk to SeaweedFS: Bypassing a GoToSocial Fileserver Bug with Self-Hosted S3 Storage
GoToSocial had a bug serving 0-byte images. I could have patched Go source code. Instead, I bypassed the entire fileserver and offloaded 92,000 files to SeaweedFS. Sometimes the best fix is an architecture pivot, not a code change.
The Problem
GoToSocial v0.22.1 has a confirmed bug where it uses mmap to serve media. On certain configs, this produces EINVAL errors during close(), resulting in HTTP 200 responses with 0-byte bodies. Caddy logs unexpected EOF because the connection drops mid-stream. The bug doesn’t care whether the file exists — the codepath itself is broken.
评论
?
参与讨论