tokio-rs / loom

Concurrency permutation testing tool for Rust.
MIT License
2.09k stars 110 forks source link

fix `UnsafeCell` bug #119

Closed carllerche closed 4 years ago

carllerche commented 4 years ago

The thread version vector was not bumped on UnsafeCell access. This caused synchronizations that happened immediately before the access to prevent loom from detecting invalid UnsafeCell access.

carllerche commented 4 years ago

@hawkw like what?

jonhoo commented 4 years ago

There's this cool library called loom that we could maybe run the test suite through? :thinking:

hawkw commented 4 years ago

@hawkw like what?

I'm not sure. If there are operations that we want to ensure always synchronize, we could make them require a token or something that ensures they are part of a synchronize closure? But, I'm not sure how much of the model we can encode in this way, so it may not be that valuable.