Earthquake Demo for https://issues.apache.org/jira/browse/ZOOKEEPER-2212
1.2K
Earthquake is a dynamic model checker (DMCK) for real implementations of distributed system (such as ZooKeeper).
Earthquakes permutes C/Java function calls, Ethernet packets, and injected fault events in various orders so as to find implementation-level bugs of the distributed system.
We have successfully found a distributed race condition bug (ZOOKEEPER-2212) of ZooKeeper using Earthquake. This container can reproduce the bug we found.
For further information, please refer to https://github.com/osrg/earthquake/tree/v0.1/example/zk-found-bug.ether
Available on Docker Hub: osrg/earthquake-zookeeper-2212
host$ sudo modprobe openvswitch
host$ docker run --privileged -t -i --rm osrg/earthquake-zookeeper-2212
guest$ ./000-prepare.sh
[INFO] Starting Earthquake Ethernet Switch
[INFO] Starting Earthquake Orchestrator
[INFO] Starting Earthquake Ethernet Inspector
[IMPORTANT] Please kill the processes (switch=1234, orchestrator=1235, and inspector=1236) after you finished all of the experiments
[IMPORTANT] Please continue to 100-run-experiment.sh..
guest$ ./100-run-experiment.sh
[IMPORTANT] THE BUG WAS REPRODUCED!
guest$ kill -9 1234 1235 1236
DISABLE_EQ: disable EarthquakeContent type
Image
Digest
sha256:90f75a250…
Size
322.4 MB
Last updated
over 10 years ago
docker pull osrg/earthquake-zookeeper-2212