parking_lot: ffffffffffffffff

62 points by jparise


kevinmehall

Rust fixed the if-let scoping in the 2024 edition.

ocramz

love a technically juicy postmortem. Even if the Rust nuance was kind of lost on me as I don’t use the language.

junon

This is why I dogmatically obtain locks and explicitly drop(...) them more often than not anymore. I’ve been bitten by this a few times now.

Awesome writeup!

cyplo

Very cool art! A bit concerned that the linked commit fixing this in the upstream repo does not seem to contain any changes to tests, esp despite fly.io referencing a good repro test case themselves

nelhage

I notice I’m confused. Rust’s atomics have an atomic fetch_and, so why is necessary to use the dead-reckoned fetch_sub trick?

Is fetch_and not supported on some relevant hardware? I’m not familiar with e.g. ARM’s atomics.

proctrap

I can’t pinpoint it exactly, but the way this is written really threw me off.

drmorr

What a fascinating write-up, I thoroughly enjoyed it.

vaguelytagged

Cool blog but a little concerned. I’ve never had to write anything this complex and multithreaded before but I would have thought that rust would guard against something like this better… isn’t fearless concurrency the tag line