Системная информация
Моя текущая версия:
Geth
Version: 1.8.17-stable
Git Commit: 8bbe72075e4e16442c4e28d999edee12e294329e
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.10.1
Operating System: linux
GOPATH=
GOROOT=/usr/lib/go-1.10
Ожидаемое поведение
Сохраняйте нормальную подпись.
Фактическое поведение
У меня была частная сеть go-ethereum с 6 охотниками на тюленей.
Каждый охотник на тюленей управляется:
`` `
каталог = / дом / мятлик
command = / bin / bash -c 'geth --datadir sealer4 / --syncmode' full '--port 30393 --rpc --rpcaddr' localhost '--rpcport 8600 --rpcapi =' net, web3, eth '- -networkid 30 --gasprice '1' -unlock 'someaddress' --password sealer4 / password.txt --mine '
`` `
Блокчейн работал хорошо в течение 1-2 месяцев.
Сегодня я обнаружил, что у всех узлов были проблемы. Каждый узел отправлял сообщение «Подписано недавно, нужно ждать других»
Я проверяю логи и нахожу это сообщение каждые 1 час, больше информации нет, узлы, где не майнинг:
Восстановленные локальные транзакции в журнале транзакций = 0 аккаунтов = 0
Восстановленные локальные транзакции в журнале транзакций = 0 аккаунтов = 0
Восстановленные локальные транзакции в журнале транзакций = 0 аккаунтов = 0
Восстановленные локальные транзакции в журнале транзакций = 0 аккаунтов = 0
Экспериментируя ту же проблему с 6 уплотнителями, я перезапустил каждый узел, но теперь я застрял в
INFO [01-07 | 18: 17: 30.645] Etherbase автоматически настраивает адрес = 0x5Bc69DC4dba04b6955aC94BbdF129C3ce2d20D34
ИНФОРМАЦИЯ [01-07 | 18: 17: 30.645] Зафиксируйте новый номер горных работ = 488677 sealhash = a506ec… 8cb403 дяди = 0 txs = 0 газ = 0 сборов = 0 истекло = 133.76μs
ИНФОРМАЦИЯ [01-07 | 18: 17: 30.645] Подписана недавно, должна ждать других
Первое, что странно, это то, что некоторые узлы зависли на 488677, а другие на 488676, об этой проблеме сообщалось в этой проблеме https://github.com/ethereum/go-ethereum/issues/16406 то же самое для пользователя @lyhbarry
* 1 035 * Пример:
Подпись 1
Подпись 2
Обратите внимание, что голосов не ожидается
Итак, сейчас я выключаю и перезапускаю каждый узел, я обнаружил, что:
- Каждый узел связан с остальными
- Каждый узел является частью clique.getSigners ()
- Каждый узел ожидает подписи другого ...
INFO [01-07|18:41:56.134] Signed recently, must wait for others
INFO [01-07|19:41:42.125] Regenerated local transaction journal transactions=0 accounts=0
INFO [01-07|18:41:56.134] Signed recently, must wait for others
Итак, синхронизация не удалась, но я просто могу снова начать подписывать, потому что каждый узел застрял в ожидании других, то есть сеть бесполезна?
В комментарии @tudyzhb по этому вопросу упоминается, что:
Ссылка на клик-пломбу v1.8.11, я думаю, что не существует эффективного механизма для повторного пломбирования, когда происходит сбой пломбы по очереди / вне поворота. Так что наша сеть разработчиков бесполезна легко.
После этой проблемы я просматриваю логи, у каждого подписавшего есть такие сообщения об ошибках:
Synchronisation failed, dropping peer peer=7875a002affc775b err="retrieved hash chain is invalid"
INFO [01-02|16:42:10.902] Signed recently, must wait for others
WARN [01-02|16:42:11.960] Synchronisation failed, dropping peer peer=7875a002affc775b err="retrieved hash chain is invalid"
INFO [01-02|16:42:12.128] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=540.282µs mgasps=0.000 number=488116 hash=269920…afd3c7 cache=5.99kB
INFO [01-02|16:42:12.129] Commit new mining work number=488117 sealhash=f7b00c…787d5c uncles=2 txs=0 gas=0 fees=0 elapsed=307.314µs
INFO [01-02|16:42:20.929] Successfully sealed new block number=488117 sealhash=f7b00c…787d5c hash=f17438…93ffe3 elapsed=8.800s
INFO [01-02|16:42:20.929] ? mined potential block number=488117 hash=f17438…93ffe3
INFO [01-02|16:42:20.930] Commit new mining work number=488118 sealhash=b09b33…1526ba uncles=2 txs=0 gas=0 fees=0 elapsed=520.754µs
INFO [01-02|16:42:20.930] Signed recently, must wait for others
INFO [01-02|16:42:31.679] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=2.253ms mgasps=0.000 number=488118 hash=763a32…a579f5 cache=5.99kB
INFO [01-02|16:42:31.680] ? block reached canonical chain number=488111 hash=3d44dc…df0be5
INFO [01-02|16:42:31.680] Commit new mining work number=488119 sealhash=c8a5e7…db78a1 uncles=2 txs=0 gas=0 fees=0 elapsed=214.155µs
INFO [01-02|16:42:31.680] Signed recently, must wait for others
INFO [01-02|16:42:40.901] Imported new chain segment blocks=1 txs=0 mgas=0.000 elapsed=808.903µs mgasps=0.000 number=488119 hash=accc3f…44bc4c cache=5.99kB
INFO [01-02|16:42:40.901] Commit new mining work number=488120 sealhash=f73978…c03fa7 uncles=2 txs=0 gas=0 fees=0 elapsed=275.72µs
INFO [01-02|16:42:40.901] Signed recently, must wait for others
WARN [01-02|16:42:41.961] Synchronisation failed, dropping peer peer=7875a002affc775b err="retrieved hash chain is invalid"
Я тоже вижу некоторые:
INFO [01-02|16:58:10.902] ? block lost number=488205 hash=1fb1c5…a41a42
Эта ошибка в цепочке хэшей была просто предупреждением, поэтому узел продолжал майнить до 2 января, затем я увидел это на каждом из 6 узлов
Я искал, что есть много проблем с этой ошибкой, наиболее похожей является та, которую я разместил здесь, но она не решена.
Похоже, что обходной путь большинства проблем заключается в перезапуске, но в этом случае цепочка, по-видимому, находится в несогласованном состоянии, а узлы всегда ждут других
Итак,
- есть идеи?
- какие журналы я могу предоставить? я вижу только предупреждения об описанной ошибке и потерянном блоке, но ничего, когда узел перестал работать на майнинг
- Связан ли этот пиар? https://github.com/ethereum/go-ethereum/pull/18072
- Возможно связано с комментарием @karalabe к этой проблеме https://github.com/ethereum/go-ethereum/issues/16406?
5 Обновление с 1.8.17 до 1.8.20 решит эту проблему?
- По-моему, похоже на состояние гонки или что-то в этом роде, так как у меня 2 цепи, одна работает в течение 2 месяцев, другая в течение трех месяцев, и впервые эта ошибка возникает
Это другие связанные вопросы:
https://github.com/ethereum/go-ethereum/issues/16444 (та же проблема, но у меня нет ожидающих голосов в моем снимке)
https://github.com/ethereum/go-ethereum/issues/14381#
https://github.com/ethereum/go-ethereum/issues/16825
https://github.com/ethereum/go-ethereum/issues/16406