hawkw / sharded-slab

a lock-free concurrent slab (experimental)
MIT License
273 stars 19 forks source link

Getting owned handles via pool results in unbounded memory growth. #56

Open tobz opened 3 years ago

tobz commented 3 years ago

(filing this issue for posterity, much discussion has happened on Discord already: https://discord.com/channels/500028886025895936/627696030334582784/865274661260886086)

MVCE is here: https://github.com/tobz/sharded-slab-memory-explosion

Essentially, when using Pool::create_owned to get an owned handle to a pool entry, the pooling behavior when the handle is manually cleared or dropped does not seem to behave correctly, leading to unbounded memory growth.