Pydio cells v2 - Chat throws runtime error (panic)

Hi there! Wondering if anyone else has experienced this: installation successful, able to access admin page, file uploads, user creation, etc all works fine. But the moment I enter a message in the Chat area, Pydio throws a runtime error (panic: runtime error: invalid memory address or nil pointer dereference).

Would anyone has an idea please? Help will be much appreciated!

Hello @rhapsody,

I would like to know which version of Pydio Cells are you using, it would help me try to reproduce the issue.

Also could you tell me your server spec.

Yes, sorry, here goes:

  1. DigitalOcean, 2 CPUs, 4G RAM
  2. Debian10, MariaDb 10.4
  3. Pydio Cells 2.0.6
  4. Installation ran smoothly, no warnings, etc.
  5. Internal and External URL set to domain.com:443 and https://domain.com respectively, with TLS and A record pointing to Digital Ocean Instance public IP.
  6. All firewalls disabled, for testing.
  7. Pydio starts with no errors, no warnings.
  8. Pydio admin console reports all services running.

So, login, create new user, create new cell works. The moment I opened the chat tab and entered a text, the system crashed with a nil pointer run-time error.

Thank you so much for helping!

Thank you,

I’ll ask the devs about this.

Thank you very much. Here is the panic message, just in case you might need that:

panic: runtime error: invalid memory address or nil pointer dereference

[signal SIGSEGV: segmentation violation code=0x1 addr=0x8 pc=0x29e4521]

goroutine 8054 [running]:

github.com/pydio/cells/vendor/github.com/etcd-io/bbolt.(*Bucket).Cursor(…)

/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/etcd-io/bbolt/bucket.go:84

github.com/pydio/cells/broker/chat.(*boltdbimpl).RoomByUuid.func1(0xc001267a40, 0x0, 0xc001267a40)

/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/broker/chat/bolt.go:224 +0x91

github.com/pydio/cells/vendor/github.com/etcd-io/bbolt.(*DB).View(0xc001056600, 0xc009d06eb8, 0x0, 0x0)

/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/vendor/github.com/etcd-io/bbolt/db.go:719 +0xa8

github.com/pydio/cells/broker/chat.(*boltdbimpl).RoomByUuid(0xc000fb3820, 0x3, 0xc00998c750, 0x24, 0xc008a430b0, 0x0, 0x0)

/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/broker/chat/bolt.go:222 +0xf5

github.com/pydio/cells/broker/chat/grpc.(*ChatHandler).PostMessage.func1(0xc009019a60, 0x7fde1801f1e0, 0xc000fb3820)

/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/broker/chat/grpc/handler.go:129 +0x263

created by github.com/pydio/cells/broker/chat/grpc.(*ChatHandler).PostMessage

/opt/teamcity/agent/work/fb9e7e7133d45375/go/src/github.com/pydio/cells/broker/chat/grpc/handler.go:120 +0x371

We can reproduce this. It appears to be a race condition bug, same file (bucket.go) and line (84) in the trace as https://github.com/etcd-io/bbolt/issues/213. Pydio Cells 2.0.8 is using a very old version of this dependency, a commit from Jan 2019 according to vendor/vendor.json.

More details in this Github issue. https://github.com/pydio/cells/issues/242

Any help would be appreciated as it’s hindering the use of Cells in a production environment. TY!