Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

http3: racy client SETTINGS test #4461

Closed
marten-seemann opened this issue Apr 26, 2024 · 0 comments · Fixed by #4463
Closed

http3: racy client SETTINGS test #4461

marten-seemann opened this issue Apr 26, 2024 · 0 comments · Fixed by #4463
Labels

Comments

@marten-seemann
Copy link
Member

https://github.com/quic-go/quic-go/actions/runs/8850894446/job/24306199743

Client SETTINGS handling receives SETTINGS
/home/runner/work/quic-go/quic-go/http3/client_test.go:357
==================
WARNING: DATA RACE
Write at 0x00c000054580 by goroutine 923:
  github.com/quic-go/quic-go/http3.glob..func5.4.1()
      /home/runner/work/quic-go/quic-go/http3/client_test.go:321 +0x67
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/node.go:463 +0x2e
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/suite.go:863 +0x14b

Previous read at 0x00c000054580 by goroutine 908:
  github.com/quic-go/quic-go/http3.glob..func5.4.1.3()
      /home/runner/work/quic-go/quic-go/http3/client_test.go:337 +0x2e
  runtime.call16()
      /home/runner/work/_tool/go/1.21.9/x64/src/runtime/asm_amd64.s:747 +0x42
  reflect.Value.Call()
      /home/runner/work/_tool/go/1.21.9/x64/src/reflect/value.go:380 +0xb5
  go.uber.org/mock/gomock.(*Call).DoAndReturn.func1()
      /home/runner/go/pkg/mod/go.uber.org/[email protected]/gomock/call.go:138 +0x944
  go.uber.org/mock/gomock.(*Controller).Call()
      /home/runner/go/pkg/mod/go.uber.org/[email protected]/gomock/controller.go:229 +0x11c
  github.com/quic-go/quic-go/internal/mocks/quic.(*MockEarlyConnection).AcceptUniStream()
      /home/runner/work/quic-go/quic-go/internal/mocks/quic/early_conn.go:87 +0x13e
  github.com/quic-go/quic-go/http3.(*connection).HandleUnidirectionalStreams()
      /home/runner/work/quic-go/quic-go/http3/conn.go:140 +0xef
  github.com/quic-go/quic-go/http3.(*SingleDestinationRoundTripper).init.func5()
      /home/runner/work/quic-go/quic-go/http3/client.go:98 +0x44

Goroutine 923 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/suite.go:850 +0x1464
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/group.go:199 +0x1124
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/group.go:346 +0x1147
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/suite.go:463 +0x1211
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/suite.go:116 +0x62e
  github.com/onsi/ginkgo/v2.RunSpecs()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/core_dsl.go:319 +0x1744
  github.com/quic-go/quic-go/http3.TestHttp3()
      /home/runner/work/quic-go/quic-go/http3/http3_suite_test.go:16 +0x4d
  testing.tRunner()
      /home/runner/work/_tool/go/1.21.9/x64/src/testing/testing.go:1595 +0x261
  testing.(*T).Run.func1()
      /home/runner/work/_tool/go/1.21.9/x64/src/testing/testing.go:1648 +0x44

Goroutine 908 (finished) created at:
  github.com/quic-go/quic-go/http3.(*SingleDestinationRoundTripper).init()
      /home/runner/work/quic-go/quic-go/http3/client.go:98 +0x85c
  github.com/quic-go/quic-go/http3.(*SingleDestinationRoundTripper).RoundTrip.func1()
      /home/runner/work/quic-go/quic-go/http3/client.go:151 +0x2e
  sync.(*Once).doSlow()
      /home/runner/work/_tool/go/1.21.9/x64/src/sync/once.go:74 +0xf0
  sync.(*Once).Do()
      /home/runner/work/_tool/go/1.21.9/x64/src/sync/once.go:65 +0x44
  github.com/quic-go/quic-go/http3.(*SingleDestinationRoundTripper).RoundTrip()
      /home/runner/work/quic-go/quic-go/http3/client.go:151 +0x68
  github.com/quic-go/quic-go/http3.glob..func5.4.1()
      /home/runner/work/quic-go/quic-go/http3/client_test.go:347 +0xc30
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/node.go:463 +0x2e
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /home/runner/go/pkg/mod/github.com/onsi/ginkgo/[email protected]/internal/suite.go:863 +0x14b
==================
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant