Problem: Some API endpoints stuck in "pending" state (e.g. /api/project/6/templates)
Issue
When accessing certain API endpoints, the request never completes and stays in a "pending" state indefinitely. Other API routes work normally.
The browser keeps waiting for a response (pending in Network tab) — the request just hangs.
*Additional Observations When the project has 8 or fewer templates, the API works fine.
Impact
Web-Backend (APIs)
Installation method
Docker
Database
Postgres
Browser
Chrome
Semaphore Version
2.16.43
Ansible Version
2.18.11
Logs & errors
No response
Manual installation - system information
No response
Configuration
No response
Additional information
No response
Update
After further testing, I switched the database backend from PostgreSQL 16.10 to MySQL 8, and the issue completely disappeared.
Hi @Amzeratulz Did you use fresh installed Semaphore with Postgres?
I have the same issue — let me know if I can provide any details to help nail it down.
I run Semaphore via docker compose (semaphore:latest, postgres:17). I get this in the logs, no idea what it means:
2025-11-08 19:58:20.392
/usr/local/go/src/net/http/server.go:3454 +0x3d8
2025-11-08 19:58:20.392
created by net/http.(*Server).Serve in goroutine 1
2025-11-08 19:58:20.391
/usr/local/go/src/net/http/server.go:2102 +0x52c
2025-11-08 19:58:20.391
net/http.(*conn).serve(0x400008e5a0, {0x2474f18, 0x40003f94a0})
2025-11-08 19:58:20.391
/usr/local/go/src/net/http/server.go:3301 +0xbc
2025-11-08 19:58:20.391
net/http.serverHandler.ServeHTTP({0x40009bc8a0?}, {0x2472e38?, 0x400034afc0?}, 0x6?)
2025-11-08 19:58:20.390
/usr/local/go/src/net/http/server.go:2294 +0x38
2025-11-08 19:58:20.390
net/http.HandlerFunc.ServeHTTP(0x40005954a0?, {0x2472e38?, 0x400034afc0?}, 0x4000521b60?)
2025-11-08 19:58:20.390
/go/src/semaphore/cli/cmd/server.go:27 +0xc4
@bartmichu is it full stack?
Hi @Amzeratulz Did you use fresh installed Semaphore with Postgres?
After further investigation, I found the root cause of the "pending" API issue: Initially, after switching to MySQL 8, the API worked fine. However, the issue reappeared.
The underlying problem is related to reusing the same Docker volume from previous installations. Old data in the volume can cause the API to hang.
✅ Resolution: Clearing the old Docker volume and starting with a fresh database resolves the problem, and the API endpoints respond normally.
@fiftin It's not that simple, I'm afraid — the issue remains. Clearing Docker volumes doesn't solve the problem for me; I've already tried that. Here's what I do: I back up the Semaphore project, nuke the Docker containers, volumes, the whole setup, then start a new Compose project, restore the Semaphore settings, add repository keys, etc. Still stuck on the "Task templates" page.
I should have mentioned that I’ve always used Postgres and never changed the database backend.
@bartmichu Could you please provide full error stack.
@fiftin I run docker compose and this is what I get:
semaphore_postgres |
semaphore_postgres | PostgreSQL Database directory appears to contain a database; Skipping initialization
semaphore_postgres |
semaphore_postgres | 2025-11-11 16:03:29.724 UTC [1] LOG: starting PostgreSQL 17.6 (Debian 17.6-2.pgdg13+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit
semaphore_postgres | 2025-11-11 16:03:29.725 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
semaphore_postgres | 2025-11-11 16:03:29.725 UTC [1] LOG: listening on IPv6 address "::", port 5432
semaphore_postgres | 2025-11-11 16:03:29.729 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
semaphore_postgres | 2025-11-11 16:03:29.736 UTC [29] LOG: database system was shut down at 2025-11-11 16:02:47 UTC
semaphore_postgres | 2025-11-11 16:03:29.749 UTC [1] LOG: database system is ready to accept connections
semaphore | Pinging database on semaphore_postgres port 5432...
semaphore | No additional python dependencies to install
semaphore | Starting semaphore server
semaphore | Loading config
semaphore | Validating config
semaphore | Postgres semaphore@semaphore_postgres:5432 semaphore
semaphore | Tmp Path (projects home) /tmp/semaphore
semaphore | Semaphore v2.16.45-cbd5620-1762540216
semaphore | Interface
semaphore | Port :3000
semaphore | Server is running
At this point, everything seems to be working fine — the scheduled tasks are running, and I can browse the UI — except for the Task Templates tab. When I navigate to Task Templates, Docker throws the following in the console:
semaphore | time="2025-11-11T16:05:17Z" level=error msg="gorp: no fields [hidden type filter sort_column sort_reverse]17:05:17 [36/87]
semaphore | goroutine 148 [running]:
semaphore | runtime/debug.Stack()
semaphore | /usr/local/go/src/runtime/debug/stack.go:26 +0x64
semaphore | runtime/debug.PrintStack()
semaphore | /usr/local/go/src/runtime/debug/stack.go:18 +0x1c
semaphore | github.com/semaphoreui/semaphore/api/helpers.WriteError({0x2472e38, 0x40001ac460}, {0x246d9e0, 0x4000123920})
semaphore | /go/src/semaphore/api/helpers/write_response.go:52 +0x17c
semaphore | github.com/semaphoreui/semaphore/api/projects.GetViews({0x2472e38, 0x40001ac460}, 0x400024ac80)
semaphore | /go/src/semaphore/api/projects/views.go:60 +0x1e4
semaphore | net/http.HandlerFunc.ServeHTTP(0x400026d438?, {0x2472e38?, 0x40001ac460?}, 0x40001232c0?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/api.Route.GetMustCanMiddleware.func5.1({0x2472e38, 0x40001ac460}, 0x400024ac80)
semaphore | /go/src/semaphore/api/projects/project.go:62 +0x13c
semaphore | net/http.HandlerFunc.ServeHTTP(0x400024ab40?, {0x2472e38?, 0x40001ac460?}, 0xaa6a00?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/api/projects.ProjectMiddleware.func1({0x2472e38, 0x40001ac460}, 0x400024a780)
semaphore | /go/src/semaphore/api/projects/project.go:46 +0x354
semaphore | net/http.HandlerFunc.ServeHTTP(0x2472e38?, {0x2472e38?, 0x40001ac460?}, 0x9a58c0?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/api.authentication.func1({0x2472e38, 0x40001ac460}, 0x1?)
semaphore | /go/src/semaphore/api/auth.go:278 +0x54
semaphore | net/http.HandlerFunc.ServeHTTP(0xa83d80?, {0x2472e38?, 0x40001ac460?}, 0xc?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/api.JSONMiddleware.func1({0x2472e38, 0x40001ac460}, 0x400023d400)
semaphore | /go/src/semaphore/api/router.go:57 +0xf0
semaphore | net/http.HandlerFunc.ServeHTTP(0x996c00?, {0x2472e38?, 0x40001ac460?}, 0x62c890?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/api.StoreMiddleware.func1.1()
semaphore | /go/src/semaphore/api/router.go:48 +0x34
semaphore | github.com/semaphoreui/semaphore/db.StoreSession({0x2487900, 0x400000cbe8}, {0x40002409d0, 0xc}, 0x4000813780)
semaphore | /go/src/semaphore/db/Store.go:696 +0x60
semaphore | github.com/semaphoreui/semaphore/api.StoreMiddleware.func1({0x2472e38, 0x40001ac460}, 0x400023d400)
semaphore | /go/src/semaphore/api/router.go:47 +0xfc
semaphore | net/http.HandlerFunc.ServeHTTP(0x400023cf00?, {0x2472e38?, 0x40001ac460?}, 0xa0d200?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/cli/cmd.runService.func1.1({0x2472e38, 0x40001ac460}, 0x400014cdc0?)
semaphore | /go/src/semaphore/cli/cmd/root.go:152 +0x110
semaphore | net/http.HandlerFunc.ServeHTTP(0x4000813801?, {0x2472e38?, 0x40001ac460?}, 0x3febdc?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/api.Route.CORSMethodMiddleware.func2.1({0x2472e38, 0x40001ac460}, 0x400023c000)
semaphore | /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x78
semaphore | net/http.HandlerFunc.ServeHTTP(0x4000515a40?, {0x2472e38?, 0x40001ac460?}, 0x25608?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/gorilla/mux.(*Router).ServeHTTP(0x4000127080, {0x2472e38, 0x40001ac460}, 0x4000424a00)
semaphore | /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x194
semaphore | github.com/semaphoreui/semaphore/cli/cmd.runService.ProxyHeaders.func3({0x2472e38, 0x40001ac460}, 0x4000424a00)
semaphore | /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x130
semaphore | net/http.HandlerFunc.ServeHTTP(0x4000526724?, {0x2472e38?, 0x40001ac460?}, 0x1?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | github.com/semaphoreui/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func5({0x2472e38, 0x40001ac460}, 0x4000424
a00)
semaphore | /go/src/semaphore/cli/cmd/server.go:27 +0xc4
semaphore | net/http.HandlerFunc.ServeHTTP(0x400060cac0?, {0x2472e38?, 0x40001ac460?}, 0x4000094b60?)
semaphore | /usr/local/go/src/net/http/server.go:2294 +0x38
semaphore | net/http.serverHandler.ServeHTTP({0x400060af30?}, {0x2472e38?, 0x40001ac460?}, 0x6?)
semaphore | /usr/local/go/src/net/http/server.go:3301 +0xbc
semaphore | net/http.(*conn).serve(0x400030b050, {0x2474f18, 0x4000434db0})
semaphore | /usr/local/go/src/net/http/server.go:2102 +0x52c
semaphore | created by net/http.(*Server).Serve in goroutine 1
semaphore | /usr/local/go/src/net/http/server.go:3454 +0x3d8
If you’re asking for something else, please provide me with detailed instructions, as this is new territory for me. Thanks in advance.
I’m currently facing the same issue. I’m using Docker Compose with PostgreSQL 18 as the database. Everything appears to be working fine, except that the Task Templates page in the UI doesn’t load.
Here are my Docker logs:
time="2025-11-12T19:00:00-06:00" level=info msg="Task 934 added to queue"
time="2025-11-12T19:00:00-06:00" level=info msg="Set resource locker with TaskRunner 934"
time="2025-11-12T19:00:00-06:00" level=info msg="Task 934 started"
time="2025-11-12T19:00:54-06:00" level=info msg="Stopped running TaskRunner 934"
time="2025-11-12T19:00:54-06:00" level=info msg="Release resource locker with TaskRunner 934"
time="2025-11-12T19:05:05-06:00" level=error msg="gorp: no fields [hidden type filter sort_column sort_reverse] in type View"
goroutine 20805 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:26 +0x5e
runtime/debug.PrintStack()
/usr/local/go/src/runtime/debug/stack.go:18 +0x13
github.com/semaphoreui/semaphore/api/helpers.WriteError({0x2956690, 0xc0002727e0}, {0x2951360, 0xc0007a1bc0})
/go/src/semaphore/api/helpers/write_response.go:52 +0x192
github.com/semaphoreui/semaphore/api/projects.GetViews({0x2956690, 0xc0002727e0}, 0xc00055d7c0)
/go/src/semaphore/api/projects/views.go:60 +0x265
net/http.HandlerFunc.ServeHTTP(0xc00092d460?, {0x2956690?, 0xc0002727e0?}, 0xc0007a1a40?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.Route.GetMustCanMiddleware.func5.1({0x2956690, 0xc0002727e0}, 0xc00055d7c0)
/go/src/semaphore/api/projects/project.go:62 +0x127
net/http.HandlerFunc.ServeHTTP(0xc00055d680?, {0x2956690?, 0xc0002727e0?}, 0xf990a0?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api/projects.ProjectMiddleware.func1({0x2956690, 0xc0002727e0}, 0xc00055d2c0)
/go/src/semaphore/api/projects/project.go:46 +0x41f
net/http.HandlerFunc.ServeHTTP(0x2956690?, {0x2956690?, 0xc0002727e0?}, 0xe9b580?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.authentication.func1({0x2956690, 0xc0002727e0}, 0x1?)
/go/src/semaphore/api/auth.go:278 +0x50
net/http.HandlerFunc.ServeHTTP(0xf76340?, {0x2956690?, 0xc0002727e0?}, 0xc?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.JSONMiddleware.func1({0x2956690, 0xc0002727e0}, 0xc00055d180)
/go/src/semaphore/api/router.go:57 +0xf6
net/http.HandlerFunc.ServeHTTP(0xe8cd00?, {0x2956690?, 0xc0002727e0?}, 0x7a9bcc?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.StoreMiddleware.func1.1()
/go/src/semaphore/api/router.go:48 +0x28
github.com/semaphoreui/semaphore/db.StoreSession({0x296b000, 0xc000254708}, {0xc00068d330, 0xc}, 0xc0008af7c8)
/go/src/semaphore/db/Store.go:696 +0x5f
github.com/semaphoreui/semaphore/api.StoreMiddleware.func1({0x2956690, 0xc0002727e0}, 0xc00055d180)
/go/src/semaphore/api/router.go:47 +0x114
net/http.HandlerFunc.ServeHTTP(0xc00055d040?, {0x2956690?, 0xc0002727e0?}, 0xf00160?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/cli/cmd.runService.func1.1({0x2956690, 0xc0002727e0}, 0xc0007a1320?)
/go/src/semaphore/cli/cmd/root.go:152 +0x11b
net/http.HandlerFunc.ServeHTTP(0xc0008af801?, {0x2956690?, 0xc0002727e0?}, 0x4198e5?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.Route.CORSMethodMiddleware.func2.1({0x2956690, 0xc0002727e0}, 0xc00055cc80)
/go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x87
net/http.HandlerFunc.ServeHTTP(0xc00055cb40?, {0x2956690?, 0xc0002727e0?}, 0x735f7f7a2588?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0002f6540, {0x2956690, 0xc0002727e0}, 0xc00055c8c0)
/go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
github.com/semaphoreui/semaphore/cli/cmd.runService.ProxyHeaders.func3({0x2956690, 0xc0002727e0}, 0xc00055c8c0)
/go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143
net/http.HandlerFunc.ServeHTTP(0xc00062a664?, {0x2956690?, 0xc0002727e0?}, 0x1?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func5({0x2956690, 0xc0002727e0}, 0xc00055c8c0)
/go/src/semaphore/cli/cmd/server.go:27 +0xbd
net/http.HandlerFunc.ServeHTTP(0x471b19?, {0x2956690?, 0xc0002727e0?}, 0xc00010ab70?)
/usr/local/go/src/net/http/server.go:2294 +0x29
net/http.serverHandler.ServeHTTP({0xc0007a10e0?}, {0x2956690?, 0xc0002727e0?}, 0x6?)
/usr/local/go/src/net/http/server.go:3301 +0x8e
net/http.(*conn).serve(0xc00040f440, {0x2958738, 0xc00052cae0})
/usr/local/go/src/net/http/server.go:2102 +0x625
created by net/http.(*Server).Serve in goroutine 1
/usr/local/go/src/net/http/server.go:3454 +0x485
time="2025-11-12T19:30:00-06:00" level=info msg="Task 935 added to queue"
time="2025-11-12T19:30:00-06:00" level=info msg="Set resource locker with TaskRunner 935"
I'm having the same issue too of not being able to load the Task Template page, except I'm using MySQL 8.
time="2025-11-14T14:18:47Z" level=error msg="gorp: no fields [hidden type filter sort_column sort_reverse] in type View"
goroutine 251 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:26 +0x5e
runtime/debug.PrintStack()
/usr/local/go/src/runtime/debug/stack.go:18 +0x13
github.com/semaphoreui/semaphore/api/helpers.WriteError({0x2956690, 0xc00057e1c0}, {0x2951360, 0xc000395ce0})
/go/src/semaphore/api/helpers/write_response.go:52 +0x192
github.com/semaphoreui/semaphore/api/projects.GetViews({0x2956690, 0xc00057e1c0}, 0xc000320140)
/go/src/semaphore/api/projects/views.go:60 +0x265
net/http.HandlerFunc.ServeHTTP(0xc00025f460?, {0x2956690?, 0xc00057e1c0?}, 0xc0003952c0?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.Route.GetMustCanMiddleware.func5.1({0x2956690, 0xc00057e1c0}, 0xc000320140)
/go/src/semaphore/api/projects/project.go:62 +0x127
net/http.HandlerFunc.ServeHTTP(0xc000487cc0?, {0x2956690?, 0xc00057e1c0?}, 0xf990a0?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api/projects.ProjectMiddleware.func1({0x2956690, 0xc00057e1c0}, 0xc0001948c0)
/go/src/semaphore/api/projects/project.go:46 +0x41f
net/http.HandlerFunc.ServeHTTP(0x2956690?, {0x2956690?, 0xc00057e1c0?}, 0xe9b580?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.authentication.func1({0x2956690, 0xc00057e1c0}, 0x1?)
/go/src/semaphore/api/auth.go:278 +0x50
net/http.HandlerFunc.ServeHTTP(0xf76340?, {0x2956690?, 0xc00057e1c0?}, 0xc?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.JSONMiddleware.func1({0x2956690, 0xc00057e1c0}, 0xc0000feb40)
/go/src/semaphore/api/router.go:57 +0xf6
net/http.HandlerFunc.ServeHTTP(0xe8cd00?, {0x2956690?, 0xc00057e1c0?}, 0x7a9bcc?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.StoreMiddleware.func1.1()
/go/src/semaphore/api/router.go:48 +0x28
github.com/semaphoreui/semaphore/db.StoreSession({0x296b000, 0xc00000e708}, {0xc00041a810, 0xc}, 0xc00025f7c8)
/go/src/semaphore/db/Store.go:696 +0x5f
github.com/semaphoreui/semaphore/api.StoreMiddleware.func1({0x2956690, 0xc00057e1c0}, 0xc0000feb40)
/go/src/semaphore/api/router.go:47 +0x114
net/http.HandlerFunc.ServeHTTP(0xc0000fe500?, {0x2956690?, 0xc00057e1c0?}, 0xf00160?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/cli/cmd.runService.func1.1({0x2956690, 0xc00057e1c0}, 0xc000476c00?)
/go/src/semaphore/cli/cmd/root.go:152 +0x11b
net/http.HandlerFunc.ServeHTTP(0xc00025f801?, {0x2956690?, 0xc00057e1c0?}, 0x4198e5?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/api.Route.CORSMethodMiddleware.func2.1({0x2956690, 0xc00057e1c0}, 0xc00016b900)
/go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x87
net/http.HandlerFunc.ServeHTTP(0xc00016b180?, {0x2956690?, 0xc00057e1c0?}, 0x7fda125817c8?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/gorilla/mux.(*Router).ServeHTTP(0xc0000ca240, {0x2956690, 0xc00057e1c0}, 0xc00016a3c0)
/go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
github.com/semaphoreui/semaphore/cli/cmd.runService.ProxyHeaders.func3({0x2956690, 0xc00057e1c0}, 0xc00016a3c0)
/go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143
net/http.HandlerFunc.ServeHTTP(0xc00027a334?, {0x2956690?, 0xc00057e1c0?}, 0x1?)
/usr/local/go/src/net/http/server.go:2294 +0x29
github.com/semaphoreui/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func5({0x2956690, 0xc00057e1c0}, 0xc00016a3c0)
/go/src/semaphore/cli/cmd/server.go:27 +0xbd
net/http.HandlerFunc.ServeHTTP(0x471b19?, {0x2956690?, 0xc00057e1c0?}, 0xc00025fb70?)
/usr/local/go/src/net/http/server.go:2294 +0x29
net/http.serverHandler.ServeHTTP({0xc000416090?}, {0x2956690?, 0xc00057e1c0?}, 0x6?)
/usr/local/go/src/net/http/server.go:3301 +0x8e
net/http.(*conn).serve(0xc0001e42d0, {0x2958738, 0xc00022acf0})
/usr/local/go/src/net/http/server.go:2102 +0x625
created by net/http.(*Server).Serve in goroutine 1
/usr/local/go/src/net/http/server.go:3454 +0x485
same issue here:
No additional python dependencies to install
semaphore-1 | Starting semaphore server
semaphore-1 | Loading config
semaphore-1 | Validating config
semaphore-1 | MySQL semaphore@mysql:3306 semaphore
semaphore-1 | Tmp Path (projects home) /tmp/semaphore
semaphore-1 | Semaphore v2.16.45-cbd5620-1762540215
semaphore-1 | Interface
semaphore-1 | Port :3000
semaphore-1 | Server is running
semaphore-1 | time="2025-11-17T10:39:33Z" level=error msg="gorp: no fields [hidden type filter sort_column sort_reverse] in type View"
semaphore-1 | goroutine 84 [running]:
semaphore-1 | runtime/debug.Stack()
semaphore-1 | /usr/local/go/src/runtime/debug/stack.go:26 +0x5e
semaphore-1 | runtime/debug.PrintStack()
semaphore-1 | /usr/local/go/src/runtime/debug/stack.go:18 +0x13
semaphore-1 | github.com/semaphoreui/semaphore/api/helpers.WriteError({0x2956690, 0xc0001b4000}, {0x2951360, 0xc000401b90})
semaphore-1 | /go/src/semaphore/api/helpers/write_response.go:52 +0x192
semaphore-1 | github.com/semaphoreui/semaphore/api/projects.GetViews({0x2956690, 0xc0001b4000}, 0xc0003fa000)
semaphore-1 | /go/src/semaphore/api/projects/views.go:60 +0x265
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0001ef460?, {0x2956690?, 0xc0001b4000?}, 0xc000400750?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.Route.GetMustCanMiddleware.func5.1({0x2956690, 0xc0001b4000}, 0xc0003fa000)
semaphore-1 | /go/src/semaphore/api/projects/project.go:62 +0x127
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc000247b80?, {0x2956690?, 0xc0001b4000?}, 0xf990a0?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api/projects.ProjectMiddleware.func1({0x2956690, 0xc0001b4000}, 0xc000529e00)
semaphore-1 | /go/src/semaphore/api/projects/project.go:46 +0x41f
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0x2956690?, {0x2956690?, 0xc0001b4000?}, 0xe9b580?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.authentication.func1({0x2956690, 0xc0001b4000}, 0x1?)
semaphore-1 | /go/src/semaphore/api/auth.go:278 +0x50
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xf76340?, {0x2956690?, 0xc0001b4000?}, 0xc?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.JSONMiddleware.func1({0x2956690, 0xc0001b4000}, 0xc0005297c0)
semaphore-1 | /go/src/semaphore/api/router.go:57 +0xf6
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xe8cd00?, {0x2956690?, 0xc0001b4000?}, 0x7a9bcc?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.StoreMiddleware.func1.1()
semaphore-1 | /go/src/semaphore/api/router.go:48 +0x28
semaphore-1 | github.com/semaphoreui/semaphore/db.StoreSession({0x296b000, 0xc000162708}, {0xc0004b22d0, 0xc}, 0xc0001e77c8)
semaphore-1 | /go/src/semaphore/db/Store.go:696 +0x5f
semaphore-1 | github.com/semaphoreui/semaphore/api.StoreMiddleware.func1({0x2956690, 0xc0001b4000}, 0xc0005297c0)
semaphore-1 | /go/src/semaphore/api/router.go:47 +0x114
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc000529680?, {0x2956690?, 0xc0001b4000?}, 0xf00160?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/cli/cmd.runService.func1.1({0x2956690, 0xc0001b4000}, 0xc000546000?)
semaphore-1 | /go/src/semaphore/cli/cmd/root.go:152 +0x11b
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0001e7801?, {0x2956690?, 0xc0001b4000?}, 0x4198e5?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.Route.CORSMethodMiddleware.func2.1({0x2956690, 0xc0001b4000}, 0xc000529180)
semaphore-1 | /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x87
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc000528c80?, {0x2956690?, 0xc0001b4000?}, 0xc0003519b8?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/gorilla/mux.(*Router).ServeHTTP(0xc0002be240, {0x2956690, 0xc0001b4000}, 0xc000528280)
semaphore-1 | /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
semaphore-1 | github.com/semaphoreui/semaphore/cli/cmd.runService.ProxyHeaders.func3({0x2956690, 0xc0001b4000}, 0xc000528280)
semaphore-1 | /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0000dc004?, {0x2956690?, 0xc0001b4000?}, 0x1?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func5({0x2956690, 0xc0001b4000}, 0xc000528280)
semaphore-1 | /go/src/semaphore/cli/cmd/server.go:27 +0xbd
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0x471b19?, {0x2956690?, 0xc0001b4000?}, 0xc000351b70?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | net/http.serverHandler.ServeHTTP({0xc00042c450?}, {0x2956690?, 0xc0001b4000?}, 0x6?)
semaphore-1 | /usr/local/go/src/net/http/server.go:3301 +0x8e
semaphore-1 | net/http.(*conn).serve(0xc0001bc000, {0x2958738, 0xc0004cfd70})
semaphore-1 | /usr/local/go/src/net/http/server.go:2102 +0x625
semaphore-1 | created by net/http.(*Server).Serve in goroutine 1
semaphore-1 | /usr/local/go/src/net/http/server.go:3454 +0x485
Same issue here with semaphore docker + SQLite. I cannot access all pages in the browser except /project/1/templates. My semaphore webUI is reversed-proxied by Caddy.
Docker Compose
services:
semaphore:
#ports:
# - 3000:3000
image: semaphoreui/semaphore:latest
environment:
- TZ=${TZ}
- SEMAPHORE_DB_DIALECT=sqlite
- SEMAPHORE_ADMIN=${SEMAPHORE_ADMIN}
- SEMAPHORE_ADMIN_PASSWORD=${S_SEMAPHORE_ADMIN_PASSWORD}
- SEMAPHORE_ADMIN_NAME=${SEMAPHORE_ADMIN_NAME}
- SEMAPHORE_ADMIN_EMAIL=${SEMAPHORE_ADMIN_EMAIL}
- SEMAPHORE_ACCESS_KEY_ENCRYPTION=${S_SEMAPHORE_ACCESS_KEY_ENCRYPTION}
volumes:
- ${BASE_PATH}/semaphore/data:/var/lib/semaphore
- ${BASE_PATH}/semaphore/config:/etc/semaphore
- ${BASE_PATH}/semaphore/tmp:/tmp/semaphore
- ${BASE_PATH}/semaphore/config/ansible.cfg:/etc/ansible/ansible.cfg # Override the default ansible.cfg used by Semaphore.
- /mnt/user/Backups/komodo-servers-borg-repos:/backup-unraid # Path in which komodo server are backing up... See backup-docker-appdata.yaml
networks:
- semaphore-net
- LAN-net
networks:
semaphore-net:
external: true
LAN-net:
external: true
And here are the logs when I try to access /project/1/templates :
semaphore-1 | No additional python dependencies to install
semaphore-1 | Starting semaphore server
semaphore-1 | Loading config
semaphore-1 | Validating config
semaphore-1 | SQLite @/var/lib/semaphore/database.sqlite
semaphore-1 | Tmp Path (projects home) /tmp/semaphore
semaphore-1 | Semaphore v2.16.45-cbd5620-1762540215
semaphore-1 | Interface
semaphore-1 | Port :3000
semaphore-1 | Server is running
[----------------->I access the problematic URL HERE<-----------------]
semaphore-1 | time="2025-11-19T14:25:17+01:00" level=error msg="gorp: no fields [hidden type filter sort_column sort_reverse] in type View"
semaphore-1 | goroutine 45 [running]:
semaphore-1 | runtime/debug.Stack()
semaphore-1 | /usr/local/go/src/runtime/debug/stack.go:26 +0x5e
semaphore-1 | runtime/debug.PrintStack()
semaphore-1 | /usr/local/go/src/runtime/debug/stack.go:18 +0x13
semaphore-1 | github.com/semaphoreui/semaphore/api/helpers.WriteError({0x2956690, 0xc00053e000}, {0x2951360, 0xc0003b95c0})
semaphore-1 | /go/src/semaphore/api/helpers/write_response.go:52 +0x192
semaphore-1 | github.com/semaphoreui/semaphore/api/projects.GetViews({0x2956690, 0xc00053e000}, 0xc000253180)
semaphore-1 | /go/src/semaphore/api/projects/views.go:60 +0x265
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0000f7460?, {0x2956690?, 0xc00053e000?}, 0xc0003b8f30?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.Route.GetMustCanMiddleware.func5.1({0x2956690, 0xc00053e000}, 0xc000253180)
semaphore-1 | /go/src/semaphore/api/projects/project.go:62 +0x127
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc000252dc0?, {0x2956690?, 0xc00053e000?}, 0xf990a0?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api/projects.ProjectMiddleware.func1({0x2956690, 0xc00053e000}, 0xc00022b540)
semaphore-1 | /go/src/semaphore/api/projects/project.go:46 +0x41f
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0x2956690?, {0x2956690?, 0xc00053e000?}, 0xe9b580?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.authentication.func1({0x2956690, 0xc00053e000}, 0x1?)
semaphore-1 | /go/src/semaphore/api/auth.go:278 +0x50
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xf76340?, {0x2956690?, 0xc00053e000?}, 0xc?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.JSONMiddleware.func1({0x2956690, 0xc00053e000}, 0xc00017c500)
semaphore-1 | /go/src/semaphore/api/router.go:57 +0xf6
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xe8cd00?, {0x2956690?, 0xc00053e000?}, 0x7a9bcc?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.StoreMiddleware.func1.1()
semaphore-1 | /go/src/semaphore/api/router.go:48 +0x28
semaphore-1 | github.com/semaphoreui/semaphore/db.StoreSession({0x296b000, 0xc00000ebb8}, {0xc00045db20, 0xc}, 0xc0005df7c8)
semaphore-1 | /go/src/semaphore/db/Store.go:696 +0x5f
semaphore-1 | github.com/semaphoreui/semaphore/api.StoreMiddleware.func1({0x2956690, 0xc00053e000}, 0xc00017c500)
semaphore-1 | /go/src/semaphore/api/router.go:47 +0x114
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0005bfcc0?, {0x2956690?, 0xc00053e000?}, 0xf00160?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/cli/cmd.runService.func1.1({0x2956690, 0xc00053e000}, 0xc00059ec90?)
semaphore-1 | /go/src/semaphore/cli/cmd/root.go:152 +0x11b
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0005df801?, {0x2956690?, 0xc00053e000?}, 0x4198e5?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/api.Route.CORSMethodMiddleware.func2.1({0x2956690, 0xc00053e000}, 0xc0005bf180)
semaphore-1 | /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x87
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0005bedc0?, {0x2956690?, 0xc00053e000?}, 0x152782398c78?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/gorilla/mux.(*Router).ServeHTTP(0xc0000ca3c0, {0x2956690, 0xc00053e000}, 0xc0005bea00)
semaphore-1 | /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2
semaphore-1 | github.com/semaphoreui/semaphore/cli/cmd.runService.ProxyHeaders.func3({0x2956690, 0xc00053e000}, 0xc0005bea00)
semaphore-1 | /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0xc0003616e4?, {0x2956690?, 0xc00053e000?}, 0x1?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | github.com/semaphoreui/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func5({0x2956690, 0xc00053e000}, 0xc0005bea00)
semaphore-1 | /go/src/semaphore/cli/cmd/server.go:27 +0xbd
semaphore-1 | net/http.HandlerFunc.ServeHTTP(0x471b19?, {0x2956690?, 0xc00053e000?}, 0xc0000a2b70?)
semaphore-1 | /usr/local/go/src/net/http/server.go:2294 +0x29
semaphore-1 | net/http.serverHandler.ServeHTTP({0xc00059e780?}, {0x2956690?, 0xc00053e000?}, 0x6?)
semaphore-1 | /usr/local/go/src/net/http/server.go:3301 +0x8e
semaphore-1 | net/http.(*conn).serve(0xc0001f6f30, {0x2958738, 0xc00025b5f0})
semaphore-1 | /usr/local/go/src/net/http/server.go:2102 +0x625
semaphore-1 | created by net/http.(*Server).Serve in goroutine 1
semaphore-1 | /usr/local/go/src/net/http/server.go:3454 +0x485
I got the same problem
Same, postgres 17.6, semaphore :latest tag, via podman, seems like app is out of sync w/ db migrations.
Any workaround for this issue?
I recreated my whole setup as a solution.
@apedance, do you mean you replaced Semaphore with something else? If so, with what? Or, did you just wipe your entire Semaphore config and start fresh? Thanks!
@apedance, do you mean you replaced Semaphore with something else? If so, with what? Or, did you just wipe your entire Semaphore config and start fresh? Thanks!
a docker img with all in one. no split containers for db and webui. fresh start that is.
Updating to latest beta (v2.17.0-beta24) solved it for me on two instances.