semaphore icon indicating copy to clipboard operation
semaphore copied to clipboard

Problem: error decrypting access key

Open lafayetteduarte opened this issue 1 year ago • 4 comments

Issue

HI Everyone, Today i upgraded my semaphore instance to version 2.10.22 my image is based on semaphoreui/semaphore:v2.10.22

When I try to run any task ( created on previous versions), i´m getting this error:

level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database".

I am able to edit the task, create a new one, create a new key, etc.

Am i missing something here?

I am sure my access_key is the same ive used before ( checked the previous versions on git).

it is specified in my config ( checked that the file is OK inside the container).

If the key where wrong i should not be able to read / write the other objects rigth?

Thank you

Impact

Database

Installation method

Docker

Database

BoltDB

Browser

Chrome, Microsoft Edge

Semaphore Version

v2.10.22-e44910d-1721658561

Ansible Version

Ansible [core 2.16.9]

Logs & errors

Starting semaphore server Loading config Validating config BoltDB /var/lib/semaphore/database.boltdb Tmp Path (projects home) /tmp/semaphore Semaphore v2.10.22-e44910d-1721658561 Interface Port 3000 Server is running

time="2024-08-05T20:01:41Z" level=error msg="websocket: close sent" fields.level=Error time="2024-08-05T20:01:41Z" level=error msg="close tcp 192.168.1.2:3000->xxx.xx.10.91:40030: use of closed network connection" fields.level=Error time="2024-08-05T20:01:46Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 150 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0004809a0}, {0x1903a20, 0xc000042460}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x7faf9e65ea68?, {0x19092b0?, 0xc0004809a0?}, 0xc0000c2000?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc000173c20?, {0x19092b0?, 0xc0004809a0?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc000173c20?, {0x19092b0?, 0xc0004809a0?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0004809a0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0004809a0?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0004809a0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc0000138a0, 0xc}, 0xc00037d7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc000173c20?, {0x19092b0?, 0xc0004809a0?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0004809a0?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc000173b00?, {0x19092b0?, 0xc0004809a0?}, 0xc00037d9b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0004809a0}, 0xc000173560) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0004809a0}, 0xc000173560) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc000041945?, {0x19092b0?, 0xc0004809a0?}, 0x7faf57bd9278?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0004809a0}, 0xc000173560) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0004809a0?}, 0xc000480901?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0004809a0?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00049a5a0, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:47Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 163 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0001e8000}, {0x1903a20, 0xc00012b630}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0001e8000?}, 0xc000264ea0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc000264a20?, {0x19092b0?, 0xc0001e8000?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc000264a20?, {0x19092b0?, 0xc0001e8000?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0001e8000?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0001e8000?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0001e8000?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc0001f6570, 0xc}, 0xc0000eb7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc000264a20?, {0x19092b0?, 0xc0001e8000?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0001e8000?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc0002647e0?, {0x19092b0?, 0xc0001e8000?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0001e8000}, 0xc000264000) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0001e8000}, 0xc000264000) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc0004ca545?, {0x19092b0?, 0xc0001e8000?}, 0x7faf57bce5e8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0001e8000}, 0xc000264000) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0001e8000?}, 0xc0001e8001?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0001e8000?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00038c120, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:48Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 165 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0000c60e0}, {0x1903a20, 0xc000306ff0}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0000c60e0?}, 0xc000520d80?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc000520b40?, {0x19092b0?, 0xc0000c60e0?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc000520b40?, {0x19092b0?, 0xc0000c60e0?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0000c60e0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0000c60e0?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0000c60e0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc0003ae330, 0xc}, 0xc0000ef7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc000520b40?, {0x19092b0?, 0xc0000c60e0?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0000c60e0?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc0005207e0?, {0x19092b0?, 0xc0000c60e0?}, 0xc0000ef9b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0000c60e0}, 0xc000520480) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0000c60e0}, 0xc000520480) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc000040185?, {0x19092b0?, 0xc0000c60e0?}, 0x7faf57bd9278?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0000c60e0}, 0xc000520480) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0000c60e0?}, 0xc0000c6001?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0000c60e0?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00038dcb0, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:48Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 43 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0001a2620}, {0x1903a20, 0xc000042aa0}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x7faf9e65ea68?, {0x19092b0?, 0xc0001a2620?}, 0xc0000cf440?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc0000cf0e0?, {0x19092b0?, 0xc0001a2620?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc0000cf0e0?, {0x19092b0?, 0xc0001a2620?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0001a2620?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0001a2620?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0001a2620?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc00049ef50, 0xc}, 0xc0001b77d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc0000cf0e0?, {0x19092b0?, 0xc0001a2620?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0001a2620?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc0000cefc0?, {0x19092b0?, 0xc0001a2620?}, 0xc0001b79b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0001a2620}, 0xc0000cea20) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0001a2620}, 0xc0000cea20) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc0003254c5?, {0x19092b0?, 0xc0001a2620?}, 0x7faf9e6677e8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0001a2620}, 0xc0000cea20) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0001a2620?}, 0xc0001a2601?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0001a2620?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00052f9e0, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:48Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 45 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0003b8540}, {0x1903a20, 0xc0004d6000}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x7faf9e65e5b8?, {0x19092b0?, 0xc0003b8540?}, 0xc00043c480?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc00043c240?, {0x19092b0?, 0xc0003b8540?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc00043c240?, {0x19092b0?, 0xc0003b8540?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0003b8540?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0003b8540?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0003b8540?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc000259b50, 0xc}, 0xc0000eb7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc00043c240?, {0x19092b0?, 0xc0003b8540?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0003b8540?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc00043c120?, {0x19092b0?, 0xc0003b8540?}, 0xc0000eb9b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0003b8540}, 0xc000599e60) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0003b8540}, 0xc000599e60) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc0004cbe05?, {0x19092b0?, 0xc0003b8540?}, 0x7faf57bce5e8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0003b8540}, 0xc000599e60) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0003b8540?}, 0xc0003b8501?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0003b8540?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00033db90, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:52Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database" time="2024-08-05T20:05:40Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database" time="2024-08-05T20:10:59Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database"

time="2024-08-05T20:11:31Z" level=error msg="websocket: close sent" fields.level=Error time="2024-08-05T20:11:31Z" level=error msg="close tcp 192.168.1.2:3000->xxx.xx.10.91:54216: use of closed network connection" fields.level=Error

time="2024-08-05T20:12:46Z" level=error msg="websocket: close sent" fields.level=Error time="2024-08-05T20:12:46Z" level=error msg="close tcp 192.168.1.2:3000->xxx.xx.10.91:44338: use of closed network connection" fields.level=Error time="2024-08-05T20:13:18Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database"

Manual installation - system information

No response

Configuration

No response

Additional information

No response

lafayetteduarte avatar Aug 05 '24 20:08 lafayetteduarte

I have the exact same issue. Is there a fix? My semaphore install is full broken because of that.

h4ckilles avatar Aug 13 '24 09:08 h4ckilles

i found none. figured it was caused by upgrading from an old version to the current major. gave up trying to solve it and rebuilt my env manually.

lafayetteduarte avatar Aug 13 '24 18:08 lafayetteduarte

Hi, looks like you need to resave all your keys.

fiftin avatar Aug 21 '24 11:08 fiftin

Tks @fiftin . I will try

lafayetteduarte avatar Aug 25 '24 19:08 lafayetteduarte

I have this same issue. Happy to provide any requested info to help resolve.

mikshepard avatar Aug 29 '24 15:08 mikshepard

EDIT

On semaphore docker installation we need to define volumes for these directories:

  • /var/lib/semaphore
  • /etc/semaphore
  • /tmp/semaphore
services:
  semaphore:
    ports:
      - 3000:3000
    image: semaphoreui/semaphore:v2.10.32
    env_file:
      - .env
    volumes:
      - semaphore_data:/var/lib/semaphore
      - semaphore_config:/etc/semaphore
      - semaphore_tmp:/tmp/semaphore
    restart: unless-stopped

volumes:
  semaphore_data:
  semaphore_config:
  semaphore_tmp:

more info: https://semaphoreui.com/install/docker/2_10_32/

On docker installation the error occurs when the container is recreated

This is the compose

services:
  semaphore:
    ports:
      - 3000:3000
    image: semaphoreui/semaphore:v2.10.32
    env_file:
      - .env
    restart: unless-stopped

.env file

# db
SEMAPHORE_DB_DIALECT: postgres
SEMAPHORE_DB_HOST: 172.17.0.1
SEMAPHORE_DB_NAME: semaphore
SEMAPHORE_DB_USER: semaphore
# admin
SEMAPHORE_ADMIN: admin
SEMAPHORE_ADMIN_PASSWORD: admin
SEMAPHORE_ADMIN_NAME: Admin
SEMAPHORE_ADMIN_EMAIL: [email protected]

How to reproduce:

docker compose up -d
  • Login into the semaphore ui
  • Create a ssh key or password
  • Create ansible playbook that use the ssh key or password
  • Recreate the container
docker compose up -d --force-recreate

Errors

...
Postgres [email protected]:5432 semaphore
Tmp Path (projects home) /tmp/semaphore
Semaphore v2.10.32-f33944e-1729509451
Interface 
Port :3000
Server is running
time="2024-10-26T12:28:08Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database"

image

marvincorreia avatar Oct 26 '24 12:10 marvincorreia

Hi @marvincorreia it is encryption of access keys issue: https://docs.semaphoreui.com/administration-guide/security/

If you didn't provide environment variable SEMAPHORE_ACCESS_KEY_ENCRYPTION it has been generated automatically and stored in /etc/semaphore/config.json.

So, you have 3 options:

  • provide SEMAPHORE_ACCESS_KEY_ENCRYPTION which must be generated with using head -c32 /dev/urandom | base64.
  • add volume for directory /etc/semaphore.
  • provide SEMAPHORE_ACCESS_KEY_ENCRYPTION_FILE - it is a path to the file which contains encryption key.

fiftin avatar Oct 27 '24 12:10 fiftin

The security of access keys is the most important part of Semaphore, as it contains private keys.

fiftin avatar Oct 27 '24 12:10 fiftin

Thanks @fiftin , after adding the volumes the problem no longer occurs, but for security it is better to add SEMAPHORE_ACCESS_KEY_ENCRYPTION thanks for the tip!

marvincorreia avatar Nov 02 '24 13:11 marvincorreia