mattermost-community / focalboard

Focalboard is an open source, self-hosted alternative to Trello, Notion, and Asana.
https://www.focalboard.com
Other
21.99k stars 1.99k forks source link

Bug: Update 9.4 and after are breaking focalboard #4994

Closed KakEgorka closed 8 months ago

KakEgorka commented 8 months ago

After upgrading the Mattermost server, the cards stopped working. It gives an authorisation error. And the boards api gives error 500

image

Clicking the login button doesn't help and the page reloads.

Снимок экрана 2024-03-11 в 10 34 25

Logs: { "caller": "app/session.go:94", "error": "createSessionForUserAccessToken: Invalid or missing token., resource: UserAccessToken id: token=95atuo4m5pgomncjajm7tzrywo", "level": "warn", "msg": "Error while creating session for user access token", "timestamp": "2024-03-11 08:40:30.421 +05:00" } { "caller": "plugin/client_rpc_generated.go:689", "error": "connection is shut down", "level": "error", "msg": "RPC call WebSocketMessageHasBeenPosted to plugin failed.", "plugin_id": "focalboard", "timestamp": "2024-03-11 08:40:30.421 +05:00" } { "caller": "plugin/client_rpc_generated.go:654", "error": "connection is shut down", "level": "error", "msg": "RPC call OnWebSocketDisconnect to plugin failed.", "plugin_id": "focalboard", "timestamp": "2024-03-11 08:40:30.421 +05:00" } { "caller": "plugin/client_rpc_generated.go:620", "error": "connection is shut down", "level": "error", "msg": "RPC call OnWebSocketConnect to plugin failed.", "plugin_id": "focalboard", "timestamp": "2024-03-11 08:40:35.432 +05:00" }

Edition and Platform

KakEgorka commented 8 months ago

{"timestamp":"2024-03-15 09:30:58.240 +05:00","level":"error","msg":"Plugin failed to ServeHTTP, muxBroker couldn't Accept request body connection","caller":"plugin/client_rpc.go:397","plugin_id":"focalboard","error":"timeout waiting for accept"} {"timestamp":"2024-03-15 09:30:58.240 +05:00","level":"error","msg":"Plugin failed to ServeHTTP, muxBroker couldn't accept connection","caller":"plugin/client_rpc.go:378","plugin_id":"focalboard","serve_http_stream_id":29,"error":"timeout waiting for accept"}

alerque commented 8 months ago

Yikes! I just hit this or something like it too, and sadly too long after upgrading Mattermost for a rollback to the old version to be feasable.

Has anybody found anything to work around this yet?

KakEgorka commented 8 months ago

This has been confirmed as a problem with Golang v1.22 (golang/go#65633), which is not yet used for plugin or MM server builds. For custom builds, please use v1.21 until a fix is released.

alerque commented 8 months ago

Ah ha, and that explains why it broke on the upgrade of Mattermost (on Arch Linux built with the latest Go of course) not with an upgrade of this plugin.

I'll look into rebuilding Mattermost, but that's going to be easier said than done since Arch doesn't keep old stuff around beyond it's immediate usefulness.

By the way I discovered in trying to review this that v7.11.2 is tagged on the main branch at a newer point than v7.11.3 oand v7.11.4 which are in a separate release branch. Not really relevant to this issue, but for somebody trying to sort out regressions that's going to be a puzzler.

alerque commented 8 months ago

I can confirm. I patched the Arch Linux Go package with the fix for this issue, then used that to rebuild mattermost. The resulting package works fine for all plugins including this one. If anybody needs it they can find the mattermost package in my Arch user repository (see the Wiki). I don't know if we'll be able to land this patch in Go before the next Go release so I don't know if this will hit the official repos or not.