Created
April 18, 2014 08:00
-
-
Save aphyr/11030573 to your computer and use it in GitHub Desktop.
Etcd linearizability failure
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Testing jepsen.system.etcd-test | |
INFO jepsen.os.debian - :n1 setting up debian | |
INFO jepsen.os.debian - :n3 setting up debian | |
INFO jepsen.os.debian - :n5 setting up debian | |
INFO jepsen.os.debian - :n2 setting up debian | |
INFO jepsen.os.debian - :n4 setting up debian | |
INFO jepsen.os.debian - :n5 debian set up | |
INFO jepsen.os.debian - :n4 debian set up | |
INFO jepsen.os.debian - :n1 debian set up | |
INFO jepsen.os.debian - :n3 debian set up | |
INFO jepsen.os.debian - :n2 debian set up | |
INFO jepsen.system.etcd - :n4 etcd nuked | |
INFO jepsen.system.etcd - :n5 etcd nuked | |
INFO jepsen.system.etcd - :n1 etcd nuked | |
INFO jepsen.system.etcd - :n3 etcd nuked | |
INFO jepsen.system.etcd - :n2 etcd nuked | |
INFO jepsen.system.etcd - Running nodes: {:n1 false, :n2 false, :n3 false, :n4 false, :n5 false} | |
INFO jepsen.system.etcd - :n4 etcd nuked | |
INFO jepsen.system.etcd - :n2 etcd nuked | |
INFO jepsen.system.etcd - :n1 etcd nuked | |
INFO jepsen.system.etcd - :n3 etcd nuked | |
INFO jepsen.system.etcd - :n5 etcd nuked | |
INFO jepsen.system.etcd - :n1 starting etcd | |
INFO jepsen.system.etcd - :n5 starting etcd | |
INFO jepsen.system.etcd - :n4 starting etcd | |
INFO jepsen.system.etcd - :n2 starting etcd | |
INFO jepsen.system.etcd - :n3 starting etcd | |
INFO jepsen.system.etcd - Running nodes: {:n1 true, :n2 true, :n3 true, :n4 true, :n5 true} | |
INFO jepsen.system.etcd - :n4 etcd ready | |
INFO jepsen.system.etcd - :n1 etcd ready | |
INFO jepsen.system.etcd - :n5 etcd ready | |
INFO jepsen.system.etcd - :n2 etcd ready | |
INFO jepsen.system.etcd - :n3 etcd ready | |
INFO jepsen.core - Worker 0 starting | |
INFO jepsen.core - Worker 3 starting | |
INFO jepsen.core - Worker 2 starting | |
INFO jepsen.core - Worker 4 starting | |
INFO jepsen.core - Worker 1 starting | |
; Read these histories as "Process 2 invoked a read (and didn't know what would come back)" | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 4 :invoke :read nil | |
INFO jepsen.util - 0 :invoke :read nil | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 3 :invoke :read nil | |
INFO jepsen.util - 0 :ok :read nil | |
INFO jepsen.util - 3 :ok :read nil | |
INFO jepsen.util - 4 :ok :read nil | |
; Process 2 completed its read OK, and found the value nil. | |
INFO jepsen.util - 2 :ok :read nil | |
INFO jepsen.util - 1 :ok :read nil | |
INFO jepsen.util - 0 :invoke :read nil | |
; process 3 invoked a CAS from 2 to 4 | |
INFO jepsen.util - 3 :invoke :cas [2 4] | |
INFO jepsen.util - 4 :invoke :cas [4 4] | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 0 :ok :read nil | |
INFO jepsen.util - 2 :ok :read nil | |
INFO jepsen.util - 1 :ok :read nil | |
INFO jepsen.util - 4 :fail :cas [4 4] | |
; process 3's CAS from 2 to 4 definitely did not take place | |
INFO jepsen.util - 3 :fail :cas [2 4] | |
INFO jepsen.util - 0 :invoke :read nil | |
INFO jepsen.util - 0 :ok :read nil | |
INFO jepsen.util - 2 :invoke :write 1 | |
INFO jepsen.util - 1 :invoke :cas [2 3] | |
INFO jepsen.util - 2 :ok :write 1 | |
INFO jepsen.util - 1 :fail :cas [2 3] | |
INFO jepsen.util - 4 :invoke :write 3 | |
INFO jepsen.util - 3 :invoke :write 1 | |
INFO jepsen.util - 4 :ok :write 3 | |
INFO jepsen.util - 3 :ok :write 1 | |
INFO jepsen.util - 0 :invoke :cas [4 1] | |
INFO jepsen.util - 2 :invoke :write 2 | |
INFO jepsen.util - 1 :invoke :write 1 | |
INFO jepsen.util - 0 :fail :cas [4 1] | |
INFO jepsen.util - 3 :invoke :read nil | |
INFO jepsen.util - 4 :invoke :write 0 | |
INFO jepsen.util - 3 :ok :read 1 | |
INFO jepsen.util - 2 :ok :write 2 | |
INFO jepsen.util - 1 :ok :write 1 | |
INFO jepsen.util - 4 :ok :write 0 | |
INFO jepsen.util - :nemesis :info :start nil | |
INFO jepsen.util - 0 :invoke :write 4 | |
INFO jepsen.util - 0 :ok :write 4 | |
INFO jepsen.util - 3 :invoke :read nil | |
INFO jepsen.util - 3 :ok :read 4 | |
INFO jepsen.util - 2 :invoke :cas [0 4] | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 1 :ok :read 4 | |
INFO jepsen.util - 4 :invoke :write 1 | |
INFO jepsen.util - 2 :fail :cas [0 4] | |
INFO jepsen.util - 4 :ok :write 1 | |
INFO jepsen.util - 0 :invoke :read nil | |
INFO jepsen.util - 0 :ok :read 1 | |
INFO jepsen.util - 3 :invoke :read nil | |
INFO jepsen.util - 3 :ok :read 1 | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 1 :ok :read 1 | |
INFO jepsen.util - :nemesis :info :start "Cut off {:n5 #{:n4 :n1}, :n2 #{:n4 :n1}, :n3 #{:n4 :n1}, :n1 #{:n3 :n2 :n5}, :n4 #{:n3 :n2 :n5}}" | |
INFO jepsen.util - 2 :invoke :cas [1 4] | |
INFO jepsen.util - 4 :invoke :read nil | |
INFO jepsen.util - 4 :ok :read 1 | |
INFO jepsen.util - 2 :ok :cas [1 4] | |
INFO jepsen.util - 0 :invoke :read nil | |
INFO jepsen.util - 0 :ok :read 1 | |
; Process 3 attempts a CAS from 0 to 1 | |
INFO jepsen.util - 3 :invoke :cas [0 1] | |
INFO jepsen.util - 1 :invoke :write 3 | |
INFO jepsen.util - 1 :ok :write 3 | |
INFO jepsen.util - 4 :invoke :write 3 | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 2 :ok :read 3 | |
INFO jepsen.util - 4 :ok :write 3 | |
INFO jepsen.util - 0 :invoke :read nil | |
INFO jepsen.util - 0 :ok :read 1 | |
; Process 3's CAS timed out; we don't know when, but that | |
; operation might or might not take place at time after its | |
; invocation. | |
INFO jepsen.util - 3 :info :cas :timed-out | |
INFO jepsen.util - 1 :invoke :write 3 | |
INFO jepsen.util - 1 :ok :write 3 | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 2 :ok :read 3 | |
INFO jepsen.util - 4 :invoke :cas [2 3] | |
INFO jepsen.util - 4 :fail :cas [2 3] | |
INFO jepsen.util - 0 :invoke :write 0 | |
INFO jepsen.util - 8 :invoke :cas [1 2] | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 1 :ok :read 3 | |
INFO jepsen.util - 2 :invoke :write 2 | |
INFO jepsen.util - 2 :ok :write 2 | |
INFO jepsen.util - 4 :invoke :cas [2 3] | |
INFO jepsen.util - 0 :info :write :timed-out | |
INFO jepsen.util - 4 :ok :cas [2 3] | |
INFO jepsen.util - 8 :info :cas :timed-out | |
INFO jepsen.util - 1 :invoke :write 0 | |
INFO jepsen.util - 1 :ok :write 0 | |
INFO jepsen.util - 2 :invoke :cas [3 2] | |
INFO jepsen.util - 2 :fail :cas [3 2] | |
INFO jepsen.util - 5 :invoke :write 4 | |
INFO jepsen.util - 4 :invoke :write 3 | |
INFO jepsen.util - 13 :invoke :cas [0 3] | |
INFO jepsen.util - 4 :ok :write 3 | |
INFO jepsen.util - :nemesis :info :stop nil | |
INFO jepsen.util - 1 :invoke :cas [4 3] | |
INFO jepsen.util - 1 :fail :cas [4 3] | |
INFO jepsen.util - 2 :invoke :cas [1 4] | |
INFO jepsen.util - 5 :info :write :timed-out | |
INFO jepsen.util - 2 :fail :cas [1 4] | |
INFO jepsen.util - 13 :info :cas :timed-out | |
INFO jepsen.util - 4 :invoke :write 2 | |
INFO jepsen.util - 4 :ok :write 2 | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - :nemesis :info :stop "fully connected" | |
INFO jepsen.util - 1 :ok :read 2 | |
INFO jepsen.util - 10 :invoke :write 2 | |
INFO jepsen.util - 2 :invoke :cas [0 0] | |
INFO jepsen.util - 18 :invoke :write 3 | |
INFO jepsen.util - 10 :ok :write 2 | |
INFO jepsen.util - 2 :fail :cas [0 0] | |
INFO jepsen.util - 18 :ok :write 3 | |
INFO jepsen.util - 4 :invoke :read nil | |
INFO jepsen.util - 4 :ok :read 3 | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 1 :ok :read 3 | |
INFO jepsen.util - 10 :invoke :cas [2 4] | |
INFO jepsen.util - 2 :invoke :write 0 | |
INFO jepsen.util - 18 :invoke :cas [3 4] | |
INFO jepsen.util - 4 :invoke :cas [1 1] | |
INFO jepsen.util - 2 :ok :write 0 | |
INFO jepsen.util - 10 :fail :cas [2 4] | |
INFO jepsen.util - 18 :fail :cas [3 4] | |
INFO jepsen.util - 4 :fail :cas [1 1] | |
INFO jepsen.util - 1 :invoke :cas [0 4] | |
INFO jepsen.util - 1 :ok :cas [0 4] | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 2 :ok :read 4 | |
INFO jepsen.util - 18 :invoke :read nil | |
INFO jepsen.util - 10 :invoke :cas [3 4] | |
INFO jepsen.util - 18 :ok :read 4 | |
INFO jepsen.util - 4 :invoke :cas [2 0] | |
INFO jepsen.util - 1 :invoke :cas [4 2] | |
INFO jepsen.util - 10 :fail :cas [3 4] | |
INFO jepsen.util - 4 :fail :cas [2 0] | |
INFO jepsen.util - 1 :ok :cas [4 2] | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 2 :ok :read 2 | |
INFO jepsen.util - 18 :invoke :cas [4 0] | |
INFO jepsen.util - 18 :fail :cas [4 0] | |
INFO jepsen.util - 10 :invoke :write 0 | |
INFO jepsen.util - 4 :invoke :write 0 | |
INFO jepsen.util - 1 :invoke :write 1 | |
INFO jepsen.util - 10 :ok :write 0 | |
INFO jepsen.util - 4 :ok :write 0 | |
INFO jepsen.util - 1 :ok :write 1 | |
INFO jepsen.util - 2 :invoke :cas [0 2] | |
INFO jepsen.util - 2 :fail :cas [0 2] | |
INFO jepsen.util - :nemesis :info :start nil | |
INFO jepsen.util - 18 :invoke :cas [2 4] | |
INFO jepsen.util - 18 :fail :cas [2 4] | |
INFO jepsen.util - 10 :invoke :cas [0 0] | |
INFO jepsen.util - 4 :invoke :read nil | |
INFO jepsen.util - 1 :invoke :cas [1 1] | |
INFO jepsen.util - 10 :fail :cas [0 0] | |
INFO jepsen.util - 4 :ok :read 1 | |
INFO jepsen.util - 1 :ok :cas [1 1] | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 2 :ok :read 1 | |
INFO jepsen.util - 18 :invoke :write 0 | |
INFO jepsen.util - 18 :ok :write 0 | |
INFO jepsen.util - 10 :invoke :write 0 | |
INFO jepsen.util - 4 :invoke :cas [1 2] | |
INFO jepsen.util - 4 :info :cas {:status 500, :errorCode 300, :message "Raft Internal Error", :index 41} | |
INFO jepsen.util - 10 :ok :write 0 | |
INFO jepsen.util - :nemesis :info :start "Cut off {:n1 #{:n2 :n5}, :n4 #{:n2 :n5}, :n3 #{:n2 :n5}, :n5 #{:n3 :n4 :n1}, :n2 #{:n3 :n4 :n1}}" | |
INFO jepsen.util - 1 :invoke :read nil | |
INFO jepsen.util - 2 :invoke :read nil | |
INFO jepsen.util - 2 :ok :read 0 | |
INFO jepsen.util - 1 :fail :read :redirect-loop | |
INFO jepsen.util - 18 :invoke :write 2 | |
INFO jepsen.util - 18 :ok :write 2 | |
INFO jepsen.util - :nemesis :info :stop nil | |
INFO jepsen.util - :nemesis :info :stop "fully connected" | |
INFO jepsen.core - nemesis done | |
INFO jepsen.util - 18 :invoke :read nil | |
INFO jepsen.core - Worker 4 done | |
INFO jepsen.core - Worker 1 done | |
INFO jepsen.core - Worker 0 done | |
INFO jepsen.core - Worker 2 done | |
INFO jepsen.util - 18 :ok :read 2 | |
INFO jepsen.core - Worker 3 done | |
INFO jepsen.core - Run complete, writing | |
INFO jepsen.core - Analyzing | |
INFO jepsen.core - Analysis complete | |
INFO jepsen.system.etcd - :n2 etcd nuked | |
INFO jepsen.system.etcd - :n1 etcd nuked | |
INFO jepsen.system.etcd - :n5 etcd nuked | |
INFO jepsen.system.etcd - :n4 etcd nuked | |
INFO jepsen.system.etcd - :n3 etcd nuked | |
FAIL in (register-test) (etcd_test.clj:45) | |
expected: (:valid? (:results test)) | |
actual: false | |
Not linearizable. Linearizable prefix was: | |
2 :invoke :read nil | |
4 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
3 :invoke :read nil | |
0 :ok :read nil | |
3 :ok :read nil | |
4 :ok :read nil | |
2 :ok :read nil | |
1 :ok :read nil | |
0 :invoke :read nil | |
3 :invoke :cas [2 4] | |
4 :invoke :cas [4 4] | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :ok :read nil | |
2 :ok :read nil | |
1 :ok :read nil | |
4 :fail :cas [4 4] | |
3 :fail :cas [2 4] | |
0 :invoke :read nil | |
0 :ok :read nil | |
2 :invoke :write 1 | |
1 :invoke :cas [2 3] | |
2 :ok :write 1 | |
1 :fail :cas [2 3] | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
4 :ok :write 3 | |
3 :ok :write 1 | |
0 :invoke :cas [4 1] | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
0 :fail :cas [4 1] | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
3 :ok :read 1 | |
2 :ok :write 2 | |
1 :ok :write 1 | |
4 :ok :write 0 | |
:nemesis :info :start nil | |
0 :invoke :write 4 | |
0 :ok :write 4 | |
3 :invoke :read 4 | |
3 :ok :read 4 | |
2 :invoke :cas [0 4] | |
1 :invoke :read 4 | |
1 :ok :read 4 | |
4 :invoke :write 1 | |
2 :fail :cas [0 4] | |
4 :ok :write 1 | |
0 :invoke :read 1 | |
0 :ok :read 1 | |
3 :invoke :read 1 | |
3 :ok :read 1 | |
1 :invoke :read 1 | |
1 :ok :read 1 | |
:nemesis :info :start "Cut off {:n5 #{:n4 :n1}, :n2 #{:n4 :n1}, :n3 #{:n4 :n1}, :n1 #{:n3 :n2 :n5}, :n4 #{:n3 :n2 :n5}}" | |
2 :invoke :cas [1 4] | |
4 :invoke :read 1 | |
4 :ok :read 1 | |
2 :ok :cas [1 4] | |
Followed by inconsistent operation: | |
0 :invoke :read 1 | |
------------------------------------------------------------- | |
Just prior to that operation, possible interpretations of the | |
linearizable prefix were: | |
World with fixed history: | |
3 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
4 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
0 :invoke :read nil | |
1 :invoke :read nil | |
3 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
0 :invoke :read nil | |
3 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
0 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
3 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
4 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
4 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
4 :invoke :read nil | |
0 :invoke :read nil | |
3 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
0 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
0 :invoke :read nil | |
3 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
4 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
0 :invoke :read nil | |
3 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
3 :invoke :read nil | |
4 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
4 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
3 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
0 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
1 :invoke :write 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
4 :invoke :read nil | |
1 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
1 :invoke :read nil | |
3 :invoke :read nil | |
0 :invoke :read nil | |
4 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
3 :invoke :read nil | |
1 :invoke :read nil | |
4 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
3 :invoke :write 1 | |
4 :invoke :write 3 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
2 :invoke :read nil | |
0 :invoke :read nil | |
3 :invoke :read nil | |
4 :invoke :read nil | |
1 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
3 :invoke :read nil | |
4 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
1 :invoke :read nil | |
2 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
2 :invoke :write 2 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
3 :invoke :read 1 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
World with fixed history: | |
1 :invoke :read nil | |
3 :invoke :read nil | |
2 :invoke :read nil | |
4 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :read nil | |
1 :invoke :read nil | |
0 :invoke :read nil | |
0 :invoke :read nil | |
2 :invoke :write 1 | |
4 :invoke :write 3 | |
3 :invoke :write 1 | |
3 :invoke :read 1 | |
4 :invoke :write 0 | |
1 :invoke :write 1 | |
2 :invoke :write 2 | |
0 :invoke :write 4 | |
3 :invoke :read 4 | |
1 :invoke :read 4 | |
4 :invoke :write 1 | |
0 :invoke :read 1 | |
3 :invoke :read 1 | |
1 :invoke :read 1 | |
4 :invoke :read 1 | |
2 :invoke :cas [1 4] | |
led to state: | |
{:value 4} | |
with pending operations: | |
(and 12928 more worlds, elided here | |
-------------------------------------------------------------- | |
Inconsistent state transitions: | |
([{:value 4} "can't read 1 from register 4"]) | |
Ran 1 tests containing 1 assertions. | |
1 failures, 0 errors. | |
Reloading jepsen.report ... done. | |
Reloading jepsen.report-test ... failed. | |
No test namespace jepsen.report-test - doing nothing. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment