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

A LMDB write when disk is full hits a release_assert #3552

Closed
thsfs opened this issue Nov 16, 2021 · 1 comment
Closed

A LMDB write when disk is full hits a release_assert #3552

thsfs opened this issue Nov 16, 2021 · 1 comment

Comments

@thsfs
Copy link
Contributor

thsfs commented Nov 16, 2021

Summary

When trying to reproduce #3549 noticed that a release_assert is hit, making the node to stop with an assert error.

This should be ideally changed so the node could detect it is running out of disk space, eventually triggering warnings for that. A graceful shutdown is preferred rather then letting it to fail on a success check write assertion.

Node version

V23.0DB3

Build details

Manually built.

OS and version

Ubuntu 20.04

Steps to reproduce the behavior

  1. Ensure there is only a little of disk-space (50M) for the node to start running (it fails when there is no more disk-space).
  2. Run a node instance.
  3. Wait for it to stop working.
  4. It hits a release assertion in the nano::write_mdb_txn::commit () method, at lmdb_txn.cpp:103
Assertion (status == 0) failed
virtual void nano::write_mdb_txn::commit()
/home/thiagosfs/ws/nano/nano-node/nano/node/lmdb/lmdb_txn.cpp:103
Error: Input/output error

Expected behavior

This scenario was only covered by an assertion.

Actual behavior

Hits the assertion and exits with a fail message.

Possible solution

Implement the solution proposed by: #3551

  • Eventually trigger a warning for running out of disk-space.
  • Have a graceful shutdown before hitting the assertion.

Supporting files

No response

@thsfs
Copy link
Contributor Author

thsfs commented Apr 12, 2022

@zhyatt , the last change sent just improve the fail message, there aren't yet a previously sent warning or a graceful shutdown. Will let this for the issue #3551.

@thsfs thsfs closed this as completed Apr 12, 2022
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