Skip to content

Pruned or corrupt world state > Shutdown due to a VM fatal error. #1162

@AionMiner

Description

@AionMiner

Description

Since v1.6 cannot keep SPREAD node alive, non-graceful shutdown occurs then having restarting (due rocksDB lock) and reverting several thousand blocks, node will be in sync for some hours before non-graceful shutdown occurs again (observed 3 times over 3 days).

Have since swapped to FULL node and no issues.

... Node looks to import side chain block as best 
    (block 7375873, hash = 6f96c7 does not match that in mainnet explorer) ...

20-12-07 15:49:51.045 INFO  SYNC [p2p-recv-39]: <import-status: node = de921c, hash = 6f96c7, number = 7375873, txs = 0, result = IMPORTED_BEST, time elapsed = 32 ms>

... p2p-status logs for some minutes here, no branching occurs
    Pruned/corrupt notice then references a block some 270+ blocks behind aforementioned block ...

20-12-07 15:50:02.565 INFO  CONS [sync-ib]: Pruned or corrupt world state at block hash: 51189c, number: 7375602. Looking for ancestor block with valid world state ...
20-12-07 15:50:02.770 INFO  CONS [sync-ib]: Valid state found at block hash: 79a1d4, number: 7373812.
20-12-07 15:50:02.770 INFO  CONS [sync-ib]: Rebuilding block hash: 362425, number: 7373813, txs: 4.
20-12-07 15:50:02.783 WARN  CONS [sync-ib]: Block 7373813 has an invalid block header
20-12-07 15:50:02.783 ERROR CONS [sync-ib]: Attempting to add INVALID block.
20-12-07 15:50:02.783 INFO  CONS [sync-ib]: Rebuilding block hash: f41b59, number: 7373814, txs: 0.
20-12-07 15:50:02.787 INFO  CONS [sync-ib]: Rebuilding block hash: a94a7c, number: 7373815, txs: 4.
20-12-07 15:50:02.787 WARN  CONS [sync-ib]: Block 7373815 has an invalid block header
20-12-07 15:50:02.787 ERROR CONS [sync-ib]: Attempting to add INVALID block.
20-12-07 15:50:02.788 INFO  CONS [sync-ib]: Rebuilding block hash: c7faef, number: 7373816, txs: 0.
20-12-07 15:50:02.789 INFO  CONS [sync-ib]: Rebuilding block hash: 25bfc4, number: 7373817, txs: 1.
20-12-07 15:50:02.790 WARN  CONS [sync-ib]: Block 7373817 has an invalid block header
20-12-07 15:50:02.790 ERROR CONS [sync-ib]: Attempting to add INVALID block.
20-12-07 15:50:02.790 INFO  CONS [sync-ib]: Rebuilding block hash: fcc492, number: 7373818, txs: 2.
20-12-07 15:50:02.791 WARN  CONS [sync-ib]: Invalid transaction: Tx nonce 40609 != expected nonce 0 (parent nonce: 0): TransactionData [TransactionData [hash=89a68ca3bec3b3ad52696835ebd0087ba8b1271f25e319c62c23bc532bccb8ad, nonce=40609, destinationAddress=a057233584c9cd8e1ce2413b6adc94bcdc841dcb9246a669a6566e6e18edd6be, value=1139244436200678700, data=, energyLimit=90000, energyPrice=10000000000], txType=1, timeStamp=1607329835788934, signature=[pk: 60bec71fc0ffb6620d70203bf172a7b5482dd416ab9fbbf974ab603a4a689cc6 address: a026a32cd824232dfee3c34ecb90571ebf4102cab484e0c48543e2cbc00f07b7 signature: 2eb1a0f6d0064119af0527c6187906293f7d20bf489481bc5acba2a612c8efc6f97f170026eef855b5fef54fbe42400b4ff9fefd54f97efe72f002f7b53ff707], beaconHash=null]
20-12-07 15:50:02.791 ERROR CONS [sync-ib]: Attempting to add INVALID block.
20-12-07 15:50:02.791 INFO  CONS [sync-ib]: Rebuilding block hash: 276201, number: 7373819, txs: 0.
20-12-07 15:50:02.791 WARN  CONS [sync-ib]: Block 7373819 has an invalid block header

... continues block rebuild and invalid block/transactions over many lines
    before shutdown then occurs ...

20-12-07 15:50:03.480 ERROR CONS [sync-ib]: Attempting to add INVALID block.
20-12-07 15:50:03.480 INFO  CONS [sync-ib]: Rebuilding block hash: 7deec7, number: 7374155, txs: 7.
20-12-07 15:50:03.480 WARN  CONS [sync-ib]: Block 7374155 has an invalid block header
20-12-07 15:50:03.480 ERROR CONS [sync-ib]: Attempting to add INVALID block.
20-12-07 15:50:03.480 INFO  CONS [sync-ib]: Rebuilding block hash: a378e1, number: 7374156, txs: 1.
20-12-07 15:50:03.487 ERROR CONS [sync-ib]: Shutdown due to a VM fatal error.
org.aion.zero.impl.vm.common.VmFatalException: java.lang.RuntimeException: Invalid Trie state, missing node 55e0996d3031ee695bdc6a5654603dd726c7d553f2e794abc4eaacc6ca86be7a
	at org.aion.zero.impl.vm.avm.AvmTransactionExecutor.executeTransactions(AvmTransactionExecutor.java:115)
	at org.aion.zero.impl.vm.common.BulkExecutor.executeNextBatchOfAvmTransactions(BulkExecutor.java:340)
	at org.aion.zero.impl.vm.common.BulkExecutor.executeInternal(BulkExecutor.java:228)
	at org.aion.zero.impl.vm.common.BulkExecutor.executeAllTransactionsInBlock(BulkExecutor.java:102)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.applyBlock(AionBlockchainImpl.java:1891)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.processBlock(AionBlockchainImpl.java:1793)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.add(AionBlockchainImpl.java:1535)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.recoverWorldState(AionBlockchainImpl.java:2388)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.tryToConnectAndFetchSummary(AionBlockchainImpl.java:996)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.tryToConnectWithTimedExecution(AionBlockchainImpl.java:945)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.tryToConnect(AionBlockchainImpl.java:896)
	at org.aion.zero.impl.sync.TaskImportBlocks.processBatch(TaskImportBlocks.java:154)
	at org.aion.zero.impl.sync.TaskImportBlocks.importBlocks(TaskImportBlocks.java:56)
	at org.aion.zero.impl.sync.SyncMgr.lambda$filterBlocks$6(SyncMgr.java:431)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.RuntimeException: Invalid Trie state, missing node 55e0996d3031ee695bdc6a5654603dd726c7d553f2e794abc4eaacc6ca86be7a
	at org.aion.zero.impl.trie.TrieImpl.insert(TrieImpl.java:300)
	at org.aion.zero.impl.trie.TrieImpl.insert(TrieImpl.java:356)
	at org.aion.zero.impl.trie.TrieImpl.insert(TrieImpl.java:356)
	at org.aion.zero.impl.trie.TrieImpl.update(TrieImpl.java:193)
	at org.aion.zero.impl.trie.SecureTrie.update(SecureTrie.java:28)
	at org.aion.zero.impl.db.AionRepositoryImpl.updateAccountState(AionRepositoryImpl.java:698)
	at org.aion.zero.impl.db.AionRepositoryImpl.updateBatch(AionRepositoryImpl.java:425)
	at org.aion.zero.impl.db.AionRepositoryCache.flushTo(AionRepositoryCache.java:513)
	at org.aion.zero.impl.blockchain.AionBlockchainImpl.lambda$getPostExecutionWorkForApplyBlock$1(AionBlockchainImpl.java:400)
	at org.aion.zero.impl.vm.common.PostExecutionWork.doWork(PostExecutionWork.java:30)
	at org.aion.zero.impl.vm.avm.AvmTransactionExecutor.executeTransactions(AvmTransactionExecutor.java:100)
	... 16 common frames omitted
20-12-07 15:50:03.491 INFO  GEN  [shutdown]: Starting shutdown process...
20-12-07 15:50:03.491 INFO  GEN  [shutdown]: Shutting down RpcServer
20-12-07 15:50:03.510 INFO  GEN  [shutdown]: Shutdown RpcServer ... Done!
20-12-07 15:50:03.510 INFO  GEN  [shutdown]: Shutting down the AionHub...
20-12-07 15:50:03.510 INFO  GEN  [shutdown]: <KERNEL SHUTDOWN SEQUENCE>
20-12-07 15:50:12.454 INFO  P2P  [p2p-status]:

... continues print P2P status for several lines ...

20-12-07 15:52:03.512 ERROR SYNC [shutdown]: Pool did not terminate
20-12-07 15:52:03.512 INFO  GEN  [shutdown]: <shutdown-sync-mgr>
20-12-07 15:52:03.517 INFO  SYNC [shutdown]: BroadcastTxHandler shutting down!
20-12-07 15:52:03.531 INFO  GEN  [shutdown]: <shutdown-p2p-mgr>
20-12-07 15:52:07.533 INFO  GEN  [shutdown]: shutting down consensus...
20-12-07 15:52:07.533 INFO  GEN  [shutdown]: shutdown consensus... Done!

... does not shutdown DB, hangs here ...

System Information

I'm running:

  • Which Aion version?: 1.6.1.0528110
  • Which operating system?: Linux
  • Which distributor and version?: Ubuntu 20.10
  • How installed?: via binaries
  • Are you fully synchronized?: yes
  • Did you try to restart the node?: yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions