Skip to content

test flake: DATA RACE in TestPrebuiltWorkspacesTelemetry #18132

Closed
@johnstcn

Description

@johnstcn

Seen here: https://github.com/coder/coder/actions/runs/15348460078/job/43191633638

WARNING: DATA RACE
Write at 0x00c000a94790 by goroutine 439:
  github.com/coder/coder/v2/coderd/database/dbmem.(*FakeQuerier).UpsertTelemetryItem()
      /home/runner/work/coder/coder/coderd/database/dbmem/dbmem.go:12443 +0x37d
  github.com/coder/coder/v2/coderd/telemetry_test.(*mockDB).UpsertTelemetryItem()
      <autogenerated>:1 +0xa3
  github.com/coder/coder/v2/coderd/telemetry.RecordTelemetryStatus()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:216 +0x3fb
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).runSnapshotter()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:242 +0x138
  github.com/coder/coder/v2/coderd/telemetry.New.gowrap1()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:90 +0x33

Previous read at 0x00c000a94790 by goroutine 436:
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).createSnapshot.func21()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:683 +0x236
  golang.org/x/sync/errgroup.(*Group).add.func1()
      /home/runner/go/pkg/mod/golang.org/x/sync@v0.14.0/errgroup/errgroup.go:130 +0x141

Goroutine 439 (running) created at:
  github.com/coder/coder/v2/coderd/telemetry.New()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:90 +0x533
  github.com/coder/coder/v2/coderd/telemetry_test.collectSnapshot()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry_test.go:609 +0x3e4
  github.com/coder/coder/v2/coderd/telemetry_test.TestPrebuiltWorkspacesTelemetry.func4()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry_test.go:418 +0x14b
  testing.tRunner()
      /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
  testing.(*T).Run.gowrap1()
      /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44

Goroutine 436 (finished) created at:
  golang.org/x/sync/errgroup.(*Group).add()
      /home/runner/go/pkg/mod/golang.org/x/sync@v0.14.0/errgroup/errgroup.go:98 +0xe4
  golang.org/x/sync/errgroup.(*Group).Go()
      /home/runner/go/pkg/mod/golang.org/x/sync@v0.14.0/errgroup/errgroup.go:93 +0x1ec5
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).createSnapshot()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:677 +0x1d8d
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).reportWithDeployment()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:287 +0x1e5
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).runSnapshotter()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:272 +0x454
  github.com/coder/coder/v2/coderd/telemetry.New.gowrap1()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:90 +0x33
==================
==================
WARNING: DATA RACE
Write at 0x00c000a947b8 by goroutine 439:
  github.com/coder/coder/v2/coderd/database/dbmem.(*FakeQuerier).UpsertTelemetryItem()
      /home/runner/work/coder/coder/coderd/database/dbmem/dbmem.go:12444 +0x44e
  github.com/coder/coder/v2/coderd/telemetry_test.(*mockDB).UpsertTelemetryItem()
      <autogenerated>:1 +0xa3
  github.com/coder/coder/v2/coderd/telemetry.RecordTelemetryStatus()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:216 +0x3fb
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).runSnapshotter()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:242 +0x138
  github.com/coder/coder/v2/coderd/telemetry.New.gowrap1()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:90 +0x33

Previous read at 0x00c000a947b8 by goroutine 436:
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).createSnapshot.func21()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:683 +0x236
  golang.org/x/sync/errgroup.(*Group).add.func1()
      /home/runner/go/pkg/mod/golang.org/x/sync@v0.14.0/errgroup/errgroup.go:130 +0x141

Goroutine 439 (running) created at:
  github.com/coder/coder/v2/coderd/telemetry.New()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:90 +0x533
  github.com/coder/coder/v2/coderd/telemetry_test.collectSnapshot()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry_test.go:609 +0x3e4
  github.com/coder/coder/v2/coderd/telemetry_test.TestPrebuiltWorkspacesTelemetry.func4()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry_test.go:418 +0x14b
  testing.tRunner()
      /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1792 +0x225
  testing.(*T).Run.gowrap1()
      /opt/hostedtoolcache/go/1.24.2/x64/src/testing/testing.go:1851 +0x44

Goroutine 436 (finished) created at:
  golang.org/x/sync/errgroup.(*Group).add()
      /home/runner/go/pkg/mod/golang.org/x/sync@v0.14.0/errgroup/errgroup.go:98 +0xe4
  golang.org/x/sync/errgroup.(*Group).Go()
      /home/runner/go/pkg/mod/golang.org/x/sync@v0.14.0/errgroup/errgroup.go:93 +0x1ec5
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).createSnapshot()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:677 +0x1d8d
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).reportWithDeployment()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:287 +0x1e5
  github.com/coder/coder/v2/coderd/telemetry.(*remoteReporter).runSnapshotter()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:272 +0x454
  github.com/coder/coder/v2/coderd/telemetry.New.gowrap1()
      /home/runner/work/coder/coder/coderd/telemetry/telemetry.go:90 +0x33
==================
    t.go:106: 2025-05-30 14:23:05.811 [debu]  finished telemetry status check
    t.go:106: 2025-05-30 14:23:05.813 [debu]  submitted deployment info
    t.go:106: 2025-05-30 14:23:05.814 [debu]  submitted snapshot
    t.go:106: 2025-05-30 14:23:05.815 [debu]  submitted deployment info
    t.go:106: 2025-05-30 14:23:05.817 [debu]  submitted snapshot
    testing.go:1490: race detected during execution of test

Metadata

Metadata

Assignees

No one assigned

    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