[GH-ISSUE #1340] Panic on interface conversion #6361

Closed
opened 2026-04-20 16:57:12 -05:00 by GiteaMirror · 2 comments
Owner

Originally created by @evogelsa on GitHub (Aug 25, 2025).
Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/1340

Originally assigned to: @Copilot on GitHub.

Description

After migration to v1.0.0-rc1 and subsequent updating of OpenID config to the new format, I receive the following error in the logs upon attempting to sign-in:

time=2025-08-25T13:19:48.178Z level=INFO msg="[PANIC RECOVER] interface conversion: interface {} is []interface {}, not map[interface {}]interface {} goroutine 100 [running]:\ncode.vikunja.io/api/pkg/routes.NewEcho.Recover.RecoverWithConfig.func2.1.1()\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/recover.go:99 +0x165\npanic({0x187e8a0?, 0xc0005ae390?})\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/runtime/panic.go:783 +0x132\ncode.vikunja.io/api/pkg/modules/auth/openid.GetAllProviders()\n\t/go/src/code.vikunja.io/api/pkg/modules/auth/openid/providers.go:58 +0x6d4\ncode.vikunja.io/api/pkg/routes/api/v1.Info({0x2689280, 0xc000715ae0})\n\t/go/src/code.vikunja.io/api/pkg/routes/api/v1/info.go:126 +0x485\ngithub.com/labstack/echo/v4.(*Echo).add.func1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/echo.go:581 +0x45\ngithub.com/labstack/echo/v4/middleware.CORSWithConfig.func1.1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/cors.go:215 +0x482\ncode.vikunja.io/api/pkg/routes.setupStaticFrontendFilesHandler.static.func2.1({0x2689280, 0xc000715ae0})\n\t/go/src/code.vikunja.io/api/pkg/routes/static.go:144 +0x4c7\ngithub.com/labstack/echo/v4/middleware.GzipWithConfig.func1.1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/compress.go:90 +0x26e\ncode.vikunja.io/api/pkg/routes.NewEcho.Recover.RecoverWithConfig.func2.1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/recover.go:130 +0x111\ncode.vikunja.io/api/pkg/routes.NewEcho.slogHTTPMiddleware.func1.1({0x2689280, 0xc000715ae0})\n\t/go/src/code.vikunja.io/api/pkg/routes/routes.go:95 +0x7f\ngithub.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc00065cb48, {0x26671a0, 0xc0005623c0}, 0xc000716000)\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/echo.go:668 +0x32b\nnet/http.serverHandler.ServeHTTP({0xc0003ce100?}, {0x26671a0?, 0xc0005623c0?}, 0x6?)\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net/http/server.go:3340 +0x8e\nnet/http.(*conn).serve(0xc00012a090, {0x2669d10, 0xc000198210})\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net/http/server.go:2109 +0x665\ncreated by net/http.(*Server).Serve in goroutine 28\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net/http/server.go:3493 +0x485\n\ngoroutine 1 [chan receive]:\ncode.vikunja.io/api/pkg/cmd.init.func31(0xc000539400?, {0x1a56328?, 0x4?, 0x1a5632c?})\n\t/go/src/code.vikunja.io/api/pkg/cmd/web.go:157 +0x117\ngithub.com/spf13/cobra.(*Command).execute(0x327c9a0, {0xc00003e150, 0x0, 0x0})\n\t/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1019 +0xae7\ngithub.com/spf13/cobra.(*Command).ExecuteC(0x327c9a0)\n\t/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148 +0x465\ngithub.com/spf13/cobra.(*Command).Execute(...)\n\t/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071\ncode.vikunja.io/api/pkg/cmd.Execute()\n\t/go/src/code.vikunja.io/api/pkg/cmd/cmd.go:44 +0x1a\nmain.main()\n\t/go/src/code.vikunja.io/api/main.go:22 +0xf\n\ngoroutine 162 [select]:\ngithub.com/ThreeDotsLabs/watermill/message.(*handler).handleClose(0xc000130340, {0x2669d48?, 0xc000345d10?})\n\t/go/pkg/mod/github.com/!three!dots!labs/watermill@v1.4.7/message/router.go:773 +0x72\ncreated by github.com/ThreeDotsLabs/watermill/message.(*handler).run in goroutine 152\n\t/go/pkg/mod/github.com/!three!dots!labs/watermill@v1.4.7/message/router.go:643 +0x278\n\ngoroutine 13 [select]:\ndatabase/sql.(*DB).connectionOpener(0xc000599ad0, {0x2669d48, 0xc000344be0})\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/database/sql/sql.go:1261 +0x87\ncreated by database/sql.OpenDB in goroutine 1\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/database/sql/sql.go:841 +0x130\n\ngoroutine 355 [IO wait]:\ninternal/poll.runtime_pollWait(0x7f0f039fb400, 0x72)\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/runtime/netpoll.go:351 +0x85\ninternal/poll.(*pollDesc).wait(0xc00050e080?, 0xc0003ce121?, 0x0)\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.\n" component=http

Vikunja Version

v1.0.0-rc1

Browser and version

Firefox/142.0

Can you reproduce the bug on the Vikunja demo site?

No

Screenshots

N/A

Originally created by @evogelsa on GitHub (Aug 25, 2025). Original GitHub issue: https://github.com/go-vikunja/vikunja/issues/1340 Originally assigned to: @Copilot on GitHub. ### Description After migration to v1.0.0-rc1 and subsequent updating of OpenID config to the new format, I receive the following error in the logs upon attempting to sign-in: ``` time=2025-08-25T13:19:48.178Z level=INFO msg="[PANIC RECOVER] interface conversion: interface {} is []interface {}, not map[interface {}]interface {} goroutine 100 [running]:\ncode.vikunja.io/api/pkg/routes.NewEcho.Recover.RecoverWithConfig.func2.1.1()\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/recover.go:99 +0x165\npanic({0x187e8a0?, 0xc0005ae390?})\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/runtime/panic.go:783 +0x132\ncode.vikunja.io/api/pkg/modules/auth/openid.GetAllProviders()\n\t/go/src/code.vikunja.io/api/pkg/modules/auth/openid/providers.go:58 +0x6d4\ncode.vikunja.io/api/pkg/routes/api/v1.Info({0x2689280, 0xc000715ae0})\n\t/go/src/code.vikunja.io/api/pkg/routes/api/v1/info.go:126 +0x485\ngithub.com/labstack/echo/v4.(*Echo).add.func1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/echo.go:581 +0x45\ngithub.com/labstack/echo/v4/middleware.CORSWithConfig.func1.1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/cors.go:215 +0x482\ncode.vikunja.io/api/pkg/routes.setupStaticFrontendFilesHandler.static.func2.1({0x2689280, 0xc000715ae0})\n\t/go/src/code.vikunja.io/api/pkg/routes/static.go:144 +0x4c7\ngithub.com/labstack/echo/v4/middleware.GzipWithConfig.func1.1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/compress.go:90 +0x26e\ncode.vikunja.io/api/pkg/routes.NewEcho.Recover.RecoverWithConfig.func2.1({0x2689280, 0xc000715ae0})\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/middleware/recover.go:130 +0x111\ncode.vikunja.io/api/pkg/routes.NewEcho.slogHTTPMiddleware.func1.1({0x2689280, 0xc000715ae0})\n\t/go/src/code.vikunja.io/api/pkg/routes/routes.go:95 +0x7f\ngithub.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc00065cb48, {0x26671a0, 0xc0005623c0}, 0xc000716000)\n\t/go/pkg/mod/github.com/kolaente/echo/v4@v4.0.0-20250124112709-682dfde74c31/echo.go:668 +0x32b\nnet/http.serverHandler.ServeHTTP({0xc0003ce100?}, {0x26671a0?, 0xc0005623c0?}, 0x6?)\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net/http/server.go:3340 +0x8e\nnet/http.(*conn).serve(0xc00012a090, {0x2669d10, 0xc000198210})\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net/http/server.go:2109 +0x665\ncreated by net/http.(*Server).Serve in goroutine 28\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/net/http/server.go:3493 +0x485\n\ngoroutine 1 [chan receive]:\ncode.vikunja.io/api/pkg/cmd.init.func31(0xc000539400?, {0x1a56328?, 0x4?, 0x1a5632c?})\n\t/go/src/code.vikunja.io/api/pkg/cmd/web.go:157 +0x117\ngithub.com/spf13/cobra.(*Command).execute(0x327c9a0, {0xc00003e150, 0x0, 0x0})\n\t/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1019 +0xae7\ngithub.com/spf13/cobra.(*Command).ExecuteC(0x327c9a0)\n\t/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1148 +0x465\ngithub.com/spf13/cobra.(*Command).Execute(...)\n\t/go/pkg/mod/github.com/spf13/cobra@v1.9.1/command.go:1071\ncode.vikunja.io/api/pkg/cmd.Execute()\n\t/go/src/code.vikunja.io/api/pkg/cmd/cmd.go:44 +0x1a\nmain.main()\n\t/go/src/code.vikunja.io/api/main.go:22 +0xf\n\ngoroutine 162 [select]:\ngithub.com/ThreeDotsLabs/watermill/message.(*handler).handleClose(0xc000130340, {0x2669d48?, 0xc000345d10?})\n\t/go/pkg/mod/github.com/!three!dots!labs/watermill@v1.4.7/message/router.go:773 +0x72\ncreated by github.com/ThreeDotsLabs/watermill/message.(*handler).run in goroutine 152\n\t/go/pkg/mod/github.com/!three!dots!labs/watermill@v1.4.7/message/router.go:643 +0x278\n\ngoroutine 13 [select]:\ndatabase/sql.(*DB).connectionOpener(0xc000599ad0, {0x2669d48, 0xc000344be0})\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/database/sql/sql.go:1261 +0x87\ncreated by database/sql.OpenDB in goroutine 1\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/database/sql/sql.go:841 +0x130\n\ngoroutine 355 [IO wait]:\ninternal/poll.runtime_pollWait(0x7f0f039fb400, 0x72)\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.25.0.linux-amd64/src/runtime/netpoll.go:351 +0x85\ninternal/poll.(*pollDesc).wait(0xc00050e080?, 0xc0003ce121?, 0x0)\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.\n" component=http ``` ### Vikunja Version v1.0.0-rc1 ### Browser and version Firefox/142.0 ### Can you reproduce the bug on the Vikunja demo site? No ### Screenshots N/A
Author
Owner

@Bezalja commented on GitHub (Aug 25, 2025):

Workaround for me (having the same error after upgrading to latest image) has been to go to Settings -> Avatar and configure 'Standard'.

//Edit: would require every user to switch from "initials" to "standard" or you will encounter the error on every ticket assigned to someone using the initials as their Avatar.

<!-- gh-comment-id:3221140220 --> @Bezalja commented on GitHub (Aug 25, 2025): Workaround for me (having the same error after upgrading to latest image) has been to go to Settings -> Avatar and configure 'Standard'. //Edit: would require every user to switch from "initials" to "standard" or you will encounter the error on every ticket assigned to someone using the initials as their Avatar.
Author
Owner

@kolaente commented on GitHub (Aug 31, 2025):

Implemented in https://github.com/go-vikunja/vikunja/pull/1354

<!-- gh-comment-id:3239852098 --> @kolaente commented on GitHub (Aug 31, 2025): Implemented in https://github.com/go-vikunja/vikunja/pull/1354
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#6361