Closed JSmith-Aura closed 11 months ago
Not sure what triggered this but unfortunately a map r/w triggered a panic.
{"hashlist_id":"5ef65b91-d745-4fe3-b330-d68d574b2135","level":"warning","log_type":"audit","msg":"New attack created","project_id":"3e8e5d56-ecd5-4f10-9540-846bd6aeeeb0","project_name":"tests","remote_ip":"192.168.11.2","time":"2023-10-10T03:28:56Z","user_id":"54a814e6-ac0e-4734-8764-c313b268edbe","user_username":"redacted"} fatal error: concurrent map read and map write goroutine 12173 [running]: github.com/lachlan2k/phatcrack/api/internal/auth.(*InMemorySessionHandler).getEntry(0xc000e1ddd0, {0x10f31b0, 0xc000504140}) /app/api/internal/auth/session_inmemory.go:193 +0xa5 github.com/lachlan2k/phatcrack/api/internal/auth.(*InMemorySessionHandler).CreateMiddleware.func1.1({0x10f31b0, 0xc000504140}) /app/api/internal/auth/session_inmemory.go:44 +0x73 github.com/lachlan2k/phatcrack/api/internal/auth.CreateHeaderAuthMiddleware.func1.1({0x10f31b0, 0xc000504140}) /app/api/internal/auth/header_auth_middleware.go:27 +0x1b3 github.com/labstack/echo/v4.(*Echo).add.func1({0x10f31b0, 0xc000504140}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:582 +0x4b github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.Recover.RecoverWithConfig.func5.1({0x10f31b0, 0xc000504140}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/recover.go:131 +0x119 github.com/labstack/echo/v4/middleware.RequestLoggerConfig.ToMiddleware.func1.1({0x10f31b0, 0xc000504140}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/request_logger.go:259 +0x16b github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc000e606c0, {0x10e6590?, 0xc0003aa1c0}, 0xc000ab4600) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:669 +0x399 net/http.serverHandler.ServeHTTP({0xc000b58c90?}, {0x10e6590?, 0xc0003aa1c0?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e net/http.(*conn).serve(0xc0003d4e10, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 1 [IO wait, 1 minutes]: internal/poll.runtime_pollWait(0x7fac3c12eae8, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 internal/poll.(*pollDesc).wait(0xc00093ea00?, 0x4?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Accept(0xc00093ea00) /usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac net.(*netFD).accept(0xc00093ea00) /usr/local/go/src/net/fd_unix.go:172 +0x29 net.(*TCPListener).accept(0xc000e0ecc0) /usr/local/go/src/net/tcpsock_posix.go:152 +0x1e net.(*TCPListener).AcceptTCP(0xc000e0ecc0) /usr/local/go/src/net/tcpsock.go:302 +0x30 github.com/labstack/echo/v4.tcpKeepAliveListener.Accept({0x445fc0?}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:989 +0x17 net/http.(*Server).Serve(0xc000e4c0f0, {0x10e63e0, 0xc000df83b0}) /usr/local/go/src/net/http/server.go:3056 +0x364 github.com/labstack/echo/v4.(*Echo).Start(0xc000e606c0, {0xc000f0e198, 0x5}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:686 +0xd2 github.com/lachlan2k/phatcrack/api/internal/webserver.Listen({0xc000014015, 0x4}) /app/api/internal/webserver/webserver.go:77 +0x98d main.main() /app/api/main.go:80 +0x43f goroutine 9 [select, 125 minutes]: database/sql.(*DB).connectionOpener(0xc0005fb040, {0x10e8400, 0xc00085fc70}) /usr/local/go/src/database/sql/sql.go:1218 +0x87 created by database/sql.OpenDB in goroutine 1 /usr/local/go/src/database/sql/sql.go:791 +0x165 goroutine 14 [sleep]: time.Sleep(0xdf8475800) /usr/local/go/src/runtime/time.go:195 +0x125 github.com/lachlan2k/phatcrack/api/internal/auth.(*InMemorySessionHandler).janitor(0x0?) /app/api/internal/auth/session_inmemory.go:233 +0x27 created by github.com/lachlan2k/phatcrack/api/internal/auth.(*InMemorySessionHandler).CreateMiddleware in goroutine 1 /app/api/internal/auth/session_inmemory.go:35 +0xae goroutine 13 [select]: github.com/lachlan2k/phatcrack/api/internal/fleet.stateReconciliationTask() /app/api/internal/fleet/state_reconcilition.go:371 +0x65 created by github.com/lachlan2k/phatcrack/api/internal/fleet.Setup in goroutine 1 /app/api/internal/fleet/state_reconcilition.go:431 +0x1b1 goroutine 529 [IO wait]: internal/poll.runtime_pollWait(0x7fac3c12e610, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 internal/poll.(*pollDesc).wait(0xc000039000?, 0xc0001bd000?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000039000, {0xc0001bd000, 0x1000, 0x1000}) /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a net.(*netFD).Read(0xc000039000, {0xc0001bd000?, 0x0?, 0xcc26b8?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc000306068, {0xc0001bd000?, 0xc000f73610?, 0xc00019af40?}) /usr/local/go/src/net/net.go:179 +0x45 bufio.(*Reader).fill(0xc000322de0) /usr/local/go/src/bufio/bufio.go:113 +0x103 bufio.(*Reader).Peek(0xc000322de0, 0x2) /usr/local/go/src/bufio/bufio.go:151 +0x53 github.com/gorilla/websocket.(*Conn).read(0xc00039ec60, 0xc00019b050?) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:371 +0x26 github.com/gorilla/websocket.(*Conn).advanceFrame(0xc00039ec60) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:809 +0x6d github.com/gorilla/websocket.(*Conn).NextReader(0xc00039ec60) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:1009 +0xb0 github.com/gorilla/websocket.(*Conn).ReadJSON(0xcb3cda?, {0xb4e680, 0xc0013522a0}) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/json.go:50 +0x25 github.com/lachlan2k/phatcrack/api/internal/fleet.(*AgentConnection).Handle(0xc0003d3098) /app/api/internal/fleet/agent.go:208 +0x225 github.com/lachlan2k/phatcrack/api/internal/controllers.handleAgentWs({0x10f31b0, 0xc0003b4e60}) /app/api/internal/controllers/agent_handler.go:86 +0x3a7 github.com/labstack/echo/v4.(*Echo).add.func1({0x10f31b0, 0xc0003b4e60}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:582 +0x4b github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.Recover.RecoverWithConfig.func5.1({0x10f31b0, 0xc0003b4e60}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/recover.go:131 +0x119 github.com/labstack/echo/v4/middleware.RequestLoggerConfig.ToMiddleware.func1.1({0x10f31b0, 0xc0003b4e60}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/request_logger.go:259 +0x16b github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc000e606c0, {0x10e6590?, 0xc0003400e0}, 0xc000260a00) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:669 +0x399 net/http.serverHandler.ServeHTTP({0xc0003829c0?}, {0x10e6590?, 0xc0003400e0?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e net/http.(*conn).serve(0xc000e1f200, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 66 [IO wait]: internal/poll.runtime_pollWait(0x7fac3c12e8f8, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 internal/poll.(*pollDesc).wait(0xc000b9c000?, 0xc000208000?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000b9c000, {0xc000208000, 0x1000, 0x1000}) /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a net.(*netFD).Read(0xc000b9c000, {0xc000208000?, 0x1de000?, 0xcc26b8?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc0001303e8, {0xc000208000?, 0xc000b65220?, 0xc0001a6f40?}) /usr/local/go/src/net/net.go:179 +0x45 bufio.(*Reader).fill(0xc0001143c0) /usr/local/go/src/bufio/bufio.go:113 +0x103 bufio.(*Reader).Peek(0xc0001143c0, 0x2) /usr/local/go/src/bufio/bufio.go:151 +0x53 github.com/gorilla/websocket.(*Conn).read(0xc000228000, 0xc0001a7050?) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:371 +0x26 github.com/gorilla/websocket.(*Conn).advanceFrame(0xc000228000) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:809 +0x6d github.com/gorilla/websocket.(*Conn).NextReader(0xc000228000) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:1009 +0xb0 github.com/gorilla/websocket.(*Conn).ReadJSON(0xcb3cda?, {0xb4e680, 0xc000e0e300}) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/json.go:50 +0x25 github.com/lachlan2k/phatcrack/api/internal/fleet.(*AgentConnection).Handle(0xc0000124f8) /app/api/internal/fleet/agent.go:208 +0x225 github.com/lachlan2k/phatcrack/api/internal/controllers.handleAgentWs({0x10f31b0, 0xc000504000}) /app/api/internal/controllers/agent_handler.go:86 +0x3a7 github.com/labstack/echo/v4.(*Echo).add.func1({0x10f31b0, 0xc000504000}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:582 +0x4b github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.Recover.RecoverWithConfig.func5.1({0x10f31b0, 0xc000504000}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/recover.go:131 +0x119 github.com/labstack/echo/v4/middleware.RequestLoggerConfig.ToMiddleware.func1.1({0x10f31b0, 0xc000504000}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/request_logger.go:259 +0x16b github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc000e606c0, {0x10e6590?, 0xc000214000}, 0xc00020a000) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:669 +0x399 net/http.serverHandler.ServeHTTP({0xc000dc0090?}, {0x10e6590?, 0xc000214000?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e net/http.(*conn).serve(0xc000c34120, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 893 [IO wait]: internal/poll.runtime_pollWait(0x7fac3c12e138, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 internal/poll.(*pollDesc).wait(0xc000b9db00?, 0xc0001d5000?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000b9db00, {0xc0001d5000, 0x1000, 0x1000}) /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a net.(*netFD).Read(0xc000b9db00, {0xc0001d5000?, 0x639c00?, 0x9?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc000ba61f8, {0xc0001d5000?, 0xc000a25958?, 0xc000286f40?}) /usr/local/go/src/net/net.go:179 +0x45 bufio.(*Reader).fill(0xc000a06ae0) /usr/local/go/src/bufio/bufio.go:113 +0x103 bufio.(*Reader).Peek(0xc000a06ae0, 0x2) /usr/local/go/src/bufio/bufio.go:151 +0x53 github.com/gorilla/websocket.(*Conn).read(0xc0008a1ce0, 0xc000287050?) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:371 +0x26 github.com/gorilla/websocket.(*Conn).advanceFrame(0xc0008a1ce0) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:809 +0x6d github.com/gorilla/websocket.(*Conn).NextReader(0xc0008a1ce0) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/conn.go:1009 +0xb0 github.com/gorilla/websocket.(*Conn).ReadJSON(0xcb3cda?, {0xb4e680, 0xc000b6b6c0}) /go/pkg/mod/github.com/gorilla/websocket@v1.5.0/json.go:50 +0x25 github.com/lachlan2k/phatcrack/api/internal/fleet.(*AgentConnection).Handle(0xc0001deb40) /app/api/internal/fleet/agent.go:208 +0x225 github.com/lachlan2k/phatcrack/api/internal/controllers.handleAgentWs({0x10f31b0, 0xc00080a0a0}) /app/api/internal/controllers/agent_handler.go:86 +0x3a7 github.com/labstack/echo/v4.(*Echo).add.func1({0x10f31b0, 0xc00080a0a0}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:582 +0x4b github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.Recover.RecoverWithConfig.func5.1({0x10f31b0, 0xc00080a0a0}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/recover.go:131 +0x119 github.com/labstack/echo/v4/middleware.RequestLoggerConfig.ToMiddleware.func1.1({0x10f31b0, 0xc00080a0a0}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/request_logger.go:259 +0x16b github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc000e606c0, {0x10e6590?, 0xc0003aa700}, 0xc00042f700) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:669 +0x399 net/http.serverHandler.ServeHTTP({0xc000dc1950?}, {0x10e6590?, 0xc0003aa700?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e net/http.(*conn).serve(0xc000a9aab0, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 3564 [IO wait, 1 minutes]: internal/poll.runtime_pollWait(0x7fac3477dfd8, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 internal/poll.(*pollDesc).wait(0xc000a00200?, 0xc00040d000?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000a00200, {0xc00040d000, 0x1000, 0x1000}) /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a net.(*netFD).Read(0xc000a00200, {0xc00040d000?, 0x4daba5?, 0x0?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc000df85c0, {0xc00040d000?, 0x0?, 0xc000b7c038?}) /usr/local/go/src/net/net.go:179 +0x45 net/http.(*connReader).Read(0xc000b7c030, {0xc00040d000, 0x1000, 0x1000}) /usr/local/go/src/net/http/server.go:791 +0x14b bufio.(*Reader).fill(0xc000a88000) /usr/local/go/src/bufio/bufio.go:113 +0x103 bufio.(*Reader).Peek(0xc000a88000, 0x4) /usr/local/go/src/bufio/bufio.go:151 +0x53 net/http.(*conn).serve(0xc000b95cb0, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2044 +0x75c created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 18248 [runnable]: internal/poll.ignoringEINTRIO(...) /usr/local/go/src/internal/poll/fd_unix.go:737 internal/poll.(*FD).Read(0xc00013a100, {0xc0000c4461, 0x1, 0x1}) /usr/local/go/src/internal/poll/fd_unix.go:160 +0x2e5 net.(*netFD).Read(0xc00013a100, {0xc0000c4461?, 0xc000a3cf40?, 0x469630?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc000306008, {0xc0000c4461?, 0x10e8101?, 0xc000a1e6e0?}) /usr/local/go/src/net/net.go:179 +0x45 net/http.(*connReader).backgroundRead(0xc0000c4450) /usr/local/go/src/net/http/server.go:683 +0x37 created by net/http.(*connReader).startBackgroundRead in goroutine 17780 /usr/local/go/src/net/http/server.go:679 +0xba goroutine 17779 [runnable]: gorm.io/gorm.SoftDeleteQueryClause.ModifyStatement({{{0x0, 0x0}, 0x0}, 0xc000ba94a0}, 0xc00097f340) /go/pkg/mod/gorm.io/gorm@v1.25.4/soft_delete.go:92 +0x273 gorm.io/gorm.(*Statement).AddClause(0xc00097f340, {0x10e6770, 0xc000b6b8e0}) /go/pkg/mod/gorm.io/gorm@v1.25.4/statement.go:266 +0x42 gorm.io/gorm/callbacks.BuildQuerySQL(0xc000a65260) /go/pkg/mod/gorm.io/gorm@v1.25.4/callbacks/query.go:36 +0x1cf5 gorm.io/gorm/callbacks.Query(0xc000a65260) /go/pkg/mod/gorm.io/gorm@v1.25.4/callbacks/query.go:17 +0x36 gorm.io/gorm.(*processor).Execute(0xc00085f2c0, 0xc000960420?) /go/pkg/mod/gorm.io/gorm@v1.25.4/callbacks.go:130 +0x375 gorm.io/gorm.(*DB).First(0xc001228450?, {0xbd0dc0?, 0xc0005fb2b0}, {0xc000b2f620, 0x2, 0x2}) /go/pkg/mod/gorm.io/gorm@v1.25.4/finisher_api.go:129 +0x1b2 github.com/lachlan2k/phatcrack/api/internal/db.GetUserByID({0xc001228450, 0x24}) /app/api/internal/db/user.go:64 +0xb9 github.com/lachlan2k/phatcrack/api/internal/auth.UserAndSessFromReq({0x10f31b0, 0xc0000e2d20}) /app/api/internal/auth/session.go:61 +0x194 github.com/lachlan2k/phatcrack/api/internal/controllers.HookAuthEndpoints.handleRefresh.func10({0x10f31b0, 0xc0000e2d20}) /app/api/internal/controllers/auth.go:273 +0x65 github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.EnforceAuthMiddleware.func2.1({0x10f31b0, 0xc0000e2d20}) /app/api/internal/auth/middleware.go:65 +0x102 github.com/lachlan2k/phatcrack/api/internal/auth.(*InMemorySessionHandler).CreateMiddleware.func1.1({0x10f31b0, 0xc0000e2d20}) /app/api/internal/auth/session_inmemory.go:52 +0x110 github.com/lachlan2k/phatcrack/api/internal/auth.CreateHeaderAuthMiddleware.func1.1({0x10f31b0, 0xc0000e2d20}) /app/api/internal/auth/header_auth_middleware.go:27 +0x1b3 github.com/labstack/echo/v4.(*Echo).add.func1({0x10f31b0, 0xc0000e2d20}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:582 +0x4b github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.Recover.RecoverWithConfig.func5.1({0x10f31b0, 0xc0000e2d20}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/recover.go:131 +0x119 github.com/labstack/echo/v4/middleware.RequestLoggerConfig.ToMiddleware.func1.1({0x10f31b0, 0xc0000e2d20}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/request_logger.go:259 +0x16b github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc000e606c0, {0x10e6590?, 0xc0004ecb60}, 0xc00042ff00) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:669 +0x399 net/http.serverHandler.ServeHTTP({0xc000e1c510?}, {0x10e6590?, 0xc0004ecb60?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e net/http.(*conn).serve(0xc00017e000, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 17780 [runnable]: context.WithDeadlineCause({0x10e81d0, 0x16385a0}, {0x1608f60?, 0xf4240?, 0x1608f60?}, {0x0?, 0x0}) /usr/local/go/src/context/context.go:633 +0x1d7 context.WithDeadline(...) /usr/local/go/src/context/context.go:607 context.WithTimeout({0x10e81d0, 0x16385a0}, 0x199?) /usr/local/go/src/context/context.go:685 +0x4d github.com/jackc/pgx/v5/pgconn.(*PgConn).CheckConn(0xc1415484f0878141?) /go/pkg/mod/github.com/jackc/pgx/v5@v5.4.3/pgconn/pgconn.go:1694 +0x45 github.com/jackc/pgx/v5/stdlib.(*Conn).ResetSession(0xc000bc2420, {0x10e81d0, 0x16385a0}) /go/pkg/mod/github.com/jackc/pgx/v5@v5.4.3/stdlib/sql.go:473 +0x8b database/sql.(*driverConn).resetSession(0xc000101400?, {0x10e81d0, 0x16385a0}) /usr/local/go/src/database/sql/sql.go:553 +0xe3 database/sql.(*DB).conn(0xc0005fb040, {0x10e81d0, 0x16385a0}, 0x1) /usr/local/go/src/database/sql/sql.go:1313 +0x1e5 database/sql.(*DB).query(0x7fac3c0d1730?, {0x10e81d0, 0x16385a0}, {0xc000b26f50, 0x62}, {0xc00129dc80, 0x1, 0x8}, 0xdd?) /usr/local/go/src/database/sql/sql.go:1721 +0x57 database/sql.(*DB).QueryContext.func1(0xd8?) /usr/local/go/src/database/sql/sql.go:1704 +0x4f database/sql.(*DB).retry(0x10?, 0xc0002b4f80) /usr/local/go/src/database/sql/sql.go:1538 +0x42 database/sql.(*DB).QueryContext(0xc000e1d890?, {0x10e81d0?, 0x16385a0?}, {0xc000b26f50?, 0x0?}, {0xc00129dc80?, 0x40fe65?, 0x0?}) /usr/local/go/src/database/sql/sql.go:1703 +0xc5 gorm.io/gorm/callbacks.Query(0xc000e1d890) /go/pkg/mod/gorm.io/gorm@v1.25.4/callbacks/query.go:20 +0xb2 gorm.io/gorm.(*processor).Execute(0xc00085f2c0, 0xc000960420?) /go/pkg/mod/gorm.io/gorm@v1.25.4/callbacks.go:130 +0x375 gorm.io/gorm.(*DB).First(0xc001228450?, {0xbd0dc0?, 0xc000e256c0}, {0xc000964760, 0x2, 0x2}) /go/pkg/mod/gorm.io/gorm@v1.25.4/finisher_api.go:129 +0x1b2 github.com/lachlan2k/phatcrack/api/internal/db.GetUserByID({0xc001228450, 0x24}) /app/api/internal/db/user.go:64 +0xb9 github.com/lachlan2k/phatcrack/api/internal/auth.UserAndSessFromReq({0x10f31b0, 0xc0009563c0}) /app/api/internal/auth/session.go:61 +0x194 github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.EnforceMFAMiddleware.func3.1({0x10f31b0, 0xc0009563c0}) /app/api/internal/auth/middleware.go:14 +0x38 github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.EnforceAuthMiddleware.func2.1({0x10f31b0, 0xc0009563c0}) /app/api/internal/auth/middleware.go:65 +0x102 github.com/lachlan2k/phatcrack/api/internal/auth.(*InMemorySessionHandler).CreateMiddleware.func1.1({0x10f31b0, 0xc0009563c0}) /app/api/internal/auth/session_inmemory.go:52 +0x110 github.com/lachlan2k/phatcrack/api/internal/auth.CreateHeaderAuthMiddleware.func1.1({0x10f31b0, 0xc0009563c0}) /app/api/internal/auth/header_auth_middleware.go:27 +0x1b3 github.com/labstack/echo/v4.(*Echo).add.func1({0x10f31b0, 0xc0009563c0}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:582 +0x4b github.com/lachlan2k/phatcrack/api/internal/webserver.Listen.Recover.RecoverWithConfig.func5.1({0x10f31b0, 0xc0009563c0}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/recover.go:131 +0x119 github.com/labstack/echo/v4/middleware.RequestLoggerConfig.ToMiddleware.func1.1({0x10f31b0, 0xc0009563c0}) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/middleware/request_logger.go:259 +0x16b github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc000e606c0, {0x10e6590?, 0xc000340460}, 0xc00020ac00) /go/pkg/mod/github.com/labstack/echo/v4@v4.11.1/echo.go:669 +0x399 net/http.serverHandler.ServeHTTP({0xc0000c4450?}, {0x10e6590?, 0xc000340460?}, 0x6?) /usr/local/go/src/net/http/server.go:2938 +0x8e net/http.(*conn).serve(0xc00017e1b0, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2009 +0x5f4 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 18292 [runnable]: net/http.(*connReader).startBackgroundRead.func2() /usr/local/go/src/net/http/server.go:679 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 created by net/http.(*connReader).startBackgroundRead in goroutine 17779 /usr/local/go/src/net/http/server.go:679 +0xba goroutine 11223 [IO wait, 1 minutes]: internal/poll.runtime_pollWait(0x7fac3c12df48, 0x72) /usr/local/go/src/runtime/netpoll.go:343 +0x85 internal/poll.(*pollDesc).wait(0xc000e00280?, 0xc0001bc000?, 0x0) /usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27 internal/poll.(*pollDesc).waitRead(...) /usr/local/go/src/internal/poll/fd_poll_runtime.go:89 internal/poll.(*FD).Read(0xc000e00280, {0xc0001bc000, 0x1000, 0x1000}) /usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a net.(*netFD).Read(0xc000e00280, {0xc0001bc000?, 0x4daba5?, 0x0?}) /usr/local/go/src/net/fd_posix.go:55 +0x25 net.(*conn).Read(0xc000df8028, {0xc0001bc000?, 0x0?, 0xc000b7c308?}) /usr/local/go/src/net/net.go:179 +0x45 net/http.(*connReader).Read(0xc000b7c300, {0xc0001bc000, 0x1000, 0x1000}) /usr/local/go/src/net/http/server.go:791 +0x14b bufio.(*Reader).fill(0xc0001d6120) /usr/local/go/src/bufio/bufio.go:113 +0x103 bufio.(*Reader).Peek(0xc0001d6120, 0x4) /usr/local/go/src/bufio/bufio.go:151 +0x53 net/http.(*conn).serve(0xc000e1e000, {0x10e83c8, 0xc000c18b10}) /usr/local/go/src/net/http/server.go:2044 +0x75c created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3086 +0x5cb goroutine 18278 [runnable]: net/http.(*connReader).startBackgroundRead.func2() /usr/local/go/src/net/http/server.go:679 runtime.goexit() /usr/local/go/src/runtime/asm_amd64.s:1650 +0x1 created by net/http.(*connReader).startBackgroundRead in goroutine 12173 /usr/local/go/src/net/http/server.go:679 +0xba
Not sure what triggered this but unfortunately a map r/w triggered a panic.