Skip to content

Fix proxy middleware race - #3286

Merged
fschade merged 1 commit into
opencloud-eu:mainfrom
fschade:fix-proxy-middleware-race
Aug 11, 2026
Merged

Fix proxy middleware race#3286
fschade merged 1 commit into
opencloud-eu:mainfrom
fschade:fix-proxy-middleware-race

Conversation

@fschade

@fschade fschade commented Aug 11, 2026

Copy link
Copy Markdown
Member

Description

go test -race ./services/proxy/pkg/middleware/

Will run 22 of 22 specs
•••••==================
WARNING: DATA RACE
Write at 0x00c000401740 by goroutine 123:
  runtime.mapaccess2_faststr()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/internal/runtime/maps/runtime_faststr.go:161 +0x2ac
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:105 +0x7ac
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.2()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:70 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac

Previous read at 0x00c000401740 by goroutine 120:
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeMap()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:100 +0x38
  github.com/vmihailenco/msgpack/v5.encodeMapStringInterfaceValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:93 +0x1a8
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:240 +0xa0
  github.com/vmihailenco/msgpack/v5.(*Encoder).Encode()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:226 +0x414
  github.com/vmihailenco/msgpack/v5.Marshal()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:66 +0x254
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims.func1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:107 +0x70

Goroutine 123 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:911 +0xce4
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:234 +0xe3c
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:384 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:519 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:136 +0x490
  github.com/onsi/ginkgo/v2.RunSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/core_dsl.go:314 +0xbe4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware_test.TestMiddleware()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/middleware_suite_test.go:12 +0x54
  testing.tRunner()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2036 +0x164
  testing.(*T).Run.gowrap1()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2101 +0x34

Goroutine 120 (finished) created at:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:106 +0x964
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:61 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac
==================
==================
WARNING: DATA RACE
Write at 0x00c0003ae278 by goroutine 123:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:105 +0x7b8
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.2()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:70 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac

Previous read at 0x00c0003ae278 by goroutine 120:
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeMap()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:103 +0x158
  github.com/vmihailenco/msgpack/v5.encodeMapStringInterfaceValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:93 +0x1a8
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:240 +0xa0
  github.com/vmihailenco/msgpack/v5.(*Encoder).Encode()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:226 +0x414
  github.com/vmihailenco/msgpack/v5.Marshal()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:66 +0x254
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims.func1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:107 +0x70

Goroutine 123 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:911 +0xce4
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:234 +0xe3c
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:384 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:519 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:136 +0x490
  github.com/onsi/ginkgo/v2.RunSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/core_dsl.go:314 +0xbe4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware_test.TestMiddleware()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/middleware_suite_test.go:12 +0x54
  testing.tRunner()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2036 +0x164
  testing.(*T).Run.gowrap1()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2101 +0x34

Goroutine 120 (finished) created at:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:106 +0x964
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:61 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac
==================
•==================
WARNING: DATA RACE
Write at 0x00c000401740 by goroutine 127:
  runtime.mapaccess2_faststr()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/internal/runtime/maps/runtime_faststr.go:161 +0x2ac
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:105 +0x7ac
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.3()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:80 +0x238
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac

Previous read at 0x00c000401740 by goroutine 124:
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeMap()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:100 +0x38
  github.com/vmihailenco/msgpack/v5.encodeMapStringInterfaceValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:93 +0x1a8
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:240 +0xa0
  github.com/vmihailenco/msgpack/v5.(*Encoder).Encode()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:226 +0x414
  github.com/vmihailenco/msgpack/v5.Marshal()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:66 +0x254
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims.func1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:107 +0x70

Goroutine 127 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:911 +0xce4
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:234 +0xe3c
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:384 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:519 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:136 +0x490
  github.com/onsi/ginkgo/v2.RunSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/core_dsl.go:314 +0xbe4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware_test.TestMiddleware()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/middleware_suite_test.go:12 +0x54
  testing.tRunner()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2036 +0x164
  testing.(*T).Run.gowrap1()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2101 +0x34

Goroutine 124 (finished) created at:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:106 +0x964
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.2()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:70 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac
==================
==================
WARNING: DATA RACE
Write at 0x00c0003ae278 by goroutine 127:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:105 +0x7b8
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.3()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:80 +0x238
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac

Previous read at 0x00c0003ae278 by goroutine 124:
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeMap()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:103 +0x158
  github.com/vmihailenco/msgpack/v5.encodeMapStringInterfaceValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:93 +0x1a8
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:240 +0xa0
  github.com/vmihailenco/msgpack/v5.(*Encoder).Encode()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:226 +0x414
  github.com/vmihailenco/msgpack/v5.Marshal()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:66 +0x254
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims.func1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:107 +0x70

Goroutine 127 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:911 +0xce4
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:234 +0xe3c
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:384 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:519 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:136 +0x490
  github.com/onsi/ginkgo/v2.RunSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/core_dsl.go:314 +0xbe4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware_test.TestMiddleware()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/middleware_suite_test.go:12 +0x54
  testing.tRunner()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2036 +0x164
  testing.(*T).Run.gowrap1()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2101 +0x34

Goroutine 124 (finished) created at:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:106 +0x964
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.2()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:70 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac
==================
•==================
WARNING: DATA RACE
Write at 0x00c000401740 by goroutine 131:
  runtime.mapaccess2_faststr()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/internal/runtime/maps/runtime_faststr.go:161 +0x2ac
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:105 +0x7ac
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.4()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:92 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac

Previous read at 0x00c000401740 by goroutine 128:
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeMap()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:100 +0x38
  github.com/vmihailenco/msgpack/v5.encodeMapStringInterfaceValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:93 +0x1a8
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:240 +0xa0
  github.com/vmihailenco/msgpack/v5.(*Encoder).Encode()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:226 +0x414
  github.com/vmihailenco/msgpack/v5.Marshal()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:66 +0x254
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims.func1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:107 +0x70

Goroutine 131 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:911 +0xce4
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:234 +0xe3c
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:384 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:519 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:136 +0x490
  github.com/onsi/ginkgo/v2.RunSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/core_dsl.go:314 +0xbe4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware_test.TestMiddleware()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/middleware_suite_test.go:12 +0x54
  testing.tRunner()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2036 +0x164
  testing.(*T).Run.gowrap1()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2101 +0x34

Goroutine 128 (finished) created at:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:106 +0x964
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.3()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:80 +0x238
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac
==================
==================
WARNING: DATA RACE
Write at 0x00c0003ae278 by goroutine 131:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:105 +0x7b8
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.4()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:92 +0x168
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac

Previous read at 0x00c0003ae278 by goroutine 128:
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeMap()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:103 +0x158
  github.com/vmihailenco/msgpack/v5.encodeMapStringInterfaceValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode_map.go:93 +0x1a8
  github.com/vmihailenco/msgpack/v5.(*Encoder).EncodeValue()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:240 +0xa0
  github.com/vmihailenco/msgpack/v5.(*Encoder).Encode()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:226 +0x414
  github.com/vmihailenco/msgpack/v5.Marshal()
      /Users/fschade/go/pkg/mod/github.com/vmihailenco/msgpack/v5@v5.4.1/encode.go:66 +0x254
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims.func1()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:107 +0x70

Goroutine 131 (running) created at:
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:911 +0xce4
  github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:234 +0xe3c
  github.com/onsi/ginkgo/v2/internal.(*group).run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/group.go:384 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:519 +0xca8
  github.com/onsi/ginkgo/v2/internal.(*Suite).Run()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:136 +0x490
  github.com/onsi/ginkgo/v2.RunSpecs()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/core_dsl.go:314 +0xbe4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware_test.TestMiddleware()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/middleware_suite_test.go:12 +0x54
  testing.tRunner()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2036 +0x164
  testing.(*T).Run.gowrap1()
      /Users/fschade/.local/share/mise/installs/go/1.26.5/src/testing/testing.go:2101 +0x34

Goroutine 128 (finished) created at:
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).getClaims()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:106 +0x964
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.(*OIDCAuthenticator).Authenticate()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth.go:209 +0xf4
  github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware.init.func5.2.3()
      /Users/fschade/Developer/fschade/opencloud/services/proxy/pkg/middleware/oidc_auth_test.go:80 +0x238
  github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/node.go:585 +0x30
  github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
      /Users/fschade/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.32.0/internal/suite.go:946 +0x4ac
==================
•••••••••••••••

Ran 22 of 22 Specs in 0.014 seconds
SUCCESS! -- 22 Passed | 0 Failed | 0 Pending | 0 Skipped
--- FAIL: TestMiddleware (0.02s)
    testing.go:1712: race detected during execution of test
FAIL
FAIL    github.com/opencloud-eu/opencloud/services/proxy/pkg/middleware 0.816s
FAIL

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Technical debt
  • Tests only (no source changes)

Checklist:

  • Code changes
  • Unit tests added
  • Acceptance tests added
  • Documentation added

@fschade
fschade requested review from butonic and rhafer August 11, 2026 09:33
@codacy-production

codacy-production Bot commented Aug 11, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 duplication

Metric Results
Duplication 0

View in Codacy

🟢 Coverage 42.86% diff coverage · -0.01% coverage variation

Metric Results
Coverage variation -0.01% coverage variation (-1.00%)
Diff coverage 42.86% diff coverage

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (8504e29) 84010 19259 22.92%
Head commit (cd7f8f9) 84012 (+2) 19247 (-12) 22.91% (-0.01%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#3286) 7 3 42.86%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@fschade
fschade force-pushed the fix-proxy-middleware-race branch from 6a0352c to cd7f8f9 Compare August 11, 2026 09:40

@rhafer rhafer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not quite sure I understand the race yet. But this looks fine

@fschade

fschade commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

I am not quite sure I understand the race yet. But this looks fine

claims is a map which is returned to the caller, the caller works with it while the routine did the same

@fschade
fschade merged commit 573844a into opencloud-eu:main Aug 11, 2026
63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants