Skip to content

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

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions