Skip to content

woodpecker-server crashes if WOODPECKER_GITEA_URL points to nginx proxy over the gitea server #1576

@neel

Description

@neel

Component

server

Describe the bug

OAuth login works if I set

WOODPECKER_GITEA_URL=http://IP:3000

But doesn't work if I set

WOODPECKER_GITEA_URL=http://git.xxx.com

In Gitea the Redirect Webhook is set to http://ci.xxx.com/authorize

I am using nginx with the following configurations

$ cat /etc/nginx/sites-enabled/gitea.conf 
server {
    listen 80;
    server_name git.xxx.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Connection "";
        chunked_transfer_encoding off;
        proxy_buffering off;
    }
}

$ cat /etc/nginx/sites-enabled/ci.conf 
server {
    listen 80;
    server_name ci.xxx.com;

    location / {
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;

        proxy_pass http://127.0.0.1:8000;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_buffering off;

        chunked_transfer_encoding off;
    }
}

It sounds similar to #609 But the nginx problem it is referring to is addressed in the configurations. Do I need to do something extra ?

I have used letsencrypt to add https on nginx proxy. But changing the WOODPECKER_GITEA_URL to https://git.xxx.com doesn't fix the issue.

System Info

{"source":"https://github.com/woodpecker-ci/woodpecker","version":"0.15.6"}

Additional context

Backtrace

9:05AM TRC ../../woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/router.go:38 > [GET] /authorize?code=gta_xxx&state=woodpecker
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x2 addr=0x7f9af0954072 pc=0x7f9ae2589a7f]

runtime stack:
runtime.throw({0x1115bd4?, 0x0?})
        /usr/local/go/src/runtime/panic.go:992 +0x71
runtime.sigpanic()
        /usr/local/go/src/runtime/signal_unix.go:802 +0x389

goroutine 33 [syscall]:
runtime.cgocall(0xd17e30, 0xc000445d98)
        /usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc000445d70 sp=0xc000445d38 pc=0x405a1c
net._C2func_getaddrinfo(0xc0002ba200, 0x0, 0xc0002be270, 0xc00040e1a8)
        _cgo_gotypes.go:94 +0x56 fp=0xc000445d98 sp=0xc000445d70 pc=0x691ff6
net.cgoLookupIPCNAME.func1({0xc0002ba200, 0x0?, 0xc000445e38?}, 0xc000140198?, 0x69873b?)
        /usr/local/go/src/net/cgo_unix.go:160 +0x9f fp=0xc000445df0 sp=0xc000445d98 pc=0x693d1f
net.cgoLookupIPCNAME({0x10da56c, 0x3}, {0xc000140198, 0xe})
        /usr/local/go/src/net/cgo_unix.go:160 +0x16d fp=0xc000445f38 sp=0xc000445df0 pc=0x69358d
net.cgoIPLookup(0x19c1390?, {0x10da56c?, 0xc0001401e0?}, {0xc000140198?, 0xc000156630?})
        /usr/local/go/src/net/cgo_unix.go:217 +0x3b fp=0xc000445fa8 sp=0xc000445f38 pc=0x693ddb
net.cgoLookupIP.func1()
        /usr/local/go/src/net/cgo_unix.go:227 +0x36 fp=0xc000445fe0 sp=0xc000445fa8 pc=0x694216
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc000445fe8 sp=0xc000445fe0 pc=0x46d441
created by net.cgoLookupIP
        /usr/local/go/src/net/cgo_unix.go:227 +0x12a

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7f9af1159ed8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000017800?, 0xc00004c500?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Accept(0xc000017800)
        /usr/local/go/src/internal/poll/fd_unix.go:614 +0x22c
net.(*netFD).accept(0xc000017800)
        /usr/local/go/src/net/fd_unix.go:172 +0x35
net.(*TCPListener).accept(0xc0005655d8)
        /usr/local/go/src/net/tcpsock_posix.go:139 +0x28
net.(*TCPListener).Accept(0xc0005655d8)
        /usr/local/go/src/net/tcpsock.go:288 +0x3d
net/http.(*Server).Serve(0xc0004fe700, {0x12ec3d8, 0xc0005655d8})
        /usr/local/go/src/net/http/server.go:3039 +0x385
net/http.(*Server).ListenAndServe(0xc0004fe700)
        /usr/local/go/src/net/http/server.go:2968 +0x7d
net/http.ListenAndServe(...)
        /usr/local/go/src/net/http/server.go:3222
main.run(0xc0000a3d00)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/server.go:210 +0x10f4
github.com/urfave/cli/v2.(*App).RunContext(0xc0003349c0, {0x12ed1d0?, 0xc0000ba000}, {0xc0000a0210, 0x1, 0x1})
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/urfave/cli/v2/app.go:322 +0x953
github.com/urfave/cli/v2.(*App).Run(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/urfave/cli/v2/app.go:224
main.main()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/main.go:35 +0x145

goroutine 30 [IO wait]:
internal/poll.runtime_pollWait(0x7f9af1159c08, 0x72)
        /usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000480100?, 0xc00022ca01?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000480100, {0xc00022ca01, 0x1, 0x1})
        /usr/local/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000480100, {0xc00022ca01?, 0xc00007e618?, 0xc000059768?})
        /usr/local/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc00040e150, {0xc00022ca01?, 0xc00029e0f0?, 0x0?})
        /usr/local/go/src/net/net.go:183 +0x45
net/http.(*connReader).backgroundRead(0xc00022c9f0)
        /usr/local/go/src/net/http/server.go:672 +0x3f
created by net/http.(*connReader).startBackgroundRead
        /usr/local/go/src/net/http/server.go:668 +0xca

goroutine 7 [select]:
database/sql.(*DB).connectionOpener(0xc0003dd450, {0x12ed198, 0xc0000a3f80})
        /usr/local/go/src/database/sql/sql.go:1226 +0x8d
created by database/sql.OpenDB
        /usr/local/go/src/database/sql/sql.go:794 +0x18d

goroutine 60 [select]:
github.com/woodpecker-ci/woodpecker/server/api.EventStreamSSE(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/stream.go:104 +0x50a
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/token.Refresh(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/token/token.go:33 +0x4ae
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/session.SetUser.func1(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/user.go:70 +0x1bd
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware.Store.func1(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/store.go:29 +0x5f
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware.Logger.func1(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:23 +0xa8
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/header.Options(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/header/header.go:38 +0x11a
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/header.NoCache(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/header/header.go:30 +0x102
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router.Load.func1(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/router.go:39 +0xeb
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/recovery.go:99 +0x82
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc00050c680, 0xc0000f5700)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/gin.go:555 +0x671
github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc00050c680, {0x12ec5e8?, 0xc0004fe8c0}, 0xc0000f5900)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/gin.go:511 +0x1d2
net/http.serverHandler.ServeHTTP({0xc000101800?}, {0x12ec5e8, 0xc0004fe8c0}, 0xc0000f5900)
        /usr/local/go/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc00009f040, {0x12ed240, 0xc000100d50})
        /usr/local/go/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:3071 +0x4db

goroutine 13 [IO wait]:
internal/poll.runtime_pollWait(0x7f9af1159de8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc0004a2200?, 0x19c2e00?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Accept(0xc0004a2200)
        /usr/local/go/src/internal/poll/fd_unix.go:614 +0x22c
net.(*netFD).accept(0xc0004a2200)
        /usr/local/go/src/net/fd_unix.go:172 +0x35
net.(*TCPListener).accept(0xc0005655f0)
        /usr/local/go/src/net/tcpsock_posix.go:139 +0x28
net.(*TCPListener).Accept(0xc0005655f0)
        /usr/local/go/src/net/tcpsock.go:288 +0x3d
google.golang.org/grpc.(*Server).Serve(0xc000313880, {0x12ec3d8?, 0xc0005655f0})
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/google.golang.org/grpc/server.go:780 +0x477
main.run.func3()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/server.go:177 +0x493
golang.org/x/sync/errgroup.(*Group).Go.func1()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/sync/errgroup/errgroup.go:72 +0xa5

goroutine 54 [sleep]:
time.Sleep(0x1dcd6500)
        /usr/local/go/src/runtime/time.go:194 +0x12e
main.setupMetrics.func1()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/setup.go:340 +0x179
golang.org/x/sync/errgroup.(*Group).Go.func1()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/sync/errgroup/errgroup.go:72 +0xa5

goroutine 55 [sleep]:
time.Sleep(0x2540be400)
        /usr/local/go/src/runtime/time.go:194 +0x12e
main.setupMetrics.func2()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/cmd/server/setup.go:351 +0xfb
golang.org/x/sync/errgroup.(*Group).Go.func1()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/sync/errgroup/errgroup.go:75 +0x64
created by golang.org/x/sync/errgroup.(*Group).Go
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/sync/errgroup/errgroup.go:72 +0xa5

goroutine 29 [select]:
net/http.(*Transport).getConn(0xc00036aa00, 0xc00010a280, {{}, 0x0, {0xc0003b8330, 0x5}, {0xc000140198, 0x12}, 0x0})
        /usr/local/go/src/net/http/transport.go:1375 +0x5c6
net/http.(*Transport).roundTrip(0xc00036aa00, 0xc00001e300)
        /usr/local/go/src/net/http/transport.go:581 +0x76f
net/http.(*Transport).RoundTrip(0x40f6c5?, 0x12e71c0?)
        /usr/local/go/src/net/http/roundtrip.go:17 +0x19
net/http.send(0xc00001e300, {0x12e71c0, 0xc00036aa00}, {0x10a3e40?, 0x1?, 0x0?})
        /usr/local/go/src/net/http/client.go:252 +0x5d8
net/http.(*Client).send(0xc00022d680, 0xc00001e300, {0xc00022d8c0?, 0x10efbeb?, 0x0?})
        /usr/local/go/src/net/http/client.go:176 +0x9b
net/http.(*Client).do(0xc00022d680, 0xc00001e300)
        /usr/local/go/src/net/http/client.go:725 +0x8f5
net/http.(*Client).Do(...)
        /usr/local/go/src/net/http/client.go:593
golang.org/x/net/context/ctxhttp.Do({0x12ed240?, 0xc00022d710}, 0x0?, 0xc00001e200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go:27 +0x206
golang.org/x/oauth2/internal.doTokenRoundTrip({0x12ed240, 0xc00022d710}, 0xc00003e018?)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/oauth2/internal/token.go:232 +0x66
golang.org/x/oauth2/internal.RetrieveToken({0x12ed240, 0xc00022d710}, {0xc00003e018, 0x24}, {0xc000038018, 0x38}, {0xc0003b8330, 0x2f}, 0xc00022d7a0, 0x0)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/oauth2/internal/token.go:202 +0x10c
golang.org/x/oauth2.retrieveToken({0x12ed240?, 0xc00022d710?}, 0x10ef41f?, 0xc?)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/oauth2/token.go:157 +0x4f
golang.org/x/oauth2.(*Config).Exchange(0xc0000f6310, {0x12ed240, 0xc00022d710}, {0xc0001fe1d4, 0x38}, {0x0, 0x0, 0x0?})
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/golang.org/x/oauth2/oauth2.go:224 +0x237
github.com/woodpecker-ci/woodpecker/server/remote/gitea.(*Gitea).Login(0xc0000a3e80, {0x12ed400, 0xc000448200}, {0x7f9ae2ffcd18, 0xc000448200}, 0xc000033001?)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/remote/gitea/gitea.go:118 +0x1e5
github.com/woodpecker-ci/woodpecker/server/api.HandleAuth(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/login.go:57 +0x10f
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/token.Refresh(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/token/token.go:33 +0x4ae
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/session.SetUser.func1(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/session/user.go:70 +0x1bd
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware.Store.func1(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/store.go:29 +0x5f
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware.Logger.func1(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/logger.go:23 +0xa8
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/header.Options(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/header/header.go:38 +0x11a
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router/middleware/header.NoCache(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/middleware/header/header.go:30 +0x102
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/woodpecker-ci/woodpecker/server/router.Load.func1(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/router/router.go:39 +0xeb
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/recovery.go:99 +0x82
github.com/gin-gonic/gin.(*Context).Next(...)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/context.go:168
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc00050c680, 0xc000448200)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/gin.go:555 +0x671
github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc00050c680, {0x12ec5e8?, 0xc0001ba000}, 0xc00001e100)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/vendor/github.com/gin-gonic/gin/gin.go:511 +0x1d2
net/http.serverHandler.ServeHTTP({0xc00022c9f0?}, {0x12ec5e8, 0xc0001ba000}, 0xc00001e100)
        /usr/local/go/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc000488820, {0x12ed240, 0xc000100d50})
        /usr/local/go/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
        /usr/local/go/src/net/http/server.go:3071 +0x4db

goroutine 61 [IO wait]:
internal/poll.runtime_pollWait(0x7f9af1159cf8, 0x72)
        /usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc000017c00?, 0xc000101811?, 0x0)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
        /usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc000017c00, {0xc000101811, 0x1, 0x1})
        /usr/local/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc000017c00, {0xc000101811?, 0xc00010c758?, 0xc00005b768?})
        /usr/local/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000010660, {0xc000101811?, 0xc0003c15e0?, 0xa8dc48?})
        /usr/local/go/src/net/net.go:183 +0x45
net/http.(*connReader).backgroundRead(0xc000101800)
        /usr/local/go/src/net/http/server.go:672 +0x3f
created by net/http.(*connReader).startBackgroundRead
        /usr/local/go/src/net/http/server.go:668 +0xca

goroutine 62 [select]:
github.com/woodpecker-ci/woodpecker/server/pubsub.(*publisher).Subscribe(0xc0000f21e0, {0x12ed198, 0xc00010cac0}, {0x10ef5f3?, 0x0?}, 0xc000101e00)
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/pubsub/pub.go:58 +0x178
github.com/woodpecker-ci/woodpecker/server/api.EventStreamSSE.func2()
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/stream.go:81 +0xe5
created by github.com/woodpecker-ci/woodpecker/server/api.EventStreamSSE
        /woodpecker/src/github.com/woodpecker-ci/woodpecker/server/api/stream.go:80 +0x41b

goroutine 31 [select]:
net.(*Resolver).lookupIPAddr(0x19c1380, {0x12ed240?, 0xc00022d710}, {0x10da56c, 0x3}, {0xc000140198, 0xe})
        /usr/local/go/src/net/lookup.go:325 +0x51b
net.(*Resolver).internetAddrList(0x12ed240?, {0x12ed240?, 0xc00022d710?}, {0x10da56c, 0x3}, {0xc000140198?, 0x12?})
        /usr/local/go/src/net/ipsock.go:288 +0x67a
net.(*Resolver).resolveAddrList(0x19f9ec0?, {0x12ed240, 0xc00022d710}, {0x10db46f, 0x4}, {0x10da56c?, 0x7?}, {0xc000140198, 0x12}, {0x0, ...})
        /usr/local/go/src/net/dial.go:221 +0x41b
net.(*Dialer).DialContext(0x19c2340, {0x12ed240, 0xc00022d710}, {0x10da56c, 0x3}, {0xc000140198, 0x12})
        /usr/local/go/src/net/dial.go:406 +0x448
net/http.(*Transport).dial(0x10d1100?, {0x12ed240?, 0xc00022d710?}, {0x10da56c?, 0x7f9af1159c30?}, {0xc000140198?, 0x0?})
        /usr/local/go/src/net/http/transport.go:1178 +0xb8
net/http.(*Transport).dialConn(0xc00036aa00, {0x12ed240, 0xc00022d710}, {{}, 0x0, {0xc0003b8330, 0x5}, {0xc000140198, 0x12}, 0x0})
        /usr/local/go/src/net/http/transport.go:1607 +0x83f
net/http.(*Transport).dialConnFor(0x12ed240?, 0xc000156630)
        /usr/local/go/src/net/http/transport.go:1449 +0xb0
created by net/http.(*Transport).queueForDial
        /usr/local/go/src/net/http/transport.go:1418 +0x3d2

goroutine 32 [select]:
net.cgoLookupIP({0x12ed198, 0xc00010a300}, {0x10da56c, 0x3}, {0xc000140198, 0xe})
        /usr/local/go/src/net/cgo_unix.go:228 +0x1aa
net.(*Resolver).lookupIP(0x19c1380, {0x12ed198, 0xc00010a300}, {0x10da56c, 0x3}, {0xc000140198, 0xe})
        /usr/local/go/src/net/lookup_unix.go:96 +0x128
net.glob..func1({0x12ed198?, 0xc00010a300?}, 0x100012e6ea0?, {0x10da56c?, 0x46b26e?}, {0xc000140198?, 0x78c570?})
        /usr/local/go/src/net/hook.go:23 +0x3d
net.(*Resolver).lookupIPAddr.func1()
        /usr/local/go/src/net/lookup.go:319 +0x9f
internal/singleflight.(*Group).doCall(0x19c1390, 0xc000484190, {0xc0001401e0, 0x12}, 0xc000156630?)
        /usr/local/go/src/internal/singleflight/singleflight.go:95 +0x3b
created by internal/singleflight.(*Group).DoChan
        /usr/local/go/src/internal/singleflight/singleflight.go:88 +0x2ec

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfeedbackthis needs feedback

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions