Two users have reported file descriptor issues with 0.16.0 that they did not have with 0.15.1, the error looks like:
0IO Error: ...chainstate/244997.ldb: Bad file descriptor", system error while flushing: Database I/O error.
After which the process shuts down. “Bad file descriptor” could be caused by running against the file descriptor limit, another possibility would be run-away closing of file descriptors due to a bug somewhere else.
- It is likely unrelated to #12274, which deals with conserving file descriptors under heavy http load. None of the reporters have mentioned extreme RPC usage. Also this should not have regressed since 0.15, as, as far as I know, the internal http server had no significant changes.
- It is likely not caused by leveldb itself using more file descriptors due to a larger database, because the same database with 0.15.1 does not exhibit the issue.
- #11785 might be a work-around, although without knowing the root cause it is risky and might just be kicking the can down the road.