lib / pq

Pure Go Postgres driver for database/sql
https://pkg.go.dev/github.com/lib/pq
MIT License
9.01k stars 910 forks source link

Concurrent map write #948

Closed mightyguava closed 4 years ago

mightyguava commented 4 years ago

fatal error: concurrent map writes

goroutine 1683 [running]:
runtime.throw(0x10bdce7, 0x15)
    /usr/local/go/src/runtime/panic.go:774 +0x72 fp=0xc0006193b0 sp=0xc000619380 pc=0x430f22
runtime.mapassign_faststr(0xf06f60, 0xc00003cde0, 0x10ae8d3, 0x7, 0x34)
    /usr/local/go/src/runtime/map_faststr.go:291 +0x3fe fp=0xc000619418 sp=0xc0006193b0 pc=0x41502e
github.com/lib/pq.dial(0x13185e0, 0xc000483ce0, 0x1305900, 0xc00046e720, 0xc00003cde0, 0x0, 0x0, 0x0, 0x0)
    /go/pkg/mod/github.com/lib/pq@v1.2.0/conn.go:334 +0x643 fp=0xc000619540 sp=0xc000619418 pc=0x729513
github.com/lib/pq.(*Connector).open(0xc0000bcdc0, 0x13185e0, 0xc000483ce0, 0xc000018000, 0x0, 0x0)
    /go/pkg/mod/github.com/lib/pq@v1.2.0/conn.go:298 +0x18e fp=0xc000619690 sp=0xc000619540 pc=0x728a1e
github.com/lib/pq.(*Connector).Connect(0xc0000bcdc0, 0x13185e0, 0xc000483ce0, 0x9746d620b1a52796, 0xe58f81c1793a0154, 0x9646d620b1a52796, 0xc0000737e8)
    /go/pkg/mod/github.com/lib/pq@v1.2.0/connector.go:27 +0x3f fp=0xc0006196d0 sp=0xc000619690 pc=0x7378cf
github.com/opencensus-integrations/ocsql.ocDriver.Connect(0x12f8ae0, 0x1d23c20, 0x1303380, 0xc0000bcdc0, 0x1000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /go/pkg/mod/github.com/opencensus-integrations/ocsql@v0.1.5/driver_go1.10.go:198 +0x4f fp=0xc000619730 sp=0xc0006196d0 pc=0x77357f
github.com/opencensus-integrations/ocsql.(*ocDriver).Connect(0xc00043cf50, 0x13185e0, 0xc000483ce0, 0x8, 0x416187, 0x3ee0007aca20, 0x203000)
    <autogenerated>:1 +0xa5 fp=0xc000619810 sp=0xc000619730 pc=0x7754a5
database/sql.(*DB).conn(0xc0001160c0, 0x13185e0, 0xc000483ce0, 0x203001, 0xc000483cb0, 0x0, 0x203000)
    /usr/local/go/src/database/sql/sql.go:1228 +0x201 fp=0xc0006199c8 sp=0xc000619810 pc=0x5ce991
database/sql.(*DB).query(0xc0001160c0, 0x13185e0, 0xc000483ce0, 0x10ebf3d, 0x88, 0xc0002890e0, 0x2, 0x2, 0xc000289001, 0x20, ...)
    /usr/local/go/src/database/sql/sql.go:1565 +0x66 fp=0xc000619a58 sp=0xc0006199c8 pc=0x5d1706
database/sql.(*DB).QueryContext(0xc0001160c0, 0x13185e0, 0xc000483ce0, 0x10ebf3d, 0x88, 0xc0002890e0, 0x2, 0x2, 0xc000073b58, 0x40e7e8, ...)
    /usr/local/go/src/database/sql/sql.go:1547 +0xd1 fp=0xc000619ae8 sp=0xc000619a58 pc=0x5d1451
database/sql.(*DB).QueryRowContext(0xc0001160c0, 0x13185e0, 0xc000483ce0, 0x10ebf3d, 0x88, 0xc0002890e0, 0x2, 0x2, 0x12db6fa)
    /usr/local/go/src/database/sql/sql.go:1648 +0x8d fp=0xc000619b68 sp=0xc000619ae8 pc=0x5d20fd
    ... Omitted ...
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc0007bfb00, 0xc0000869c0)
    /go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:57 +0x64 fp=0xc000619fd0 sp=0xc000619f58 pc=0x933e24
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc000619fd8 sp=0xc000619fd0 pc=0x460361
created by golang.org/x/sync/errgroup.(*Group).Go
    /go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x66
    /go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x66

goroutine 1779 [running]:
runtime.throw(0x10bdce7, 0x15)
    /usr/local/go/src/runtime/panic.go:774 +0x72 fp=0xc00061b3b0 sp=0xc00061b380 pc=0x430f22
runtime.mapassign_faststr(0xf06f60, 0xc00003cde0, 0x10ae8d3, 0x7, 0x34)
    /usr/local/go/src/runtime/map_faststr.go:291 +0x3fe fp=0xc00061b418 sp=0xc00061b3b0 pc=0x41502e
github.com/lib/pq.dial(0x13185e0, 0xc00046bf20, 0x1305900, 0xc00046e720, 0xc00003cde0, 0x0, 0x0, 0x0, 0x0)
    /go/pkg/mod/github.com/lib/pq@v1.2.0/conn.go:334 +0x643 fp=0xc00061b540 sp=0xc00061b418 pc=0x729513
github.com/lib/pq.(*Connector).open(0xc0000bcdc0, 0x13185e0, 0xc00046bf20, 0xc0000d4b00, 0x0, 0x0)
    /go/pkg/mod/github.com/lib/pq@v1.2.0/conn.go:298 +0x18e fp=0xc00061b690 sp=0xc00061b540 pc=0x728a1e
github.com/lib/pq.(*Connector).Connect(0xc0000bcdc0, 0x13185e0, 0xc00046bf20, 0xc00065b6f0, 0x8, 0xc00065b6e8, 0x5d954f)
    /go/pkg/mod/github.com/lib/pq@v1.2.0/connector.go:27 +0x3f fp=0xc00061b6d0 sp=0xc00061b690 pc=0x7378cf
github.com/opencensus-integrations/ocsql.ocDriver.Connect(0x12f8ae0, 0x1d23c20, 0x1303380, 0xc0000bcdc0, 0x1000000000000, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /go/pkg/mod/github.com/opencensus-integrations/ocsql@v0.1.5/driver_go1.10.go:198 +0x4f fp=0xc00061b730 sp=0xc00061b6d0 pc=0x77357f
github.com/opencensus-integrations/ocsql.(*ocDriver).Connect(0xc00043cf50, 0x13185e0, 0xc00046bf20, 0x8, 0x10, 0x0, 0x203000)
    <autogenerated>:1 +0xa5 fp=0xc00061b810 sp=0xc00061b730 pc=0x7754a5
database/sql.(*DB).conn(0xc0001160c0, 0x13185e0, 0xc00046bf20, 0x203001, 0xc00046bef0, 0x0, 0x203000)
    /usr/local/go/src/database/sql/sql.go:1228 +0x201 fp=0xc00061b9c8 sp=0xc00061b810 pc=0x5ce991
database/sql.(*DB).query(0xc0001160c0, 0x13185e0, 0xc00046bf20, 0x10ebf3d, 0x88, 0xc000338d00, 0x2, 0x2, 0xc000338d01, 0x20, ...)
    /usr/local/go/src/database/sql/sql.go:1565 +0x66 fp=0xc00061ba58 sp=0xc00061b9c8 pc=0x5d1706
database/sql.(*DB).QueryContext(0xc0001160c0, 0x13185e0, 0xc00046bf20, 0x10ebf3d, 0x88, 0xc000338d00, 0x2, 0x2, 0xc00065bb58, 0x40e7e8, ...)
    /usr/local/go/src/database/sql/sql.go:1547 +0xd1 fp=0xc00061bae8 sp=0xc00061ba58 pc=0x5d1451
database/sql.(*DB).QueryRowContext(0xc0001160c0, 0x13185e0, 0xc00046bf20, 0x10ebf3d, 0x88, 0xc000338d00, 0x2, 0x2, 0x12db6fa)
    /usr/local/go/src/database/sql/sql.go:1648 +0x8d fp=0xc00061bb68 sp=0xc00061bae8 pc=0x5d20fd
    ... Omitted ...
golang.org/x/sync/errgroup.(*Group).Go.func1(0xc0007bfb00, 0xc0003bfc80)
    /go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:57 +0x64 fp=0xc00061bfd0 sp=0xc00061bf58 pc=0x933e24
runtime.goexit()
    /usr/local/go/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc00061bfd8 sp=0xc00061bfd0 pc=0x460361
created by golang.org/x/sync/errgroup.(*Group).Go
    /go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x66```
yvesf commented 4 years ago

This looks like related to #570

To me it happens in pq@v1.3.0/conn.go:334

    if network == "unix" {
        o["sslmode"] = "disable"
    }
fatal error: concurrent map writes

goroutine 4611 [running]:
runtime.throw(0xdbdb47, 0x15)
        /USERDIR/share/go1.13.8/src/runtime/panic.go:774 +0x72 fp=0xc0012bcc58 sp=0xc0012bcc28 pc=0x430172
runtime.mapassign_faststr(0xc76720, 0xc000e697d0, 0xdaff9e, 0x7, 0x16)
        /USERDIR/share/go1.13.8/src/runtime/map_faststr.go:291 +0x3fe fp=0xc0012bccc0 sp=0xc0012bcc58 pc=0x414cbe
github.com/lib/pq.dial(0xf73160, 0xc0008240c0, 0xf68700, 0xc000d69020, 0xc000e697d0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:334 +0x643 fp=0xc0012bcde8 sp=0xc0012bccc0 pc=0x9a7873
github.com/lib/pq.(*conn).cancel(0xc000c8b340, 0xf73160, 0xc0008240c0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:119 +0x84 fp=0xc0012bcee8 sp=0xc0012bcde8 pc=0x9b5714
github.com/lib/pq.(*conn).watchCancel.func1(0xc0003d2c60, 0xc000c8b340, 0xc0000a17a0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:103 +0x164 fp=0xc0012bcfc8 sp=0xc0012bcee8 pc=0x9c08f4
runtime.goexit()
        /USERDIR/share/go1.13.8/src/runtime/asm_amd64.s:1357 +0x1 fp=0xc0012bcfd0 sp=0xc0012bcfc8 pc=0x45d371
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 1 [chan receive, 12 minutes]:
main.main()
        /USERDIR/vcs/PROJECTDIR/MODULE/main.go:50 +0x1a4

goroutine 131 [select]:
go.opencensus.io/stats/view.(*worker).start(0xc0003e85a0)
        /USERDIR/go/pkg/mod/go.opencensus.io@v0.22.3/stats/view/worker.go:154 +0x100
created by go.opencensus.io/stats/view.init.0
        /USERDIR/go/pkg/mod/go.opencensus.io@v0.22.3/stats/view/worker.go:32 +0x57

goroutine 132 [syscall, 12 minutes]:
os/signal.signal_recv(0x0)
        /USERDIR/share/go1.13.8/src/runtime/sigqueue.go:147 +0x9c
os/signal.loop()
        /USERDIR/share/go1.13.8/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
        /USERDIR/share/go1.13.8/src/os/signal/signal_unix.go:29 +0x41

goroutine 102 [select, 12 minutes]:
database/sql.(*DB).connectionOpener(0xc000528780, 0xf730e0, 0xc000208a40)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1052 +0xe8
created by database/sql.OpenDB
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:722 +0x15d

goroutine 103 [select, 12 minutes]:
database/sql.(*DB).connectionResetter(0xc000528780, 0xf730e0, 0xc000208a40)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1065 +0xfb
created by database/sql.OpenDB
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:723 +0x193

goroutine 105 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013f0c0, 0x72, 0x0)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc00031a598, 0x72, 0x0, 0x0, 0xdaf311)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00031a580, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:384 +0x1f8
net.(*netFD).accept(0xc00031a580, 0x37e11d600, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc0002205c0, 0xc000075d50, 0xc000075d58, 0x18)
        /USERDIR/share/go1.13.8/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc0002205c0, 0xe74678, 0xc000095380, 0xf7c540, 0xc0003b0080)
        /USERDIR/share/go1.13.8/src/net/tcpsock.go:261 +0x47
google.golang.org/grpc.(*Server).Serve(0xc000095380, 0xf70a60, 0xc0002205c0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:597 +0x22e
main.domainsInit.func2(0xf70a60, 0xc0002205c0, 0xc0002635f0)
        /USERDIR/vcs/PROJECTDIR/MODULE/domains.go:233 +0x59
created by main.domainsInit
        /USERDIR/vcs/PROJECTDIR/MODULE/domains.go:232 +0xb38

goroutine 109 [IO wait, 12 minutes]:
internal/poll.runtime_pollWait(0x7f125013ef20, 0x72, 0x0)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc00031a918, 0x72, 0x0, 0x0, 0xdaf311)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Accept(0xc00031a900, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:384 +0x1f8
net.(*netFD).accept(0xc00031a900, 0xc000076b10, 0xc000066700, 0x7f1254b84008)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:238 +0x42
net.(*TCPListener).accept(0xc000327860, 0xc000076b40, 0x40e2f8, 0x30)
        /USERDIR/share/go1.13.8/src/net/tcpsock_posix.go:139 +0x32
net.(*TCPListener).Accept(0xc000327860, 0xd0fe00, 0xc000146540, 0xc66fe0, 0x1560e10)
        /USERDIR/share/go1.13.8/src/net/tcpsock.go:261 +0x47
net/http.(*Server).Serve(0xc0001bc380, 0xf70a60, 0xc000327860, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/http/server.go:2896 +0x280
net/http.(*Server).ListenAndServe(0xc0001bc380, 0xc0007b82d0, 0xc0003bf650)
        /USERDIR/share/go1.13.8/src/net/http/server.go:2825 +0xb7
main.httpInit.func3()
        /USERDIR/vcs/PROJECTDIR/MODULE/http.go:39 +0x42
created by main.httpInit
        /USERDIR/vcs/PROJECTDIR/MODULE/http.go:38 +0x19b

goroutine 110 [chan receive, 12 minutes]:
main.handleShutdown()
        /USERDIR/vcs/PROJECTDIR/MODULE/main.go:58 +0xbd
created by main.main
        /USERDIR/vcs/PROJECTDIR/MODULE/main.go:47 +0xe3

goroutine 4621 [chan receive]:
database/sql.(*Tx).awaitDone(0xc0003a4300)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2002 +0x4b
created by database/sql.(*DB).beginDC
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1723 +0x1b4

goroutine 4620 [select]:
github.com/lib/pq.(*conn).watchCancel.func1(0xc00167cf60, 0xc000e61340, 0xc0003d2120)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:94 +0xb2
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 4618 [select]:
github.com/lib/pq.(*conn).watchCancel.func1(0xc0003d2ae0, 0xc00113a840, 0xc0003d2060)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:94 +0xb2
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 4625 [select]:
github.com/lib/pq.(*conn).watchCancel.func1(0xc00167cf60, 0xc000e61340, 0xc0003d2240)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:94 +0xb2
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 4528 [select]:
google.golang.org/grpc/internal/transport.(*controlBuffer).get(0xc000da46e0, 0x1, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/controlbuf.go:395 +0x122
google.golang.org/grpc/internal/transport.(*loopyWriter).run(0xc000d69680, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/controlbuf.go:513 +0x1e3
google.golang.org/grpc/internal/transport.newHTTP2Server.func2(0xc000b44900)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/http2_server.go:296 +0xcb
created by google.golang.org/grpc/internal/transport.newHTTP2Server
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/http2_server.go:293 +0x105d

goroutine 4529 [select]:
google.golang.org/grpc/internal/transport.(*http2Server).keepalive(0xc000b44900)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/http2_server.go:968 +0x26b
created by google.golang.org/grpc/internal/transport.newHTTP2Server
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/http2_server.go:302 +0x1082

goroutine 4542 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013eb10, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc001070e98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc001070e80, 0xc000cc6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc001070e80, 0xc000cc6000, 0x1000, 0x1000, 0x4cad21, 0xc001070e80, 0xc000c8b360)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00062a020, 0xc000cc6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
bufio.(*Reader).Read(0xc000d690e0, 0xc000c8b360, 0x5, 0x200, 0x36, 0x200, 0x36)
        /USERDIR/share/go1.13.8/src/bufio/bufio.go:226 +0x26a
io.ReadAtLeast(0xf5ec60, 0xc000d690e0, 0xc000c8b360, 0x5, 0x200, 0x5, 0x36, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/io/io.go:310 +0x87
io.ReadFull(...)
        /USERDIR/share/go1.13.8/src/io/io.go:329
github.com/lib/pq.(*conn).recvMessage(0xc000c8b340, 0xc000cf7698, 0x36, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:936 +0x103
github.com/lib/pq.(*conn).recv1Buf(0xc000c8b340, 0xc000cf7698, 0x30)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:985 +0x39
github.com/lib/pq.(*conn).recv1(...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1006
github.com/lib/pq.(*conn).simpleExec(0xc000c8b340, 0xdd8294, 0x30, 0xc000cf7728, 0x40e2f8, 0x10, 0xca6140, 0xc000472701, 0xc000d3fdf0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:610 +0x1bc
github.com/lib/pq.(*conn).Exec(0xc000c8b340, 0xdd8294, 0x30, 0x159ea98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:864 +0x2a1
github.com/lib/pq.(*conn).ExecContext(0xc000c8b340, 0xf73160, 0xc000d68fc0, 0xdd8294, 0x30, 0x159ea98, 0x0, 0x0, 0x0, 0x0, ...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:42 +0x1aa
database/sql.ctxDriverExec(0xf73160, 0xc000d68fc0, 0x7f1250022fb8, 0xc000c8b340, 0x0, 0x0, 0xdd8294, 0x30, 0x159ea98, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/ctxutil.go:31 +0x227
database/sql.(*DB).execDC.func2()
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1519 +0x1db
database/sql.withLock(0xf66580, 0xc001071080, 0xc000cf7bf8)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:3184 +0x6d
database/sql.(*DB).execDC(0xc000528780, 0xf73160, 0xc000d68fc0, 0xc001071080, 0xc000d3fde0, 0xdd8294, 0x30, 0x0, 0x0, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1514 +0x4b2
database/sql.(*Tx).ExecContext(0xc000350500, 0xf73160, 0xc000d68fc0, 0xdd8294, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2275 +0xef
github.com/PROJECTDIR/MODULE/catalog/internal/repo.Repo.Put(0xc0007b84e0, 0xc0007b84e0, 0xf731a0, 0xc000f02360, 0xc00093ea00, 0xc8, 0xc8, 0x0, 0x0, 0x0, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/internal/repo/repoItem.go:218 +0xe37
github.com/PROJECTDIR/MODULE/catalog.Server.Put(0xf730e0, 0xc000209a80, 0xf808e0, 0xc0002637b0, 0xc000220e40, 0xc00003f3e0, 0xf5f4e0, 0xc000220e20, 0xf731a0, 0xc000f02360, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/server.go:215 +0x1f89
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler.func1(0xf731a0, 0xc000f02360, 0xd1eb80, 0xc001014140, 0x14, 0xbfa4799a071be14d, 0xb3e0af3a1b, 0x1580340)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2685 +0x86
github.com/PROJECTDIR/log/grpc_tlog.UnaryServerInterceptor.func1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0xc0002a42c0, 0xc0002a42e0, 0x0, 0x42ef1a, 0xc000020000, 0xcb8280)
        /USERDIR/vcs/PROJECTDIR/log/grpc_tlog/server_interceptors.go:35 +0xfe
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0xc0007658d8, 0x40bb05, 0xcb8280, 0xd0d400)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0xc0002a42c0, 0xc0002a4300, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/recovery/interceptors.go:31 +0xe2
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0x14, 0xc000d04190, 0x203000, 0xc000092000)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).UnaryServerInterceptor.func1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0xc0002a42c0, 0xc0002a4320, 0x9e261a, 0xcf1b60, 0xc0002a4340, 0xc0002a42c0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0xad
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0xc000392700, 0x0, 0xc000765ac0, 0x40e2f8)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0xf731a0, 0xc000f02240, 0xd1eb80, 0xc001014140, 0xc0002a42c0, 0xc0002a42e0, 0xc000072b30, 0x48dcb8, 0xd0fe00, 0xc000f02240)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:34 +0xd5
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler(0xd38d80, 0xc000208a80, 0xf731a0, 0xc000f02240, 0xc0003170e0, 0xc0007b82a0, 0xf731a0, 0xc000f02240, 0xc0013c0000, 0xaca27)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2687 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000095380, 0xf7d980, 0xc000b44900, 0xc000392700, 0xc0007b86c0, 0x156bf00, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1024 +0x4f4
google.golang.org/grpc.(*Server).handleStream(0xc000095380, 0xf7d980, 0xc000b44900, 0xc000392700, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1313 +0xd97
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000c3fa40, 0xc000095380, 0xf7d980, 0xc000b44900, 0xc000392700)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:720 +0xa1

goroutine 4589 [select]:
github.com/lib/pq.(*conn).watchCancel.func1(0xc0003d2ae0, 0xc00113a840, 0xc0003701e0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:94 +0xb2
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 4607 [runnable]:
net.setDefaultSockopts(0xd, 0x1, 0x1, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/sockopt_linux.go:12 +0x185
net.socket(0xf73160, 0xc000d680c0, 0xdac066, 0x4, 0x1, 0x1, 0x0, 0x419000, 0x0, 0x0, ...)
        /USERDIR/share/go1.13.8/src/net/sock_posix.go:23 +0xa6
net.unixSocket(0xf73160, 0xc000d680c0, 0xdac066, 0x4, 0xf79d20, 0x0, 0xf79d20, 0xc000f7ab00, 0xdabbf2, 0x4, ...)
        /USERDIR/share/go1.13.8/src/net/unixsock_posix.go:45 +0x138
net.(*sysDialer).dialUnix(0xc000af9180, 0xf73160, 0xc000d680c0, 0x0, 0xc000f7ab00, 0x7f1254b84d98, 0x0, 0xdac066)
        /USERDIR/share/go1.13.8/src/net/unixsock_posix.go:154 +0xa2
net.(*sysDialer).dialSingle(0xc000af9180, 0xf73160, 0xc000d680c0, 0xf67940, 0xc000f7ab00, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/dial.go:587 +0x134
net.(*sysDialer).dialSerial(0xc000af9180, 0xf73160, 0xc000d680c0, 0xc000f7eef0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/dial.go:546 +0x221
net.(*Dialer).DialContext(0xc000f58c50, 0xf73160, 0xc000d680c0, 0xdac066, 0x4, 0xc000f823c0, 0x16, 0x0, 0x0, 0x0, ...)
        /USERDIR/share/go1.13.8/src/net/dial.go:424 +0x666
github.com/lib/pq.defaultDialer.DialContext(...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:113
github.com/lib/pq.dial(0xf73160, 0xc000d680c0, 0xf68700, 0xc000d69020, 0xc000e697d0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:365 +0x189
github.com/lib/pq.(*conn).cancel(0xc000c8b340, 0xf73160, 0xc000d680c0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:119 +0x84
github.com/lib/pq.(*conn).watchCancel.func1(0xc0003d2c60, 0xc000c8b340, 0xc0003d2d20)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:103 +0x164
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 4599 [semacquire]:
sync.runtime_SemacquireMutex(0xc00037289c, 0x4f3300, 0x1)
        /USERDIR/share/go1.13.8/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc000372898)
        /USERDIR/share/go1.13.8/src/sync/mutex.go:138 +0xfc
sync.(*Mutex).Lock(...)
        /USERDIR/share/go1.13.8/src/sync/mutex.go:81
sync.(*RWMutex).Lock(0xc000372898)
        /USERDIR/share/go1.13.8/src/sync/rwmutex.go:98 +0x97
database/sql.(*Stmt).Close(0xc000372870, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2638 +0x59
database/sql.(*Tx).closePrepared(0xc00031a880)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2073 +0x9f
database/sql.(*Tx).rollback(0xc00031a880, 0x1, 0x0, 0x45d371)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2115 +0xad
database/sql.(*Tx).awaitDone(0xc00031a880)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2008 +0x5e
created by database/sql.(*DB).beginDC
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1723 +0x1b4

goroutine 4590 [chan receive]:
database/sql.(*Tx).awaitDone(0xc000af8080)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2002 +0x4b
created by database/sql.(*DB).beginDC
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1723 +0x1b4

goroutine 4610 [semacquire]:
sync.runtime_SemacquireMutex(0xc0003500a4, 0xc0003d2300, 0x1)
        /USERDIR/share/go1.13.8/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc0003500a0)
        /USERDIR/share/go1.13.8/src/sync/mutex.go:138 +0xfc
sync.(*Mutex).Lock(0xc0003500a0)
        /USERDIR/share/go1.13.8/src/sync/mutex.go:81 +0x47
database/sql.withLock(0xf66580, 0xc000350080, 0xc000efd780)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:3182 +0x31
database/sql.(*Tx).rollback(0xc000350480, 0x1, 0xc0003a4700, 0xf730e0)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2111 +0x91
database/sql.(*Tx).awaitDone(0xc000350480)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2008 +0x5e
created by database/sql.(*DB).beginDC
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1723 +0x1b4

goroutine 4597 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013eff0, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc001070318, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc001070300, 0xc000c5f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc001070300, 0xc000c5f000, 0x1000, 0x1000, 0x4cad21, 0xc001070300, 0xc0003f18e0)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00062a008, 0xc000c5f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
bufio.(*Reader).Read(0xc000317f20, 0xc0003f18e0, 0x5, 0x200, 0x5, 0x200, 0x5)
        /USERDIR/share/go1.13.8/src/bufio/bufio.go:226 +0x26a
io.ReadAtLeast(0xf5ec60, 0xc000317f20, 0xc0003f18e0, 0x5, 0x200, 0x5, 0x5, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/io/io.go:310 +0x87
io.ReadFull(...)
        /USERDIR/share/go1.13.8/src/io/io.go:329
github.com/lib/pq.(*conn).recvMessage(0xc0003f18c0, 0xc0004f3b80, 0x5, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:936 +0x103
github.com/lib/pq.(*conn).recv1Buf(0xc0003f18c0, 0xc0004f3b80, 0x1)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:985 +0x39
github.com/lib/pq.(*conn).recv1(...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1006
github.com/lib/pq.(*stmt).Close(0xc0003ee780, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1230 +0x291
database/sql.(*driverStmt).Close(0xc0015622c0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:605 +0x9a
database/sql.(*Stmt).Close(0xc000372870, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2664 +0x1b8
github.com/PROJECTDIR/MODULE/catalog/internal/repo.Repo.Put.func5(0xc000372870)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/internal/repo/repoItem.go:161 +0x2b
github.com/PROJECTDIR/MODULE/catalog/internal/repo.Repo.Put(0xc0007b84e0, 0xc0007b84e0, 0xf731a0, 0xc000f02180, 0xc00093b500, 0xc8, 0xc8, 0x0, 0x0, 0x0, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/internal/repo/repoItem.go:388 +0x2f4f
github.com/PROJECTDIR/MODULE/catalog.Server.Put(0xf730e0, 0xc000209a80, 0xf808e0, 0xc0002637b0, 0xc000220e40, 0xc00003f3e0, 0xf5f4e0, 0xc000220e20, 0xf731a0, 0xc000f02180, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/server.go:215 +0x1f89
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler.func1(0xf731a0, 0xc000f02180, 0xd1eb80, 0xc00100c0c0, 0x14, 0xbfa47999e84b9ae7, 0xb3c64429b4, 0x1580340)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2685 +0x86
github.com/PROJECTDIR/log/grpc_tlog.UnaryServerInterceptor.func1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0xc00106c320, 0xc00106c340, 0x0, 0x42ef1a, 0xc000020000, 0xcb8280)
        /USERDIR/vcs/PROJECTDIR/log/grpc_tlog/server_interceptors.go:35 +0xfe
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0xc0010318d8, 0x40bb05, 0xcb8280, 0xd0d400)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0xc00106c320, 0xc00106c360, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/recovery/interceptors.go:31 +0xe2
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0x14, 0xc000d04050, 0x203000, 0xc000376000)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).UnaryServerInterceptor.func1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0xc00106c320, 0xc00106c380, 0x9e261a, 0xcf1b60, 0xc00106c3a0, 0xc00106c320)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0xad
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0xc00036e600, 0x0, 0xc001031ac0, 0x40e2f8)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0xf731a0, 0xc000f02060, 0xd1eb80, 0xc00100c0c0, 0xc00106c320, 0xc00106c340, 0xc000f5bb30, 0x48dcb8, 0xd0fe00, 0xc000f02060)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:34 +0xd5
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler(0xd38d80, 0xc000208a80, 0xf731a0, 0xc000f02060, 0xc000c64600, 0xc0007b82a0, 0xf731a0, 0xc000f02060, 0xc00167e000, 0xa44d9)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2687 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e600, 0xc0007b86c0, 0x156bf00, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1024 +0x4f4
google.golang.org/grpc.(*Server).handleStream(0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e600, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1313 +0xd97
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000c3fa40, 0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e600)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:720 +0xa1

goroutine 4025 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013ecb0, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc0003a4998, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0003a4980, 0xc001141000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc0003a4980, 0xc001141000, 0x1000, 0x1000, 0x4cad21, 0xc0003a4980, 0xc00113a860)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00062a030, 0xc001141000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
bufio.(*Reader).Read(0xc000e3a9c0, 0xc00113a860, 0x5, 0x200, 0x36, 0x200, 0x36)
        /USERDIR/share/go1.13.8/src/bufio/bufio.go:226 +0x26a
io.ReadAtLeast(0xf5ec60, 0xc000e3a9c0, 0xc00113a860, 0x5, 0x200, 0x5, 0x36, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/io/io.go:310 +0x87
io.ReadFull(...)
        /USERDIR/share/go1.13.8/src/io/io.go:329
github.com/lib/pq.(*conn).recvMessage(0xc00113a840, 0xc001163698, 0x36, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:936 +0x103
github.com/lib/pq.(*conn).recv1Buf(0xc00113a840, 0xc001163698, 0x30)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:985 +0x39
github.com/lib/pq.(*conn).recv1(...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1006
github.com/lib/pq.(*conn).simpleExec(0xc00113a840, 0xdd8294, 0x30, 0xc001163728, 0x40e2f8, 0x10, 0xca6140, 0xc0007a9e01, 0xc000eaf950)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:610 +0x1bc
github.com/lib/pq.(*conn).Exec(0xc00113a840, 0xdd8294, 0x30, 0x159ea98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:864 +0x2a1
github.com/lib/pq.(*conn).ExecContext(0xc00113a840, 0xf73160, 0xc000e3a8a0, 0xdd8294, 0x30, 0x159ea98, 0x0, 0x0, 0x0, 0x0, ...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:42 +0x1aa
database/sql.ctxDriverExec(0xf73160, 0xc000e3a8a0, 0x7f1250022fb8, 0xc00113a840, 0x0, 0x0, 0xdd8294, 0x30, 0x159ea98, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/ctxutil.go:31 +0x227
database/sql.(*DB).execDC.func2()
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1519 +0x1db
database/sql.withLock(0xf66580, 0xc0003a4c00, 0xc001163bf8)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:3184 +0x6d
database/sql.(*DB).execDC(0xc000528780, 0xf73160, 0xc000e3a8a0, 0xc0003a4c00, 0xc000eaf940, 0xdd8294, 0x30, 0x0, 0x0, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1514 +0x4b2
database/sql.(*Tx).ExecContext(0xc000af8080, 0xf73160, 0xc000e3a8a0, 0xdd8294, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2275 +0xef
github.com/PROJECTDIR/MODULE/catalog/internal/repo.Repo.Put(0xc0007b84e0, 0xc0007b84e0, 0xf731a0, 0xc0012e60f0, 0xc0004dc000, 0xc8, 0xc8, 0x0, 0x0, 0x0, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/internal/repo/repoItem.go:218 +0xe37
github.com/PROJECTDIR/MODULE/catalog.Server.Put(0xf730e0, 0xc000209a80, 0xf808e0, 0xc0002637b0, 0xc000220e40, 0xc00003f3e0, 0xf5f4e0, 0xc000220e20, 0xf731a0, 0xc0012e60f0, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/server.go:215 +0x1f89
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler.func1(0xf731a0, 0xc0012e60f0, 0xd1eb80, 0xc00165e240, 0x14, 0xbfa4799a20444d96, 0xb3f9d7a66c, 0x1580340)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2685 +0x86
github.com/PROJECTDIR/log/grpc_tlog.UnaryServerInterceptor.func1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0xc0001a0000, 0xc0001a0040, 0x0, 0x42ef1a, 0xc000020000, 0xcb8280)
        /USERDIR/vcs/PROJECTDIR/log/grpc_tlog/server_interceptors.go:35 +0xfe
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0xc000eb58d8, 0x40bb05, 0xcb8280, 0xd0d400)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0xc0001a0000, 0xc0001a0080, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/recovery/interceptors.go:31 +0xe2
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0x14, 0xc00019a000, 0x203000, 0xc000470700)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).UnaryServerInterceptor.func1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0xc0001a0000, 0xc0001a00c0, 0x9e261a, 0xcf1b60, 0xc0001a0100, 0xc0001a0000)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0xad
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0xc00036e500, 0x0, 0xc000eb5ac0, 0x40e2f8)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0xf731a0, 0xc000cde990, 0xd1eb80, 0xc00165e240, 0xc0001a0000, 0xc0001a0040, 0xc000072b30, 0x48dd3d, 0xd0fe00, 0xc000cde990)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:34 +0xd5
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler(0xd38d80, 0xc000208a80, 0xf731a0, 0xc000cde990, 0xc0003170e0, 0xc0007b82a0, 0xf731a0, 0xc000cde990, 0xc0013c0000, 0xb08d7)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2687 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e500, 0xc0007b86c0, 0x156bf00, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1024 +0x4f4
google.golang.org/grpc.(*Server).handleStream(0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e500, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1313 +0xd97
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000c3fa40, 0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e500)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:720 +0xa1

goroutine 4600 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013ee50, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc000350918, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000350900, 0xc0011df000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc000350900, 0xc0011df000, 0x1000, 0x1000, 0xc000048f00, 0xc000cd57b0, 0x477c20)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00062a010, 0xc0011df000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
bufio.(*Reader).Read(0xc000824e40, 0xc000564de0, 0x5, 0x200, 0x0, 0x0, 0x8)
        /USERDIR/share/go1.13.8/src/bufio/bufio.go:226 +0x26a
io.ReadAtLeast(0xf5ec60, 0xc000824e40, 0xc000564de0, 0x5, 0x200, 0x5, 0xee3, 0x1000, 0xee3)
        /USERDIR/share/go1.13.8/src/io/io.go:310 +0x87
io.ReadFull(...)
        /USERDIR/share/go1.13.8/src/io/io.go:329
github.com/lib/pq.(*conn).recvMessage(0xc000564dc0, 0xc000cd5940, 0xee3, 0x1000, 0xee3)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:936 +0x103
github.com/lib/pq.(*conn).recv1Buf(0xc000564dc0, 0xc000cd5940, 0x7)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:985 +0x39
github.com/lib/pq.(*conn).recv1(...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1006
github.com/lib/pq.(*conn).readBindResponse(0xc000564dc0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1717 +0x59
github.com/lib/pq.(*stmt).exec(0xc0003eedc0, 0xc001058200, 0x4, 0x4)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1308 +0x52d
github.com/lib/pq.(*stmt).Query(0xc0003eedc0, 0xc001058200, 0x4, 0x4, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1253 +0xba
database/sql.ctxDriverStmtQuery(0xf73160, 0xc000824d20, 0xf734a0, 0xc0003eedc0, 0xc001296640, 0x4, 0x4, 0x4, 0x4, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/ctxutil.go:94 +0x165
database/sql.rowsiFromStatement(0xf73160, 0xc000824d20, 0xf6daa0, 0xc000564dc0, 0xc00165e0c0, 0xc000cd6790, 0x4, 0x4, 0x0, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2604 +0x183
database/sql.(*Stmt).QueryContext(0xc00079e090, 0xf73160, 0xc000824d20, 0xc000cd6790, 0x4, 0x4, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2556 +0x206
github.com/PROJECTDIR/MODULE/catalog/internal/repo.Repo.Put(0xc0007b84e0, 0xc0007b84e0, 0xf731a0, 0xc000147020, 0xc000938000, 0xc8, 0xc8, 0xc0001935a0, 0x3, 0x4, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/internal/repo/repoItem.go:385 +0x2754
github.com/PROJECTDIR/MODULE/catalog.Server.Put(0xf730e0, 0xc000209a80, 0xf808e0, 0xc0002637b0, 0xc000220e40, 0xc00003f3e0, 0xf5f4e0, 0xc000220e20, 0xf731a0, 0xc000147020, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/server.go:215 +0x1f89
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler.func1(0xf731a0, 0xc000147020, 0xd1eb80, 0xc0015623c0, 0x14, 0xbfa4799a015c394b, 0xb3daef9218, 0x1580340)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2685 +0x86
github.com/PROJECTDIR/log/grpc_tlog.UnaryServerInterceptor.func1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0xc00028a3c0, 0xc00028a3e0, 0x0, 0x42ef1a, 0xc000020000, 0xcb8280)
        /USERDIR/vcs/PROJECTDIR/log/grpc_tlog/server_interceptors.go:35 +0xfe
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0xc0007018d8, 0x40bb05, 0xcb8280, 0xd0d400)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0xc00028a3c0, 0xc00028a400, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/recovery/interceptors.go:31 +0xe2
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0x14, 0xc0003e8690, 0x203000, 0xc000470700)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).UnaryServerInterceptor.func1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0xc00028a3c0, 0xc00028a420, 0x9e261a, 0xcf1b60, 0xc00028a440, 0xc00028a3c0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0xad
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0xc00036e700, 0x0, 0xc000701ac0, 0x40e2f8)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0xf731a0, 0xc000146f30, 0xd1eb80, 0xc0015623c0, 0xc00028a3c0, 0xc00028a3e0, 0xc000073b30, 0x48dcb8, 0xd0fe00, 0xc000146f30)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:34 +0xd5
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler(0xd38d80, 0xc000208a80, 0xf731a0, 0xc000146f30, 0xc000d680c0, 0xc0007b82a0, 0xf731a0, 0xc000146f30, 0xc0013c0000, 0xb31cc)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2687 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e700, 0xc0007b86c0, 0x156bf00, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1024 +0x4f4
google.golang.org/grpc.(*Server).handleStream(0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e700, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1313 +0xd97
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000c3fa40, 0xc000095380, 0xf7d980, 0xc000b44900, 0xc00036e700)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:720 +0xa1

goroutine 4545 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013ebe0, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc0000f6918, 0x72, 0x2000, 0x2000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000f6900, 0xc0012b0000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc0000f6900, 0xc0012b0000, 0x2000, 0x2000, 0xc0012ae080, 0x1, 0x8)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc000356050, 0xc0012b0000, 0x2000, 0x2000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
io/ioutil.devNull.ReadFrom(0x0, 0xf600c0, 0xc000356050, 0xc8f120, 0x1, 0x7f1250031130)
        /USERDIR/share/go1.13.8/src/io/ioutil/ioutil.go:147 +0x92
io.copyBuffer(0xf61480, 0x159e970, 0xf600c0, 0xc000356050, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/io/io.go:388 +0x2ed
io.Copy(...)
        /USERDIR/share/go1.13.8/src/io/io.go:364
github.com/lib/pq.(*conn).cancel(0xc000564dc0, 0xf73160, 0xc0008b4720, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:146 +0x396
github.com/lib/pq.(*conn).watchCancel.func1(0xc0003713e0, 0xc000564dc0, 0xc0000a1740)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:103 +0x164
created by github.com/lib/pq.(*conn).watchCancel
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:93 +0x9c

goroutine 4546 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013ea40, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc000af8d98, 0x72, 0x8000, 0x8000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000af8d80, 0xc000f94000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc000af8d80, 0xc000f94000, 0x8000, 0x8000, 0x0, 0x800010601, 0x7f1200000000)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc0003b0080, 0xc000f94000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
bufio.(*Reader).Read(0xc000982120, 0xc0001bc658, 0x9, 0x9, 0x48407a, 0x8000000000000000, 0xb40dc89f5c)
        /USERDIR/share/go1.13.8/src/bufio/bufio.go:226 +0x26a
io.ReadAtLeast(0xf5ec60, 0xc000982120, 0xc0001bc658, 0x9, 0x9, 0x9, 0x902b15, 0xc000da4748, 0xc000f5ae30)
        /USERDIR/share/go1.13.8/src/io/io.go:310 +0x87
io.ReadFull(...)
        /USERDIR/share/go1.13.8/src/io/io.go:329
golang.org/x/net/http2.readFrameHeader(0xc0001bc658, 0x9, 0x9, 0xf5ec60, 0xc000982120, 0x0, 0x0, 0x7070e0910100402, 0x0)
        /USERDIR/go/pkg/mod/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a/http2/frame.go:237 +0x87
golang.org/x/net/http2.(*Framer).ReadFrame(0xc0001bc620, 0xc0003b2020, 0x1580340, 0x0, 0x0)
        /USERDIR/go/pkg/mod/golang.org/x/net@v0.0.0-20200301022130-244492dfa37a/http2/frame.go:492 +0xa1
google.golang.org/grpc/internal/transport.(*http2Server).HandleStreams(0xc000b44900, 0xc0012e6630, 0xe746b0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/internal/transport/http2_server.go:458 +0xa1
google.golang.org/grpc.(*Server).serveStreams(0xc000095380, 0xf7d980, 0xc000b44900)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:718 +0xf3
google.golang.org/grpc.(*Server).handleRawConn.func1(0xc000095380, 0xf7d980, 0xc000b44900)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:679 +0x3f
created by google.golang.org/grpc.(*Server).handleRawConn
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:678 +0x562

goroutine 4612 [semacquire]:
sync.runtime_SemacquireMutex(0xc0010710a4, 0xc00167c200, 0x1)
        /USERDIR/share/go1.13.8/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc0010710a0)
        /USERDIR/share/go1.13.8/src/sync/mutex.go:138 +0xfc
sync.(*Mutex).Lock(0xc0010710a0)
        /USERDIR/share/go1.13.8/src/sync/mutex.go:81 +0x47
database/sql.withLock(0xf66580, 0xc001071080, 0xc000efbf80)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:3182 +0x31
database/sql.(*Tx).rollback(0xc000350500, 0x1, 0x0, 0x45d376)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2111 +0x91
database/sql.(*Tx).awaitDone(0xc000350500)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2008 +0x5e
created by database/sql.(*DB).beginDC
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1723 +0x1b4

goroutine 4592 [IO wait]:
internal/poll.runtime_pollWait(0x7f125013ed80, 0x72, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/runtime/netpoll.go:184 +0x55
internal/poll.(*pollDesc).wait(0xc000351c98, 0x72, 0x1000, 0x1000, 0xffffffffffffffff)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc000351c80, 0xc000e9b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/internal/poll/fd_unix.go:169 +0x1cf
net.(*netFD).Read(0xc000351c80, 0xc000e9b000, 0x1000, 0x1000, 0x4cad21, 0xc000351c80, 0xc000e61360)
        /USERDIR/share/go1.13.8/src/net/fd_unix.go:202 +0x4f
net.(*conn).Read(0xc00062a038, 0xc000e9b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/net/net.go:184 +0x68
bufio.(*Reader).Read(0xc000983980, 0xc000e61360, 0x5, 0x200, 0x36, 0x200, 0x36)
        /USERDIR/share/go1.13.8/src/bufio/bufio.go:226 +0x26a
io.ReadAtLeast(0xf5ec60, 0xc000983980, 0xc000e61360, 0x5, 0x200, 0x5, 0x36, 0x0, 0x0)
        /USERDIR/share/go1.13.8/src/io/io.go:310 +0x87
io.ReadFull(...)
        /USERDIR/share/go1.13.8/src/io/io.go:329
github.com/lib/pq.(*conn).recvMessage(0xc000e61340, 0xc000f21698, 0x36, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:936 +0x103
github.com/lib/pq.(*conn).recv1Buf(0xc000e61340, 0xc000f21698, 0x30)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:985 +0x39
github.com/lib/pq.(*conn).recv1(...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:1006
github.com/lib/pq.(*conn).simpleExec(0xc000e61340, 0xdd8294, 0x30, 0xc000f21728, 0x40e2f8, 0x10, 0xca6140, 0xc000593e01, 0xc000f5f480)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:610 +0x1bc
github.com/lib/pq.(*conn).Exec(0xc000e61340, 0xdd8294, 0x30, 0x159ea98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn.go:864 +0x2a1
github.com/lib/pq.(*conn).ExecContext(0xc000e61340, 0xf73160, 0xc000983860, 0xdd8294, 0x30, 0x159ea98, 0x0, 0x0, 0x0, 0x0, ...)
        /USERDIR/go/pkg/mod/github.com/lib/pq@v1.3.0/conn_go18.go:42 +0x1aa
database/sql.ctxDriverExec(0xf73160, 0xc000983860, 0x7f1250022fb8, 0xc000e61340, 0x0, 0x0, 0xdd8294, 0x30, 0x159ea98, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/ctxutil.go:31 +0x227
database/sql.(*DB).execDC.func2()
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1519 +0x1db
database/sql.withLock(0xf66580, 0xc00031a300, 0xc000f21bf8)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:3184 +0x6d
database/sql.(*DB).execDC(0xc000528780, 0xf73160, 0xc000983860, 0xc00031a300, 0xc000f5f470, 0xdd8294, 0x30, 0x0, 0x0, 0x0, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:1514 +0x4b2
database/sql.(*Tx).ExecContext(0xc0003a4300, 0xf73160, 0xc000983860, 0xdd8294, 0x30, 0x0, 0x0, 0x0, 0x0, 0x1, ...)
        /USERDIR/share/go1.13.8/src/database/sql/sql.go:2275 +0xef
github.com/PROJECTDIR/MODULE/catalog/internal/repo.Repo.Put(0xc0007b84e0, 0xc0007b84e0, 0xf731a0, 0xc000e680c0, 0xc0004df500, 0xc8, 0xc8, 0x0, 0x0, 0x0, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/internal/repo/repoItem.go:218 +0xe37
github.com/PROJECTDIR/MODULE/catalog.Server.Put(0xf730e0, 0xc000209a80, 0xf808e0, 0xc0002637b0, 0xc000220e40, 0xc00003f3e0, 0xf5f4e0, 0xc000220e20, 0xf731a0, 0xc000e680c0, ...)
        /USERDIR/vcs/PROJECTDIR/MODULE/catalog/server.go:215 +0x1f89
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler.func1(0xf731a0, 0xc000e680c0, 0xd1eb80, 0xc001156240, 0x14, 0xbfa4799a34438585, 0xb40dd6de66, 0x1580340)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2685 +0x86
github.com/PROJECTDIR/log/grpc_tlog.UnaryServerInterceptor.func1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0xc000cae040, 0xc000cae060, 0x0, 0x42ef1a, 0xc000020000, 0xcb8280)
        /USERDIR/vcs/PROJECTDIR/log/grpc_tlog/server_interceptors.go:35 +0xfe
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0xc0011eb8d8, 0x40bb05, 0xcb8280, 0xd0d400)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware/recovery.UnaryServerInterceptor.func1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0xc000cae040, 0xc000cae080, 0x0, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/recovery/interceptors.go:31 +0xe2
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0x14, 0xc000da5d10, 0x203000, 0xc000376000)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-prometheus.(*ServerMetrics).UnaryServerInterceptor.func1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0xc000cae040, 0xc000cae0a0, 0x9e261a, 0xcf1b60, 0xc000cae0c0, 0xc000cae040)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-prometheus@v1.2.0/server_metrics.go:107 +0xad
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1.1.1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0xc000392800, 0x0, 0xc0011ebac0, 0x40e2f8)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:25 +0x63
github.com/grpc-ecosystem/go-grpc-middleware.ChainUnaryServer.func1(0xf731a0, 0xc001152750, 0xd1eb80, 0xc001156240, 0xc000cae040, 0xc000cae060, 0xc000072b30, 0x48dd3d, 0xd0fe00, 0xc001152750)
        /USERDIR/go/pkg/mod/github.com/grpc-ecosystem/go-grpc-middleware@v1.2.0/chain.go:34 +0xd5
github.com/PROJECTDIR/MODULE/protocatalog._Catalog_Put_Handler(0xd38d80, 0xc000208a80, 0xf731a0, 0xc001152750, 0xc0008251a0, 0xc0007b82a0, 0xf731a0, 0xc001152750, 0xc0013c0000, 0xb19a5)
        /USERDIR/vcs/PROJECTDIR/MODULE/protocatalog/catalog.pb.go:2687 +0x14b
google.golang.org/grpc.(*Server).processUnaryRPC(0xc000095380, 0xf7d980, 0xc000b44900, 0xc000392800, 0xc0007b86c0, 0x156bf00, 0x0, 0x0, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1024 +0x4f4
google.golang.org/grpc.(*Server).handleStream(0xc000095380, 0xf7d980, 0xc000b44900, 0xc000392800, 0x0)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:1313 +0xd97
google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc000c3fa40, 0xc000095380, 0xf7d980, 0xc000b44900, 0xc000392800)
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:722 +0xbb
created by google.golang.org/grpc.(*Server).serveStreams.func1
        /USERDIR/go/pkg/mod/google.golang.org/grpc@v1.27.1/server.go:720 +0xa1

Process finished with exit code 2