Skip to content

data race in agent/agentcontainers: processUpdatedContainersLocked #675

Closed
coder/coder
#18250
@hugodutka

Description

@hugodutka

https://github.com/coder/coder/actions/runs/15468895126/job/43547792403#step:8:1288

2025-06-05T13:59:34.8961849Z ==================
2025-06-05T13:59:34.8962007Z WARNING: DATA RACE
2025-06-05T13:59:34.8962185Z Read at 0x00c0003d1348 by goroutine 112:
2025-06-05T13:59:34.8962397Z   reflect.Value.String()
2025-06-05T13:59:34.8962753Z       /opt/hostedtoolcache/go/1.24.2/x64/src/reflect/value.go:2343 +0x5fa
2025-06-05T13:59:34.8963125Z   encoding/json.stringEncoder()
2025-06-05T13:59:34.8963510Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:601 +0x54d
2025-06-05T13:59:34.8963819Z   encoding/json.structEncoder.encode()
2025-06-05T13:59:34.8964209Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:727 +0x3c7
2025-06-05T13:59:34.8964531Z   encoding/json.structEncoder.encode-fm()
2025-06-05T13:59:34.8964768Z       <autogenerated>:1 +0xe4
2025-06-05T13:59:34.8964980Z   encoding/json.ptrEncoder.encode()
2025-06-05T13:59:34.8965358Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:899 +0x3d1
2025-06-05T13:59:34.8965659Z   encoding/json.ptrEncoder.encode-fm()
2025-06-05T13:59:34.8965892Z       <autogenerated>:1 +0x84
2025-06-05T13:59:34.8966098Z   encoding/json.structEncoder.encode()
2025-06-05T13:59:34.8966475Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:727 +0x3c7
2025-06-05T13:59:34.8966775Z   encoding/json.structEncoder.encode-fm()
2025-06-05T13:59:34.8967011Z       <autogenerated>:1 +0xe4
2025-06-05T13:59:34.8967288Z   encoding/json.arrayEncoder.encode()
2025-06-05T13:59:34.8967657Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:870 +0x102
2025-06-05T13:59:34.8967965Z   encoding/json.arrayEncoder.encode-fm()
2025-06-05T13:59:34.8968204Z       <autogenerated>:1 +0x84
2025-06-05T13:59:34.8968400Z   encoding/json.sliceEncoder.encode()
2025-06-05T13:59:34.8968768Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:843 +0x527
2025-06-05T13:59:34.8969068Z   encoding/json.sliceEncoder.encode-fm()
2025-06-05T13:59:34.8969298Z       <autogenerated>:1 +0x84
2025-06-05T13:59:34.8969497Z   encoding/json.structEncoder.encode()
2025-06-05T13:59:34.8969865Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:727 +0x3c7
2025-06-05T13:59:34.8970171Z   encoding/json.structEncoder.encode-fm()
2025-06-05T13:59:34.8970400Z       <autogenerated>:1 +0xe4
2025-06-05T13:59:34.8970619Z   encoding/json.(*encodeState).reflectValue()
2025-06-05T13:59:34.8970997Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:333 +0x83
2025-06-05T13:59:34.8971295Z   encoding/json.(*encodeState).marshal()
2025-06-05T13:59:34.8971654Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:309 +0xea
2025-06-05T13:59:34.8971944Z   encoding/json.(*Encoder).Encode()
2025-06-05T13:59:34.8972311Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/stream.go:210 +0x168
2025-06-05T13:59:34.8972654Z   github.com/coder/coder/v2/coderd/httpapi.WriteIndent()
2025-06-05T13:59:34.8973185Z       /home/runner/work/coder/coder/coderd/httpapi/httpapi.go:229 +0x38b
2025-06-05T13:59:34.8973510Z   github.com/coder/coder/v2/coderd/httpapi.Write()
2025-06-05T13:59:34.8973893Z       /home/runner/work/coder/coder/coderd/httpapi/httpapi.go:194 +0x31e
2025-06-05T13:59:34.8974366Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).handleDevcontainersList()
2025-06-05T13:59:34.8974857Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:763 +0x4d6
2025-06-05T13:59:34.8975301Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).handleDevcontainersList-fm()
2025-06-05T13:59:34.8975649Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.8975857Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8976218Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8976523Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP()
2025-06-05T13:59:34.8976907Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:459 +0x581
2025-06-05T13:59:34.8977230Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
2025-06-05T13:59:34.8977475Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.8977673Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8978032Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8978338Z   github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
2025-06-05T13:59:34.8978714Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:73 +0x6f6
2025-06-05T13:59:34.8979075Z   github.com/go-chi/chi/v5.(*Mux).Mount.func1()
2025-06-05T13:59:34.8979461Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:327 +0x4bd
2025-06-05T13:59:34.8979758Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8980106Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8980443Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP()
2025-06-05T13:59:34.8980824Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:459 +0x581
2025-06-05T13:59:34.8981140Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
2025-06-05T13:59:34.8981382Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.8981585Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8981937Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8982317Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).Routes.func1.1()
2025-06-05T13:59:34.8982773Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:329 +0x316
2025-06-05T13:59:34.8983235Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8983581Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8983876Z   github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
2025-06-05T13:59:34.8984259Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:73 +0x6f6
2025-06-05T13:59:34.8984571Z   github.com/go-chi/chi/v5.(*Mux).Mount.func1()
2025-06-05T13:59:34.8984940Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:327 +0x4bd
2025-06-05T13:59:34.8985243Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8985601Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8985893Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP()
2025-06-05T13:59:34.8986271Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:459 +0x581
2025-06-05T13:59:34.8986591Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
2025-06-05T13:59:34.8986836Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.8987033Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.8987389Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.8987684Z   github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
2025-06-05T13:59:34.8988058Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:90 +0x67e
2025-06-05T13:59:34.8988450Z   github.com/coder/coder/v2/agent/agentcontainers_test.TestAPI.func2.1()
2025-06-05T13:59:34.8988934Z       /home/runner/work/coder/coder/agent/agentcontainers/api_test.go:524 +0x26d8
2025-06-05T13:59:34.8989226Z   testing.tRunner()
2025-06-05T13:59:34.8989553Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
2025-06-05T13:59:34.8989838Z   testing.(*T).Run.gowrap1()
2025-06-05T13:59:34.8990234Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44
2025-06-05T13:59:34.8990438Z 
2025-06-05T13:59:34.8990544Z Previous write at 0x00c0003d1348 by goroutine 349:
2025-06-05T13:59:34.8990953Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).processUpdatedContainersLocked()
2025-06-05T13:59:34.8991463Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:406 +0x292
2025-06-05T13:59:34.8991865Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).updateContainers()
2025-06-05T13:59:34.8992310Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:385 +0x464
2025-06-05T13:59:34.8992690Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).updaterLoop()
2025-06-05T13:59:34.8993213Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:305 +0x838
2025-06-05T13:59:34.8993589Z   github.com/coder/coder/v2/agent/agentcontainers.NewAPI.gowrap2()
2025-06-05T13:59:34.8994020Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:205 +0x33
2025-06-05T13:59:34.8994230Z 
2025-06-05T13:59:34.8994312Z Goroutine 112 (running) created at:
2025-06-05T13:59:34.8994511Z   testing.(*T).Run()
2025-06-05T13:59:34.8994831Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x8f2
2025-06-05T13:59:34.8995214Z   github.com/coder/coder/v2/agent/agentcontainers_test.TestAPI.func2()
2025-06-05T13:59:34.8995684Z       /home/runner/work/coder/coder/agent/agentcontainers/api_test.go:405 +0x1284
2025-06-05T13:59:34.8995971Z   testing.tRunner()
2025-06-05T13:59:34.8996298Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
2025-06-05T13:59:34.8996579Z   testing.(*T).Run.gowrap1()
2025-06-05T13:59:34.8996919Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44
2025-06-05T13:59:34.8997115Z 
2025-06-05T13:59:34.8997191Z Goroutine 349 (running) created at:
2025-06-05T13:59:34.8997460Z   github.com/coder/coder/v2/agent/agentcontainers.NewAPI()
2025-06-05T13:59:34.8997872Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:205 +0xeea
2025-06-05T13:59:34.8998262Z   github.com/coder/coder/v2/agent/agentcontainers_test.TestAPI.func2.1()
2025-06-05T13:59:34.8998726Z       /home/runner/work/coder/coder/agent/agentcontainers/api_test.go:423 +0xb87
2025-06-05T13:59:34.8999092Z   testing.tRunner()
2025-06-05T13:59:34.8999412Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
2025-06-05T13:59:34.8999689Z   testing.(*T).Run.gowrap1()
2025-06-05T13:59:34.9000030Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44
2025-06-05T13:59:34.9000285Z ==================
2025-06-05T13:59:34.9000425Z ==================
2025-06-05T13:59:34.9000572Z WARNING: DATA RACE
2025-06-05T13:59:34.9000741Z Read at 0x00c0003d1358 by goroutine 112:
2025-06-05T13:59:34.9000942Z   reflect.Value.Bool()
2025-06-05T13:59:34.9001260Z       /opt/hostedtoolcache/go/1.24.2/x64/src/reflect/value.go:286 +0x193
2025-06-05T13:59:34.9001537Z   encoding/json.boolEncoder()
2025-06-05T13:59:34.9001783Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:517 +0x22c
2025-06-05T13:59:34.9001891Z   encoding/json.structEncoder.encode()
2025-06-05T13:59:34.9002131Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:727 +0x3c7
2025-06-05T13:59:34.9002238Z   encoding/json.structEncoder.encode-fm()
2025-06-05T13:59:34.9002343Z       <autogenerated>:1 +0xe4
2025-06-05T13:59:34.9002436Z   encoding/json.ptrEncoder.encode()
2025-06-05T13:59:34.9002673Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:899 +0x3d1
2025-06-05T13:59:34.9002780Z   encoding/json.ptrEncoder.encode-fm()
2025-06-05T13:59:34.9002964Z       <autogenerated>:1 +0x84
2025-06-05T13:59:34.9003061Z   encoding/json.structEncoder.encode()
2025-06-05T13:59:34.9003308Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:727 +0x3c7
2025-06-05T13:59:34.9003410Z   encoding/json.structEncoder.encode-fm()
2025-06-05T13:59:34.9003515Z       <autogenerated>:1 +0xe4
2025-06-05T13:59:34.9003610Z   encoding/json.arrayEncoder.encode()
2025-06-05T13:59:34.9003918Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:870 +0x102
2025-06-05T13:59:34.9004025Z   encoding/json.arrayEncoder.encode-fm()
2025-06-05T13:59:34.9004124Z       <autogenerated>:1 +0x84
2025-06-05T13:59:34.9004216Z   encoding/json.sliceEncoder.encode()
2025-06-05T13:59:34.9004464Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:843 +0x527
2025-06-05T13:59:34.9004562Z   encoding/json.sliceEncoder.encode-fm()
2025-06-05T13:59:34.9004663Z       <autogenerated>:1 +0x84
2025-06-05T13:59:34.9004757Z   encoding/json.structEncoder.encode()
2025-06-05T13:59:34.9004989Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:727 +0x3c7
2025-06-05T13:59:34.9005093Z   encoding/json.structEncoder.encode-fm()
2025-06-05T13:59:34.9005188Z       <autogenerated>:1 +0xe4
2025-06-05T13:59:34.9005291Z   encoding/json.(*encodeState).reflectValue()
2025-06-05T13:59:34.9005531Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:333 +0x83
2025-06-05T13:59:34.9005628Z   encoding/json.(*encodeState).marshal()
2025-06-05T13:59:34.9005872Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/encode.go:309 +0xea
2025-06-05T13:59:34.9005964Z   encoding/json.(*Encoder).Encode()
2025-06-05T13:59:34.9006204Z       /opt/hostedtoolcache/go/1.24.2/x64/src/encoding/json/stream.go:210 +0x168
2025-06-05T13:59:34.9006349Z   github.com/coder/coder/v2/coderd/httpapi.WriteIndent()
2025-06-05T13:59:34.9006581Z       /home/runner/work/coder/coder/coderd/httpapi/httpapi.go:229 +0x38b
2025-06-05T13:59:34.9006699Z   github.com/coder/coder/v2/coderd/httpapi.Write()
2025-06-05T13:59:34.9006937Z       /home/runner/work/coder/coder/coderd/httpapi/httpapi.go:194 +0x31e
2025-06-05T13:59:34.9007157Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).handleDevcontainersList()
2025-06-05T13:59:34.9007402Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:763 +0x4d6
2025-06-05T13:59:34.9007635Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).handleDevcontainersList-fm()
2025-06-05T13:59:34.9007728Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.9007827Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9008119Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9008223Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP()
2025-06-05T13:59:34.9008476Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:459 +0x581
2025-06-05T13:59:34.9008586Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
2025-06-05T13:59:34.9008690Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.9008783Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9009008Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9009114Z   github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
2025-06-05T13:59:34.9009353Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:73 +0x6f6
2025-06-05T13:59:34.9009461Z   github.com/go-chi/chi/v5.(*Mux).Mount.func1()
2025-06-05T13:59:34.9009706Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:327 +0x4bd
2025-06-05T13:59:34.9009795Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9010025Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9010127Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP()
2025-06-05T13:59:34.9010363Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:459 +0x581
2025-06-05T13:59:34.9010480Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
2025-06-05T13:59:34.9010575Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.9010665Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9010903Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9011093Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).Routes.func1.1()
2025-06-05T13:59:34.9011339Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:329 +0x316
2025-06-05T13:59:34.9011427Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9011687Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9011805Z   github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
2025-06-05T13:59:34.9012052Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:73 +0x6f6
2025-06-05T13:59:34.9012166Z   github.com/go-chi/chi/v5.(*Mux).Mount.func1()
2025-06-05T13:59:34.9012416Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:327 +0x4bd
2025-06-05T13:59:34.9012510Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9012748Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9012928Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP()
2025-06-05T13:59:34.9013169Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:459 +0x581
2025-06-05T13:59:34.9013289Z   github.com/go-chi/chi/v5.(*Mux).routeHTTP-fm()
2025-06-05T13:59:34.9013389Z       <autogenerated>:1 +0x51
2025-06-05T13:59:34.9013481Z   net/http.HandlerFunc.ServeHTTP()
2025-06-05T13:59:34.9013718Z       /opt/hostedtoolcache/go/1.24.2/x64/src/net/http/server.go:2294 +0x47
2025-06-05T13:59:34.9013818Z   github.com/go-chi/chi/v5.(*Mux).ServeHTTP()
2025-06-05T13:59:34.9014061Z       /home/runner/go/pkg/mod/github.com/go-chi/chi/v5@v5.1.0/mux.go:90 +0x67e
2025-06-05T13:59:34.9014256Z   github.com/coder/coder/v2/agent/agentcontainers_test.TestAPI.func2.1()
2025-06-05T13:59:34.9014520Z       /home/runner/work/coder/coder/agent/agentcontainers/api_test.go:524 +0x26d8
2025-06-05T13:59:34.9014600Z   testing.tRunner()
2025-06-05T13:59:34.9014833Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
2025-06-05T13:59:34.9014917Z   testing.(*T).Run.gowrap1()
2025-06-05T13:59:34.9015149Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44
2025-06-05T13:59:34.9015154Z 
2025-06-05T13:59:34.9015254Z Previous write at 0x00c0003d1358 by goroutine 349:
2025-06-05T13:59:34.9015508Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).processUpdatedContainersLocked()
2025-06-05T13:59:34.9015747Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:407 +0x304
2025-06-05T13:59:34.9015935Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).updateContainers()
2025-06-05T13:59:34.9016237Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:385 +0x464
2025-06-05T13:59:34.9016417Z   github.com/coder/coder/v2/agent/agentcontainers.(*API).updaterLoop()
2025-06-05T13:59:34.9016655Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:305 +0x838
2025-06-05T13:59:34.9016834Z   github.com/coder/coder/v2/agent/agentcontainers.NewAPI.gowrap2()
2025-06-05T13:59:34.9017067Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:205 +0x33
2025-06-05T13:59:34.9017071Z 
2025-06-05T13:59:34.9017155Z Goroutine 112 (running) created at:
2025-06-05T13:59:34.9017228Z   testing.(*T).Run()
2025-06-05T13:59:34.9017460Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x8f2
2025-06-05T13:59:34.9017648Z   github.com/coder/coder/v2/agent/agentcontainers_test.TestAPI.func2()
2025-06-05T13:59:34.9017909Z       /home/runner/work/coder/coder/agent/agentcontainers/api_test.go:405 +0x1284
2025-06-05T13:59:34.9017982Z   testing.tRunner()
2025-06-05T13:59:34.9018214Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
2025-06-05T13:59:34.9018297Z   testing.(*T).Run.gowrap1()
2025-06-05T13:59:34.9018526Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44
2025-06-05T13:59:34.9018530Z 
2025-06-05T13:59:34.9018605Z Goroutine 349 (running) created at:
2025-06-05T13:59:34.9018751Z   github.com/coder/coder/v2/agent/agentcontainers.NewAPI()
2025-06-05T13:59:34.9019032Z       /home/runner/work/coder/coder/agent/agentcontainers/api.go:205 +0xeea
2025-06-05T13:59:34.9019221Z   github.com/coder/coder/v2/agent/agentcontainers_test.TestAPI.func2.1()
2025-06-05T13:59:34.9019485Z       /home/runner/work/coder/coder/agent/agentcontainers/api_test.go:423 +0xb87
2025-06-05T13:59:34.9019604Z   testing.tRunner()
2025-06-05T13:59:34.9019835Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
2025-06-05T13:59:34.9019924Z   testing.(*T).Run.gowrap1()
2025-06-05T13:59:34.9020152Z       /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44
2025-06-05T13:59:34.9020213Z ==================

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions