Skip to content

Commit 9329a50

Browse files
authored
chore: Fix race in collecting ICE Candidates (#76)
* chore: Fix race in collecting ICE Candidates This logic was flawed previously. ICE Candidates could collect before a negotiation was triggered, which led to a race where candidates would be lost. Candidates can no longer be lost, and we removed some code 😎. * Add comment describing fix * Use upstream dependency to fix goroutine leak * Use upstream dependency to fix goroutine leak
1 parent f970e35 commit 9329a50

File tree

4 files changed

+150
-128
lines changed

4 files changed

+150
-128
lines changed

go.mod

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ module github.com/coder/coder
22

33
go 1.17
44

5+
// Required until https://github.com/pion/ice/pull/413 is merged.
6+
replace github.com/pion/ice/v2 => github.com/kylecarbs/ice/v2 v2.1.8-0.20220127013758-526c25708344
7+
58
// Required until https://github.com/hashicorp/terraform-config-inspect/pull/74 is merged.
69
replace github.com/hashicorp/terraform-config-inspect => github.com/kylecarbs/terraform-config-inspect v0.0.0-20211215004401-bbc517866b88
710

@@ -12,7 +15,7 @@ require (
1215
github.com/go-playground/validator/v10 v10.10.0
1316
github.com/golang-migrate/migrate/v4 v4.15.1
1417
github.com/google/uuid v1.3.0
15-
github.com/hashicorp/go-version v1.3.0
18+
github.com/hashicorp/go-version v1.4.0
1619
github.com/hashicorp/hc-install v0.3.1
1720
github.com/hashicorp/terraform-config-inspect v0.0.0-20211115214459-90acf1ca460f
1821
github.com/hashicorp/terraform-exec v0.15.0
@@ -23,36 +26,35 @@ require (
2326
github.com/pion/datachannel v1.5.2
2427
github.com/pion/logging v0.2.2
2528
github.com/pion/transport v0.13.0
26-
github.com/pion/webrtc/v3 v3.1.13
29+
github.com/pion/webrtc/v3 v3.1.17
2730
github.com/spf13/cobra v1.3.0
2831
github.com/stretchr/testify v1.7.0
2932
github.com/unrolled/secure v1.0.9
30-
go.uber.org/atomic v1.7.0
33+
go.uber.org/atomic v1.9.0
3134
go.uber.org/goleak v1.1.12
32-
golang.org/x/crypto v0.0.0-20220112180741-5e0467b6c7ce
35+
golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8
3336
golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
3437
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
3538
google.golang.org/protobuf v1.27.1
36-
storj.io/drpc v0.0.26
39+
storj.io/drpc v0.0.28
3740
)
3841

3942
require (
40-
cloud.google.com/go/storage v1.14.0 // indirect
43+
cloud.google.com/go/compute v0.1.0 // indirect
44+
cloud.google.com/go/storage v1.19.0 // indirect
4145
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect
4246
github.com/Microsoft/go-winio v0.5.1 // indirect
4347
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
44-
github.com/agext/levenshtein v1.2.2 // indirect
45-
github.com/alecthomas/chroma v0.9.1 // indirect
46-
github.com/apparentlymart/go-textseg v1.0.0 // indirect
48+
github.com/agext/levenshtein v1.2.3 // indirect
49+
github.com/alecthomas/chroma v0.10.0 // indirect
4750
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect
48-
github.com/aws/aws-sdk-go v1.34.28 // indirect
51+
github.com/aws/aws-sdk-go v1.42.42 // indirect
4952
github.com/cenkalti/backoff/v4 v4.1.2 // indirect
50-
github.com/containerd/continuity v0.1.0 // indirect
51-
github.com/danwakefield/fnmatch v0.0.0-20160403171240-cbb64ac3d964 // indirect
53+
github.com/containerd/continuity v0.2.2 // indirect
5254
github.com/davecgh/go-spew v1.1.1 // indirect
53-
github.com/dhui/dktest v0.3.8 // indirect
55+
github.com/dhui/dktest v0.3.9 // indirect
5456
github.com/dlclark/regexp2 v1.4.0 // indirect
55-
github.com/docker/cli v20.10.11+incompatible // indirect
57+
github.com/docker/cli v20.10.12+incompatible // indirect
5658
github.com/docker/docker v20.10.12+incompatible // indirect
5759
github.com/docker/go-connections v0.4.0 // indirect
5860
github.com/docker/go-units v0.4.0 // indirect
@@ -62,28 +64,28 @@ require (
6264
github.com/gogo/protobuf v1.3.2 // indirect
6365
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
6466
github.com/golang/protobuf v1.5.2 // indirect
65-
github.com/google/go-cmp v0.5.6 // indirect
67+
github.com/google/go-cmp v0.5.7 // indirect
6668
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
67-
github.com/hashicorp/errwrap v1.0.0 // indirect
69+
github.com/hashicorp/errwrap v1.1.0 // indirect
6870
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
6971
github.com/hashicorp/go-multierror v1.1.1 // indirect
7072
github.com/hashicorp/hcl v1.0.0 // indirect
71-
github.com/hashicorp/hcl/v2 v2.0.0 // indirect
73+
github.com/hashicorp/hcl/v2 v2.11.1 // indirect
7274
github.com/hashicorp/terraform-json v0.13.0 // indirect
7375
github.com/imdario/mergo v0.3.12 // indirect
7476
github.com/inconshreveable/mousetrap v1.0.0 // indirect
7577
github.com/leodido/go-urn v1.2.1 // indirect
7678
github.com/mattn/go-colorable v0.1.12 // indirect
7779
github.com/mattn/go-isatty v0.0.14 // indirect
78-
github.com/mitchellh/go-wordwrap v1.0.0 // indirect
80+
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
7981
github.com/mitchellh/mapstructure v1.4.3 // indirect
8082
github.com/moby/term v0.0.0-20210619224110-3f7ff695adc6 // indirect
8183
github.com/opencontainers/go-digest v1.0.0 // indirect
8284
github.com/opencontainers/image-spec v1.0.2 // indirect
83-
github.com/opencontainers/runc v1.0.2 // indirect
85+
github.com/opencontainers/runc v1.1.0 // indirect
8486
github.com/pion/dtls/v2 v2.1.0 // indirect
8587
github.com/pion/ice/v2 v2.1.19 // indirect
86-
github.com/pion/interceptor v0.1.4 // indirect
88+
github.com/pion/interceptor v0.1.7 // indirect
8789
github.com/pion/mdns v0.0.5 // indirect
8890
github.com/pion/randutil v0.1.0 // indirect
8991
github.com/pion/rtcp v1.2.9 // indirect
@@ -98,19 +100,20 @@ require (
98100
github.com/pmezard/go-difflib v1.0.0 // indirect
99101
github.com/sirupsen/logrus v1.8.1 // indirect
100102
github.com/spf13/pflag v1.0.5 // indirect
101-
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
103+
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
102104
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
103105
github.com/xeipuuv/gojsonschema v1.2.0 // indirect
104-
github.com/zclconf/go-cty v1.9.1 // indirect
106+
github.com/zclconf/go-cty v1.10.0 // indirect
105107
github.com/zeebo/errs v1.2.2 // indirect
106108
go.opencensus.io v0.23.0 // indirect
107-
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f // indirect
108-
golang.org/x/sys v0.0.0-20211210111614-af8b64212486 // indirect
109-
golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect
109+
golang.org/x/net v0.0.0-20220121210141-e204ce36a2ba // indirect
110+
golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect
111+
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
110112
golang.org/x/text v0.3.7 // indirect
111-
google.golang.org/api v0.63.0 // indirect
113+
google.golang.org/api v0.65.0 // indirect
112114
google.golang.org/appengine v1.6.7 // indirect
113-
google.golang.org/grpc v1.43.0 // indirect
115+
google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 // indirect
116+
google.golang.org/grpc v1.44.0 // indirect
114117
gopkg.in/yaml.v2 v2.4.0 // indirect
115118
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
116119
)

0 commit comments

Comments
 (0)