0

I am running the code from this repository https://github.com/jepsen-io/tendermint without changing any files. But i am getting error while running the command lein run test.

The error that I got is mentioned below.

    Initializing core.typed ...
    Building core.typed base environments ...

Finished building base environments

"Elapsed time: 3347.461907 msecs"
core.typed initialized.
241: Not checking jepsen.tendermint.validator/byzantine-validators 
definition
WARNING: (jepsen/tendermint/validator.clj:662:5) Local became 
bottom when checking case default
WARNING: (jepsen/tendermint/validator.clj:678:5) Local became 
bottom when checking case default
792: Not checking jepsen.tendermint.validator/rand-legal-transition 
definition

15:33:32.220 [main] INFO jepsen.cli - Test options:
{
:concurrency 5,
:ssh
{
:username "root",
:password "root",
:strict-host-key-checking false,
:private-key-path nil},
:nemesis :none,
:abci-url

 "https://s3-us-west 2.amazonaws.com/tendermint/binaries/abci/v0.5.0/abci_0.5.0_linux_amd64.zip",
:nodes ["n1" "n2" "n3" "n4" "n5"],
:test-count 1,
:merkleeyes-url

"https://s3-us-west-2.amazonaws.com/tendermint/jepsen/merkleeyes_0.2.2-ngc.3_linux_amd64.zip",
:tendermint-url
 "https://s3-us-west-2.amazonaws.com/tendermint/binaries/tendermint/v0.10.3/tendermint_0.10.3_linux_amd64.zip",
:time-limit 60,
:workload :cas-register}

INFO [2019-10-14 15:33:32,273] jepsen test runner - jepsen.core 
Running test:
{
 :concurrency 5,
:nonserializable-keys [:validator-config],
:db

#object[jepsen.tendermint.db$db$reify__31900 0x2a8b1e67 
"jepsen.tendermint.db$db$reify__31900@2a8b1e67"],
:name "tendermint cas-register none",
:start-time
#object[org.joda.time.DateTime 0x731d35b0 "2019-10-14T15:33:32.000+05:30"],
:net
#object[jepsen.net$reify__1090 0x3a9c5f14 
"jepsen.net$reify__1090@3a9c5f14"],
:client
#object[jepsen.tendermint.core$cas_register_client$reify__31918 0x362e1181 
"jepsen.tendermint.core$cas_register_client$reify__31918@362e1181"],
 :barrier
 #object[java.util.concurrent.CyclicBarrier 0x2461a62c 
 "java.util.concurrent.CyclicBarrier@2461a62c"],
:ssh
{:username "root",
:password "root",
:strict-host-key-checking false,
:private-key-path nil},
:checker
#object[jepsen.checker$compose$reify__3207 0x1c63d92e 
"jepsen.checker$compose$reify__3207@1c63d92e"],
:validator-config #<Atom@7a986079: nil>,
:nemesis
#object[jepsen.nemesis$reify__1123 0xb7a2b89 
"jepsen.nemesis$reify__1123@b7a2b89"],
:active-histories #<Atom@3e0e2a80: #{}>,
:abci-url

"https://s3-us-west-2.amazonaws.com/tendermint/binaries/abci/v0.5.0/abci_0.5.0_linux_amd64.zip",
:nodes ["n1" "n2" "n3" "n4" "n5"],
:test-count 1,
:merkleeyes-url

"https://s3-us-west-2.amazonaws.com/tendermint/jepsen/merkleeyes_0.2.2-ngc.3_linux_amd64.zip",
:tendermint-url

"https://s3-us-west-2.amazonaws.com/tendermint/binaries/tendermint/v0.10.3/tendermint_0.10.3_linux_amd64.zip",
:generator
#object[jepsen.generator$concat$reify__1922 0x17236e87 
"jepsen.generator$concat$reify__1922@17236e87"],
:os
#object[jepsen.os.debian$reify__1367 0x75fa16cc 
"jepsen.os.debian$reify__1367@75fa16cc"],
:time-limit 60,
:workload :cas-register,
:model {:value nil}}

ERROR [2019-10-14 15:33:32,385] main - jepsen.cli Oh jeez, I'm sorry, Jepsen broke. Here's why:
com.jcraft.jsch.JSchException: java.net.UnknownHostException: n1
at com.jcraft.jsch.Util.createSocket(Util.java:349) ~[jsch-0.1.53.jar:na]
at com.jcraft.jsch.Session.connect(Session.java:215) ~[jsch-0.1.53.jar:na]
at com.jcraft.jsch.Session.connect(Session.java:183) ~[jsch-0.1.53.jar:na]
at clj_ssh.ssh$fn__1395.invokeStatic(ssh.clj:118) ~[jepsen-0.1.6.jar:na]
at clj_ssh.ssh$fn__1395.invoke(ssh.clj:115) ~[jepsen-0.1.6.jar:na]
at clj_ssh.ssh.protocols$fn__1353$G__1320__1362.invoke(protocols.clj:4) ~[jepsen-0.1.6.jar:na]
at clj_ssh.ssh$connect.invokeStatic(ssh.clj:401) ~[jepsen-0.1.6.jar:na]
at clj_ssh.ssh$connect.invoke(ssh.clj:397) ~[jepsen-0.1.6.jar:na]
at jepsen.control$clj_ssh_session.invokeStatic(control.clj:262) ~[jepsen-0.1.6.jar:na]
at jepsen.control$clj_ssh_session.invoke(control.clj:254) ~[jepsen-0.1.6.jar:na]
at jepsen.control$session$fn__1784.invoke(control.clj:276) ~[jepsen-0.1.6.jar:na]
at jepsen.reconnect$open_BANG_$fn__1673.invoke(reconnect.clj:59) ~[jepsen-0.1.6.jar:na]
at jepsen.reconnect$open_BANG_.invokeStatic(reconnect.clj:57) ~[jepsen-0.1.6.jar:na]
at jepsen.reconnect$open_BANG_.invoke(reconnect.clj:54) ~[jepsen-0.1.6.jar:na]
at jepsen.control$session.invokeStatic(control.clj:273) ~[jepsen-0.1.6.jar:na]
at jepsen.control$session.invoke(control.clj:270) ~[jepsen-0.1.6.jar:na]
at clojure.lang.AFn.applyToHelper(AFn.java:154) ~[clojure-1.8.0.jar:na]
at clojure.lang.AFn.applyTo(AFn.java:144) ~[clojure-1.8.0.jar:na]
at clojure.core$apply.invokeStatic(core.clj:646) ~[clojure-1.8.0.jar:na]
at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1881) ~[clojure-1.8.0.jar:na]
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1881) ~[clojure-1.8.0.jar:na]
at clojure.lang.RestFn.applyTo(RestFn.java:142) ~[clojure-1.8.0.jar:na]
at clojure.core$apply.invokeStatic(core.clj:650) ~[clojure-1.8.0.jar:na]
at clojure.core$bound_fn_STAR_$fn__4671.doInvoke(core.clj:1911) ~[clojure-1.8.0.jar:na]
at clojure.lang.RestFn.applyTo(RestFn.java:137) ~[clojure-1.8.0.jar:na]
at clojure.core$apply.invokeStatic(core.clj:646) ~[clojure-1.8.0.jar:na]
at clojure.core$apply.invoke(core.clj:641) ~[clojure-1.8.0.jar:na]
at jepsen.util$fcatch$wrapper__945.doInvoke(util.clj:28) ~[jepsen-0.1.6.jar:na]
at clojure.lang.RestFn.invoke(RestFn.java:408) ~[clojure-1.8.0.jar:na]
at jepsen.util$real_pmap$launcher__950$fn__951.invoke(util.clj:48) ~[jepsen-0.1.6.jar:na]
at clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1938) ~[clojure-1.8.0.jar:na]
at clojure.lang.AFn.call(AFn.java:18) ~[clojure-1.8.0.jar:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_222]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_222]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_222]
Caused by: java.net.UnknownHostException: n1
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0_222]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_222]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_222]
at java.net.Socket.connect(Socket.java:538) ~[na:1.8.0_222]
at java.net.Socket.(Socket.java:434) ~[na:1.8.0_222]
at java.net.Socket.(Socket.java:211) ~[na:1.8.0_222]
at com.jcraft.jsch.Util.createSocket(Util.java:343) ~[jsch-0.1.53.jar:na]
... 35 common frames omitted

This the issue that i am facing and i don't know how to correct these errors. I haven't changed any code from the repository. i just cloned this repository and moved to that folder and executed the lein test run command only. Before this is there any changes need to be made in the config files or any other files please mention that too. Because i am new to this jepsen testing. Can anyone help me solving this error?

Thank you.

