Skip to content
This repository was archived by the owner on Aug 2, 2021. It is now read-only.
This repository was archived by the owner on Aug 2, 2021. It is now read-only.

Data race in swarm.go #1154

@frncmx

Description

@frncmx

How to reproduce?

go test -race -count 1 -run TestSwarmNetwork github.com/ethereum/go-ethereum/swarm

Acceptance criteria

go test -race -count 1 github.com/ethereum/go-ethereum/swarm => PASSES

Stack trace

==================
WARNING: DATA RACE
Write at 0x0000019b3780 by goroutine 48:
  github.com/ethereum/go-ethereum/swarm.(*Swarm).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:347 +0x83
  github.com/ethereum/go-ethereum/node.(*Node).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/node/node.go:203 +0xff8
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).checkAndCleanFiles()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_util.go:52 +0x2e4
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:130 +0xa00
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:657 +0x1ed
  fmt.Fscanf()
      /usr/lib/go/src/fmt/scan.go:143 +0xe9
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).recoverJournal()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:476 +0xe3
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:125 +0x9dc
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:197 +0x1ed
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:113 +0xbb
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:121 +0x17b7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:183 +0xd7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.OpenFile()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:219 +0xa5
  github.com/ethereum/go-ethereum/swarm/storage.NewLDBDatabase()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/database.go:37 +0xc3
  github.com/ethereum/go-ethereum/swarm/storage.NewLDBStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/ldbstore.go:152 +0x37c
  github.com/ethereum/go-ethereum/swarm/storage.NewMockDbStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/ldbstore.go:220 +0x3c
  github.com/ethereum/go-ethereum/swarm/storage.NewLocalStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/localstore.go:61 +0xb2
  github.com/ethereum/go-ethereum/swarm.NewSwarm()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:147 +0x78a
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:657 +0x1ed
  fmt.Fscanf()
      /usr/lib/go/src/fmt/scan.go:143 +0xe9
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).checkAndCleanFiles()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_util.go:52 +0x2e4
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:130 +0xa00
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:657 +0x1ed
  fmt.Fscanf()
      /usr/lib/go/src/fmt/scan.go:143 +0xe9
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).recoverJournal()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:476 +0xe3
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:125 +0x9dc
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:197 +0x1ed
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:113 +0xbb
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:121 +0x17b7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:183 +0xd7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.OpenFile()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:219 +0xa5
  github.com/ethereum/go-ethereum/swarm/state.NewDBStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/state/dbstore.go:47 +0x4f
  github.com/ethereum/go-ethereum/swarm.NewSwarm()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:125 +0x6b5
  github.com/ethereum/go-ethereum/swarm.testSwarmNetwork.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:293 +0x22c
  github.com/ethereum/go-ethereum/swarm/network/simulation.New.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network/simulation/simulation.go:89 +0xa7
  github.com/ethereum/go-ethereum/p2p/simulations/adapters.(*SimNode).Start.func1.1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/adapters/inproc.go:247 +0x25b
  github.com/ethereum/go-ethereum/node.(*Node).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/node/node.go:182 +0x729
  github.com/ethereum/go-ethereum/p2p/simulations/adapters.(*SimNode).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/adapters/inproc.go:271 +0x193
  github.com/ethereum/go-ethereum/p2p/simulations.(*Network).startWithSnapshots()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/network.go:182 +0x2fc
  github.com/ethereum/go-ethereum/p2p/simulations.(*Network).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/network.go:164 +0x76
  github.com/ethereum/go-ethereum/swarm/network/simulation.(*Simulation).AddNode()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network/simulation/node.go:103 +0x2a0
  github.com/ethereum/go-ethereum/swarm/network/simulation.(*Simulation).AddNodesAndConnectChain()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network/simulation/node.go:144 +0x12b
  github.com/ethereum/go-ethereum/swarm.testSwarmNetwork()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:319 +0xa3c
  github.com/ethereum/go-ethereum/swarm.TestSwarmNetwork.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:221 +0xa1
  testing.tRunner()
      /usr/lib/go/src/testing/testing.go:827 +0x162

Previous read at 0x0000019b3780 by goroutine 55:
  github.com/ethereum/go-ethereum/swarm.(*Swarm).updateGauges()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:417 +0x47
  github.com/ethereum/go-ethereum/swarm.(*Swarm).periodicallyUpdateGauges.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:411 +0x7d

Goroutine 48 (running) created at:
  testing.(*T).Run()
      /usr/lib/go/src/testing/testing.go:878 +0x659
  github.com/ethereum/go-ethereum/swarm.TestSwarmNetwork()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:220 +0xff8
  testing.tRunner()
      /usr/lib/go/src/testing/testing.go:827 +0x162

Goroutine 55 (running) created at:
  github.com/ethereum/go-ethereum/swarm.(*Swarm).periodicallyUpdateGauges()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:409 +0x76
  github.com/ethereum/go-ethereum/swarm.(*Swarm).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:399 +0xa55
  github.com/ethereum/go-ethereum/node.(*Node).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/node/node.go:203 +0xff8
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).checkAndCleanFiles()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_util.go:52 +0x2e4
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:130 +0xa00
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:657 +0x1ed
  fmt.Fscanf()
      /usr/lib/go/src/fmt/scan.go:143 +0xe9
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).recoverJournal()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:476 +0xe3
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:125 +0x9dc
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:197 +0x1ed
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:113 +0xbb
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:121 +0x17b7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:183 +0xd7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.OpenFile()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:219 +0xa5
  github.com/ethereum/go-ethereum/swarm/storage.NewLDBDatabase()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/database.go:37 +0xc3
  github.com/ethereum/go-ethereum/swarm/storage.NewLDBStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/ldbstore.go:152 +0x37c
  github.com/ethereum/go-ethereum/swarm/storage.NewMockDbStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/ldbstore.go:220 +0x3c
  github.com/ethereum/go-ethereum/swarm/storage.NewLocalStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/storage/localstore.go:61 +0xb2
  github.com/ethereum/go-ethereum/swarm.NewSwarm()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:147 +0x78a
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:657 +0x1ed
  fmt.Fscanf()
      /usr/lib/go/src/fmt/scan.go:143 +0xe9
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).checkAndCleanFiles()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db_util.go:52 +0x2e4
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:130 +0xa00
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:657 +0x1ed
  fmt.Fscanf()
      /usr/lib/go/src/fmt/scan.go:143 +0xe9
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*DB).recoverJournal()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:476 +0xe3
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.openDB()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:125 +0x9dc
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:197 +0x1ed
  fmt.Sscanf()
      /usr/lib/go/src/fmt/scan.go:114 +0xd0
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.fsParseName()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:643 +0x144
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage.(*fileStorage).List()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/storage/file_storage.go:458 +0x279
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:113 +0xbb
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.(*session).recover()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/session.go:121 +0x17b7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.Open()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:183 +0xd7
  github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb.OpenFile()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/vendor/github.com/syndtr/goleveldb/leveldb/db.go:219 +0xa5
  github.com/ethereum/go-ethereum/swarm/state.NewDBStore()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/state/dbstore.go:47 +0x4f
  github.com/ethereum/go-ethereum/swarm.NewSwarm()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/swarm.go:125 +0x6b5
  github.com/ethereum/go-ethereum/swarm.testSwarmNetwork.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:293 +0x22c
  github.com/ethereum/go-ethereum/swarm/network/simulation.New.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network/simulation/simulation.go:89 +0xa7
  github.com/ethereum/go-ethereum/p2p/simulations/adapters.(*SimNode).Start.func1.1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/adapters/inproc.go:247 +0x25b
  github.com/ethereum/go-ethereum/node.(*Node).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/node/node.go:182 +0x729
  github.com/ethereum/go-ethereum/p2p/simulations/adapters.(*SimNode).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/adapters/inproc.go:271 +0x193
  github.com/ethereum/go-ethereum/p2p/simulations.(*Network).startWithSnapshots()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/network.go:182 +0x2fc
  github.com/ethereum/go-ethereum/p2p/simulations.(*Network).Start()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/p2p/simulations/network.go:164 +0x76
  github.com/ethereum/go-ethereum/swarm/network/simulation.(*Simulation).AddNode()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network/simulation/node.go:103 +0x2a0
  github.com/ethereum/go-ethereum/swarm/network/simulation.(*Simulation).AddNodesAndConnectChain()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network/simulation/node.go:144 +0x12b
  github.com/ethereum/go-ethereum/swarm.testSwarmNetwork()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:319 +0xa3c
  github.com/ethereum/go-ethereum/swarm.TestSwarmNetwork.func1()
      /home/frncmx/code/src/github.com/ethereum/go-ethereum/swarm/network_test.go:221 +0xa1
  testing.tRunner()
      /usr/lib/go/src/testing/testing.go:827 +0x162
==================
--- FAIL: TestSwarmNetwork (37.44s)
    --- FAIL: TestSwarmNetwork/dec_inc_node_count (14.45s)
        testing.go:771: race detected during execution of test
    testing.go:771: race detected during execution of test
FAIL
FAIL	github.com/ethereum/go-ethereum/swarm	94.180s

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions