Ошибка при попытке синхронизации клиента geth после завершения работы - PullRequest
0 голосов
/ 04 февраля 2019

Я работаю с частной сетью с использованием клиентов geth clique.Каждый раз, когда узел выключается (после отключения питания или просто уничтожения процесса geth), если попытаться заставить его работать снова, узел не может синхронизироваться, выдавая ошибку времени выполнения:

ERROR[02-01|17:31:27.234] Impossible reorg, please file an issue   oldnum=11495 oldhash=415d9b…c9aa7c newnum=11495 newhash=415d9b…c9aa7c
TRACE[02-01|17:31:27.236] Findnode failed                          id=b1a7659b8a9da1db failcount=1280  err="RPC timeout"
...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x51163e]

goroutine 305 [running]:
math/big.(*Int).Cmp(0xc44e55ff40, 0x0, 0xbe6c1acfbb42a6ab)
    /usr/lib/go-1.10/src/math/big/int.go:319 +0x2e
github.com/ethereum/go-ethereum/core.(*BlockChain).insertSidechain(0xc430d16000, 0xc44fdef650, 0xc420069400, 0xc420069401, 0x1, 0x1, 0xc44fb119cf, 0x1, 0x1, 0xc44d001320, ...)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/core/blockchain.go:1333 +0x1165
github.com/ethereum/go-ethereum/core.(*BlockChain).insertChain(0xc430d16000, 0xc44ebebd50, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/core/blockchain.go:1139 +0x2ee3
github.com/ethereum/go-ethereum/core.(*BlockChain).InsertChain(0xc430d16000, 0xc44ebebd50, 0x1, 0x1, 0x0, 0x0, 0x0)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/core/blockchain.go:1088 +0xc46
github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).importBlockResults(0xc4200a2ea0, 0xc44ebebd48, 0x1, 0x1, 0x1, 0x19)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:1490 +0x434
github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).processFullSyncContent(0xc4200a2ea0, 0x0, 0xc431a27f98)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:1464 +0x79
github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).(github.com/ethereum/go-ethereum/eth/downloader.processFullSyncContent)-fm(0xc400000008, 0x1013570)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:479 +0x2a
github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).spawnSync.func1(0xc4200a2ea0, 0xc44f7e6900, 0xc44f5c8280)
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:491 +0x59
created by github.com/ethereum/go-ethereum/eth/downloader.(*Downloader).spawnSync
    /build/ethereum-BgsY40/ethereum-1.8.21+bionic/build/_workspace/src/github.com/ethereum/go-ethereum/eth/downloader/downloader.go:491 +0xaf

Единственный способ, которым я нашел, чтобы узел продолжал работать, - это удалить базу данных и загрузить ее снова, что, очевидно, не лучший вариант.

У кого-то есть такая же проблема?Как вы справляетесь с этим?

...