abi
  • 21
  • 2
  • It seems like you cannot ssh into `n1`: from the README: "you'll likely want to set --node some.hostname ..." where "some.hostname" and others are real machines you can ssh to. Also check out https://stackoverflow.com/questions/44813439/jepsen-ssh-issue Also please put the error text in the question like you did when opening the issue https://github.com/jepsen-io/tendermint/issues/2 instead of screenshots – nha Oct 14 '19 at 16:45
  • ok. thanks i edited my question with code instead of screenshots – abi Oct 15 '19 at 05:42
  • 1
    Actually in that repository itself created nodes in the tendermint. so i have't mentioned any hostname to run. Should i mention hostname ? if i should tell me what to mention at the place of hostname ? – abi Oct 15 '19 at 08:58
  • You should create the nodes yourself before running the test, as the other stackoverflow question I linked did. – nha Oct 15 '19 at 09:28
  • i checked the link. there they created nodes using VM and container. here, i want to create tendermint node. In this repository itself they specified the nodes right? or i misunderstood that? – abi Oct 15 '19 at 10:42
  • You need to be able to do as the other link ```I can just execute this command "ssh n1" and it works without any problem```. You have not created any nodes, so the jepsen repository cannot install tendermint anywhere yet. – nha Oct 15 '19 at 11:21
  • oh ok. then how to create the nodes and conduct the test successfully? what is the procedure to create nodes? can you please help me with that? – abi Oct 15 '19 at 11:44
  • please guide me to create the nodes of tendermint for jepsen testing? I searched a lot. but i cannot able to create it on my own. – abi Oct 15 '19 at 14:45
  • This is out of scope for stackoverflow because it is not about programming (also this is very broad and there are many ways to do it). One way is to use virtual machines and is already described in the post I linked. – nha Oct 16 '19 at 20:33
  • ok thanks for your help. – abi Oct 17 '19 at 05:48
  • @abi i am trying to do the same on local machine and getting same error. I am confused how to pass local nodes while running jepsen test command. – Proton Feb 16 '23 at 15:16

2 Answers2

1

i solved this error. Now, i am getting a different error while running the command lein run test in the repository https://github.com/jepsen-io/tendermint

The error code is

INFO [2019-10-30 16:13:08,306] jepsen node n5 - jepsen.os.debian n5 setting up debian
INFO [2019-10-30 16:13:08,306] jepsen node n4 - jepsen.os.debian n4 setting up debian
INFO [2019-10-30 16:13:08,306] jepsen node n1 - jepsen.os.debian n1 setting up debian
INFO [2019-10-30 16:13:08,306] jepsen node n2 - jepsen.os.debian n2 setting up debian
INFO [2019-10-30 16:13:08,830] jepsen node n2 - jepsen.os.debian Installing #{iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables}
INFO [2019-10-30 16:13:08,830] jepsen node n5 - jepsen.os.debian Installing #{iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables}
INFO [2019-10-30 16:13:08,831] jepsen node n4 - jepsen.os.debian Installing #{iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables}
INFO [2019-10-30 16:13:08,840] jepsen node n3 - jepsen.os.debian Installing #{iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables}
INFO [2019-10-30 16:13:08,961] jepsen node n1 - jepsen.os.debian Installing #{iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables}
ERROR [2019-10-30 16:13:09,589] main - jepsen.cli Oh jeez, I'm sorry, Jepsen broke. Here's why:
java.util.concurrent.ExecutionException: java.lang.RuntimeException: sudo -S -u root bash -c "cd /; apt-get install -y --force-yes iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables" returned non-zero exit status 100 on n1. STDOUT:
Reading package lists...
Building dependency tree...
Reading state information...
Package iproute is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  iproute2



STDERR:
W: --force-yes is deprecated, use one of the options starting with --allow instead.
E: Package 'iproute' has no installation candidate
E: Unable to locate package libzip2

    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_222]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_222]
    at clojure.core$deref_future.invokeStatic(core.clj:2208) ~[clojure-1.8.0.jar:na]
    at clojure.core$future_call$reify__6962.deref(core.clj:6688) ~[clojure-1.8.0.jar:na]
    at clojure.core$deref.invokeStatic(core.clj:2228) ~[clojure-1.8.0.jar:na]
    at clojure.core$deref.invoke(core.clj:2214) ~[clojure-1.8.0.jar:na]
    at clojure.core$map$fn__4785.invoke(core.clj:2644) ~[clojure-1.8.0.jar:na]
    at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[clojure-1.8.0.jar:na]
    at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.8.0.jar:na]
    at clojure.lang.RT.seq(RT.java:521) ~[clojure-1.8.0.jar:na]
    at clojure.core$seq__4357.invokeStatic(core.clj:137) ~[clojure-1.8.0.jar:na]
    at clojure.core.protocols$seq_reduce.invokeStatic(protocols.clj:24) ~[clojure-1.8.0.jar:na]
    at clojure.core.protocols$fn__6738.invokeStatic(protocols.clj:75) ~[clojure-1.8.0.jar:na]
    at clojure.core.protocols$fn__6738.invoke(protocols.clj:75) ~[clojure-1.8.0.jar:na]
    at clojure.core.protocols$fn__6684$G__6679__6697.invoke(protocols.clj:13) ~[clojure-1.8.0.jar:na]
    at clojure.core$reduce.invokeStatic(core.clj:6545) ~[clojure-1.8.0.jar:na]
    at clojure.core$into.invokeStatic(core.clj:6610) ~[clojure-1.8.0.jar:na]
    at clojure.core$into.invoke(core.clj:6604) ~[clojure-1.8.0.jar:na]
    at jepsen.control$on_nodes.invokeStatic(control.clj:353) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$on_nodes.invoke(control.clj:337) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$on_nodes.invokeStatic(control.clj:342) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$on_nodes.invoke(control.clj:337) ~[jepsen-0.1.6.jar:na]
    at jepsen.core$run_BANG_$fn__3400$fn__3403.invoke(core.clj:411) ~[jepsen-0.1.6.jar:na]
    at jepsen.core$run_BANG_$fn__3400.invoke(core.clj:400) ~[jepsen-0.1.6.jar:na]
    at jepsen.core$run_BANG_.invokeStatic(core.clj:382) ~[jepsen-0.1.6.jar:na]
    at jepsen.core$run_BANG_.invoke(core.clj:329) ~[jepsen-0.1.6.jar:na]
    at jepsen.cli$single_test_cmd$fn__4053.invoke(cli.clj:327) ~[jepsen-0.1.6.jar:na]
    at jepsen.cli$run_BANG_.invokeStatic(cli.clj:271) [jepsen-0.1.6.jar:na]
    at jepsen.cli$run_BANG_.invoke(cli.clj:201) [jepsen-0.1.6.jar:na]
    at jepsen.tendermint.cli$_main.invokeStatic(cli.clj:25) [na:na]
    at jepsen.tendermint.cli$_main.doInvoke(cli.clj:23) [na:na]
    at clojure.lang.RestFn.invoke(RestFn.java:408) [clojure-1.8.0.jar:na]
    at clojure.lang.Var.invoke(Var.java:379) [clojure-1.8.0.jar:na]
    at user$eval720.invokeStatic(form-init2121207811388987748.clj:1) [na:na]
    at user$eval720.invoke(form-init2121207811388987748.clj:1) [na:na]
    at clojure.lang.Compiler.eval(Compiler.java:6927) [clojure-1.8.0.jar:na]
    at clojure.lang.Compiler.eval(Compiler.java:6917) [clojure-1.8.0.jar:na]
    at clojure.lang.Compiler.load(Compiler.java:7379) [clojure-1.8.0.jar:na]
    at clojure.lang.Compiler.loadFile(Compiler.java:7317) [clojure-1.8.0.jar:na]
    at clojure.main$load_script.invokeStatic(main.clj:275) [clojure-1.8.0.jar:na]
    at clojure.main$init_opt.invokeStatic(main.clj:277) [clojure-1.8.0.jar:na]
    at clojure.main$init_opt.invoke(main.clj:277) [clojure-1.8.0.jar:na]
    at clojure.main$initialize.invokeStatic(main.clj:308) [clojure-1.8.0.jar:na]
    at clojure.main$null_opt.invokeStatic(main.clj:342) [clojure-1.8.0.jar:na]
    at clojure.main$null_opt.invoke(main.clj:339) [clojure-1.8.0.jar:na]
    at clojure.main$main.invokeStatic(main.clj:421) [clojure-1.8.0.jar:na]
    at clojure.main$main.doInvoke(main.clj:384) [clojure-1.8.0.jar:na]
    at clojure.lang.RestFn.invoke(RestFn.java:421) [clojure-1.8.0.jar:na]
    at clojure.lang.Var.invoke(Var.java:383) [clojure-1.8.0.jar:na]
    at clojure.lang.AFn.applyToHelper(AFn.java:156) [clojure-1.8.0.jar:na]
    at clojure.lang.Var.applyTo(Var.java:700) [clojure-1.8.0.jar:na]
    at clojure.main.main(main.java:37) [clojure-1.8.0.jar:na]
Caused by: java.lang.RuntimeException: sudo -S -u root bash -c "cd /; apt-get install -y --force-yes iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables" returned non-zero exit status 100 on n1. STDOUT:
Reading package lists...
Building dependency tree...
Reading state information...
Package iproute is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  iproute2



STDERR:
W: --force-yes is deprecated, use one of the options starting with --allow instead.
E: Package 'iproute' has no installation candidate
E: Unable to locate package libzip2

    at jepsen.control$throw_on_nonzero_exit.invokeStatic(control.clj:128) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$throw_on_nonzero_exit.invoke(control.clj:121) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$exec_STAR_.invokeStatic(control.clj:165) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$exec_STAR_.doInvoke(control.clj:162) ~[jepsen-0.1.6.jar:na]
    at clojure.lang.RestFn.applyTo(RestFn.java:137) [clojure-1.8.0.jar:na]
    at clojure.core$apply.invokeStatic(core.clj:646) ~[clojure-1.8.0.jar:na]
    at clojure.core$apply.invoke(core.clj:641) ~[clojure-1.8.0.jar:na]
    at jepsen.control$exec.invokeStatic(control.clj:181) ~[jepsen-0.1.6.jar:na]
    at jepsen.control$exec.doInvoke(control.clj:175) ~[jepsen-0.1.6.jar:na]
    at clojure.lang.RestFn.applyTo(RestFn.java:137) [clojure-1.8.0.jar:na]
    at clojure.core$apply.invokeStatic(core.clj:654) ~[clojure-1.8.0.jar:na]
    at clojure.core$apply.doInvoke(core.clj:641) ~[clojure-1.8.0.jar:na]
    at clojure.lang.RestFn.invoke(RestFn.java:533) [clojure-1.8.0.jar:na]
    at jepsen.os.debian$install.invokeStatic(debian.clj:98) ~[na:na]
    at jepsen.os.debian$install.invoke(debian.clj:78) ~[na:na]
    at jepsen.os.debian$reify__1367$fn__1368.invoke(debian.clj:148) ~[na:na]
    at jepsen.os.debian$reify__1367.setup_BANG_(debian.clj:146) ~[na:na]
    at jepsen.os$fn__1153$G__1147__1157.invoke(os.clj:4) ~[jepsen-0.1.6.jar:na]
    at jepsen.os$fn__1153$G__1146__1162.invoke(os.clj:4) ~[jepsen-0.1.6.jar:na]
    at clojure.core$partial$fn__4759.invoke(core.clj:2516) ~[clojure-1.8.0.jar:na]
    at jepsen.control$on_nodes$fn__1797.invoke(control.clj:352) ~[jepsen-0.1.6.jar:na]
    at clojure.lang.AFn.applyToHelper(AFn.java:154) [clojure-1.8.0.jar:na]
    at clojure.lang.AFn.applyTo(AFn.java:144) [clojure-1.8.0.jar:na]
    at clojure.core$apply.invokeStatic(core.clj:646) ~[clojure-1.8.0.jar:na]
    at clojure.core$with_bindings_STAR_.invokeStatic(core.clj:1881) ~[clojure-1.8.0.jar:na]
    at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1881) ~[clojure-1.8.0.jar:na]
    at clojure.lang.RestFn.applyTo(RestFn.java:142) [clojure-1.8.0.jar:na]
    at clojure.core$apply.invokeStatic(core.clj:650) ~[clojure-1.8.0.jar:na]
    at clojure.core$bound_fn_STAR_$fn__4671.doInvoke(core.clj:1911) ~[clojure-1.8.0.jar:na]
    at clojure.lang.RestFn.invoke(RestFn.java:408) [clojure-1.8.0.jar:na]
    at jepsen.util$real_pmap$launcher__950$fn__951.invoke(util.clj:48) ~[jepsen-0.1.6.jar:na]
    at clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1938) ~[clojure-1.8.0.jar:na]
    at clojure.lang.AFn.call(AFn.java:18) [clojure-1.8.0.jar:na]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_222]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[na:1.8.0_222]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[na:1.8.0_222]
    at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_222]

What this error mean? Can anyone know how to solve this error and direct me to solve this problem Thanks in advance.

abi
  • 21
  • 2
1

The problem is in package name passed to Jepsen. Before running tests Jepsen setup environment on remote machine. In your case it tries to install iproute man-db curl psmisc ntpdate faketime libzip2 unzip wget iptables, but libzip2 is absent in repository and iproute has been renamed to iproute2. To fix error you can replace iproute to iproute2 and replace libzip2 by another package or remove it at all.