Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

Authority nodes are not mining transactions and blocks. #10936

Closed
adilimroz opened this issue Aug 2, 2019 · 2 comments · Fixed by #10938
Closed

Authority nodes are not mining transactions and blocks. #10936

adilimroz opened this issue Aug 2, 2019 · 2 comments · Fixed by #10938
Assignees
Labels
F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust.

Comments

@adilimroz
Copy link

  • Parity Ethereum version: v.2.6.0
  • Operating system: Linux
  • Installation: built from source
  • Network: Custom POA network.

Steps to reproduce

  1. Follow the steps to create a poa network from here
    It will have two nodes with one(node0) having an authority account and a user account and the other(node1) having just an authority account.
    Observe no blocks(even empty) are being mined
  2. Make a transaction between the accounts in node0.
    Observe the transaction and blocks are not being mined.
  3. Restart the node.
    Observe that after restart the previously carried out transactions are mined and included in a block.

The logs from node 0 :
adilimroz@qa-adil:~/poa-test$ /home/adilimroz/parity-ethereum/target/release/parity --reserved-peers reserved.txt --config node0.toml -l "engine=trace,own_tx=trace,miner=trace,txqueue=trace"
Loading config file from node0.toml
2019-08-02 09:04:16 UTC main INFO parity_ethereum::run Starting Parity-Ethereum/v2.6.0-beta-e38293b08-20190708/x86_64-linux-gnu/rustc1.36.0
2019-08-02 09:04:16 UTC main INFO parity_ethereum::run Keys path /tmp/parity0/keys/DemoPoA
2019-08-02 09:04:16 UTC main INFO parity_ethereum::run DB path /tmp/parity0/chains/DemoPoA/db/552f5f1f72ab9423
2019-08-02 09:04:16 UTC main INFO parity_ethereum::run State DB configuration: fast
2019-08-02 09:04:16 UTC main INFO parity_ethereum::run Operating mode: active
2019-08-02 09:04:16 UTC main WARN engine Not preparing block; cannot sign.
2019-08-02 09:04:16 UTC main WARN engine Not preparing block; cannot sign.
2019-08-02 09:04:16 UTC main INFO ethcore_service::service Configured for DemoPoA using AuthorityRound engine
2019-08-02 09:04:16 UTC main TRACE miner minimal_gas_price: recalibrating...
2019-08-02 09:04:16 UTC main DEBUG miner minimal_gas_price: Got gas price! 0
2019-08-02 09:04:20 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:04:20 UTC IO Worker #1 TRACE miner requires_reseal: sealing enabled
2019-08-02 09:04:20 UTC IO Worker #1 DEBUG engine Zooming to epoch after block 0x6a3b…13ce
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine Current validator set: SimpleList { validators: [] }
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine extracting epoch validator set for epoch (0, 0xbba0…6377) signalled at #0
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine Updating finality checker with new validator set extracted from epoch (0, 0xbba0…6377): SimpleList { validators: [0x00bd138abd70e2f00903268f3db08f2d25677c9e, 0x00aa39d30f0d20ff03a22ccfc30b7efbfca597c2, 0x002e28950558fbede1a9675cb113f0bd20912019] }
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine step_proposer: Fetched proposer for step 312947332: 0x00aa…97c2
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine Not preparing block: not a proposer for step 312947332. (Our address: 0x00bd…7c9e)
2019-08-02 09:04:20 UTC IO Worker #1 DEBUG engine Zooming to epoch after block 0x6a3b…13ce
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine Current validator set: SimpleList { validators: [0x00bd138abd70e2f00903268f3db08f2d25677c9e, 0x00aa39d30f0d20ff03a22ccfc30b7efbfca597c2, 0x002e28950558fbede1a9675cb113f0bd20912019] }
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine step_proposer: Fetched proposer for step 312947332: 0x00aa…97c2
2019-08-02 09:04:20 UTC IO Worker #1 TRACE engine Not preparing block: not a proposer for step 312947332. (Our address: 0x00bd…7c9e)
2019-08-02 09:04:20 UTC IO Worker #1 TRACE miner requires_reseal: should_disable_sealing=true; forced=false, has_local=false, internal=NotReady, had_requests=false
2019-08-02 09:04:20 UTC IO Worker #1 TRACE miner Miner sleeping (current 23, last 0)
2019-08-02 09:04:21 UTC IO Worker #1 INFO network Public node URL: enode://8940227511a667e3d3bba34e5d4c19c8eb0af84a2ab79a52314a92a43ee640ebfbc6c250d3a001d4c78d2da990f0727962d1df0890ed55c3716053d20c74adf3@10.128.0.7:30300
2019-08-02 09:04:25 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:04:25 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:04:30 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:04:30 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:04:35 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:04:35 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:04:40 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:04:40 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:04:45 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:04:45 UTC IO Worker #1 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:04:50 UTC IO Worker #3 TRACE miner update_sealing
2019-08-02 09:04:50 UTC IO Worker #3 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:04:51 UTC IO Worker #3 INFO import 0/25 peers 1 KiB chain 16 KiB db 0 bytes queue 448 bytes sync RPC: 0 conn, 0 req/s, 0 µs
2019-08-02 09:04:55 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:04:55 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:00 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:05:00 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:05 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:05:05 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:08 UTC IO Worker #3 DEBUG txqueue Re-computing pending set for block: 23
2019-08-02 09:05:10 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:05:10 UTC IO Worker #1 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:15 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:05:15 UTC IO Worker #1 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:20 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:05:20 UTC IO Worker #1 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:21 UTC IO Worker #1 INFO import 1/25 peers 6 KiB chain 16 KiB db 0 bytes queue 1 KiB sync RPC: 0 conn, 0 req/s, 0 µs
2019-08-02 09:05:25 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:05:25 UTC IO Worker #1 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:30 UTC IO Worker #3 TRACE miner update_sealing
2019-08-02 09:05:30 UTC IO Worker #3 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:35 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:05:35 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:40 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:05:40 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:45 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:05:45 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:50 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:05:50 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:05:51 UTC IO Worker #2 INFO import 1/25 peers 6 KiB chain 16 KiB db 0 bytes queue 1 KiB sync RPC: 0 conn, 0 req/s, 0 µs
2019-08-02 09:05:55 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:05:55 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:06:00 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:06:00 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:06:05 UTC IO Worker #1 TRACE miner update_sealing
2019-08-02 09:06:05 UTC IO Worker #1 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:06:10 UTC IO Worker #3 TRACE miner update_sealing
2019-08-02 09:06:10 UTC IO Worker #3 TRACE miner requires_reseal: sealing is disabled

2019-08-02 09:06:15 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:06:15 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:06:17 UTC jsonrpc-eventloop-1 WARN rpc personal_sendTransaction is deprecated and will be removed in future versions: Account management is being phased out see #9997 for alternatives.
2019-08-02 09:06:17 UTC jsonrpc-eventloop-1 TRACE own_tx Importing transaction: PendingTransaction { transaction: SignedTransaction { transaction: UnverifiedTransaction { unsigned: Transaction { nonce: 10, gas_price: 0, gas: 1600000, action: Call(0x00bd138abd70e2f00903268f3db08f2d25677c9e), value: 7000, data: [] }, v: 18025, r: 47373264355923791873284729853742263014105648420888770954097467192369745053157, s: 27733546437625239562584158876164062067440400510034073562769282746105901946811, hash: 0x97e103245b052d7fab76fa63872961bb5ed6bef89250c24116abee5d04c7d5f7 }, sender: 0x004ec07d2329997267ec62b4166639513386f32e, public: Some(0x621996c6e497c966bfe34a4d44f70b70fd5591bb86d6aecdc0731ba24aff97ed2594726b8ba2e1d4486813c5f4a9942961f3a51bf6b21dffef03c15be1847380) }, condition: None }
2019-08-02 09:06:17 UTC jsonrpc-eventloop-1 DEBUG own_tx Imported to the pool (hash 0x97e103245b052d7fab76fa63872961bb5ed6bef89250c24116abee5d04c7d5f7)
2019-08-02 09:06:17 UTC jsonrpc-eventloop-1 DEBUG txqueue [0x97e103245b052d7fab76fa63872961bb5ed6bef89250c24116abee5d04c7d5f7] Added to the pool.
2019-08-02 09:06:17 UTC jsonrpc-eventloop-1 DEBUG txqueue [0x97e103245b052d7fab76fa63872961bb5ed6bef89250c24116abee5d04c7d5f7] Sender: 0x004e…f32e, nonce: 10, gasPrice: 0, gas: 1600000, value: 7000, dataLen: 0))
2019-08-02 09:06:17 UTC IO Worker #2 DEBUG txqueue Re-computing pending set for block: 23
2019-08-02 09:06:20 UTC IO Worker #2 TRACE miner update_sealing
2019-08-02 09:06:20 UTC IO Worker #2 TRACE miner requires_reseal: sealing is disabled
2019-08-02 09:06:21 UTC IO Worker #3 INFO import 1/25 peers 25 KiB chain 16 KiB db 0 bytes queue 1 KiB sync RPC: 0 conn, 0 req/s, 10292 µs
2019-08-02 09:06:25 UTC IO Worker #0 TRACE miner update_sealing
2019-08-02 09:06:25 UTC IO Worker #0 TRACE miner requires_reseal: sealing is disabled

@grbIzl
Copy link
Collaborator

grbIzl commented Aug 2, 2019

I've prepared a PR for the issue, see #10938 But one thing is not covered in it. In our POA tutorial we have in config parameter reseal_on_txs set to "none". In order to have this fix working, this parameter has to be set to "own" or removed (that's identical, because its default value is "own"). From my point of view, such behavior is legit (do not seal block for own transaction, if reseal_on_txs set to "none"). But it is changing Parity's current logic. Before #10529 we allowed that. @dvdplm @afck @joshua-mir what do you think? Please read the description of #10938 for more details about the scenario.

@jam10o-new
Copy link
Contributor

do not seal block for own transaction, if reseal_on_txs set to "none"

It took me a second to parse this, but yes I agree - if the behavior was different before #10529 and #10938, that was in error.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
F2-bug 🐞 The client fails to follow expected behavior. M4-core ⛓ Core client code / Rust.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants