Seadrive stopped working after Seafile Pro 11.0.8 update

I’ve update Seafile Pro from 11.0.7 to 11.0.8 today using the .tar.gz archive for Ubuntu.
When Seadrive client on Windows is running (version 3.0.9 and 3.0.10) it returns a Internal server error and the sync doesn’t work.
The server keeps spitting out errors in fileserver-error.log:

2024/06/21 17:31:18 http: panic serving 172.16.255.4:46858: runtime error: invalid memory address or nil pointer dereference
goroutine 1006 [running]:
net/http.(*conn).serve.func1()
        /usr/lib/go-1.21/src/net/http/server.go:1868 +0xb9
panic({0x8dc2c0?, 0xf1f640?})
        /usr/lib/go-1.21/src/runtime/panic.go:920 +0x270
io.copyBuffer({0xa53900, 0xc0039c04d0}, {0x0, 0x0}, {0x0, 0x0, 0x0})
        /usr/lib/go-1.21/src/io/io.go:430 +0x18b
io.Copy(...)
        /usr/lib/go-1.21/src/io/io.go:389
os.genericReadFrom(0xc0039c04d0?, {0x0?, 0x0?})
        /usr/lib/go-1.21/src/os/file.go:161 +0x35
os.(*File).ReadFrom(0xc0039c04d0, {0x0, 0x0})
        /usr/lib/go-1.21/src/os/file.go:155 +0x9c
io.copyBuffer({0xa52920, 0xc0039c04d0}, {0x0, 0x0}, {0x0, 0x0, 0x0})
        /usr/lib/go-1.21/src/io/io.go:416 +0x147
io.Copy(...)
        /usr/lib/go-1.21/src/io/io.go:389
github.com/seafileltd/seafile-pro-server/fileserver/objstore.(*fsBackend).write(0xc00017eba0, {0xc003423a9b?, 0xc000014650?}, {0xc00006eb25, 0x28}, {0x0, 0x0}, 0x98?)
        /seafile-code/seafile-pro-server/fileserver/objstore/backend_fs.go:68 +0x269
github.com/seafileltd/seafile-pro-server/fileserver/objstore.writeBlock(0xc00007c140, {0xc003423a9b, 0x24}, {0xc00006eb25, 0x28}, {0x0, 0x0}, 0x0?)
        /seafile-code/seafile-pro-server/fileserver/objstore/objstore.go:344 +0xa4
github.com/seafileltd/seafile-pro-server/fileserver/objstore.(*ObjectStore).Write(0xc00007c140?, {0xc003423a9b?, 0x24?}, {0xc00006eb25?, 0x28?}, {0x0?, 0x0?}, 0x0?)
        /seafile-code/seafile-pro-server/fileserver/objstore/objstore.go:224 +0x1c7
github.com/seafileltd/seafile-pro-server/fileserver/blockmgr.Write(...)
        /seafile-code/seafile-pro-server/fileserver/blockmgr/blockmgr.go:177
main.putSendBlockCB({0xc003555900?, 0x100?}, 0xc003555900)
        /seafile-code/seafile-pro-server/fileserver/sync_api.go:2005 +0x59f
main.blockOperCB({0xa56e48?, 0xc000162ee0?}, 0x100?)
        /seafile-code/seafile-pro-server/fileserver/sync_api.go:1954 +0x65
main.appHandler.ServeHTTP(0xc003555800?, {0xa56e48, 0xc000162ee0}, 0xc003555900)
        /seafile-code/seafile-pro-server/fileserver/fileserver.go:739 +0x122
github.com/gorilla/mux.(*Router).ServeHTTP(0xc00011a000, {0xa56e48, 0xc000162ee0}, 0xc003555700)
        /root/go/pkg/mod/github.com/gorilla/mux@v1.7.4/mux.go:210 +0x1c5
net/http.serverHandler.ServeHTTP({0xa54f60?}, {0xa56e48?, 0xc000162ee0?}, 0x6?)
        /usr/lib/go-1.21/src/net/http/server.go:2938 +0x8e
net/http.(*conn).serve(0xc0000f4000, {0xa57760, 0xc003231a70})
        /usr/lib/go-1.21/src/net/http/server.go:2009 +0x5f4
created by net/http.(*Server).Serve in goroutine 1
        /usr/lib/go-1.21/src/net/http/server.go:3086 +0x5cb
1 Like

This should be an issue in go fileserver. We’ll look into it.

Hi Jonathan, should I rollback to the previous version? I heavily use the Seadrive client and it’s a hassle to use the web interface because of the way I use Seafile.
Is running minor-upgrade.sh enough to downgrade?

same problem

You can switch to C fileserver at the moment. It’s not affected by this bug.

Ok, in this way it works.


I changed this value from true to false and restarted the seafile service.

[fileserver]
use_go_fileserver = false