gocardless / pgreplay-go

Postgres load testing tool
MIT License
112 stars 15 forks source link

Hanging indefinitely #1

Closed lawrencejones closed 5 years ago

lawrencejones commented 6 years ago
SIGQUIT: quit
PC=0x457ac1 m=0 sigcode=0

goroutine 0 [idle]:
runtime.futex(0xbf1b68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffc0f357178, 0x40f24b, ...)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/sys_linux_amd64.s:526 +0x21
runtime.futexsleep(0xbf1b68, 0x0, 0xffffffffffffffff)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/os_linux.go:45 +0x4b
runtime.notesleep(0xbf1b68)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/lock_futex.go:151 +0x9b
runtime.stopm()
        /usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:1947 +0xe5
runtime.findrunnable(0xc42002e000, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:2410 +0x50c
runtime.schedule()
        /usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:2536 +0x13b
runtime.park_m(0xc424a6bc80)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/proc.go:2599 +0xb6
runtime.mcall(0x0)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/asm_amd64.s:351 +0x5b

goroutine 1 [select]:
main.main()
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:110 +0xa36

goroutine 50 [IO wait]:
internal/poll.runtime_pollWait(0x7f441af83d60, 0x72, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42023e098, 0x72, 0xc420238000, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42023e098, 0xffffffffffffff00, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Accept(0xc42023e080, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:372 +0x1a8
net.(*netFD).accept(0xc42023e080, 0xc426278120, 0xc42009edd0, 0x4021c8)
        /usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc420246000, 0xc42009ee00, 0x401127, 0xc426278120)
        /usr/local/Cellar/go/1.10/libexec/src/net/tcpsock_posix.go:136 +0x2e
net.(*TCPListener).AcceptTCP(0xc420246000, 0xc42009ee48, 0xc42009ee50, 0x18)
        /usr/local/Cellar/go/1.10/libexec/src/net/tcpsock.go:246 +0x49
net/http.tcpKeepAliveListener.Accept(0xc420246000, 0x942200, 0xc4262780a0, 0x984b80, 0xc42022a150)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:3216 +0x2f
net/http.(*Server).Serve(0xc4201e61a0, 0x982e00, 0xc420246000, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2770 +0x1a5
net/http.(*Server).ListenAndServe(0xc4201e61a0, 0xc4201e61a0, 0xc420242000)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2711 +0xa9
net/http.ListenAndServe(0xc420226030, 0xc, 0x0, 0x0, 0x2, 0xc420226030)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2969 +0x7a
main.main.func1()
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:56 +0x279
created by main.main
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:53 +0x362

goroutine 31 [chan send, 1328 minutes]:
github.com/gocardless/pgreplay-go.Parse.func1(0xc42023e000, 0xc420206360, 0xc420cc2000, 0xa00000, 0xa00000, 0xc4200c0120, 0xc4201e0060, 0xc4200c0180)
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/parse.go:77 +0x226
created by github.com/gocardless/pgreplay-go.Parse
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/parse.go:55 +0x1f9

goroutine 32 [chan receive, 1584 minutes]:
main.main.func2(0xc4200c0180)
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:80 +0x41
created by main.main
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:79 +0x6c5

goroutine 65 [chan receive, 1328 minutes]:
main.main.func3(0xc4200c0120)
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:84 +0x6e
created by main.main
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/cmd/pgreplay/main.go:83 +0x6ea

goroutine 67 [semacquire, 1328 minutes]:
sync.runtime_Semacquire(0xc42020c0ac)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/sema.go:56 +0x39
sync.(*WaitGroup).Wait(0xc42020c0a0)
        /usr/local/Cellar/go/1.10/libexec/src/sync/waitgroup.go:129 +0x72
github.com/gocardless/pgreplay-go.(*Database).Consume.func1(0xc4200c01e0, 0xc42026e000, 0xc42020c0a0, 0xc4200c0240, 0xc4200c02a0)
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/database.go:129 +0x8a5
created by github.com/gocardless/pgreplay-go.(*Database).Consume
        /Users/lawrencejones/Projects/golang/src/github.com/gocardless/pgreplay-go/database.go:80 +0xc1

goroutine 203033 [IO wait]:
internal/poll.runtime_pollWait(0x7f441afa68b0, 0x72, 0xc421a41868)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc420166118, 0x72, 0xffffffffffffff00, 0x97dc20, 0xbb63e8)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc420166118, 0xc423841000, 0x1000, 0x1000)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc420166100, 0xc423841000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc420166100, 0xc423841000, 0x1000, 0x1000, 0xc421a41978, 0x6563ca, 0xc424438758)
        /usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc422e50080, 0xc423841000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
net/http.(*connReader).Read(0xc424438750, 0xc423841000, 0x1000, 0x1000, 0x2, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:764 +0xf8
bufio.(*Reader).fill(0xc428414060)
        /usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:100 +0x11e
bufio.(*Reader).ReadSlice(0xc428414060, 0xc424a6bc0a, 0xc421a41ad8, 0x40fdd6, 0x7f441ad11950, 0xc, 0xc421a41ac0)
        /usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:341 +0x2c
bufio.(*Reader).ReadLine(0xc428414060, 0xc427550c00, 0x100, 0xf8, 0x9127c0, 0x1, 0x100c420c7b000)
        /usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:370 +0x34
net/textproto.(*Reader).readLineSlice(0xc422afa930, 0xc421f16001, 0xc421a41ba8, 0x410ab8, 0x100, 0x9127c0)
        /usr/local/Cellar/go/1.10/libexec/src/net/textproto/reader.go:55 +0x70
net/textproto.(*Reader).ReadLine(0xc422afa930, 0xc427550c00, 0x0, 0x0, 0x72)
        /usr/local/Cellar/go/1.10/libexec/src/net/textproto/reader.go:36 +0x2b
net/http.readRequest(0xc428414060, 0x0, 0xc427550c00, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/request.go:929 +0x8c
net/http.(*conn).readRequest(0xc4262780a0, 0x984ac0, 0xc42020e340, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:944 +0x16f
net/http.(*conn).serve(0xc4262780a0, 0x984ac0, 0xc42020e340)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:1768 +0x4dc
created by net/http.(*Server).Serve
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2795 +0x27b

goroutine 203032 [IO wait]:
internal/poll.runtime_pollWait(0x7f441afa6300, 0x72, 0xc421a43868)
        /usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42269e018, 0x72, 0xffffffffffffff00, 0x97dc20, 0xbb63e8)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42269e018, 0xc4248e7000, 0x1000, 0x1000)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42269e000, 0xc4248e7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157 +0x17d
net.(*netFD).Read(0xc42269e000, 0xc4248e7000, 0x1000, 0x1000, 0xc421a43978, 0x6563ca, 0xc4254b56b8)
        /usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc422bc0000, 0xc4248e7000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/net.go:176 +0x6a
net/http.(*connReader).Read(0xc4254b56b0, 0xc4248e7000, 0x1000, 0x1000, 0x2, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:764 +0xf8
bufio.(*Reader).fill(0xc42665a0c0)
        /usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:100 +0x11e
bufio.(*Reader).ReadSlice(0xc42665a0c0, 0xc42430aa0a, 0xc421a43ad8, 0x40fdd6, 0x7f441afb8808, 0xd, 0xc421a43ac0)
        /usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:341 +0x2c
bufio.(*Reader).ReadLine(0xc42665a0c0, 0xc422610d00, 0x100, 0xf8, 0x9127c0, 0x942001, 0x100c421a43b58)
        /usr/local/Cellar/go/1.10/libexec/src/bufio/bufio.go:370 +0x34
net/textproto.(*Reader).readLineSlice(0xc4254b56e0, 0xc421f16180, 0xc421a43ba8, 0x410ab8, 0x100, 0x9127c0)
        /usr/local/Cellar/go/1.10/libexec/src/net/textproto/reader.go:55 +0x70
net/textproto.(*Reader).ReadLine(0xc4254b56e0, 0xc422610d00, 0x0, 0x0, 0x72)
        /usr/local/Cellar/go/1.10/libexec/src/net/textproto/reader.go:36 +0x2b
net/http.readRequest(0xc42665a0c0, 0x0, 0xc422610d00, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/request.go:929 +0x8c
net/http.(*conn).readRequest(0xc426278000, 0x984ac0, 0xc4243b0080, 0x0, 0x0, 0x0)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:944 +0x16f
net/http.(*conn).serve(0xc426278000, 0x984ac0, 0xc4243b0080)
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:1768 +0x4dc
created by net/http.(*Server).Serve
        /usr/local/Cellar/go/1.10/libexec/src/net/http/server.go:2795 +0x27b

rax    0xca
rbx    0xbf1a20
rcx    0x457ac3
rdx    0x0
rdi    0xbf1b68
rsi    0x0
rbp    0x7ffc0f357140
rsp    0x7ffc0f3570f8
r8     0x0
r9     0x0
r10    0x0
r11    0x286
r12    0xc4284140f8
r13    0x41
r14    0x40
r15    0x400
rip    0x457ac1
rflags 0x286
cs     0x33
fs     0x0
gs     0x0
benwh commented 5 years ago

Is this still valid, given the rewrite?

lawrencejones commented 5 years ago

I don't think so- let's close