Shockingly, I’m actually do some liblfds work!
The hazard pointer implementation has a bug.
The tests for the implementation pass – but the hazard pointer-using freelist sometimes finds the freelist has a loop, when it comes to clean up the hazard pointer state.
Only happens when you come to deregister the threads. Mmm.