rocksdb error when stopping node: pure virtual method called
Sometimes after pressing ctrl-c to stop the node, you can see this message:
pure virtual method called
terminate called without an active exception
This is probably because rocksdb doesn't have enough time to clean up. Adding a sleep(500ms) to impl Drop for StorageManager seems to mitigate the issue. I tried updating the version of the rocksdb crate to 0.16.0 and the problem still exists.
As far as I know there aren't any corruption problems related to this log, so low priority.
This error can still be seen in some cases, for example if the node panics right after starting (for example when it's missing a genesis_block.json file or if the port 21337 is already used by another process).
This error still happens as of commit 18246db9f737e377b58b34746e288600d2454457, a simple way to reproduce it is to start a node and quickly press ctrl-c to stop it.