Thanks to visit codestin.com
Credit goes to github.com

Skip to content

data race related to dRPC / yamux #2429

Closed
@spikecurtis

Description

@spikecurtis

https://github.com/coder/coder/runs/6923689367

snip:

==================
WARNING: DATA RACE
Read at 0x00c000810001 by goroutine 69:
  runtime.slicecopy()
      /opt/hostedtoolcache/go/1.18.3/x64/src/runtime/slice.go:295 +0x0
  net.(*pipe).read()
      /opt/hostedtoolcache/go/1.18.3/x64/src/net/pipe.go:161 +0x293
  net.(*pipe).Read()
      /opt/hostedtoolcache/go/1.18.3/x64/src/net/pipe.go:142 +0x54
  bufio.(*Reader).Read()
      /opt/hostedtoolcache/go/1.18.3/x64/src/bufio/bufio.go:236 +0x4da
  io.(*LimitedReader).Read()
      /opt/hostedtoolcache/go/1.18.3/x64/src/io/io.go:476 +0xc5
  bytes.(*Buffer).ReadFrom()
      /opt/hostedtoolcache/go/1.18.3/x64/src/bytes/buffer.go:204 +0x112
  io.copyBuffer()
      /opt/hostedtoolcache/go/1.18.3/x64/src/io/io.go:[412](https://github.com/coder/coder/runs/6923689367?check_suite_focus=true#step:10:413) +0x1c2
  io.Copy()
      /opt/hostedtoolcache/go/1.18.3/x64/src/io/io.go:385 +0x33c
  github.com/hashicorp/yamux.(*Stream).readData()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/stream.go:476 +0x2f9
  github.com/hashicorp/yamux.(*Session).handleStreamMessage()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/session.go:550 +0x3e4
  github.com/hashicorp/yamux.(*Session).recvLoop()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/session.go:501 +0x1ed
  github.com/hashicorp/yamux.(*Session).recv()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/session.go:462 +0x2e
  github.com/hashicorp/yamux.newSession.func1()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/session.go:113 +0x39
Previous write at 0x00c000810001 by goroutine 121:
  storj.io/drpc/drpcwire.AppendVarint()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected][419](https://github.com/coder/coder/runs/6923689367?check_suite_focus=true#step:10:420)3521-8ebbaf48bdff/drpcwire/varint.go:32 +0x1e4
  storj.io/drpc/drpcwire.AppendFrame()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected][424](https://github.com/coder/coder/runs/6923689367?check_suite_focus=true#step:10:425)193521-8ebbaf48bdff/drpcwire/packet.go:139 +0xf9
  storj.io/drpc/drpcwire.(*Writer).WriteFrame()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcwire/writer.go:70 +0x110
  storj.io/drpc/drpcstream.(*Stream).sendPacket()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcstream/stream.go:264 +0x204
  storj.io/drpc/drpcstream.(*Stream).SendError()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcstream/stream.go:457 +0x1d4
  storj.io/drpc/drpcserver.(*Server).handleRPC()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcserver/server.go:124 +0x86
  storj.io/drpc/drpcserver.(*Server).ServeOne()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcserver/server.go:66 +0x2a4
  storj.io/drpc/drpcserver.(*Server).Serve.func2()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcserver/server.go:112 +0x73
  storj.io/drpc/drpcctx.(*Tracker).track()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcctx/transport.go:52 +0x3d
  storj.io/drpc/drpcctx.(*Tracker).Run.func1()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcctx/transport.go:47 +0x47
Goroutine 69 (running) created at:
  github.com/hashicorp/yamux.newSession()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/session.go:113 +0x8a6
  github.com/hashicorp/yamux.Client()
      /home/runner/go/pkg/mod/github.com/hashicorp/[email protected]/mux.go:113 +0x207
  github.com/coder/coder/provisionersdk.TransportPipe()
      /home/runner/work/coder/coder/provisionersdk/transport.go:24 +0x25e
  github.com/coder/coder/provisioner/terraform_test.setupProvisioner()
      /home/runner/work/coder/coder/provisioner/terraform/provision_test.go:26 +0x44
  github.com/coder/coder/provisioner/terraform_test.TestProvision()
      /home/runner/work/coder/coder/provisioner/terraform/provision_test.go:49 +0x57
  testing.tRunner()
      /opt/hostedtoolcache/go/1.18.3/x64/src/testing/testing.go:1[439](https://github.com/coder/coder/runs/6923689367?check_suite_focus=true#step:10:440) +0x213
  testing.(*T).Run.func1()
      /opt/hostedtoolcache/go/1.18.3/x64/src/testing/testing.go:1486 +0x47
Goroutine 121 (finished) created at:
  storj.io/drpc/drpcctx.(*Tracker).Run()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcctx/transport.go:47 +0xee
  storj.io/drpc/drpcserver.(*Server).Serve()
      /home/runner/go/pkg/mod/github.com/kylecarbs/[email protected]/drpcserver/server.go:111 +0x3e7
  github.com/coder/coder/provisionersdk.Serve()
      /home/runner/work/coder/coder/provisionersdk/serve.go:55 +0x765
  github.com/coder/coder/provisioner/terraform.Serve()
      /home/runner/work/coder/coder/provisioner/terraform/serve.go:73 +0x64c
  github.com/coder/coder/provisioner/terraform_test.setupProvisioner.func2()
      /home/runner/work/coder/coder/provisioner/terraform/provision_test.go:34 +0x250
==================

Could be related to #2417

Metadata

Metadata

Assignees

Labels

apiArea: HTTP API

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions