-
Notifications
You must be signed in to change notification settings - Fork 20.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Geth Clique Block Period 1, Fork of Chain inconsistency #21191
Comments
The curios thing here is that one miner mined two different variants of block |
A blocktime of |
You gas limit seems to be insanely large (250M), and you block time quite small (1-3s). How much time do nodes need to actually process one such block? If the block processing times exceed the period, you can end up in very strange scenarios where signers start to race with themselves betwene importing/mining. |
Perhaps if you could share normal operational logs so we can see how heavy subsequent blocks are, how much time they take, etc. |
Thanks Martin and Peter for looking into the issue. I'll try to recreate the scenario and share the operational logs of it. |
Hello All, Sorry for the time to reproduce the issue. This time I got with the same configuration (Block period 1) and with three scripts sending concurrently to 3 nodes from a 4 node blockchain network. Fork Happened at block 109. Although the fork happened and stuck there, the same node sealing two varieties of block was not reproduced. Node C & Node D on other Fork; Please find the attached log files of 4 Nodes in zip file on google drive since the file is some what big. https://drive.google.com/file/d/18E-0DHueFt3OOYb51Y7s0M5tYEGzPZvV/view?usp=sharing Thanks for looking, |
This problem has been around for almost a year and we still haven't solved it. |
try the following changes: Genesis file changeschange gasblock to: period time
so that you change: make sure your closing connections as well, additionalClique out of turn is a known issue, see goerli testnet. |
I think the root problem here is
If you'd had |
Hi there,
I am posting this bug which is already discussed but is inactive #18402.
Moreover the bug which I post here is a slight modification of the one posted in 18402
I have also posted in stack exchange which didn't have much response: https://ethereum.stackexchange.com/questions/83357/geth-clique-block-period-1-fork-of-chain-inconsistency
System information
Geth version: 1.9.12
OS & Version: Linux
Clique PoA
Processor: Intel i7 - 3770
CPU: 8
RAM : 16 GB
TXPOOL.GlobalSlots: 100000000
Block Period 1 or 2 (Faster block times)
No of Sealers/ Nodes : 4
Expected behaviour
Block Period 1 / 2 / 3 (Shorter block times) fork is created but should be resolved or reorged atleast
Actual behaviour
In my private Clique network with 4 Nodes (A,B,C,D) I noticed a fork in the chain for block period 1.
I noticed that it happens some times with block period 1 & 2.
I noticed that the fork happens at block 1678 . Nodes A & D have a similar chain data meanwhile Nodes B& C have similar data.
At block 1677, I noticed the difference in data between 2 chains:
This results in fork of the network and stalling at the end which cannot undergo any reorg in this deadlock situation.
Steps to reproduce the behaviour
Backtrace
Latest Block 1678 details in Node A:
Block 1677 fork occured between Node A & Node C on 1 fork and other fork having Node B & Node D.
Notice the
difference in block hash ,
different no of txs in block (1 fork has 0 txs and other has 4791 txs)
same difficulty in both forks
Fork 1 details: Node A & Node D
Fork 2 details: Node B & Node C
Note: Fork 2 image is different since 4791 txs were printed which was too large;
The text was updated successfully, but these errors were encountered: