forked from Qortal/qortal
275bee62d9
Although BlockMinter could reattach a repository session to its cache of potential blocks, and these blocks would in turn reattach that repository session to their transactions, further transaction-specific fields (e.g. creator PublicKeyAccount) were not being updated. This would lead to NPEs like the following: Exception in thread "BlockMinter" java.lang.NullPointerException at org.qortal.repository.hsqldb.HSQLDBRepository.cachePreparedStatement(HSQLDBRepository.java:587) at org.qortal.repository.hsqldb.HSQLDBRepository.prepareStatement(HSQLDBRepository.java:569) at org.qortal.repository.hsqldb.HSQLDBRepository.checkedExecute(HSQLDBRepository.java:609) at org.qortal.repository.hsqldb.HSQLDBAccountRepository.getBalance(HSQLDBAccountRepository.java:327) at org.qortal.account.Account.getConfirmedBalance(Account.java:72) at org.qortal.transaction.MessageTransaction.isValid(MessageTransaction.java:200) at org.qortal.block.Block.areTransactionsValid(Block.java:1190) at org.qortal.block.Block.isValid(Block.java:1137) at org.qortal.controller.BlockMinter.run(BlockMinter.java:301) where the Account has an associated repository session which is now obsolete. This commit reverts BlockMinter back to obtaining a repository session before entering main loop. |
||
---|---|---|
.. | ||
main | ||
test |