Skip to content
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

Database transaction rollback failed with assertion #355

Closed
kdeme opened this issue Jul 15, 2019 · 2 comments
Closed

Database transaction rollback failed with assertion #355

kdeme opened this issue Jul 15, 2019 · 2 comments

Comments

@kdeme
Copy link
Contributor

kdeme commented Jul 15, 2019

Error: unhandled exception: /home/deme/.nimble/pkgs/eth-1.0.0/eth/trie/db.nim(145, 12) `t.db.mostInnerTransaction == t and t.state == Pending` 
Async traceback:
Exception message: /home/deme/.nimble/pkgs/eth-1.0.0/eth/trie/db.nim(145, 12) `t.db.mostInnerTransaction == t and t.state == Pending` 
Exception type: [AssertionError]

Looks like the processing of the block failed but the dispose/rollback (https://github.com/status-im/nimbus/blob/master/nimbus/p2p/chain.nim#L40) failed due to the assertion above.

@kdeme
Copy link
Contributor Author

kdeme commented Jul 16, 2019

After further testing I've seen this two more times occur right when the file limit was reached, see here: status-im/nim-eth#85 . So it looks like a side effect of that.

I've not fully investigated this. But my first thought was that perhaps when something goes wrong in commit (e.g. put fails as it can't open a new file or so), this would mess up the mostInnerTransaction versus the t.state == Pending. But looking further I believe such error would actually raise Exception which should not be caught.

@kdeme
Copy link
Contributor Author

kdeme commented Aug 15, 2019

Closing this until it is seen also under normal circumstances

@kdeme kdeme closed this as completed Aug 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant