Skip to content
This repository was archived by the owner on Oct 9, 2022. It is now read-only.

Conversation

@notgull
Copy link
Owner

@notgull notgull commented Sep 13, 2020

This pull request resolves #1 by enabling a configuration option that uses the Loom framework.

Note that the current set of Loom tests seem to fail. I don't know enough about atomics to figure out how to fix it? I still say this is a step in the right direction.

@notgull notgull merged commit 132fbc6 into master Sep 20, 2020
@Restioson
Copy link

Note that the current set of Loom tests seem to fail.

I believe that one of these is due to running non-loom tests with loom. Loom requires you to use its types within a loom::model block, so only loom tests should be run with loom.

The other one that triggers seems to be the same across multiwrite and upgrade:

Completed in 1 iterations
unsync_mut_at = VersionVec { versions: [0, 1, 0, 0] }

Causality violation: Concurrent load and mut accesses.

thread 'tests::multiwrite' panicked at 'Causality violation: Concurrent load and mut accesses.

This comes from the compare-exchange weak on line 87.

@notgull
Copy link
Owner Author

notgull commented Sep 25, 2020

That's odd. Even when I change both operations to SeqCst it still breaks.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use loom checker?

3 participants