Commit Graph

8691 Commits

Author SHA1 Message Date
Callum Waters
9ed341f44e bump e2e waiting timeout 2021-03-04 09:53:11 +01:00
Aleksandr Bezobchuk
be88fd3e63 mempool/rpc: log grooming (#6201) 2021-03-03 19:45:35 -05:00
Callum Waters
cab10db725 e2e: adjust timeouts to be dynamic to size of network (#6202) 2021-03-03 18:41:07 -05:00
Callum Waters
90fe178b52 mempool: don't return an error on checktx with the same tx (#6199) 2021-03-03 21:02:45 +01:00
Marko
0d0181856b indexer: remove info log (#6194)
## Description

Replace info log with Debug.
2021-03-02 17:18:39 +00:00
Anton Kaliaev
36d92cd0b6 test/fuzz: fix rpc, secret_connection and pex tests (#6190)
* test/fuzz: fix rpc, secret_connection and pex tests

- ignore empty data in rpc
- provide correct IP in pex
- spawn a goroutine for Write and do multiple Read(s)

* test/fuzz: fix init in pex test

* test/fuzz: assign NewServeMux to global var

* test/fuzz: only try to Unmarshal if blob is not empty

* run fuzz tests for PRs which modify fuzz tests themselves

* test/fuzz: move MakeSwitch into init
2021-03-02 17:30:06 +04:00
Anton Kaliaev
fe4e97afe0 rpc/jsonrpc: Unmarshal RPCRequest correctly (#6191)
i.e. without double pointer. With double pointer, it was possible to
submit `null` value, which will crash the server.

```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x189ddc0]

goroutine 1 [running]:
github.com/tendermint/tendermint/rpc/jsonrpc/types.(*RPCRequest).UnmarshalJSON(0xc0000147e0, 0xc00029f201, 0x4, 0x1ff, 0x883baa0, 0xc0000147e0)
        /Users/anton/go/src/github.com/tendermint/tendermint/rpc/jsonrpc/types/types.go:70 +0x100
encoding/json.(*decodeState).literalStore(0xc000216bb0, 0xc00029f201, 0x4, 0x1ff, 0x1998800, 0xc0000147e0, 0x199, 0xc000231700, 0x10e0a5e, 0x197)
        /usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:860 +0x30ce
encoding/json.(*decodeState).value(0xc000216bb0, 0x1998800, 0xc0000147e0, 0x199, 0x1998800, 0xc0000147e0)
        /usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:384 +0x40c
encoding/json.(*decodeState).array(0xc000216bb0, 0x18df040, 0xc0001be540, 0x16, 0xc000216bd8, 0x10e405b)
        /usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:558 +0x365
encoding/json.(*decodeState).value(0xc000216bb0, 0x18df040, 0xc0001be540, 0x16, 0x16, 0x6e)
        /usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:360 +0x22f
encoding/json.(*decodeState).unmarshal(0xc000216bb0, 0x18df040, 0xc0001be540, 0xc000216bd8, 0x0)
        /usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:180 +0x2c9
encoding/json.Unmarshal(0xc00029f200, 0x6, 0x200, 0x18df040, 0xc0001be540, 0x0, 0x0)
        /usr/local/Cellar/go/1.16/libexec/src/encoding/json/decode.go:107 +0x15d
```
2021-03-02 10:25:52 +00:00
Tess Rinearson
ddba7f931a changelog: update for 0.34.8 (#6183) 2021-03-01 16:32:00 +00:00
Anton Kaliaev
089b314bdb test/fuzz: fix PEX reactor test (#6188)
* test/fuzz: fix PEX reactor test

* .github: [fuzz] increase retention period for crashers
2021-03-01 20:18:51 +04:00
Callum Waters
37d36cd5bc light: improve provider handling (#6053)
Introduces heuristics that track the amount of no responses or unavailable blocks a provider has for more robust provider handling by the light client. Use concurrent calls to all witnesses when a new primary is needed.
2021-03-01 12:04:02 +01:00
Marko
e2384a00ce privval: return errors on loadFilePV (#6185)
## Description

- return errors on `loadFilePv`

closes #6182
2021-03-01 09:10:09 +00:00
winor
f57aaa4925 docs/tutorials: fix sample code (#6186) 2021-02-28 09:59:27 +00:00
dependabot[bot]
611dd5ad46 build(deps): Bump google.golang.org/grpc from 1.35.0 to 1.36.0 (#6180)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.35.0 to 1.36.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.35.0...v1.36.0)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-25 11:09:51 -05:00
Anton Kaliaev
fc5a108d53 libs/log: [JSON format] include timestamp (#6174)
Closes #6146
2021-02-25 07:06:24 +00:00
Anton Kaliaev
e9e5026dac rpc/client/http: drop endpoint arg from New and add WSOptions (#6176)
also

- replace `MaxReconnectAttempts`, `ReadWait`, `WriteWait` and `PingPeriod` options with `WSOptions` in `WSClient` (rpc/jsonrpc/client/ws_client.go).
- set default write wait to 10s for `WSClient`(rpc/jsonrpc/client/ws_client.go)
- unexpose `WSEvents`(rpc/client/http.go)

Closes #6162
2021-02-25 06:57:31 +00:00
dependabot[bot]
bd14bb66e9 build(deps): Bump golangci/golangci-lint-action from v2.4.0 to v2.5.1 (#6175)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from v2.4.0 to v2.5.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v2.4.0...d9f0e73c0497685d68af8c58280f49fcaf0545ff)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marko <marbar3778@yahoo.com>
2021-02-24 19:07:25 +00:00
Marko
45572117ae logging: print string instead of callback (#6177)
## Description

Fixes marshaling error in sdk

closes https://github.com/cosmos/cosmos-sdk/issues/8578

the output stays the same, we are avoiding the passing of the callback because sdk uses typed logging.
2021-02-24 18:56:28 +00:00
Anton Kaliaev
0f4124fb54 rpc/client/http: Do not drop events even if the out channel is full (#6163)
```
// unbuffered
out, err := httpClient.Subscribe(ctx, "event.type=NewTx and account.name=Jack", 0)

// buffered
out, err := httpClient.Subscribe(ctx, "event.type=NewTx AND account.name=Jack", 20)
```

Before: when the `out` channel is buffered and becomes full, we drop an event (+ log the error)
After: when the `out` channel is buffered and becomes full, we block

**Before it was not apparent to the app when an event was dropped (looking at the logs is manual task). After this PR, if the user does not read from `out` on 1 subscription, all other subscriptions will be stuck too.**

Closes #6161
2021-02-24 04:16:13 +00:00
Tess Rinearson
be35c893d3 docs/security: add preallocated list of security vulnerability names (#6167)
I'm also going to add the retros for all previous security incidents to this directory - I'd like to have them somewhere more central than the Cosmos Forum, where they currently live.
2021-02-23 21:59:42 +00:00
Aleksandr Bezobchuk
c21f4c6fde state executor: groom logs (#6152)
ref: #5912
2021-02-23 15:57:27 +00:00
githubsands
d5cf7831f1 state: save in batches within the state store (#6067) 2021-02-23 16:37:46 +01:00
Silas Davis
9498cd80bd Normalise GenesisDoc before saving to state (#6059)
Co-authored-by: Callum <cmwaters19@gmail.com>
2021-02-23 13:27:42 +01:00
Anton Kaliaev
c1ca749afa rpc: change default sorting to desc for /tx_search results (#6168)
Closes #6155
2021-02-23 10:56:16 +00:00
Anton Kaliaev
98bbde5385 .github: [jepsen] archive results (#6164) 2021-02-23 14:20:37 +04:00
Callum Waters
42f6c40751 p2p: enable scheme-less parsing of IPv6 strings (#6158) 2021-02-22 16:24:56 +01:00
Aleksandr Bezobchuk
6912c34b58 cmd: ignore missing wal in debug kill command (#6160)
closes: #6159
2021-02-22 13:24:56 +00:00
Anton Kaliaev
5a39f72aa8 .github: [jepsen] add more docs (#6141) 2021-02-22 11:19:47 +04:00
Tess Rinearson
93719c2eb3 changelog: update with changes from 0.34.7 (and failed 0.34.5, 0.34.6) (#6150) 2021-02-19 13:51:22 +00:00
Marko
ab69153037 docs: how to add tm version to RPC (#6151)
## Description

Add docs on how to get tendermint version into RPC version outputs
2021-02-19 13:05:42 +00:00
Callum Waters
29360f955c light: improve timeout functionality (#6145) 2021-02-18 23:49:24 +01:00
Aleksandr Bezobchuk
27eb10a2e7 consensus: log private validator address and not struct (#6144)
ref: https://github.com/tendermint/tendermint/pull/6140#discussion_r578635756
2021-02-18 19:02:36 +00:00
Aleksandr Bezobchuk
8a3637a249 consensus: more log grooming (#6140)
ref: https://github.com/tendermint/tendermint/issues/5912
2021-02-18 18:12:33 +00:00
Bipul Prasad
90c290ac52 rpc: standardize error codes (#6019) 2021-02-18 17:54:02 +01:00
Anton Kaliaev
54a14cfeed .github: [jepsen] source .bashrc (#6139)
fixes https://github.com/tendermint/tendermint/runs/1926771645
```
ERROR [2021-02-18 12:16:30,492] main - jepsen.cli Oh jeez, I'm sorry,
Jepsen broke. Here's why:

clojure.lang.ExceptionInfo: throw+: {:dir "/", :private-key-path nil,
:password "root", :username "root", :type :jepsen.control/session-error,
:port 22, :strict-host-key-checking false, :host nil, :sudo nil, :dummy
false, :message "Error opening SSH session. Verify username, password,
and node hostnames are correct.", :session nil}
```
2021-02-18 16:32:00 +04:00
Anton Kaliaev
a48c6bdf5e .github: [jepsen] fix directory name (#6138)
```
bash: line 0: cd: tendermint: No such file or directory
```
2021-02-18 16:10:52 +04:00
Anton Kaliaev
27b05d6b39 .github: [jepsen] cd inside the container, not outside (#6137)
fixes https://github.com/tendermint/tendermint/runs/1925580432
```
No :main namespace specified in project.clj.
```
2021-02-18 13:18:55 +04:00
Anton Kaliaev
6cb4b5d8ad .github: [jepsen] use "bash -c" to execute lein run cmd (#6136)
Fixes https://github.com/tendermint/tendermint/runs/1925329781

```
OCI runtime exec failed: exec failed: container_linux.go:370: starting
container process caused: exec: "lein run test --nemesis none --workload
cas-register --concurrency 10 --tendermint-url
https://github.com/melekes/katas/releases/download/0.2.0/tendermint.tar.gz
--merkleeyes-url
https://github.com/melekes/katas/releases/download/0.2.0/merkleeyes_0.1.7.tar.gz":
stat lein run test --nemesis none --workload cas-register --concurrency
10 --tendermint-url
https://github.com/melekes/katas/releases/download/0.2.0/tendermint.tar.gz
--merkleeyes-url
https://github.com/melekes/katas/releases/download/0.2.0/merkleeyes_0.1.7.tar.gz:
no such file or directory: unknown
```
2021-02-18 13:01:57 +04:00
Anton Kaliaev
07cf71146c .github: [jepsen] use working-directory instead of 'cd' (#6135) 2021-02-18 12:17:45 +04:00
Anton Kaliaev
df0bf4b0ee .github: [jepsen] fix inputs and remove TTY from docker (#6134)
fixes https://github.com/tendermint/tendermint/runs/1924860805

```
Run docker exec -it jepsen-control 'cd tendermint && lein run test
--nemesis  --workload ' the input device is not a TTY
```
2021-02-18 11:29:54 +04:00
Anton Kaliaev
9f697db54f .github: Jepsen workflow - initial version (#6123) 2021-02-18 10:45:40 +04:00
Aleksandr Bezobchuk
bc3e3d134e tests: Fix TestByzantinePrevoteEquivocation (#6132)
Missed setting the buffer size on the subscription. Note, this doesn't really "fix" this test (a la ref: https://github.com/tendermint/tendermint/pull/5710).

However, I spent a good chunk of time looking at this test with many logs and I'm pretty sure this is mainly due to the fact that none of the nodes get the conflicting vote in time.

closes: #6127
2021-02-18 05:21:15 +00:00
Aleksandr Bezobchuk
5b52f87789 ABCI: Fix ReCheckTx for Socket Client (#6124)
Fixes the race condition between a callback being set and called during ReCheckTx. Note, I do not see equivalent logic in the gRPC client (anymore) as #5439 suggests, so only the socket client was updated.

closes: #5439
2021-02-17 17:03:11 +00:00
Erik Grinaker
b6be889b97 node: feature flag for legacy p2p support (#6056) 2021-02-16 11:57:16 -05:00
Aleksandr Bezobchuk
16bbe8c862 consensus: p2p refactor (#5969) 2021-02-16 11:02:52 -05:00
Marko
10b9fb9f21 adr: batch verification (#6008)
Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
Co-authored-by: Callum Waters <cmwaters19@gmail.com>
Co-authored-by: Aleksandr Bezobchuk <alexanderbez@users.noreply.github.com>
2021-02-15 16:15:36 +00:00
Marko
809a5e876c docs/tutorials: fix proto file names (#6112)
## Description

Fix protobuf file names
2021-02-15 13:51:58 +00:00
dependabot[bot]
670b27fe3c build(deps): Bump golangci/golangci-lint-action from v2.3.0 to v2.4.0 (#6111)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from v2.3.0 to v2.4.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v2.3.0...544d2efb307b3f205f34886f2787046abe7fb26e)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-15 11:08:07 +00:00
Tess Rinearson
df0b868415 changelog: update 0.34.3 changelog with details on security vuln (#6108)
Closes #6095.
2021-02-15 11:03:06 +04:00
Marko
195916fa32 backports: mergify (#6107)
Co-authored-by: Tess Rinearson <tess.rinearson@gmail.com>
2021-02-12 14:06:28 +00:00
Tess Rinearson
3e6f9329c1 changelog: update to reflect v0.34.4 release (#6105) 2021-02-12 11:05:47 +01:00