-
Notifications
You must be signed in to change notification settings - Fork 1.8k
find a nil pointer issue in triePrefetcher. #3031
Copy link
Copy link
Closed
Description
System information
Geth version: v1.5.9
OS & Version: Linux
Commit hash : b970c01
Expected behaviour
The node is a validator in testnet, it should sync & mine normally.
Actual behaviour
It gets a panic, and is slashed many times.
Steps to reproduce the behaviour
Start a validator with v1.5.9, wait for the panic. This is an occasional bug that is difficult to reproduce.
Backtrace
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0xc02333]
goroutine 4862 [running]:
github.com/ethereum/go-ethereum/core/state.(*triePrefetcher).prefetch(...)
/home/runner/work/bsc/bsc/core/state/trie_prefetcher.go:266
github.com/ethereum/go-ethereum/core/state.(*stateObject).finalise(0xc028aa9b30)
/home/runner/work/bsc/bsc/core/state/state_object.go:305 +0x3f3
github.com/ethereum/go-ethereum/core/state.(*StateDB).Finalise(0xc028d73180, 0x1)
/home/runner/work/bsc/bsc/core/state/statedb.go:896 +0x3ea
github.com/ethereum/go-ethereum/consensus/parlia.(*Parlia).applyTransaction(0xc014e2e008, 0xc00005f098, {0x36fda68, 0xc028d73180}, 0xc0232da788, {0x36be930, 0xc0726939a0}, 0xc01fe6c0a0, 0xc01b096d08, 0x0, ...)
/home/runner/work/bsc/bsc/consensus/parlia/parlia.go:2137 +0x1078
github.com/ethereum/go-ethereum/consensus/parlia.(*Parlia).distributeToValidator(0xc014e2e008, 0xc072693a60, {0xd4, 0x47, 0xb4, 0x9c, 0xd0, 0x40, 0xd2, 0xb, ...}, ...)
/home/runner/work/bsc/bsc/consensus/parlia/parlia.go:2044 +0x39c
github.com/ethereum/go-ethereum/consensus/parlia.(*Parlia).distributeIncoming(0xc014e2e008, {0xd4, 0x47, 0xb4, 0x9c, 0xd0, 0x40, 0xd2, 0xb, 0xc2, ...}, ...)
/home/runner/work/bsc/bsc/consensus/parlia/parlia.go:1962 +0x6cb
github.com/ethereum/go-ethereum/consensus/parlia.(*Parlia).FinalizeAndAssemble(0xc014e2e008, {0x36ddfd0, 0xc0168c0b08}, 0xc0232da788, 0xc028d73180, 0xc01fe6c0a0, {0xc02d7ed100, 0x8, 0x8}, 0x0)
/home/runner/work/bsc/bsc/consensus/parlia/parlia.go:1526 +0x70c
github.com/ethereum/go-ethereum/miner.(*worker).commit(0xc00112f448, 0xc02f562d10, 0x35?, 0x1, {0x33b1690?, 0x1?, 0x5288680?})
/home/runner/work/bsc/bsc/miner/worker.go:1504 +0x2e2
github.com/ethereum/go-ethereum/miner.(*worker).commitWork(0xc00112f448, 0xc03c5f3e30, 0x67ffda9e)
/home/runner/work/bsc/bsc/miner/worker.go:1471 +0x1abf
github.com/ethereum/go-ethereum/miner.(*worker).mainLoop(0xc00112f448)
/home/runner/work/bsc/bsc/miner/worker.go:521 +0x22d
created by github.com/ethereum/go-ethereum/miner.newWorker in goroutine 1
/home/runner/work/bsc/bsc/miner/worker.go:301 +0x668
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels