Layr-Labs / eigensdk-go

Go SDK for building AVSs on Eigenlayer
https://www.eigenlayer.xyz/
Other
56 stars 36 forks source link

Data race #79

Closed estensen closed 1 month ago

estensen commented 8 months ago

Running this on master

go test ./... -race
...
==================
WARNING: DATA RACE
Write at 0x00c00007cde8 by goroutine 17:
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:147 +0x187
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Previous read at 0x00c00007cde8 by goroutine 18:
  math/big.(*Int).Mul()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:194 +0x1b5
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.checkIfStakeThresholdsMet()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:370 +0x1ab
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:268 +0x11de
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Goroutine 17 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:186 +0x805
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44

Goroutine 18 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:190 +0x8b4
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44
==================
==================
WARNING: DATA RACE
Write at 0x00c00007cde0 by goroutine 17:
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:158 +0x4ed
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Previous read at 0x00c00007cde0 by goroutine 18:
  math/big.(*Int).Mul()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:195 +0x2b4
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.checkIfStakeThresholdsMet()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:370 +0x1ab
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:268 +0x11de
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Goroutine 17 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:186 +0x805
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44

Goroutine 18 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:190 +0x8b4
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44
==================
==================
WARNING: DATA RACE
Read at 0x00c00007cdc0 by goroutine 18:
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:143 +0x4d
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Previous write at 0x00c00007cdc0 by goroutine 17:
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:158 +0x4ed
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Goroutine 18 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:190 +0x8b4
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44

Goroutine 17 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:186 +0x805
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44
==================
==================
WARNING: DATA RACE
Read at 0x00c00007cdc8 by goroutine 18:
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:147 +0xb7
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Previous write at 0x00c00007cdc8 by goroutine 17:
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:147 +0x187
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Goroutine 18 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:190 +0x8b4
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44

Goroutine 17 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:186 +0x805
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44
==================
==================
WARNING: DATA RACE
Write at 0x00c00002f2c8 by goroutine 18:
  math/big.nat.add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/nat.go:123 +0x264
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:147 +0x168
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Previous write at 0x00c00002f2c8 by goroutine 17:
  math/big.nat.add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/nat.go:123 +0x264
  math/big.(*Int).Add()
      /usr/local/Cellar/go/1.21.4/libexec/src/math/big/int.go:147 +0x168
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).singleTaskAggregatorGoroutineFunc()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:261 +0x1c44
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask.func1()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0xf3

Goroutine 18 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:190 +0x8b4
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44

Goroutine 17 (running) created at:
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.(*BlsAggregatorService).InitializeNewTask()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg.go:161 +0x2e6
  github.com/Layr-Labs/eigensdk-go/services/bls_aggregation.TestBlsAgg.func4()
      /Users/estensen/Developer/eigensdk-go/services/bls_aggregation/blsagg_test.go:186 +0x805
  testing.tRunner()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1595 +0x238
  testing.(*T).Run.func1()
      /usr/local/Cellar/go/1.21.4/libexec/src/testing/testing.go:1648 +0x44
==================
--- FAIL: TestBlsAgg (5.06s)
    --- FAIL: TestBlsAgg/2_concurrent_tasks_2_quorums_2_operators_2_correct_signatures (0.02s)
        testing.go:1465: race detected during execution of test
    testing.go:1465: race detected during execution of test
FAIL
FAIL    github.com/Layr-Labs/eigensdk-go/services/bls_aggregation   7.036s
ok      github.com/Layr-Labs/eigensdk-go/services/pubkeycompendium  1.877s
ok      github.com/Layr-Labs/eigensdk-go/signer 17.653s
ok      github.com/Layr-Labs/eigensdk-go/types  1.598s
FAIL
shrimalmadhur commented 8 months ago

cc: @samlaf to investigate.