Last-close epoll interests persist and accumulate across raw-fd reuse
- Dominant language
- Rust
- Stars
- 2.7k
- Forks
- 144
- Avg merge
- 12h 21m
- Merged PRs (30d)
- 146
Description
One bug found by [Specula](https://github.com/specula-org/Specula):
EpollFile::add_interest assumes a stale entry left after close will be replaced by a later insert, but the key is (raw fd, descriptor pointer). When the raw fd number is reused for a new descriptor, the pointer changes, so the stale entry remains and each add inserts another dead interest. This is a reproduced resource-retention bug, not a wrong-event-delivery bug.
See the [report](https://github.com/specula-org/specula-case-studies/blob/data/litebox-case-study-20260831/systems/litebox/modules/core/runs/litebox-known-aware-rerun-20260830/confirmed-bugs.md#entry-5-last-close-epoll-interests-persist-and-accumulate-across-raw-fd-reuse) for more details.
Contributor guide
Assessment
This issue has not been assessed yet.