Skip to content

Instantly share code, notes, and snippets.

@pciet
Last active November 18, 2017 20:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pciet/8c2b29c07fd548254b1bc3b02984a0ba to your computer and use it in GitHub Desktop.
Save pciet/8c2b29c07fd548254b1bc3b02984a0ba to your computer and use it in GitHub Desktop.
go1.9.2 darwin/amd64 golang/go#22781 6 client
runtime: nelems=256 nalloc=226 previous allocCount=225 nfreed=65535
fatal error: sweep increased allocation count
runtime stack:
runtime.throw(0x143954b, 0x20)
/usr/local/go/src/runtime/panic.go:605 +0x95 fp=0x700001700cf0 sp=0x700001700cd0 pc=0x102be55
runtime.(*mspan).sweep(0x1c073b8, 0x1c07301, 0x0)
/usr/local/go/src/runtime/mgcsweep.go:298 +0x911 fp=0x700001700dc0 sp=0x700001700cf0 pc=0x1021551
runtime.(*mcentral).cacheSpan(0x1661a90, 0x1c11008)
/usr/local/go/src/runtime/mcentral.go:58 +0x2cd fp=0x700001700e08 sp=0x700001700dc0 pc=0x101671d
runtime.(*mcache).refill(0x18766c8, 0xc42059c406, 0x1c11008)
/usr/local/go/src/runtime/mcache.go:123 +0xa4 fp=0x700001700e38 sp=0x700001700e08 pc=0x10162e4
runtime.(*mcache).nextFree.func1()
/usr/local/go/src/runtime/malloc.go:557 +0x32 fp=0x700001700e60 sp=0x700001700e38 pc=0x1053592
runtime.systemstack(0xc420020000)
/usr/local/go/src/runtime/asm_amd64.s:344 +0x79 fp=0x700001700e68 sp=0x700001700e60 pc=0x10563a9
runtime.mstart()
/usr/local/go/src/runtime/proc.go:1135 fp=0x700001700e70 sp=0x700001700e68 pc=0x1030650
goroutine 191 [running]:
runtime.systemstack_switch()
/usr/local/go/src/runtime/asm_amd64.s:298 fp=0xc420497798 sp=0xc420497790 pc=0x1056320
runtime.(*mcache).nextFree(0x18766c8, 0x6, 0x0, 0x0, 0xc4200881d8)
/usr/local/go/src/runtime/malloc.go:556 +0xa9 fp=0xc4204977f0 sp=0xc420497798 pc=0x1011fd9
runtime.mallocgc(0x20, 0x13df0a0, 0xc420497901, 0xc420497970)
/usr/local/go/src/runtime/malloc.go:711 +0x6f0 fp=0xc420497898 sp=0xc4204977f0 pc=0x10128a0
runtime.newobject(0x13df0a0, 0xc42006e240)
/usr/local/go/src/runtime/malloc.go:840 +0x38 fp=0xc4204978c8 sp=0xc420497898 pc=0x1012be8
github.com/pciet/wichess/wichessing.TruncatedAbsPathsForKind(0x2, 0x600, 0x0, 0xc420497fa0)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/path.go:21 +0x26a fp=0xc420497a38 sp=0xc4204978c8 pc=0x10dc67a
github.com/pciet/wichess/wichessing.Board.MovesFromPoint(0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0xc4202f54a0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_moves.go:214 +0x3a1 fp=0xc420498210 sp=0xc420497a38 pc=0x10d7431
github.com/pciet/wichess/wichessing.Board.Move(0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0xc4202f54a0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_move.go:126 +0xdf4 fp=0xc420499480 sp=0xc420498210 pc=0x10d37c4
github.com/pciet/wichess/wichessing.Board.AfterMove(0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0xc420307020, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_move.go:10 +0x141 fp=0xc42049a0f0 sp=0xc420499480 pc=0x10d28e1
github.com/pciet/wichess/wichessing.Board.Check(0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0xc420307020, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_check.go:47 +0x267 fp=0xc42049adf8 sp=0xc42049a0f0 pc=0x10d1a67
github.com/pciet/wichess/wichessing.Board.Draw(0x0, 0x0, 0x0, 0x1, 0x0, 0x2, 0xc4203e3d40, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_draw.go:17 +0x378 fp=0xc42049bc20 sp=0xc42049adf8 pc=0x10d1f28
main.game.move(0x2, 0x20, 0x1, 0xc4203478e1, 0x7, 0x0, 0xbe7c42415fada18a, 0x26fe3c4292, 0x1658600, 0x107047bdb2, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_moving.go:128 +0xccc fp=0xc42049dc80 sp=0xc42049bc20 pc=0x1341afc
main.moveRequestHandler(0x161d4a0, 0xc42041a0e0, 0xc42012c700)
/Users/aftermatt/Code/src/github.com/pciet/wichess/web_move.go:104 +0xbf5 fp=0xc42049fcb0 sp=0xc42049dc80 pc=0x13501b5
net/http.HandlerFunc.ServeHTTP(0x1448808, 0x161d4a0, 0xc42041a0e0, 0xc42012c700)
/usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc42049fcd8 sp=0xc42049fcb0 pc=0x12bf724
net/http.(*ServeMux).ServeHTTP(0x16580c0, 0x161d4a0, 0xc42041a0e0, 0xc42012c700)
/usr/local/go/src/net/http/server.go:2254 +0x130 fp=0xc42049fd18 sp=0xc42049fcd8 pc=0x12c0ee0
net/http.serverHandler.ServeHTTP(0xc420074f70, 0x161d4a0, 0xc42041a0e0, 0xc42012c700)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc42049fd48 sp=0xc42049fd18 pc=0x12c2454
net/http.(*conn).serve(0xc420088460, 0x161dae0, 0xc420058880)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc42049ffc8 sp=0xc42049fd48 pc=0x12be5fd
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42049ffd0 sp=0xc42049ffc8 pc=0x1058f11
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288
goroutine 1 [IO wait]:
runtime.gopark(0x1448f38, 0x1c04ed8, 0x142c138, 0x7, 0x1b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42003db28 sp=0xc42003daf8 pc=0x102d9fc
runtime.netpollblock(0x1c04eb0, 0x72, 0x101354d)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc42003db70 sp=0xc42003db28 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04eb0, 0x72, 0xffffffffffffffff)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc42003db98 sp=0xc42003db70 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc420138118, 0x72, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc42003dbd0 sp=0xc42003db98 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc420138118, 0xffffffffffffff00, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc42003dc08 sp=0xc42003dbd0 pc=0x109808d
internal/poll.(*FD).Accept(0xc420138100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:335 +0x1e2 fp=0xc42003dc70 sp=0xc42003dc08 pc=0x109a4e2
net.(*netFD).accept(0xc420138100, 0x1013619, 0xc420522300, 0x13af9a0)
/usr/local/go/src/net/fd_unix.go:238 +0x42 fp=0xc42003dd48 sp=0xc42003dc70 pc=0x11a6302
net.(*TCPListener).accept(0xc420082058, 0x13af9a0, 0xc42003ddb8, 0x1002367)
/usr/local/go/src/net/tcpsock_posix.go:136 +0x2e fp=0xc42003dd78 sp=0xc42003dd48 pc=0x11bfece
net.(*TCPListener).AcceptTCP(0xc420082058, 0xc42003de00, 0xc42003de08, 0xc42003ddf8)
/usr/local/go/src/net/tcpsock.go:234 +0x49 fp=0xc42003ddc0 sp=0xc42003dd78 pc=0x11be309
net/http.tcpKeepAliveListener.Accept(0xc420082058, 0x14489f0, 0xc420522280, 0x161dba0, 0xc42006fdd0)
/usr/local/go/src/net/http/server.go:3120 +0x2f fp=0xc42003ddf8 sp=0xc42003ddc0 pc=0x12c3b3f
net/http.(*Server).Serve(0xc420074f70, 0x161d660, 0xc420082058, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2695 +0x1b2 fp=0xc42003deb0 sp=0xc42003ddf8 pc=0x12c27e2
net/http.(*Server).ListenAndServe(0xc420074f70, 0xc420074f70, 0x1619c60)
/usr/local/go/src/net/http/server.go:2636 +0xa9 fp=0xc42003df00 sp=0xc42003deb0 pc=0x12c2529
net/http.ListenAndServe(0x142a5c1, 0x5, 0x0, 0x0, 0x1619c60, 0xc42006fcb0)
/usr/local/go/src/net/http/server.go:2882 +0x7f fp=0xc42003df30 sp=0xc42003df00 pc=0x12c36bf
main.main()
/Users/aftermatt/Code/src/github.com/pciet/wichess/main.go:58 +0x552 fp=0xc42003df80 sp=0xc42003df30 pc=0x1346052
runtime.main()
/usr/local/go/src/runtime/proc.go:195 +0x226 fp=0xc42003dfe0 sp=0xc42003df80 pc=0x102d546
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42003dfe8 sp=0xc42003dfe0 pc=0x1058f11
goroutine 2 [force gc (idle), 2 minutes]:
runtime.gopark(0x1448f68, 0x1657ea0, 0x1430745, 0xf, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42002a768 sp=0xc42002a738 pc=0x102d9fc
runtime.goparkunlock(0x1657ea0, 0x1430745, 0xf, 0xc420000114, 0x1)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc42002a7a8 sp=0xc42002a768 pc=0x102daee
runtime.forcegchelper()
/usr/local/go/src/runtime/proc.go:245 +0xcc fp=0xc42002a7e0 sp=0xc42002a7a8 pc=0x102d81c
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42002a7e8 sp=0xc42002a7e0 pc=0x1058f11
created by runtime.init.4
/usr/local/go/src/runtime/proc.go:234 +0x35
goroutine 3 [runnable]:
runtime.gopark(0x1448f68, 0x1657fa0, 0x142f61a, 0xd, 0x1054414, 0x1)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42002af60 sp=0xc42002af30 pc=0x102d9fc
runtime.goparkunlock(0x1657fa0, 0x142f61a, 0xd, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc42002afa0 sp=0xc42002af60 pc=0x102daee
runtime.bgsweep(0xc42005a000)
/usr/local/go/src/runtime/mgcsweep.go:71 +0x134 fp=0xc42002afd8 sp=0xc42002afa0 pc=0x10206d4
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42002afe0 sp=0xc42002afd8 pc=0x1058f11
created by runtime.gcenable
/usr/local/go/src/runtime/mgc.go:216 +0x58
goroutine 18 [finalizer wait, 2 minutes]:
runtime.gopark(0x1448f68, 0x1677d68, 0x142ffdc, 0xe, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420026700 sp=0xc4200266d0 pc=0x102d9fc
runtime.goparkunlock(0x1677d68, 0x142ffdc, 0xe, 0x14, 0x1)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420026740 sp=0xc420026700 pc=0x102daee
runtime.runfinq()
/usr/local/go/src/runtime/mfinal.go:175 +0xb8 fp=0xc4200267e0 sp=0xc420026740 pc=0x1017428
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4200267e8 sp=0xc4200267e0 pc=0x1058f11
created by runtime.createfing
/usr/local/go/src/runtime/mfinal.go:156 +0x62
goroutine 19 [chan receive, 2 minutes]:
runtime.gopark(0x1448f68, 0xc420066178, 0x142f18e, 0xc, 0xc420020e17, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420026e88 sp=0xc420026e58 pc=0x102d9fc
runtime.goparkunlock(0xc420066178, 0x142f18e, 0xc, 0x17, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420026ec8 sp=0xc420026e88 pc=0x102daee
runtime.chanrecv(0xc420066120, 0xc420026fc0, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420026f78 sp=0xc420026ec8 pc=0x1006864
runtime.chanrecv2(0xc420066120, 0xc420026fc0, 0x0)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc420026fa8 sp=0xc420026f78 pc=0x100654b
database/sql.(*DB).connectionOpener(0xc420089400)
/usr/local/go/src/database/sql/sql.go:871 +0x53 fp=0xc420026fd8 sp=0xc420026fa8 pc=0x10f5953
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420026fe0 sp=0xc420026fd8 pc=0x1058f11
created by database/sql.Open
/usr/local/go/src/database/sql/sql.go:609 +0x1ee
goroutine 21 [runnable]:
runtime.mapiternext(0xc42059c3f8)
/usr/local/go/src/runtime/hashmap.go:771 +0x6f8 fp=0xc42059bab8 sp=0xc42059bab0 pc=0x100b9d8
github.com/pciet/wichess/wichessing.Board.Move(0xc4202f5050, 0x0, 0x0, 0x1, 0xc4202f5080, 0x2, 0xc4202f50b0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_move.go:68 +0x462 fp=0xc42059cd28 sp=0xc42059bab8 pc=0x10d2e32
github.com/pciet/wichess/wichessing.Board.AfterMove(0xc420222f30, 0x0, 0x0, 0x1, 0xc420222f90, 0x2, 0xc420222fc0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_move.go:10 +0x141 fp=0xc42059d998 sp=0xc42059cd28 pc=0x10d28e1
github.com/pciet/wichess/wichessing.Board.Check(0xc420222f30, 0x0, 0x0, 0x1, 0xc420222f90, 0x2, 0xc420222fc0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_check.go:47 +0x267 fp=0xc42059e6a0 sp=0xc42059d998 pc=0x10d1a67
github.com/pciet/wichess/wichessing.Board.Moves(0xc420382000, 0x0, 0xc420382038, 0x1, 0xc420382070, 0x2, 0xc4203820a8, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_moves.go:50 +0x4f8 fp=0xc4205a0778 sp=0xc42059e6a0 pc=0x10d5438
main.game.moves(0x4, 0x1a, 0x1, 0xc4204edac1, 0x7, 0x0, 0x17803858, 0xed1a28884, 0xc42010baa0, 0x4cb42adaf, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_moving.go:266 +0x719 fp=0xc4205a1e88 sp=0xc4205a0778 pc=0x1343119
main.movesHandler(0x161d4a0, 0xc4204aa460, 0xc42012ca00)
/Users/aftermatt/Code/src/github.com/pciet/wichess/web_moves.go:55 +0x31c fp=0xc4205a3cb0 sp=0xc4205a1e88 pc=0x135104c
net/http.HandlerFunc.ServeHTTP(0x1448810, 0x161d4a0, 0xc4204aa460, 0xc42012ca00)
/usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc4205a3cd8 sp=0xc4205a3cb0 pc=0x12bf724
net/http.(*ServeMux).ServeHTTP(0x16580c0, 0x161d4a0, 0xc4204aa460, 0xc42012ca00)
/usr/local/go/src/net/http/server.go:2254 +0x130 fp=0xc4205a3d18 sp=0xc4205a3cd8 pc=0x12c0ee0
net/http.serverHandler.ServeHTTP(0xc420074f70, 0x161d4a0, 0xc4204aa460, 0xc42012ca00)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc4205a3d48 sp=0xc4205a3d18 pc=0x12c2454
net/http.(*conn).serve(0xc4200895e0, 0x161dae0, 0xc42007c240)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc4205a3fc8 sp=0xc4205a3d48 pc=0x12be5fd
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4205a3fd0 sp=0xc4205a3fc8 pc=0x1058f11
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288
goroutine 87 [GC worker (idle)]:
runtime.gopark(0x1448df8, 0xc42044ed80, 0x1430c58, 0x10, 0x14, 0x0)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420028748 sp=0xc420028718 pc=0x102d9fc
runtime.gcBgMarkWorker(0xc420021300)
/usr/local/go/src/runtime/mgc.go:1710 +0x143 fp=0xc4200287d8 sp=0xc420028748 pc=0x101afb3
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4200287e0 sp=0xc4200287d8 pc=0x1058f11
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1658 +0x7e
goroutine 628 [chan receive]:
runtime.gopark(0x1448f68, 0xc4201ce718, 0x142f18e, 0xc, 0xc420351017, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420506e38 sp=0xc420506e08 pc=0x102d9fc
runtime.goparkunlock(0xc4201ce718, 0x142f18e, 0xc, 0xc420351017, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420506e78 sp=0xc420506e38 pc=0x102daee
runtime.chanrecv(0xc4201ce6c0, 0xc420506f90, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420506f28 sp=0xc420506e78 pc=0x1006864
runtime.chanrecv2(0xc4201ce6c0, 0xc420506f90, 0xc42041ecc0)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc420506f58 sp=0xc420506f28 pc=0x100654b
main.listeningToGame.func3(0x3, 0xc420078125, 0x7, 0xc4202ade30, 0x7, 0xc4201ce6c0, 0xc42008cdc0)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:166 +0x42 fp=0xc420506fa8 sp=0xc420506f58 pc=0x13534f2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420506fb0 sp=0xc420506fa8 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:164 +0x184
goroutine 86 [GC worker (idle)]:
runtime.gopark(0x1448df8, 0xc42044ed70, 0x1430c58, 0x10, 0x14, 0x0)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420029f48 sp=0xc420029f18 pc=0x102d9fc
runtime.gcBgMarkWorker(0xc420020000)
/usr/local/go/src/runtime/mgc.go:1710 +0x143 fp=0xc420029fd8 sp=0xc420029f48 pc=0x101afb3
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420029fe0 sp=0xc420029fd8 pc=0x1058f11
created by runtime.gcBgMarkStartWorkers
/usr/local/go/src/runtime/mgc.go:1658 +0x7e
goroutine 14 [semacquire]:
runtime.gopark(0x1448f68, 0x1666cc0, 0x142e622, 0xa, 0xc42005c319, 0x4)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42021dd20 sp=0xc42021dcf0 pc=0x102d9fc
runtime.goparkunlock(0x1666cc0, 0x142e622, 0xa, 0xc42021dd19, 0x4)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc42021dd60 sp=0xc42021dd20 pc=0x102daee
runtime.semacquire1(0xc420096264, 0x103fe00, 0x3)
/usr/local/go/src/runtime/sema.go:144 +0x1d4 fp=0xc42021ddd0 sp=0xc42021dd60 pc=0x103e1d4
sync.runtime_SemacquireMutex(0xc420096264, 0x1347800)
/usr/local/go/src/runtime/sema.go:71 +0x3d fp=0xc42021ddf8 sp=0xc42021ddd0 pc=0x103deed
sync.(*Mutex).Lock(0xc420096260)
/usr/local/go/src/sync/mutex.go:134 +0xee fp=0xc42021de30 sp=0xc42021ddf8 pc=0x1060eae
sync.(*RWMutex).Lock(0xc420096260)
/usr/local/go/src/sync/rwmutex.go:93 +0x2d fp=0xc42021de48 sp=0xc42021de30 pc=0x1061ead
main.lockGame(0x3)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_lock.go:39 +0x8b fp=0xc42021de88 sp=0xc42021de48 pc=0x1340c2b
main.movesHandler(0x161d4a0, 0xc4204aa000, 0xc42012c200)
/Users/aftermatt/Code/src/github.com/pciet/wichess/web_moves.go:48 +0x1da fp=0xc42021fcb0 sp=0xc42021de88 pc=0x1350f0a
net/http.HandlerFunc.ServeHTTP(0x1448810, 0x161d4a0, 0xc4204aa000, 0xc42012c200)
/usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc42021fcd8 sp=0xc42021fcb0 pc=0x12bf724
net/http.(*ServeMux).ServeHTTP(0x16580c0, 0x161d4a0, 0xc4204aa000, 0xc42012c200)
/usr/local/go/src/net/http/server.go:2254 +0x130 fp=0xc42021fd18 sp=0xc42021fcd8 pc=0x12c0ee0
net/http.serverHandler.ServeHTTP(0xc420074f70, 0x161d4a0, 0xc4204aa000, 0xc42012c200)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc42021fd48 sp=0xc42021fd18 pc=0x12c2454
net/http.(*conn).serve(0xc4201d4280, 0x161dae0, 0xc420058640)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc42021ffc8 sp=0xc42021fd48 pc=0x12be5fd
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42021ffd0 sp=0xc42021ffc8 pc=0x1058f11
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288
goroutine 37 [semacquire]:
runtime.gopark(0x1448f68, 0x1666dc0, 0x142e622, 0xa, 0xc42014f219, 0x4)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420219b18 sp=0xc420219ae8 pc=0x102d9fc
runtime.goparkunlock(0x1666dc0, 0x142e622, 0xa, 0xc420219b19, 0x4)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420219b58 sp=0xc420219b18 pc=0x102daee
runtime.semacquire1(0xc420096284, 0x103fe00, 0x3)
/usr/local/go/src/runtime/sema.go:144 +0x1d4 fp=0xc420219bc8 sp=0xc420219b58 pc=0x103e1d4
sync.runtime_SemacquireMutex(0xc420096284, 0x1347800)
/usr/local/go/src/runtime/sema.go:71 +0x3d fp=0xc420219bf0 sp=0xc420219bc8 pc=0x103deed
sync.(*Mutex).Lock(0xc420096280)
/usr/local/go/src/sync/mutex.go:134 +0xee fp=0xc420219c28 sp=0xc420219bf0 pc=0x1060eae
sync.(*RWMutex).Lock(0xc420096280)
/usr/local/go/src/sync/rwmutex.go:93 +0x2d fp=0xc420219c40 sp=0xc420219c28 pc=0x1061ead
main.lockGame(0x4)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_lock.go:39 +0x8b fp=0xc420219c80 sp=0xc420219c40 pc=0x1340c2b
main.moveRequestHandler(0x161d4a0, 0xc4204aa1c0, 0xc42012cb00)
/Users/aftermatt/Code/src/github.com/pciet/wichess/web_move.go:83 +0x2dd fp=0xc42021bcb0 sp=0xc420219c80 pc=0x134f89d
net/http.HandlerFunc.ServeHTTP(0x1448808, 0x161d4a0, 0xc4204aa1c0, 0xc42012cb00)
/usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc42021bcd8 sp=0xc42021bcb0 pc=0x12bf724
net/http.(*ServeMux).ServeHTTP(0x16580c0, 0x161d4a0, 0xc4204aa1c0, 0xc42012cb00)
/usr/local/go/src/net/http/server.go:2254 +0x130 fp=0xc42021bd18 sp=0xc42021bcd8 pc=0x12c0ee0
net/http.serverHandler.ServeHTTP(0xc420074f70, 0x161d4a0, 0xc4204aa1c0, 0xc42012cb00)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc42021bd48 sp=0xc42021bd18 pc=0x12c2454
net/http.(*conn).serve(0xc4200899a0, 0x161dae0, 0xc42007ca40)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc42021bfc8 sp=0xc42021bd48 pc=0x12be5fd
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42021bfd0 sp=0xc42021bfc8 pc=0x1058f11
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288
goroutine 6636 [chan receive]:
runtime.gopark(0x1448f68, 0xc4200668f8, 0x142f18e, 0xc, 0xc4205dd017, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42003be38 sp=0xc42003be08 pc=0x102d9fc
runtime.goparkunlock(0xc4200668f8, 0x142f18e, 0xc, 0xc4205dd017, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc42003be78 sp=0xc42003be38 pc=0x102daee
runtime.chanrecv(0xc4200668a0, 0xc42003bf90, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc42003bf28 sp=0xc42003be78 pc=0x1006864
runtime.chanrecv2(0xc4200668a0, 0xc42003bf90, 0xc42056eb10)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc42003bf58 sp=0xc42003bf28 pc=0x100654b
main.listeningToGame.func3(0x4, 0xc420078455, 0x7, 0xc4202307f0, 0x7, 0xc4200668a0, 0xc42033fa40)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:166 +0x42 fp=0xc42003bfa8 sp=0xc42003bf58 pc=0x13534f2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42003bfb0 sp=0xc42003bfa8 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:164 +0x184
goroutine 48 [syscall]:
runtime.notetsleepg(0x1658520, 0xb93588f1bc, 0x0)
/usr/local/go/src/runtime/lock_sema.go:280 +0x4b fp=0xc42016c760 sp=0xc42016c720 pc=0x101169b
runtime.timerproc()
/usr/local/go/src/runtime/time.go:216 +0x305 fp=0xc42016c7e0 sp=0xc42016c760 pc=0x104abc5
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42016c7e8 sp=0xc42016c7e0 pc=0x1058f11
created by runtime.addtimerLocked
/usr/local/go/src/runtime/time.go:122 +0xed
goroutine 192 [runnable]:
runtime.gopark(0x1448f38, 0x1c04f98, 0x142c138, 0x7, 0xc42002131b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42054d2a8 sp=0xc42054d278 pc=0x102d9fc
runtime.netpollblock(0x1c04f70, 0x72, 0x1000)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc42054d2f0 sp=0xc42054d2a8 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04f70, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc42054d318 sp=0xc42054d2f0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc420138098, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc42054d350 sp=0xc42054d318 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc420138098, 0xc420131000, 0x1000, 0x1000)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc42054d388 sp=0xc42054d350 pc=0x109808d
internal/poll.(*FD).Read(0xc420138080, 0xc420131000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc42054d3d8 sp=0xc42054d388 pc=0x1098e2a
net.(*netFD).Read(0xc420138080, 0xc420131000, 0x1000, 0x1000, 0x30, 0x30, 0xc42054d500)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc42054d440 sp=0xc42054d3d8 pc=0x11a58e2
net.(*conn).Read(0xc420082048, 0xc420131000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc42054d4a8 sp=0xc42054d440 pc=0x11b6ced
bufio.(*Reader).Read(0xc42010a1e0, 0xc42009aa20, 0x5, 0x200, 0xc420138080, 0xc42009aa20, 0x5)
/usr/local/go/src/bufio/bufio.go:213 +0x30b fp=0xc42054d540 sp=0xc42054d4a8 pc=0x1128e7b
io.ReadAtLeast(0x1617b20, 0xc42010a1e0, 0xc42009aa20, 0x5, 0x200, 0x5, 0x10126a6, 0xc420228620, 0x20)
/usr/local/go/src/io/io.go:309 +0x86 fp=0xc42054d5a0 sp=0xc42054d540 pc=0x1062716
io.ReadFull(0x1617b20, 0xc42010a1e0, 0xc42009aa20, 0x5, 0x200, 0x1c073b8, 0x0, 0x10134b6)
/usr/local/go/src/io/io.go:327 +0x58 fp=0xc42054d5f8 sp=0xc42054d5a0 pc=0x1062888
github.com/lib/pq.(*conn).recvMessage(0xc42009aa00, 0xc420228620, 0x1399700, 0x122bc01, 0x1677e68)
/Users/aftermatt/Code/src/github.com/lib/pq/conn.go:723 +0x14e fp=0xc42054d678 sp=0xc42054d5f8 pc=0x122c02e
github.com/lib/pq.(*conn).recv1Buf(0xc42009aa00, 0xc420228620, 0x0)
/Users/aftermatt/Code/src/github.com/lib/pq/conn.go:773 +0x39 fp=0xc42054d6b0 sp=0xc42054d678 pc=0x122c319
github.com/lib/pq.(*conn).recv1(0xc42009aa00, 0xc42054d880, 0x4)
/Users/aftermatt/Code/src/github.com/lib/pq/conn.go:794 +0x85 fp=0xc42054d6e0 sp=0xc42054d6b0 pc=0x122c415
github.com/lib/pq.(*stmt).exec(0xc420212070, 0xc420211b20, 0x1, 0x1)
/Users/aftermatt/Code/src/github.com/lib/pq/conn.go:1155 +0xa1c fp=0xc42054d8c8 sp=0xc42054d6e0 pc=0x122ff6c
github.com/lib/pq.(*conn).Query(0xc42009aa00, 0x143bc90, 0x26, 0xc420211b20, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
/Users/aftermatt/Code/src/github.com/lib/pq/conn.go:638 +0x198 fp=0xc42054d928 sp=0xc42054d8c8 pc=0x122b878
database/sql.ctxDriverQuery(0x161db20, 0xc42007a1d8, 0x1c09160, 0xc42009aa00, 0x143bc90, 0x26, 0xc4202bd110, 0x1, 0x1, 0x102a729, ...)
/usr/local/go/src/database/sql/ctxutil.go:61 +0x19c fp=0xc42054d9b0 sp=0xc42054d928 pc=0x10f22dc
database/sql.(*DB).queryDC.func1()
/usr/local/go/src/database/sql/sql.go:1320 +0x99 fp=0xc42054da48 sp=0xc42054d9b0 pc=0x1100e89
database/sql.withLock(0x161b1e0, 0xc4201340e0, 0xc42054db90)
/usr/local/go/src/database/sql/sql.go:2867 +0x65 fp=0xc42054da70 sp=0xc42054da48 pc=0x11004f5
database/sql.(*DB).queryDC(0xc420089400, 0x161db20, 0xc42007a1d8, 0x0, 0x0, 0xc4201340e0, 0xc420211b10, 0x143bc90, 0x26, 0xc42054de68, ...)
/usr/local/go/src/database/sql/sql.go:1319 +0x6ba fp=0xc42054dc00 sp=0xc42054da70 pc=0x10f916a
database/sql.(*DB).query(0xc420089400, 0x161db20, 0xc42007a1d8, 0x143bc90, 0x26, 0xc42054de68, 0x1, 0x1, 0xc42054dd01, 0x102b0c6, ...)
/usr/local/go/src/database/sql/sql.go:1304 +0x147 fp=0xc42054dc98 sp=0xc42054dc00 pc=0x10f8a07
database/sql.(*DB).QueryContext(0xc420089400, 0x161db20, 0xc42007a1d8, 0x143bc90, 0x26, 0xc42054de68, 0x1, 0x1, 0x10536b0, 0xc42007ea80, ...)
/usr/local/go/src/database/sql/sql.go:1281 +0xd2 fp=0xc42054dd28 sp=0xc42054dc98 pc=0x10f8662
database/sql.(*DB).QueryRowContext(0xc420089400, 0x161db20, 0xc42007a1d8, 0x143bc90, 0x26, 0xc42054de68, 0x1, 0x1, 0xc420211b00)
/usr/local/go/src/database/sql/sql.go:1376 +0x90 fp=0xc42054ddb0 sp=0xc42054dd28 pc=0x10f9450
database/sql.(*DB).QueryRow(0xc420089400, 0x143bc90, 0x26, 0xc42054de68, 0x1, 0x1, 0xc420395c00)
/usr/local/go/src/database/sql/sql.go:1387 +0x7c fp=0xc42054de08 sp=0xc42054ddb0 pc=0x10f959c
main.DB.playersCompetitive15HourGameID(0xc420089400, 0xc4203dc035, 0x7, 0x0)
/Users/aftermatt/Code/src/github.com/pciet/wichess/player.go:28 +0xd7 fp=0xc42054de88 sp=0xc42054de08 pc=0x13477b7
main.movesHandler(0x161d4a0, 0xc4204aa2a0, 0xc42012c600)
/Users/aftermatt/Code/src/github.com/pciet/wichess/web_moves.go:43 +0x4bd fp=0xc42054fcb0 sp=0xc42054de88 pc=0x13511ed
net/http.HandlerFunc.ServeHTTP(0x1448810, 0x161d4a0, 0xc4204aa2a0, 0xc42012c600)
/usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc42054fcd8 sp=0xc42054fcb0 pc=0x12bf724
net/http.(*ServeMux).ServeHTTP(0x16580c0, 0x161d4a0, 0xc4204aa2a0, 0xc42012c600)
/usr/local/go/src/net/http/server.go:2254 +0x130 fp=0xc42054fd18 sp=0xc42054fcd8 pc=0x12c0ee0
net/http.serverHandler.ServeHTTP(0xc420074f70, 0x161d4a0, 0xc4204aa2a0, 0xc42012c600)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc42054fd48 sp=0xc42054fd18 pc=0x12c2454
net/http.(*conn).serve(0xc420088500, 0x161dae0, 0xc4200583c0)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc42054ffc8 sp=0xc42054fd48 pc=0x12be5fd
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42054ffd0 sp=0xc42054ffc8 pc=0x1058f11
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288
goroutine 523 [semacquire]:
runtime.gopark(0x1448f68, 0x1666cc0, 0x142e622, 0xa, 0xc420292619, 0x4)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420551d20 sp=0xc420551cf0 pc=0x102d9fc
runtime.goparkunlock(0x1666cc0, 0x142e622, 0xa, 0xc420551d19, 0x4)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420551d60 sp=0xc420551d20 pc=0x102daee
runtime.semacquire1(0xc420096264, 0x103fe00, 0x3)
/usr/local/go/src/runtime/sema.go:144 +0x1d4 fp=0xc420551dd0 sp=0xc420551d60 pc=0x103e1d4
sync.runtime_SemacquireMutex(0xc420096264, 0x1347800)
/usr/local/go/src/runtime/sema.go:71 +0x3d fp=0xc420551df8 sp=0xc420551dd0 pc=0x103deed
sync.(*Mutex).Lock(0xc420096260)
/usr/local/go/src/sync/mutex.go:134 +0xee fp=0xc420551e30 sp=0xc420551df8 pc=0x1060eae
sync.(*RWMutex).Lock(0xc420096260)
/usr/local/go/src/sync/rwmutex.go:93 +0x2d fp=0xc420551e48 sp=0xc420551e30 pc=0x1061ead
main.lockGame(0x3)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_lock.go:39 +0x8b fp=0xc420551e88 sp=0xc420551e48 pc=0x1340c2b
main.movesHandler(0x161d4a0, 0xc4204aa0e0, 0xc42012c100)
/Users/aftermatt/Code/src/github.com/pciet/wichess/web_moves.go:48 +0x1da fp=0xc420553cb0 sp=0xc420551e88 pc=0x1350f0a
net/http.HandlerFunc.ServeHTTP(0x1448810, 0x161d4a0, 0xc4204aa0e0, 0xc42012c100)
/usr/local/go/src/net/http/server.go:1918 +0x44 fp=0xc420553cd8 sp=0xc420553cb0 pc=0x12bf724
net/http.(*ServeMux).ServeHTTP(0x16580c0, 0x161d4a0, 0xc4204aa0e0, 0xc42012c100)
/usr/local/go/src/net/http/server.go:2254 +0x130 fp=0xc420553d18 sp=0xc420553cd8 pc=0x12c0ee0
net/http.serverHandler.ServeHTTP(0xc420074f70, 0x161d4a0, 0xc4204aa0e0, 0xc42012c100)
/usr/local/go/src/net/http/server.go:2619 +0xb4 fp=0xc420553d48 sp=0xc420553d18 pc=0x12c2454
net/http.(*conn).serve(0xc42044a820, 0x161dae0, 0xc42007cf80)
/usr/local/go/src/net/http/server.go:1801 +0x71d fp=0xc420553fc8 sp=0xc420553d48 pc=0x12be5fd
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420553fd0 sp=0xc420553fc8 pc=0x1058f11
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:2720 +0x288
goroutine 580 [semacquire]:
runtime.gopark(0x1448f68, 0x16671c0, 0x142e622, 0xa, 0xc42005ca19, 0x4)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc4203c3838 sp=0xc4203c3808 pc=0x102d9fc
runtime.goparkunlock(0x16671c0, 0x142e622, 0xa, 0xc4201f4119, 0x4)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc4203c3878 sp=0xc4203c3838 pc=0x102daee
runtime.semacquire1(0xc420096304, 0x103fe00, 0x3)
/usr/local/go/src/runtime/sema.go:144 +0x1d4 fp=0xc4203c38e8 sp=0xc4203c3878 pc=0x103e1d4
sync.runtime_SemacquireMutex(0xc420096304, 0x0)
/usr/local/go/src/runtime/sema.go:71 +0x3d fp=0xc4203c3910 sp=0xc4203c38e8 pc=0x103deed
sync.(*Mutex).Lock(0xc420096300)
/usr/local/go/src/sync/mutex.go:134 +0xee fp=0xc4203c3948 sp=0xc4203c3910 pc=0x1060eae
sync.(*RWMutex).Lock(0xc420096300)
/usr/local/go/src/sync/rwmutex.go:93 +0x2d fp=0xc4203c3960 sp=0xc4203c3948 pc=0x1061ead
main.lockGame(0x2)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_lock.go:39 +0x8b fp=0xc4203c39a0 sp=0xc4203c3960 pc=0x1340c2b
main.listeningToGame.func2(0xc4203dc0c5, 0x7, 0xc4200662a0, 0xc420066300, 0x2, 0xd18c2e2800, 0x16a3af50, 0xed1a287f9, 0xc42010a840)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:102 +0x69 fp=0xc4203c5f98 sp=0xc4203c39a0 pc=0x1352d49
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4203c5fa0 sp=0xc4203c5f98 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:100 +0x585
goroutine 581 [chan receive]:
runtime.gopark(0x1448f68, 0xc420066418, 0x142f18e, 0xc, 0xc42045db17, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420507e38 sp=0xc420507e08 pc=0x102d9fc
runtime.goparkunlock(0xc420066418, 0x142f18e, 0xc, 0xc42045db17, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420507e78 sp=0xc420507e38 pc=0x102daee
runtime.chanrecv(0xc4200663c0, 0xc420507f90, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420507f28 sp=0xc420507e78 pc=0x1006864
runtime.chanrecv2(0xc4200663c0, 0xc420507f90, 0xc4203a0ed0)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc420507f58 sp=0xc420507f28 pc=0x100654b
main.listeningToGame.func3(0x2, 0xc4203dc0c5, 0x7, 0xc42037fd90, 0x7, 0xc4200663c0, 0xc42008c8c0)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:166 +0x42 fp=0xc420507fa8 sp=0xc420507f58 pc=0x13534f2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420507fb0 sp=0xc420507fa8 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:164 +0x184
goroutine 584 [chan receive]:
runtime.gopark(0x1448f68, 0xc4200664d8, 0x142f18e, 0xc, 0xc42050e517, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420038e38 sp=0xc420038e08 pc=0x102d9fc
runtime.goparkunlock(0xc4200664d8, 0x142f18e, 0xc, 0xc42050e517, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420038e78 sp=0xc420038e38 pc=0x102daee
runtime.chanrecv(0xc420066480, 0xc420038f90, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420038f28 sp=0xc420038e78 pc=0x1006864
runtime.chanrecv2(0xc420066480, 0xc420038f90, 0xc4203ccde0)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc420038f58 sp=0xc420038f28 pc=0x100654b
main.listeningToGame.func3(0x2, 0xc4203dc035, 0x7, 0xc420301620, 0x7, 0xc420066480, 0xc42008ca00)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:166 +0x42 fp=0xc420038fa8 sp=0xc420038f58 pc=0x13534f2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420038fb0 sp=0xc420038fa8 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:164 +0x184
goroutine 624 [runnable]:
runtime.makemap(0x13dc940, 0x0, 0x0, 0x0, 0xc4203971e8)
/usr/local/go/src/runtime/hashmap.go:252 +0x59b fp=0xc4205c3f38 sp=0xc4205c3f30 pc=0x1009d9b
github.com/pciet/wichess/wichessing.Board.SurroundingPoints(0xc420223aa0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_moves.go:704 +0x8c fp=0xc4205c3f90 sp=0xc4205c3f38 pc=0x10da70c
github.com/pciet/wichess/wichessing.Board.Move(0xc420223aa0, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_move.go:68 +0x403 fp=0xc4205c5200 sp=0xc4205c3f90 pc=0x10d2dd3
github.com/pciet/wichess/wichessing.Board.AfterMove(0xc42001d080, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_move.go:10 +0x141 fp=0xc4205c5e70 sp=0xc4205c5200 pc=0x10d28e1
github.com/pciet/wichess/wichessing.Board.Check(0xc42001d080, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_check.go:47 +0x267 fp=0xc4205c6b78 sp=0xc4205c5e70 pc=0x10d1a67
github.com/pciet/wichess/wichessing.Board.Draw(0xc42004c000, 0x0, 0x0, 0x1, 0x0, 0x2, 0x0, 0x3, 0x0, 0x4, ...)
/Users/aftermatt/Code/src/github.com/pciet/wichess/wichessing/board_draw.go:17 +0x378 fp=0xc4205c79a0 sp=0xc4205c6b78 pc=0x10d1f28
main.listeningToGame.func2(0xc42001c185, 0x7, 0xc4201ce420, 0xc4201ce4e0, 0x3, 0xd18c2e2800, 0x1c6220e8, 0xed1a287f9, 0xc42010a840)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:114 +0x223 fp=0xc4205c9f98 sp=0xc4205c79a0 pc=0x1352f03
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4205c9fa0 sp=0xc4205c9f98 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:100 +0x585
goroutine 625 [chan receive]:
runtime.gopark(0x1448f68, 0xc4201ce598, 0x142f18e, 0xc, 0xc420308717, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420505e38 sp=0xc420505e08 pc=0x102d9fc
runtime.goparkunlock(0xc4201ce598, 0x142f18e, 0xc, 0xc420308717, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420505e78 sp=0xc420505e38 pc=0x102daee
runtime.chanrecv(0xc4201ce540, 0xc420505f90, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420505f28 sp=0xc420505e78 pc=0x1006864
runtime.chanrecv2(0xc4201ce540, 0xc420505f90, 0xc4202f7ef0)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc420505f58 sp=0xc420505f28 pc=0x100654b
main.listeningToGame.func3(0x3, 0xc42001c185, 0x7, 0xc420310370, 0x7, 0xc4201ce540, 0xc42008cc80)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:166 +0x42 fp=0xc420505fa8 sp=0xc420505f58 pc=0x13534f2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420505fb0 sp=0xc420505fa8 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:164 +0x184
goroutine 9640 [IO wait]:
runtime.gopark(0x1448f38, 0x1c04698, 0x142c138, 0x7, 0xc42002001b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420400568 sp=0xc420400538 pc=0x102d9fc
runtime.netpollblock(0x1c04670, 0x72, 0x1)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc4204005b0 sp=0xc420400568 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04670, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc4204005d8 sp=0xc4204005b0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc420138218, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc420400610 sp=0xc4204005d8 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc420138218, 0xc4203f9100, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc420400648 sp=0xc420400610 pc=0x109808d
internal/poll.(*FD).Read(0xc420138200, 0xc4203f9151, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc420400698 sp=0xc420400648 pc=0x1098e2a
net.(*netFD).Read(0xc420138200, 0xc4203f9151, 0x1, 0x1, 0xc420066060, 0x20002, 0xc4204007a4)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc420400700 sp=0xc420400698 pc=0x11a58e2
net.(*conn).Read(0xc42000e008, 0xc4203f9151, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc420400768 sp=0xc420400700 pc=0x11b6ced
net/http.(*connReader).backgroundRead(0xc4203f9140)
/usr/local/go/src/net/http/server.go:660 +0x62 fp=0xc4204007d8 sp=0xc420400768 pc=0x12b8de2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4204007e0 sp=0xc4204007d8 pc=0x1058f11
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8
goroutine 9628 [IO wait]:
runtime.gopark(0x1448f38, 0x1c04c98, 0x142c138, 0x7, 0xc42002131b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc4203fed68 sp=0xc4203fed38 pc=0x102d9fc
runtime.netpollblock(0x1c04c70, 0x72, 0x1)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc4203fedb0 sp=0xc4203fed68 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04c70, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc4203fedd8 sp=0xc4203fedb0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc4201c8618, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc4203fee10 sp=0xc4203fedd8 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc4201c8618, 0xc4201ca800, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc4203fee48 sp=0xc4203fee10 pc=0x109808d
internal/poll.(*FD).Read(0xc4201c8600, 0xc4201ca8b1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc4203fee98 sp=0xc4203fee48 pc=0x1098e2a
net.(*netFD).Read(0xc4201c8600, 0xc4201ca8b1, 0x1, 0x1, 0xc4201ce538, 0x10534c0, 0xc4201ce4e0)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc4203fef00 sp=0xc4203fee98 pc=0x11a58e2
net.(*conn).Read(0xc42000e028, 0xc4201ca8b1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc4203fef68 sp=0xc4203fef00 pc=0x11b6ced
net/http.(*connReader).backgroundRead(0xc4201ca8a0)
/usr/local/go/src/net/http/server.go:660 +0x62 fp=0xc4203fefd8 sp=0xc4203fef68 pc=0x12b8de2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4203fefe0 sp=0xc4203fefd8 pc=0x1058f11
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8
goroutine 9652 [IO wait]:
runtime.gopark(0x1448f38, 0x1c048d8, 0x142c138, 0x7, 0xc42002131b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc4203fd568 sp=0xc4203fd538 pc=0x102d9fc
runtime.netpollblock(0x1c048b0, 0x72, 0x1)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc4203fd5b0 sp=0xc4203fd568 pc=0x102897a
internal/poll.runtime_pollWait(0x1c048b0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc4203fd5d8 sp=0xc4203fd5b0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc4201c8198, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc4203fd610 sp=0xc4203fd5d8 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc4201c8198, 0xc42030c100, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc4203fd648 sp=0xc4203fd610 pc=0x109808d
internal/poll.(*FD).Read(0xc4201c8180, 0xc42030c101, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc4203fd698 sp=0xc4203fd648 pc=0x1098e2a
net.(*netFD).Read(0xc4201c8180, 0xc42030c101, 0x1, 0x1, 0xc420066358, 0x10534c0, 0xc420066300)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc4203fd700 sp=0xc4203fd698 pc=0x11a58e2
net.(*conn).Read(0xc420082030, 0xc42030c101, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc4203fd768 sp=0xc4203fd700 pc=0x11b6ced
net/http.(*connReader).backgroundRead(0xc42030c0f0)
/usr/local/go/src/net/http/server.go:660 +0x62 fp=0xc4203fd7d8 sp=0xc4203fd768 pc=0x12b8de2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4203fd7e0 sp=0xc4203fd7d8 pc=0x1058f11
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8
goroutine 9630 [IO wait]:
runtime.gopark(0x1448f38, 0x1c04d58, 0x142c138, 0x7, 0xc42002131b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc4204b6d68 sp=0xc4204b6d38 pc=0x102d9fc
runtime.netpollblock(0x1c04d30, 0x72, 0x1)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc4204b6db0 sp=0xc4204b6d68 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04d30, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc4204b6dd8 sp=0xc4204b6db0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc420138c98, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc4204b6e10 sp=0xc4204b6dd8 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc420138c98, 0xc4201c2400, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc4204b6e48 sp=0xc4204b6e10 pc=0x109808d
internal/poll.(*FD).Read(0xc420138c80, 0xc4201c2431, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc4204b6e98 sp=0xc4204b6e48 pc=0x1098e2a
net.(*netFD).Read(0xc420138c80, 0xc4201c2431, 0x1, 0x1, 0xc42010b1a0, 0x0, 0x1618201)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc4204b6f00 sp=0xc4204b6e98 pc=0x11a58e2
net.(*conn).Read(0xc420082170, 0xc4201c2431, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc4204b6f68 sp=0xc4204b6f00 pc=0x11b6ced
net/http.(*connReader).backgroundRead(0xc4201c2420)
/usr/local/go/src/net/http/server.go:660 +0x62 fp=0xc4204b6fd8 sp=0xc4204b6f68 pc=0x12b8de2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4204b6fe0 sp=0xc4204b6fd8 pc=0x1058f11
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8
goroutine 9617 [IO wait]:
runtime.gopark(0x1448f38, 0x1c04e18, 0x142c138, 0x7, 0xc42002001b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc42002bd68 sp=0xc42002bd38 pc=0x102d9fc
runtime.netpollblock(0x1c04df0, 0x72, 0x1)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc42002bdb0 sp=0xc42002bd68 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04df0, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc42002bdd8 sp=0xc42002bdb0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc420138198, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc42002be10 sp=0xc42002bdd8 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc420138198, 0xc42006fe00, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc42002be48 sp=0xc42002be10 pc=0x109808d
internal/poll.(*FD).Read(0xc420138180, 0xc42006fed1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc42002be98 sp=0xc42002be48 pc=0x1098e2a
net.(*netFD).Read(0xc420138180, 0xc42006fed1, 0x1, 0x1, 0xc420066060, 0x20002, 0xc42002bfa4)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc42002bf00 sp=0xc42002be98 pc=0x11a58e2
net.(*conn).Read(0xc420082068, 0xc42006fed1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc42002bf68 sp=0xc42002bf00 pc=0x11b6ced
net/http.(*connReader).backgroundRead(0xc42006fec0)
/usr/local/go/src/net/http/server.go:660 +0x62 fp=0xc42002bfd8 sp=0xc42002bf68 pc=0x12b8de2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc42002bfe0 sp=0xc42002bfd8 pc=0x1058f11
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8
goroutine 6635 [select]:
runtime.gopark(0x1448fa0, 0x0, 0x142bcaf, 0x6, 0x18, 0x1)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc4203a5728 sp=0xc4203a56f8 pc=0x102d9fc
runtime.selectgo(0xc4203a6be8, 0xc4201f4f00)
/usr/local/go/src/runtime/select.go:395 +0x1149 fp=0xc4203a59a0 sp=0xc4203a5728 pc=0x103cff9
main.listeningToGame.func2(0xc420078455, 0x7, 0xc420066780, 0xc420066840, 0x4, 0xd18c2e2800, 0x9593810, 0xed1a2885c, 0xc42010a2a0)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:123 +0x471 fp=0xc4203a7f98 sp=0xc4203a59a0 pc=0x1353151
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4203a7fa0 sp=0xc4203a7f98 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:100 +0x585
goroutine 6644 [chan receive]:
runtime.gopark(0x1448f68, 0xc4201ce0b8, 0x142f18e, 0xc, 0xc4204a9117, 0x3)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc420504e38 sp=0xc420504e08 pc=0x102d9fc
runtime.goparkunlock(0xc4201ce0b8, 0x142f18e, 0xc, 0xc4204a9117, 0x3)
/usr/local/go/src/runtime/proc.go:293 +0x5e fp=0xc420504e78 sp=0xc420504e38 pc=0x102daee
runtime.chanrecv(0xc4201ce060, 0xc420504f90, 0x1, 0x0)
/usr/local/go/src/runtime/chan.go:506 +0x304 fp=0xc420504f28 sp=0xc420504e78 pc=0x1006864
runtime.chanrecv2(0xc4201ce060, 0xc420504f90, 0xc42041e1e0)
/usr/local/go/src/runtime/chan.go:393 +0x2b fp=0xc420504f58 sp=0xc420504f28 pc=0x100654b
main.listeningToGame.func3(0x4, 0xc420078245, 0x7, 0xc420206c50, 0x7, 0xc4201ce060, 0xc4204c5b80)
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:166 +0x42 fp=0xc420504fa8 sp=0xc420504f58 pc=0x13534f2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc420504fb0 sp=0xc420504fa8 pc=0x1058f11
created by main.listeningToGame
/Users/aftermatt/Code/src/github.com/pciet/wichess/game_listening.go:164 +0x184
goroutine 9602 [IO wait]:
runtime.gopark(0x1448f38, 0x1c04998, 0x142c138, 0x7, 0xc42002001b, 0x5)
/usr/local/go/src/runtime/proc.go:287 +0x12c fp=0xc4204b2d68 sp=0xc4204b2d38 pc=0x102d9fc
runtime.netpollblock(0x1c04970, 0x72, 0x1)
/usr/local/go/src/runtime/netpoll.go:366 +0xaa fp=0xc4204b2db0 sp=0xc4204b2d68 pc=0x102897a
internal/poll.runtime_pollWait(0x1c04970, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:173 +0x57 fp=0xc4204b2dd8 sp=0xc4204b2db0 pc=0x1027f77
internal/poll.(*pollDesc).wait(0xc4201c8118, 0x72, 0xffffffffffffff00, 0x161a620, 0x1616510)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0xae fp=0xc4204b2e10 sp=0xc4204b2dd8 pc=0x109800e
internal/poll.(*pollDesc).waitRead(0xc4201c8118, 0xc42030c200, 0x1, 0x1)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x3d fp=0xc4204b2e48 sp=0xc4204b2e10 pc=0x109808d
internal/poll.(*FD).Read(0xc4201c8100, 0xc42030c2e1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/internal/poll/fd_unix.go:126 +0x18a fp=0xc4204b2e98 sp=0xc4204b2e48 pc=0x1098e2a
net.(*netFD).Read(0xc4201c8100, 0xc42030c2e1, 0x1, 0x1, 0xc4203ca720, 0x0, 0xc4200586e8)
/usr/local/go/src/net/fd_unix.go:202 +0x52 fp=0xc4204b2f00 sp=0xc4204b2e98 pc=0x11a58e2
net.(*conn).Read(0xc420082018, 0xc42030c2e1, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:176 +0x6d fp=0xc4204b2f68 sp=0xc4204b2f00 pc=0x11b6ced
net/http.(*connReader).backgroundRead(0xc42030c2d0)
/usr/local/go/src/net/http/server.go:660 +0x62 fp=0xc4204b2fd8 sp=0xc4204b2f68 pc=0x12b8de2
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2337 +0x1 fp=0xc4204b2fe0 sp=0xc4204b2fd8 pc=0x1058f11
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:656 +0xd8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment