https://github.com/tendermint/tendermint
- HEAD
- refs/heads/0.35x
- refs/heads/1394-mempool-overload-2
- refs/heads/2565-max-age-duration
- refs/heads/2926_don_panic_with_getaddr
- refs/heads/abci++
- refs/heads/abci++_rebased
- refs/heads/abci-responses-flag-merge
- refs/heads/abci_remove_setOption
- refs/heads/add_persistence
- refs/heads/adi/gldb_test
- refs/heads/alessio/go1.14
- refs/heads/alessio/new-setup-test-configuration
- refs/heads/anca/block_search_q
- refs/heads/anca/fix_TestReactorTerminationScenarios
- refs/heads/anca/fix_pbts_tests
- refs/heads/anca/pbts_metrics
- refs/heads/anca/prevote_nil_untimely
- refs/heads/anca/remove_median_time
- refs/heads/anton/4963-jepsen-tests
- refs/heads/anton/block-file-format-adr
- refs/heads/bez/check-deliver-tx-block-gas-used
- refs/heads/bez/consensus-reactor-internal
- refs/heads/bez/kafka-indexer-sink
- refs/heads/bez/nuke-libs
- refs/heads/bez/p2p-refactor-blockchain-v2-reactor
- refs/heads/bez/revert-16bbe8c
- refs/heads/bez/v0.34.x-prioritized-mempool
- refs/heads/bez/wal-update
- refs/heads/breaking
- refs/heads/bucky/2871-disconnect-bad-peers
- refs/heads/bucky/adr-038
- refs/heads/bucky/chunking
- refs/heads/bucky/fix-pb2tm-header
- refs/heads/bucky/node-info-substructs
- refs/heads/bucky/upgrades
- refs/heads/bucky/versions
- refs/heads/bucky/ws
- refs/heads/cal/abci-client-mutex
- refs/heads/cal/backport-grpc-deprecation
- refs/heads/cal/default-trust-level
- refs/heads/cal/e2e-evidence
- refs/heads/cal/local-sync-adr
- refs/heads/cal/node-constructor
- refs/heads/cal/port-confix
- refs/heads/cal/prepare-proposal
- refs/heads/cal/process_proposal
- refs/heads/cal/rfc-lib-main
- refs/heads/cal/val-tool
- refs/heads/cal/vote-extensions-1
- refs/heads/cal/vote-extensions-2
- refs/heads/callum/adr16-versioning
- refs/heads/callum/app-version
- refs/heads/callum/config
- refs/heads/callum/e2e-timeout
- refs/heads/callum/e2e-upgrade
- refs/heads/callum/event-bus
- refs/heads/callum/evidence-hashes
- refs/heads/callum/handshake
- refs/heads/callum/mempool-full-error
- refs/heads/callum/merge-spec
- refs/heads/callum/nuke-libs
- refs/heads/callum/p2p-logs
- refs/heads/callum/p2p-provider
- refs/heads/callum/rfc-lib
- refs/heads/callum/simplify-config
- refs/heads/callum/v035-spec
- refs/heads/cason/bls-dev
- refs/heads/cason/rfc-accountability
- refs/heads/checked_ints
- refs/heads/clist-waitgroup
- refs/heads/cmd-add-p2p-external-address
- refs/heads/conr2d/doc-go-built-in
- refs/heads/creachadair/psql-event-schema
- refs/heads/delete-proto-gen-script
- refs/heads/dependabot/go_modules/master/github.com/bufbuild/buf-1.4.0
- refs/heads/dev/boiler_plate_val_distr_tets
- refs/heads/dev/simple_merkle_rfc
- refs/heads/do-not-delete/wiki
- refs/heads/docs-staging
- refs/heads/docs-tendermint-com
- refs/heads/dont_panic_fileperms
- refs/heads/e2e-avoid-random-node-selection
- refs/heads/e2e-extend-timeouts
- refs/heads/e2e-future-proof
- refs/heads/e2e-limit-experiment
- refs/heads/e2e-limited-no-catchup
- refs/heads/e2e-no-perterb
- refs/heads/e2e-perturb-timeouts
- refs/heads/e2e-small-suite
- refs/heads/erik/usi-kvstore-statesync
- refs/heads/feature/abci++vef
- refs/heads/feature/adr075-backport
- refs/heads/finalizeBlock
- refs/heads/fix-issue-8160
- refs/heads/igor/spec-annotations1.2-lightclient
- refs/heads/igor/tendermint-ind-inv
- refs/heads/indexer_return_early
- refs/heads/ismail/custom_types_revival_or_not
- refs/heads/jae/generalmerkle
- refs/heads/jae/literefactor6
- refs/heads/jae/verifyingcachineprovider
- refs/heads/jasmina-200-testnet
- refs/heads/jasmina/4457-blocksync-verification_part1
- refs/heads/jasmina/4457_block_sync_verification
- refs/heads/jasmina/8219-blocksync-spec
- refs/heads/jasmina/8219-blocksync-verification-rfc
- refs/heads/jasmina/e2efix-nightly-fails
- refs/heads/jasmina/kvindexer-eventq-0.37
- refs/heads/jasmina/kvindexer-fix-0.34
- refs/heads/jasmina/p2p-bad-peers
- refs/heads/jk/pbtsPOL
- refs/heads/jlandrews/removetimestamp
- refs/heads/jlandrews/trim_commit
- refs/heads/jmalicevic/4729-evidence-individual-processing
- refs/heads/josef/check-validators
- refs/heads/josef/i9573-josef-p2p
- refs/heads/lasarojc-patch-1
- refs/heads/lasarojc-patch-2
- refs/heads/lasarojc/spec/gossip
- refs/heads/main
- refs/heads/main-libp2p
- refs/heads/main-pbts
- refs/heads/main_backup
- refs/heads/manuel/abci++-spec-refactor-methodspage
- refs/heads/marko/4698grpc_priv
- refs/heads/marko/bringbackdocs
- refs/heads/marko/filter_logging
- refs/heads/marko/int64-
- refs/heads/marko/remove-apphash
- refs/heads/master
- refs/heads/mergify/bp/v0.34.x/pr-7266
- refs/heads/mergify/bp/v0.34.x/pr-7551
- refs/heads/mergify/bp/v0.34.x/pr-7625
- refs/heads/mergify/bp/v0.34.x/pr-9351
- refs/heads/mergify/bp/v0.34.x/pr-9367
- refs/heads/mergify/bp/v0.35.x/pr-7551
- refs/heads/mergify/bp/v0.35.x/pr-7625
- refs/heads/mergify/bp/v0.35.x/pr-7849
- refs/heads/mergify/bp/v0.35.x/pr-8694
- refs/heads/mergify/bp/v0.35.x/pr-9007
- refs/heads/mergify/bp/v0.36.x/pr-9007
- refs/heads/mergify/bp/v0.37.x/pr-9367
- refs/heads/mergify/bp/v0.37.x/pr-9473
- refs/heads/mergify/bp/v0.37.x/pr-9500
- refs/heads/mergify/bp/v0.37.x/pr-9505
- refs/heads/mergify/bp/v0.37.x/pr-9622
- refs/heads/mergify/bp/v0.37.x/pr-9650
- refs/heads/mergify/bp/v0.37.x/pr-9720
- refs/heads/mergify/bp/v0.37.x/pr-9933
- refs/heads/mjf/adr075-eventlog
- refs/heads/mjf/panic-tooling
- refs/heads/mjf/rpc-rfc-bbq
- refs/heads/mr/short-tests
- refs/heads/p2p-accept-not-abort
- refs/heads/proto-fixup
- refs/heads/proxy-move-internal
- refs/heads/proxy-remove-triforcated-client
- refs/heads/rc0/v0.33.8
- refs/heads/rc1/0.33.4
- refs/heads/rc1/v0.32.12
- refs/heads/rc1/v0.33.5
- refs/heads/rc1/v0.33.6
- refs/heads/rc2/v0.33.5
- refs/heads/rc5/v0.34.0
- refs/heads/rc6/v0.34.0
- refs/heads/rc7/v0.34.0
- refs/heads/release/0.32.12
- refs/heads/release/v0.28.0
- refs/heads/release/v0.28.1
- refs/heads/release/v0.29.0
- refs/heads/release/v0.29.1
- refs/heads/release/v0.29.2
- refs/heads/release/v0.30.0
- refs/heads/release/v0.30.1
- refs/heads/release/v0.30.2
- refs/heads/release/v0.30.3
- refs/heads/release/v0.31.0
- refs/heads/release/v0.31.0-dev0-fix
- refs/heads/release/v0.31.1
- refs/heads/release/v0.31.3
- refs/heads/release/v0.31.4
- refs/heads/release/v0.31.6
- refs/heads/release/v0.31.7
- refs/heads/release/v0.31.8
- refs/heads/release/v0.31.9
- refs/heads/release/v0.32.1
- refs/heads/release/v0.32.11
- refs/heads/release/v0.32.13
- refs/heads/release/v0.32.14
- refs/heads/release/v0.32.2
- refs/heads/release/v0.32.3
- refs/heads/release/v0.32.4
- refs/heads/release/v0.32.5
- refs/heads/release/v0.32.8
- refs/heads/release/v0.32.9
- refs/heads/release/v0.33.1
- refs/heads/release/v0.33.2
- refs/heads/release/v0.33.4
- refs/heads/release/v0.33.5
- refs/heads/release/v0.33.7
- refs/heads/release/v0.33.8
- refs/heads/release/v0.33.9
- refs/heads/release/v0.34.0
- refs/heads/release/v0.34.13
- refs/heads/release/v0.37.1
- refs/heads/removes-formatting
- refs/heads/removing-formatting
- refs/heads/revert-8754-thane/7832-generic-e2e-runner
- refs/heads/rfc-e2e-tests
- refs/heads/rpc-header
- refs/heads/sam/abci++-tutorial
- refs/heads/sam/abci-responses
- refs/heads/sam/test-lint-downgrade
- refs/heads/sergio/9954-fix-contexts
- refs/heads/sergio/chpi-finalize
- refs/heads/sergio/e2e-external-load-prototype
- refs/heads/sergio/for-william-timout-gc
- refs/heads/sergio/hide_header_beginblock
- refs/heads/sergio/vote-ext
- refs/heads/show_validator_experiments
- refs/heads/sign_bytes_amino
- refs/heads/split_validator_upgrade_test
- refs/heads/statesync-reactor-lifecycle
- refs/heads/stepper-default
- refs/heads/tau3/feature/2998/addressbooks-hash
- refs/heads/tessr/codeowner
- refs/heads/tessr/f
- refs/heads/tessr/speling
- refs/heads/tessr/tm-db
- refs/heads/thane/7655-vote-extensions
- refs/heads/thane/7832-generic-e2e-runner
- refs/heads/thane/8272-propagate-vote-extensions
- refs/heads/thane/9020-qa
- refs/heads/thane/adr-082-data-companion-api
- refs/heads/thane/adr-084-data-companion-pull-api
- refs/heads/thane/v0.34.x/ci-multiversion-e2e
- refs/heads/tmp
- refs/heads/tycho/mempool-prioritized-e2e-testing
- refs/heads/tycho/p2p-dialer-storage-change
- refs/heads/tycho/p2p-dialer-storage-change-35-backport
- refs/heads/tycho/p2p-dialer-store-change
- refs/heads/tychoish/adr-node-init
- refs/heads/tychoish/e2e-smaller-queues
- refs/heads/tychoish/rfc-databases
- refs/heads/tychoish/scratch-node-minimize
- refs/heads/update-to-consensus-params
- refs/heads/v0.19.1
- refs/heads/v0.19.2
- refs/heads/v0.25
- refs/heads/v0.30
- refs/heads/v0.31
- refs/heads/v0.31.6-changelog
- refs/heads/v0.31.9-changelog
- refs/heads/v0.32.5-backport
- refs/heads/v0.32.x
- refs/heads/v0.33.x
- refs/heads/v0.34.0-rc
- refs/heads/v0.34.x
- refs/heads/v0.35.x
- refs/heads/v0.36.x
- refs/heads/v0.37.x
- refs/heads/v035-mempool-test
- refs/heads/v035-testing
- refs/heads/wb/035-backport-ticker-startup
- refs/heads/wb/abc-cli-install
- refs/heads/wb/abci++-enum
- refs/heads/wb/abci++-metrics
- refs/heads/wb/abci++-protos-branch
- refs/heads/wb/abci-buffer-revert
- refs/heads/wb/abci-cli-install
- refs/heads/wb/abci-endblock-metric
- refs/heads/wb/abci-finalize-block-synchronize
- refs/heads/wb/abci-metrics
- refs/heads/wb/abci-metrics-backport
- refs/heads/wb/abci-prepare-proposal-synchronize
- refs/heads/wb/abci-process-proposal-synchronize
- refs/heads/wb/abcicli-test-fixup
- refs/heads/wb/adaptive-synchrony
- refs/heads/wb/add-consensus-param-internal
- refs/heads/wb/add-multiversion-script
- refs/heads/wb/add-nullable-false
- refs/heads/wb/add-timeout-params
- refs/heads/wb/adr-071
- refs/heads/wb/adr-74
- refs/heads/wb/apphash-fail
- refs/heads/wb/authors-script
- refs/heads/wb/backport-load-time
- refs/heads/wb/backport-load-time-v0.34
- refs/heads/wb/backport-metrics
- refs/heads/wb/backport-rpc-change
- refs/heads/wb/backport-ticker-startup
- refs/heads/wb/block-height-app-hash
- refs/heads/wb/block-time-metrics
- refs/heads/wb/blocksync-fastsync-rename
- refs/heads/wb/blocksync-shutdown-deadlock
- refs/heads/wb/builtin-tutorial-fixup
- refs/heads/wb/callbacks-invoked
- refs/heads/wb/callbacks-invoked-fp
- refs/heads/wb/celestia-fixes
- refs/heads/wb/chain-upgrade
- refs/heads/wb/change-con-startup-ordering
- refs/heads/wb/changelog-update
- refs/heads/wb/check-proposal-non-nil
- refs/heads/wb/clist-revert
- refs/heads/wb/clist-tests
- refs/heads/wb/config-queue-name
- refs/heads/wb/consensus-change
- refs/heads/wb/consensus-params-proto
- refs/heads/wb/consensus-timing-metrics
- refs/heads/wb/debug-db
- refs/heads/wb/default-synchrony
- refs/heads/wb/delete-gas
- refs/heads/wb/dialnext-error
- refs/heads/wb/dialwaker-change
- refs/heads/wb/dispatch-lightblock-race-cond
- refs/heads/wb/do-not-send-extensions-when-not-needed
- refs/heads/wb/dockerfile-fixup
- refs/heads/wb/e2e-cleanup-defer
- refs/heads/wb/e2e-do-disconnected
- refs/heads/wb/ensure-timeout-refactor
- refs/heads/wb/envelope-experiments
- refs/heads/wb/epoch-block-idea
- refs/heads/wb/epoch-block-idea-2
- refs/heads/wb/epoch-block-idea-3
- refs/heads/wb/epoch-fixes-forward-port
- refs/heads/wb/epoch-fixes-forward-port-master
- refs/heads/wb/even-faster-dial
- refs/heads/wb/evidence-nondeterminism
- refs/heads/wb/exec-tx-result
- refs/heads/wb/experiments
- refs/heads/wb/extensions-proto
- refs/heads/wb/fix-%w-error-format
- refs/heads/wb/fix-README-libs
- refs/heads/wb/fix-max-size-check
- refs/heads/wb/fix-new-node-dial
- refs/heads/wb/fix-pbts-params
- refs/heads/wb/fix-pqueue-metric
- refs/heads/wb/fix-proto-lints
- refs/heads/wb/fix-state-no-initialized
- refs/heads/wb/fix-test-errorf
- refs/heads/wb/fix-timeout-defaults
- refs/heads/wb/fuzz-testdata-cases
- refs/heads/wb/genesis-time-change
- refs/heads/wb/getfreeport-fix
- refs/heads/wb/handlemsg-error-handling
- refs/heads/wb/handshake-dial-timeout
- refs/heads/wb/handshake-dial-timeout-35
- refs/heads/wb/image-publish
- refs/heads/wb/implement-wrapper
- refs/heads/wb/increase-default-synchrony-params
- refs/heads/wb/ingest-consensus-params
- refs/heads/wb/ingest-params
- refs/heads/wb/initial-height
- refs/heads/wb/internal-consensus-param
- refs/heads/wb/internal-consensus-param-all
- refs/heads/wb/internal-consensus-param-commits
- refs/heads/wb/is-regression-testnet-peers-questionmark
- refs/heads/wb/is-timely
- refs/heads/wb/is-timely-metric
- refs/heads/wb/issue-3546
- refs/heads/wb/issue-5908
- refs/heads/wb/issue-6570
- refs/heads/wb/issue-6660
- refs/heads/wb/issue-6849
- refs/heads/wb/issue-6850
- refs/heads/wb/issue-7750
- refs/heads/wb/issue-7761
- refs/heads/wb/issue-7849
- refs/heads/wb/issue-7950
- refs/heads/wb/issue-8039
- refs/heads/wb/issue-8088
- refs/heads/wb/issue-8124
- refs/heads/wb/issue-8126
- refs/heads/wb/issue-8156
- refs/heads/wb/issue-8178
- refs/heads/wb/issue-8182
- refs/heads/wb/issue-8639
- refs/heads/wb/issue-9165
- refs/heads/wb/issue-9166
- refs/heads/wb/issue-9227
- refs/heads/wb/issue-9331
- refs/heads/wb/issue-9352
- refs/heads/wb/issue-9587
- refs/heads/wb/issue-9773
- refs/heads/wb/issue-9790
- refs/heads/wb/json-rpc-fuzz
- refs/heads/wb/light-client-sycnronization
- refs/heads/wb/light-client-test-fix
- refs/heads/wb/loadtime
- refs/heads/wb/lock-debug
- refs/heads/wb/lower-default-outgoing
- refs/heads/wb/mark-peer-unavailable-during-dispatch
- refs/heads/wb/master-2
- refs/heads/wb/max-connected
- refs/heads/wb/mconn-change
- refs/heads/wb/mconn-close-fix
- refs/heads/wb/merge-master
- refs/heads/wb/message-byte-measurement
- refs/heads/wb/message-delay-metrics
- refs/heads/wb/metrics-gen-transition
- refs/heads/wb/metrics-md-fixup
- refs/heads/wb/metrics-to-prom
- refs/heads/wb/metrics-wip
- refs/heads/wb/metricsdiff
- refs/heads/wb/mg
- refs/heads/wb/mg-issues
- refs/heads/wb/mockery-tools
- refs/heads/wb/mocks
- refs/heads/wb/more-dial-routines
- refs/heads/wb/msg-byte-tests
- refs/heads/wb/msg-byte-tests-22
- refs/heads/wb/msg-byte-tests-envelope
- refs/heads/wb/msg-byte-tests-no-envelope
- refs/heads/wb/multi-test-simultaneously
- refs/heads/wb/no-tx
- refs/heads/wb/no-update-until-start
- refs/heads/wb/option-3
- refs/heads/wb/p2p-accept-not-abort-v035
- refs/heads/wb/p2p-test
- refs/heads/wb/panic-on-serialize-fail
- refs/heads/wb/panic-remove
- refs/heads/wb/pbts-doc-fixup
- refs/heads/wb/pbts-metrics
- refs/heads/wb/pbts-overview
- refs/heads/wb/pbts-rebase
- refs/heads/wb/pbts-rebase-master
- refs/heads/wb/pbts-runbook
- refs/heads/wb/pbts-test-fixup
- refs/heads/wb/peer-manager-test-fix
- refs/heads/wb/peer-use-wait
- refs/heads/wb/peer-use-wait-backport
- refs/heads/wb/pqueue-close-test
- refs/heads/wb/pqueue-proposal
- refs/heads/wb/proposal-timeout
- refs/heads/wb/proposal-timestamp-difference
- refs/heads/wb/proposer-based-timestamps
- refs/heads/wb/proposer-based-timestamps-redux
- refs/heads/wb/proposer-brased-timestamps
- refs/heads/wb/proposer-sets-block-time
- refs/heads/wb/proposer-sets-own-time
- refs/heads/wb/proposer-waits-state
- refs/heads/wb/proposer-waits-until
- refs/heads/wb/proto-fixes
- refs/heads/wb/provider-mock
- refs/heads/wb/provider-mock-old
- refs/heads/wb/random-seed-testnet
- refs/heads/wb/rare-statesync-race-fix
- refs/heads/wb/rebuild-protos
- refs/heads/wb/rebuild-synchrony-params
- refs/heads/wb/refactor-ensure
- refs/heads/wb/reimpl
- refs/heads/wb/release-commit
- refs/heads/wb/release-document
- refs/heads/wb/remove-accuracy
- refs/heads/wb/remove-app-signed
- refs/heads/wb/remove-old-blockchain-reactors
- refs/heads/wb/remove-old-proto-lint
- refs/heads/wb/remove-privval-reseuse
- refs/heads/wb/remove-proposal-wait
- refs/heads/wb/remove-proto-lints
- refs/heads/wb/remove-rand-state-helpers
- refs/heads/wb/remove-rechecktx-panic
- refs/heads/wb/remove-vector-tests
- refs/heads/wb/remove-wake-more
- refs/heads/wb/remove-wake-more-v036
- refs/heads/wb/rename-timing-params
- refs/heads/wb/retry-blocksync-test
- refs/heads/wb/rfc-01-performance-questions
- refs/heads/wb/rfc-015
- refs/heads/wb/rfc-017-transition
- refs/heads/wb/rfc-block-structure
- refs/heads/wb/rfc-bls-project
- refs/heads/wb/rfc-broadcast-with-timeout
- refs/heads/wb/rfc-deterministic-proto-bytes
- refs/heads/wb/rfc-perf-taxonomy
- refs/heads/wb/rollback-test-fix
- refs/heads/wb/roundstate-test-fix
- refs/heads/wb/routes-combine
- refs/heads/wb/rw-bench
- refs/heads/wb/set-empty-timeouts
- refs/heads/wb/simple-property
- refs/heads/wb/simul-queue
- refs/heads/wb/state-add-vote-refactor
- refs/heads/wb/state-serialize
- refs/heads/wb/state-serialize-receive
- refs/heads/wb/state-sync-mock
- refs/heads/wb/statesync-init-deadlock
- refs/heads/wb/switch-to-cons-update-to-state
- refs/heads/wb/syncer-fix
- refs/heads/wb/synchronize-pbts-adr
- refs/heads/wb/synchrony-defaults
- refs/heads/wb/test
- refs/heads/wb/test-branch
- refs/heads/wb/test-fix
- refs/heads/wb/test-lint-upgrade
- refs/heads/wb/test-lint-upgrade-main
- refs/heads/wb/test-vote-extension-called
- refs/heads/wb/timely-metrics-fixup
- refs/heads/wb/tm-signer-harness
- refs/heads/wb/tools-fix
- refs/heads/wb/triggered-precommit-fix
- refs/heads/wb/txrset
- refs/heads/wb/undo-queue-buffer-limit
- refs/heads/wb/untimely-propose
- refs/heads/wb/update-changelog-6630
- refs/heads/wb/update-mockery
- refs/heads/wb/upgrade-p2p-v0.35
- refs/heads/wb/upgrade-test-prototype
- refs/heads/wb/use-buffered-channel-test-state-full-round
- refs/heads/wb/use-ctx-err
- refs/heads/wb/use-fifo-in-test
- refs/heads/wb/use-metricsgen
- refs/heads/wb/uuid-on-startup
- refs/heads/wb/v0.34.17-release-commit
- refs/heads/wb/v0.34.24-docker-release
- refs/heads/wb/v034-e2e
- refs/heads/wb/v035-testing
- refs/heads/wb/validator-set-changes-fail
- refs/heads/wb/validator-waits-for-proposal
- refs/heads/wb/vote-duplication
- refs/heads/wb/vote-extension-blocksync-test
- refs/heads/wb/vote-info-enum
- refs/heads/wb/vwfp-rebased
- refs/heads/wb/with-old-call
- refs/heads/zarko/1555-make-proposer-selection-functional
- refs/heads/zarko/add-experiments-code
- refs/heads/zm_light_client_spec
- refs/remotes/origin/config
- refs/remotes/tychoish/e2e-runner-load-generation
- refs/remotes/zmanian/zaki/HttpServerWithTimeouts
- refs/tags/0.1
- refs/tags/0.19.0-rc1
- refs/tags/0.19.0-rc2
- refs/tags/0.2
- refs/tags/v0.0.0
- refs/tags/v0.0.1
- refs/tags/v0.10.0
- refs/tags/v0.10.0-rc1
- refs/tags/v0.10.0-rc2
- refs/tags/v0.10.1
- refs/tags/v0.10.2
- refs/tags/v0.10.3
- refs/tags/v0.10.4
- refs/tags/v0.11.0
- refs/tags/v0.11.1
- refs/tags/v0.12.0
- refs/tags/v0.12.1
- refs/tags/v0.13.0
- refs/tags/v0.14.0
- refs/tags/v0.15.0
- refs/tags/v0.16.0
- refs/tags/v0.17.0
- refs/tags/v0.17.1
- refs/tags/v0.18.0
- refs/tags/v0.18.0-autodraft
- refs/tags/v0.18.0-rc1
- refs/tags/v0.19.0
- refs/tags/v0.19.0-rc3
- refs/tags/v0.19.0-rc4
- refs/tags/v0.19.1
- refs/tags/v0.19.2
- refs/tags/v0.19.2-rc0
- refs/tags/v0.19.3
- refs/tags/v0.19.3-rc0
- refs/tags/v0.19.4-rc0
- refs/tags/v0.19.5
- refs/tags/v0.19.5-rc0
- refs/tags/v0.19.5-rc1
- refs/tags/v0.19.6
- refs/tags/v0.19.6-rc0
- refs/tags/v0.19.6-rc1
- refs/tags/v0.19.6-rc2
- refs/tags/v0.19.7
- refs/tags/v0.19.7-rc0
- refs/tags/v0.19.8
- refs/tags/v0.19.9
- refs/tags/v0.19.9-rc0
- refs/tags/v0.20.0
- refs/tags/v0.20.0-rc0
- refs/tags/v0.20.0-rc1
- refs/tags/v0.20.0-rc2
- refs/tags/v0.20.0-rc3
- refs/tags/v0.20.1-rc0
- refs/tags/v0.21.0
- refs/tags/v0.21.0-rc0
- refs/tags/v0.21.1-rc0
- refs/tags/v0.21.1-rc1
- refs/tags/v0.22.0
- refs/tags/v0.22.0-autodraft
- refs/tags/v0.22.0-rc0
- refs/tags/v0.22.0-rc1
- refs/tags/v0.22.0-rc2
- refs/tags/v0.22.1
- refs/tags/v0.22.2
- refs/tags/v0.22.2-rc0
- refs/tags/v0.22.3
- refs/tags/v0.22.4
- refs/tags/v0.22.4-rc0
- refs/tags/v0.22.5
- refs/tags/v0.22.6
- refs/tags/v0.22.6-rc0
- refs/tags/v0.22.7
- refs/tags/v0.22.8
- refs/tags/v0.22.8-autodraft
- refs/tags/v0.22.8-rc0
- refs/tags/v0.23.0
- refs/tags/v0.23.1
- refs/tags/v0.23.1-rc0
- refs/tags/v0.24.0
- refs/tags/v0.24.0-rc0
- refs/tags/v0.25.0
- refs/tags/v0.25.1-rc0
- refs/tags/v0.26.0
- refs/tags/v0.26.0-dev0
- refs/tags/v0.26.0-rc0
- refs/tags/v0.26.0-rc1
- refs/tags/v0.26.1
- refs/tags/v0.26.1-rc0
- refs/tags/v0.26.1-rc1
- refs/tags/v0.26.1-rc2
- refs/tags/v0.26.1-rc3
- refs/tags/v0.26.2
- refs/tags/v0.26.2-rc0
- refs/tags/v0.26.3
- refs/tags/v0.26.4
- refs/tags/v0.27.0
- refs/tags/v0.27.0-dev0
- refs/tags/v0.27.0-dev1
- refs/tags/v0.27.0-rc0
- refs/tags/v0.27.0-rc1
- refs/tags/v0.27.1
- refs/tags/v0.27.2
- refs/tags/v0.27.3
- refs/tags/v0.27.4
- refs/tags/v0.28.0
- refs/tags/v0.28.0-beta1
- refs/tags/v0.28.0-beta2
- refs/tags/v0.28.0-dev0
- refs/tags/v0.28.1
- refs/tags/v0.29.0
- refs/tags/v0.29.0-beta0
- refs/tags/v0.29.0-beta1
- refs/tags/v0.29.0-rc0
- refs/tags/v0.29.1
- refs/tags/v0.29.1-rc0
- refs/tags/v0.29.2
- refs/tags/v0.29.2-rc0
- refs/tags/v0.29.2-rc1
- refs/tags/v0.29.2-rc2
- refs/tags/v0.30.0
- refs/tags/v0.30.0-rc0
- refs/tags/v0.30.1
- refs/tags/v0.30.2
- refs/tags/v0.30.3
- refs/tags/v0.30.4
- refs/tags/v0.31.0
- refs/tags/v0.31.0-dev0
- refs/tags/v0.31.0-dev0-fix0
- refs/tags/v0.31.0-rc0
- refs/tags/v0.31.1
- refs/tags/v0.31.10
- refs/tags/v0.31.11
- refs/tags/v0.31.12
- refs/tags/v0.31.2
- refs/tags/v0.31.2-rc0
- refs/tags/v0.31.3
- refs/tags/v0.31.4
- refs/tags/v0.31.5
- refs/tags/v0.31.6
- refs/tags/v0.31.7
- refs/tags/v0.31.8
- refs/tags/v0.31.9
- refs/tags/v0.32.0
- refs/tags/v0.32.1
- refs/tags/v0.32.10
- refs/tags/v0.32.11
- refs/tags/v0.32.12
- refs/tags/v0.32.13
- refs/tags/v0.32.14
- refs/tags/v0.32.2
- refs/tags/v0.32.3
- refs/tags/v0.32.4
- refs/tags/v0.32.5
- refs/tags/v0.32.6
- refs/tags/v0.32.7
- refs/tags/v0.32.8
- refs/tags/v0.32.9
- refs/tags/v0.33.0
- refs/tags/v0.33.1
- refs/tags/v0.33.2
- refs/tags/v0.33.3
- refs/tags/v0.33.4
- refs/tags/v0.33.5
- refs/tags/v0.33.6
- refs/tags/v0.33.7
- refs/tags/v0.33.8
- refs/tags/v0.33.9
- refs/tags/v0.34.0-rc3
- refs/tags/v0.34.11
- refs/tags/v0.34.13
- refs/tags/v0.35.0-rc1
- refs/tags/v0.35.0-rc2
- refs/tags/v0.7.0
- refs/tags/v0.7.1
- refs/tags/v0.7.2
- refs/tags/v0.7.3
- refs/tags/v0.7.4
- refs/tags/v0.8.0
- refs/tags/v0.9.0
- refs/tags/v0.9.1
- refs/tags/v0.9.2
- v0.37.0-rc2
- v0.37.0-rc1
- v0.37.0-alpha.2
- v0.37.0-alpha.1
- v0.36.0-dev
- v0.35.9-rc0
- v0.35.9
- v0.35.8
- v0.35.7
- v0.35.6
- v0.35.5
- v0.35.4
- v0.35.3
- v0.35.2
- v0.35.1
- v0.35.0-rc4
- v0.35.0-rc3
- v0.35.0-dev
- v0.35.0
- v0.34.9
- v0.34.8
- v0.34.7
- v0.34.6
- v0.34.5
- v0.34.4
- v0.34.3
- v0.34.24
- v0.34.23
- v0.34.22
- v0.34.21
- v0.34.20-rc1
- v0.34.20-rc0
- v0.34.20
- v0.34.2
- v0.34.19
- v0.34.18
- v0.34.17
- v0.34.16
- v0.34.15
- v0.34.14
- v0.34.12
- v0.34.10
- v0.34.1-rc1
- v0.34.1-dev1
- v0.34.1
- v0.34.0-rc6
- v0.34.0-rc5
- v0.34.0-rc4
- v0.34.0-rc2
- v0.34.0-dev1
- v0.34.0
- v0.33.1-dev3
- v0.33.1-dev2
- v0.33.1-dev1
- v0.33.1-dev0
- v0.33.0-dev2
- v0.33.0-dev1
- v0.32.13-rc1
- v0.32.0-dev2
- v0.32.0-dev1
- v0.32.0-dev0
- v0.10.5
- dev-v0.38.0
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
0d985ed | Ethan Buchman | 19 March 2019, 23:53:37 UTC | Merge pull request #3417 from tendermint/release/v0.31.0 Release/v0.31.0 | 19 March 2019, 23:53:37 UTC |
1e34697 | Ismail Khoffi | 19 March 2019, 23:45:51 UTC | Ensure WriteTimeout > TimeoutBroadcastTxCommit (#3443) * Make sure config.TimeoutBroadcastTxCommit < rpcserver.WriteTimeout() * remove redundant comment * libs/rpc/http_server: move Read/WriteTimeout into Config * increase defaults for read/write timeouts Based on this article https://www.digitalocean.com/community/tutorials/how-to-optimize-nginx-configuration * WriteTimeout should be larger than TimeoutBroadcastTxCommit * set a deadline for subscribing to txs * extract duration into const * add two changelog entries * Update CHANGELOG_PENDING.md Co-Authored-By: melekes <anton.kalyaev@gmail.com> * Update CHANGELOG_PENDING.md Co-Authored-By: melekes <anton.kalyaev@gmail.com> * 12 -> 10 * changelog * changelog | 19 March 2019, 23:45:51 UTC |
5f68fba | Ethan Buchman | 19 March 2019, 23:25:26 UTC | Merge pull request #3449 from tendermint/ismail/merge_develop_into_release/0.31.0 Merge develop into release/0.31.0 | 19 March 2019, 23:25:26 UTC |
e276f35 | Ismail Khoffi | 19 March 2019, 13:36:42 UTC | remove 3421 from changelog | 19 March 2019, 13:36:42 UTC |
8e62a3d | Ismail Khoffi | 19 March 2019, 11:19:02 UTC | Add #3421 to changelog and reorder alphabetically | 19 March 2019, 11:19:02 UTC |
48aacca | Ismail Khoffi | 19 March 2019, 11:09:26 UTC | Merge in develop and update CHANGELOG.md | 19 March 2019, 11:09:26 UTC |
4162ebe | Anton Kaliaev | 19 March 2019, 07:38:32 UTC | types: refactor PB2TM.ConsensusParams to take BlockTimeIota as an arg (#3442) See https://github.com/tendermint/tendermint/pull/3403/files#r266208947 In #3403 we unexposed BlockTimeIota from the ABCI, but it's still part of the ConsensusParams struct, so we have to remember to add it back after calling PB2TM.ConsensusParams. Instead, PB2TM.ConsensusParams should take it as an argument Fixes #3432 | 19 March 2019, 07:38:32 UTC |
551b632 | Ethan Buchman | 16 March 2019, 23:24:12 UTC | Update v0.31.0 release notes (#3434) * changelog: fix formatting * update release notes * update changelog * linkify * update UPGRADING | 16 March 2019, 23:24:12 UTC |
52c4e15 | Ismail Khoffi | 14 March 2019, 15:07:06 UTC | changelog: more review fixes/release/v0.31.0 (#3427) * Update release summary * Add pubsub config changes * Add link to issue for pubsub changes | 14 March 2019, 15:07:06 UTC |
5483ac6 | Ismail Khoffi | 14 March 2019, 11:17:49 UTC | minor changes / fixes to release 0.31.0 (#3422) * bump ABCIVersion due to renaming BlockSizeParams -> BlockParams (https://github.com/tendermint/tendermint/pull/3417#discussion_r264974791) * Move changelog on consensus params entry to breaking * Add @melekes' suggestion for breaking change in pubsub into upgrading.md * Add changelog entry for #3351 * Add changelog entry for #3358 & #3359 * Add changelog entry for #3397 * remove changelog entry for #3397 (was already released in 0.30.2) * move 3351 to improvements * Update changelog comment | 14 March 2019, 11:17:49 UTC |
7457133 | Anton Kaliaev | 14 March 2019, 11:00:58 UTC | grpcdb: close Iterator/ReverseIterator after use (#3424) Fixes #3402 | 14 March 2019, 11:00:58 UTC |
a59930a | Anton Kaliaev | 13 March 2019, 12:09:05 UTC | localnet: fix $LOG variable (#3423) Fixes #3421 Before: it was creating a file named ${LOG:-tendermint.log} in .build/nodeX After: it creates a file named tendermint.log | 13 March 2019, 12:09:05 UTC |
85c023d | Ismail Khoffi | 12 March 2019, 19:07:26 UTC | Prep release v0.31.0: - update changelog, reset pending - bump versions - add external contributors (partly manually) | 12 March 2019, 19:07:26 UTC |
4cbd36f | Anton Kaliaev | 12 March 2019, 17:22:03 UTC | Merge pull request #3415 from tendermint/master Merge master back to develop (do not squash) | 12 March 2019, 17:22:03 UTC |
e42f833 | Anton Kaliaev | 12 March 2019, 12:20:59 UTC | Merge master back to develop (#3412) * libs/db: close batch (#3397) ClevelDB requires closing when WriteBatch is no longer needed, https://godoc.org/github.com/jmhodges/levigo#WriteBatch.Close Fixes the memory leak in https://github.com/cosmos/cosmos-sdk/issues/3842 * update changelog and bump version to 0.30.2 | 12 March 2019, 12:20:59 UTC |
ad3e990 | Anton Kaliaev | 11 March 2019, 19:59:00 UTC | fix GO_VERSION in installation scripts (#3411) there is no such file https://storage.googleapis.com/golang/go1.12.0.linux-amd64.tar.gz Fixes #3405 | 11 March 2019, 19:59:00 UTC |
676212f | srmo | 11 March 2019, 19:06:03 UTC | cmd: make sure to have 'testnet' create the data directory for nonvals (#3409) Fixes #3408 | 11 March 2019, 19:06:03 UTC |
3035572 | Anton Kaliaev | 11 March 2019, 18:52:09 UTC | cs: comment out log.Error to avoid TestReactorValidatorSetChanges timing out (#3401) | 11 March 2019, 18:52:09 UTC |
d741c7b | Anton Kaliaev | 11 March 2019, 18:45:58 UTC | limit number of /subscribe clients and queries per client (#3269) * limit number of /subscribe clients and queries per client Add the following config variables (under [rpc] section): * max_subscription_clients * max_subscriptions_per_client * timeout_broadcast_tx_commit Fixes #2826 new HTTPClient interface for subscriptions finalize HTTPClient events interface remove EventSubscriber fix data race ``` WARNING: DATA RACE Read at 0x00c000a36060 by goroutine 129: github.com/tendermint/tendermint/rpc/client.(*Local).Subscribe.func1() /go/src/github.com/tendermint/tendermint/rpc/client/localclient.go:168 +0x1f0 Previous write at 0x00c000a36060 by goroutine 132: github.com/tendermint/tendermint/rpc/client.(*Local).Subscribe() /go/src/github.com/tendermint/tendermint/rpc/client/localclient.go:191 +0x4e0 github.com/tendermint/tendermint/rpc/client.WaitForOneEvent() /go/src/github.com/tendermint/tendermint/rpc/client/helpers.go:64 +0x178 github.com/tendermint/tendermint/rpc/client_test.TestTxEventsSentWithBroadcastTxSync.func1() /go/src/github.com/tendermint/tendermint/rpc/client/event_test.go:139 +0x298 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 Goroutine 129 (running) created at: github.com/tendermint/tendermint/rpc/client.(*Local).Subscribe() /go/src/github.com/tendermint/tendermint/rpc/client/localclient.go:164 +0x4b7 github.com/tendermint/tendermint/rpc/client.WaitForOneEvent() /go/src/github.com/tendermint/tendermint/rpc/client/helpers.go:64 +0x178 github.com/tendermint/tendermint/rpc/client_test.TestTxEventsSentWithBroadcastTxSync.func1() /go/src/github.com/tendermint/tendermint/rpc/client/event_test.go:139 +0x298 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 Goroutine 132 (running) created at: testing.(*T).Run() /usr/local/go/src/testing/testing.go:878 +0x659 github.com/tendermint/tendermint/rpc/client_test.TestTxEventsSentWithBroadcastTxSync() /go/src/github.com/tendermint/tendermint/rpc/client/event_test.go:119 +0x186 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 ================== ``` lite client works (tested manually) godoc comments httpclient: do not close the out channel use TimeoutBroadcastTxCommit no timeout for unsubscribe but 1s Local (5s HTTP) timeout for resubscribe format code change Subscribe#out cap to 1 and replace config vars with RPCConfig TimeoutBroadcastTxCommit can't be greater than rpcserver.WriteTimeout rpc: Context as first parameter to all functions reformat code fixes after my own review fixes after Ethan's review add test stubs fix config.toml * fixes after manual testing - rpc: do not recommend to use BroadcastTxCommit because it's slow and wastes Tendermint resources (pubsub) - rpc: better error in Subscribe and BroadcastTxCommit - HTTPClient: do not resubscribe if err = ErrAlreadySubscribed * fixes after Ismail's review * Update rpc/grpc/grpc_test.go Co-Authored-By: melekes <anton.kalyaev@gmail.com> | 11 March 2019, 18:45:58 UTC |
15f6211 | Anton Kaliaev | 11 March 2019, 18:21:17 UTC | remove TimeIotaMs from ABCI consensus params (#3403) Also - init substructures to avoid panic in pb2tm.ConsensusParams Before: if csp.Block is nil and we later try to access/write to it, we'll panic. After: if csp.Block is nil and we later try to access/write to it, there'll be no panic. | 11 March 2019, 18:21:17 UTC |
dc359bd | Anca Zamfir | 11 March 2019, 14:17:25 UTC | types: remove check for priority order of existing validators (#3407) When scaling and averaging is invoked, it is possible to have validators with close priorities ending up with same priority. With the current code, this makes it impossible to verify the priority orders before and after updates. Fixes #3383 | 11 March 2019, 14:17:25 UTC |
9768195 | Ethan Buchman | 11 March 2019, 12:17:14 UTC | Merge pull request #3399 from tendermint/release/v0.30.2 Release/v0.30.2 | 11 March 2019, 12:17:14 UTC |
100ff08 | Anton Kaliaev | 11 March 2019, 11:31:53 UTC | p2p: do not panic when filter times out (#3384) Fixes #3369 | 11 March 2019, 11:31:53 UTC |
f996b10 | Anton Kaliaev | 10 March 2019, 09:06:34 UTC | update changelog and bump version to 0.30.2 | 10 March 2019, 09:06:34 UTC |
36d7180 | Yumin Xia | 10 March 2019, 08:46:32 UTC | libs/db: close batch (#3397) ClevelDB requires closing when WriteBatch is no longer needed, https://godoc.org/github.com/jmhodges/levigo#WriteBatch.Close Fixes the memory leak in https://github.com/cosmos/cosmos-sdk/issues/3842 | 10 March 2019, 08:56:04 UTC |
b021f1e | Yumin Xia | 10 March 2019, 08:46:32 UTC | libs/db: close batch (#3397) ClevelDB requires closing when WriteBatch is no longer needed, https://godoc.org/github.com/jmhodges/levigo#WriteBatch.Close Fixes the memory leak in https://github.com/cosmos/cosmos-sdk/issues/3842 | 10 March 2019, 08:46:32 UTC |
9079426 | mircea-c | 09 March 2019, 15:13:36 UTC | circleci: removed complexity from docs deployment job (#3396) | 09 March 2019, 15:13:36 UTC |
b6a510a | Anton Kaliaev | 08 March 2019, 05:46:09 UTC | make ineffassign linter pass (#3386) Refs #3262 This fixes two small bugs: 1) lite/dbprovider: return `ok` instead of true in parse* functions. It's weird that we're ignoring `ok` value before. 2) consensus/state: previously because of the shadowing we almost never output "Error with msg". Now we declare both `added` and `err` in the beginning of the function, so there's no shadowing. | 08 March 2019, 05:46:09 UTC |
e415c32 | Ismail Khoffi | 08 March 2019, 05:40:59 UTC | update golang.org/x/crypto (#3392) Update Gopkg.lock via dep ensure --update golang.org/x/crypto see #3391 (comment) (nothing to review here really). | 08 March 2019, 05:40:59 UTC |
28e9e9e | Ismail Khoffi | 07 March 2019, 16:03:57 UTC | update levigo to 1.0.0 (#3389) Although the version we were pinning to is from Nov. 2016 there were no substantial changes: jmhodges/levigo@2b8c778 added go-modules support (no code changes) jmhodges/levigo@853d788 added a badge to the readme closes #3381 | 07 March 2019, 16:03:57 UTC |
3ebfa99 | Anton Kaliaev | 07 March 2019, 15:35:04 UTC | do not pin repos without releases to exact revisions (#3382) We're pinning repos without releases because it's very easy to upgrade all the dependencies by executing dep ensure --upgrade. Instead, we should just never run this command directly, only dep ensure --upgrade <some repo>. And we can defend that in PRs. Refs #3374 The problem with pinning to exact revisions: people who import Tendermint as a library (e.g. abci/types) are stuck with these revisions even though the code they import may not even use them. | 07 March 2019, 15:35:04 UTC |
91b488f | YOSHIDA Masanori | 07 March 2019, 13:02:13 UTC | docs: fix the reverse of meaning in spec (#3387) https://tools.ietf.org/html/rfc6962#section-2.1 "The largest power of two less than the number of items" is actually correct! For n > 1, let k be the largest power of two smaller than n (i.e., k < n <= 2k). | 07 March 2019, 13:02:13 UTC |
f25d727 | Anton Kaliaev | 07 March 2019, 05:10:34 UTC | make dupl linter pass (#3385) Refs #3262 | 07 March 2019, 05:10:34 UTC |
411bc5e | Anca Zamfir | 06 March 2019, 08:54:49 UTC | types: followup after validator set changes (#3301) * fix failure in TestProposerFrequency * Add test to check priority order after updates * Changed applyRemovals() and removed Remove() Changed applyRemovals() similar to applyUpdates() Removed function Remove() Updated comments * review comments * simplify applyRemovals and add more comments * small correction in comment * Fix check in test * Fix priority check for centering, address review comments * fix assert for priority centering * review comments * review comments * cleanup and review comments added upper limit check for validator voting power moved check for empty validator set earlier moved panic on potential negative set length in verifyRemovals added more tests * review comments | 06 March 2019, 08:54:49 UTC |
858875f | Silas Davis | 06 March 2019, 08:22:35 UTC | Copy secp256k1 code from go-ethereum to avoid GPL vendoring issues in (#3371) downstream Signed-off-by: Silas Davis <silas@monax.io> | 06 March 2019, 08:22:35 UTC |
1eaa42c | Ismail Khoffi | 05 March 2019, 07:08:52 UTC | golang 1.12.0 (#3376) - update docker image on circleci - remove GOCACHE=off from Makefile (see: https://tip.golang.org/doc/go1.12#gocache) - update badge in readme - update in scripts/install - update Vagrantfile - update in networks/remote/integration.sh - tools/build/Makefile | 05 March 2019, 07:08:52 UTC |
8c9df30 | Jack Zampolin | 05 March 2019, 06:56:46 UTC | libs/db: Add cleveldb.Stats() (#3379) Fixes: #3378 * Add stats to cleveldb implementation * update changelog * remote TODO also - sort keys - preallocate memory * fix const initializer []string literal is not a constant * add test | 05 March 2019, 06:56:46 UTC |
52771e1 | Anton Kaliaev | 04 March 2019, 09:24:44 UTC | make BlockTimeIota a consensus parameter, not a locally configurable … (#3048) * make BlockTimeIota a consensus parameter, not a locally configurable option Refs #2920 * make TimeIota int64 ms Refs #2920 * update Gopkg.toml * fixes after Ethan's review * fix TestRemoteSignerProposalSigningFailed * update changelog | 04 March 2019, 09:24:44 UTC |
f39138a | Anton Kaliaev | 04 March 2019, 08:18:32 UTC | remove RoundState from EventDataRoundState (#3354) Before we're using it to get a round state in tests. Now it can be done by calling csX.GetRoundState. We will need to rewrite TestStateSlashingPrevotes and TestStateSlashingPrecommits, which are commented right now, to not rely on EventDataRoundState#RoundState field. Refs #1527 | 04 March 2019, 08:18:32 UTC |
8a962ff | Anton Kaliaev | 04 March 2019, 08:17:38 UTC | deps: update gogo/protobuf from 1.1.1 to 1.2.1 and golang/protobuf from 1.1.0 to 1.3.0 (#3357) * deps: update gogo/proto from 1.1.1 to 1.2.1 - verified changes manually git diff 636bf030~ ba06b47c --stat -- ':!*.pb.go' ':!test' * deps: update golang/protobuf from 1.1.0 to 1.3.0 - verified changes manually git diff b4deda0~ c823c79 -- ':!*.pb.go' ':!test' | 04 March 2019, 08:17:38 UTC |
3421e4d | zjubfd | 02 March 2019, 21:36:52 UTC | make lightd availbe (#3364) 1."abci_query": rpcserver.NewRPCFunc(c.ABCIQuery, "path,data,prove") "validators": rpcserver.NewRPCFunc(c.Validators, "height"), the parameters and function do not match, cause index out of range error. 2. the prove of query is forced to be true, while default option is false. 3. fix the wrong key of merkle | 02 March 2019, 21:36:52 UTC |
976b1c2 | zjubfd | 02 March 2019, 20:21:21 UTC | fix pool timer leak bug, resolve#3353 (#3358) When remove peer, block pool simple remove bpPeer, but do not stop timer, that cause stopError for recorrected peers. Stop timer when remove from pool. | 02 March 2019, 20:21:21 UTC |
d958941 | zjubfd | 02 March 2019, 20:17:37 UTC | fix dirty data in peerset,resolve #3304 (#3359) * fix dirty data in peerset startInitPeer before PeerSet add the peer, once mconnection start and Receive of one Reactor faild, will try to remove it from PeerSet while PeerSet still not contain the peer. Fix this by change the order. * fix test FilterDuplicate * fix start/stop race * fix err | 02 March 2019, 20:17:37 UTC |
37a5484 | Sven-Hendrik Haase | 02 March 2019, 06:06:57 UTC | docs: fix typo (#3373) | 02 March 2019, 06:06:57 UTC |
853dd34 | Juan Leni | 28 February 2019, 07:48:20 UTC | privval: improve Remote Signer implementation (#3351) This issue is related to #3107 This is a first renaming/refactoring step before reworking and removing heartbeats. As discussed with @Liamsi , we preferred to go for a couple of independent and separate PRs to simplify review work. The changes: Help to clarify the relation between the validator and remote signer endpoints Differentiate between timeouts and deadlines Prepare to encapsulate networking related code behind RemoteSigner in the next PR My intention is to separate and encapsulate the "network related" code from the actual signer. SignerRemote ---(uses/contains)--> SignerValidatorEndpoint <--(connects to)--> SignerServiceEndpoint ---> SignerService (future.. not here yet but would like to decouple too) All reconnection/heartbeat/whatever code goes in the endpoints. Signer[Remote/Service] do not need to know about that. I agree Endpoint may not be the perfect name. I tried to find something "Go-ish" enough. It is a common name in go-kit, kubernetes, etc. Right now: SignerValidatorEndpoint: handles the listener contains SignerRemote Implements the PrivValidator interface connects and sets a connection object in a contained SignerRemote delegates PrivValidator some calls to SignerRemote which in turn uses the conn object that was set externally SignerRemote: Implements the PrivValidator interface read/writes from a connection object directly handles heartbeats SignerServiceEndpoint: Does most things in a single place delegates to a PrivValidator IIRC. * cleanup * Refactoring step 1 * Refactoring step 2 * move messages to another file * mark for future work / next steps * mark deprecated classes in docs * Fix linter problems * additional linter fixes | 28 February 2019, 07:48:20 UTC |
d6e2fb4 | Anton Kaliaev | 28 February 2019, 07:31:59 UTC | update docs (#3349) * docs: explain create_empty_blocks configurations Closes #3307 * Vagrantfile: install nodejs for docs * update docs instructions npm install does not make sense since there's no packages.json file * explain broadcast_tx_* tx format Closes #536 * docs: explain how transaction ordering works Closes #2904 * bring in consensus parameters explained * example for create_empty_blocks_interval * bring in explanation from https://github.com/tendermint/tendermint/issues/2487#issuecomment-424899799 * link to formatting instead of duplicating info | 28 February 2019, 07:31:59 UTC |
ec9bff5 | Anton Kaliaev | 25 February 2019, 05:11:07 UTC | rename WAL#Flush to WAL#FlushAndSync (#3345) * rename WAL#Flush to WAL#FlushAndSync - rename auto#Flush to auto#FlushAndSync - cleanup WAL interface to not leak implementation details! * remove Group() * add WALReader interface and return it in SearchForEndHeight() - add interface assertions Refs #3337 * replace WALReader with io.ReadCloser | 25 February 2019, 05:11:07 UTC |
6797d85 | Ismail Khoffi | 25 February 2019, 05:06:21 UTC | p2p: fix comment in secret connection (#3348) Just a minor followup on the review if #3347: Fixes a comment. [#3347 (comment)](https://github.com/tendermint/tendermint/pull/3347#discussion_r259582330) | 25 February 2019, 05:06:21 UTC |
cdf3a74 | Anton Kaliaev | 23 February 2019, 15:48:28 UTC | Unclean shutdown on SIGINT / SIGTERM (#3308) * libs/common: TrapSignal accepts logger as a first parameter and does not block anymore * previously it was dumping "captured ..." msg to os.Stdout * TrapSignal should not be responsible for blocking thread of execution Refs #3238 * exit with zero (0) code upon receiving SIGTERM/SIGINT Refs #3238 * fix formatting in docs/app-dev/abci-cli.md Co-Authored-By: melekes <anton.kalyaev@gmail.com> * fix formatting in docs/app-dev/abci-cli.md Co-Authored-By: melekes <anton.kalyaev@gmail.com> | 23 February 2019, 15:48:28 UTC |
41f9131 | Anton Kaliaev | 23 February 2019, 15:32:31 UTC | bound mempool memory usage (#3248) * bound mempool memory usage Closes #3079 * rename SizeBytes to TxsTotalBytes and other small fixes after Zarko's review * rename MaxBytes to MaxTxsTotalBytes * make ErrMempoolIsFull more informative * expose mempool's txs_total_bytes via RPC * test full response * fixes after Ethan's review * config: rename mempool.size to mempool.max_txs https://github.com/tendermint/tendermint/pull/3248#discussion_r254034004 * test more cases https://github.com/tendermint/tendermint/pull/3248#discussion_r254036532 * simplify test * Revert "config: rename mempool.size to mempool.max_txs" This reverts commit 39bfa3696177aa46195000b90655419a975d6ff7. * rename count back to n_txs to make a change non-breaking * rename max_txs_total_bytes to max_txs_bytes * format code * fix TestWALPeriodicSync The test was sometimes failing due to processFlushTicks being called too early. The solution is to call wal#Start later in the test. * Apply suggestions from code review | 23 February 2019, 15:32:31 UTC |
e0adc5e | Ismail Khoffi | 23 February 2019, 15:25:57 UTC | secret connection check all zeroes (#3347) * reject the shared secret if is all zeros in case the blacklist was not sufficient * Add test that verifies lower order pub-keys are rejected at the DH step * Update changelog * fix typo in test-comment | 23 February 2019, 15:25:57 UTC |
2137ecc | Anton Kaliaev | 23 February 2019, 04:11:27 UTC | pubsub 2.0 (#3227) * green pubsub tests :OK: * get rid of clientToQueryMap * Subscribe and SubscribeUnbuffered * start adapting other pkgs to new pubsub * nope * rename MsgAndTags to Message * remove TagMap it does not bring any additional benefits * bring back EventSubscriber * fix test * fix data race in TestStartNextHeightCorrectly ``` Write at 0x00c0001c7418 by goroutine 796: github.com/tendermint/tendermint/consensus.TestStartNextHeightCorrectly() /go/src/github.com/tendermint/tendermint/consensus/state_test.go:1296 +0xad testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 Previous read at 0x00c0001c7418 by goroutine 858: github.com/tendermint/tendermint/consensus.(*ConsensusState).addVote() /go/src/github.com/tendermint/tendermint/consensus/state.go:1631 +0x1366 github.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote() /go/src/github.com/tendermint/tendermint/consensus/state.go:1476 +0x8f github.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg() /go/src/github.com/tendermint/tendermint/consensus/state.go:667 +0xa1e github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:628 +0x794 Goroutine 796 (running) created at: testing.(*T).Run() /usr/local/go/src/testing/testing.go:878 +0x659 testing.runTests.func1() /usr/local/go/src/testing/testing.go:1119 +0xa8 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 testing.runTests() /usr/local/go/src/testing/testing.go:1117 +0x4ee testing.(*M).Run() /usr/local/go/src/testing/testing.go:1034 +0x2ee main.main() _testmain.go:214 +0x332 Goroutine 858 (running) created at: github.com/tendermint/tendermint/consensus.(*ConsensusState).startRoutines() /go/src/github.com/tendermint/tendermint/consensus/state.go:334 +0x221 github.com/tendermint/tendermint/consensus.startTestRound() /go/src/github.com/tendermint/tendermint/consensus/common_test.go:122 +0x63 github.com/tendermint/tendermint/consensus.TestStateFullRound1() /go/src/github.com/tendermint/tendermint/consensus/state_test.go:255 +0x397 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 ``` * fixes after my own review * fix formatting * wait 100ms before kicking a subscriber out + a test for indexer_service * fixes after my second review * no timeout * add changelog entries * fix merge conflicts * fix typos after Thane's review Co-Authored-By: melekes <anton.kalyaev@gmail.com> * reformat code * rewrite indexer service in the attempt to fix failing test https://github.com/tendermint/tendermint/pull/3227/#issuecomment-462316527 * Revert "rewrite indexer service in the attempt to fix failing test" This reverts commit 0d9107a098230de7138abb1c201877c246e89ed1. * another attempt to fix indexer * fixes after Ethan's review * use unbuffered channel when indexing transactions Refs https://github.com/tendermint/tendermint/pull/3227#discussion_r258786716 * add a comment for EventBus#SubscribeUnbuffered * format code | 23 February 2019, 04:11:27 UTC |
67fd428 | Anton Kaliaev | 22 February 2019, 07:49:08 UTC | fix TestWALPeriodicSync (#3342) The test was sometimes failing due to processFlushTicks being called too early. The solution is to call wal#Start later in the test. | 22 February 2019, 07:49:08 UTC |
f22ada4 | Anton Kaliaev | 22 February 2019, 07:48:40 UTC | refactor decideProposal in common_test (#3343) | 22 February 2019, 07:48:40 UTC |
ed1de13 | Anton Kaliaev | 21 February 2019, 14:28:02 UTC | cs: update wal comments (#3334) * cs: update wal comments Follow-up to https://github.com/tendermint/tendermint/pull/3300 * Update consensus/wal.go Co-Authored-By: melekes <anton.kalyaev@gmail.com> | 21 February 2019, 14:28:02 UTC |
4f83eec | Ethan Buchman | 20 February 2019, 15:11:33 UTC | Merge pull request #3339 from tendermint/master Merge master back to develop | 20 February 2019, 15:11:33 UTC |
e0f8936 | Ethan Buchman | 20 February 2019, 15:10:49 UTC | Merge pull request #3326 from tendermint/release/v0.30.1 Release/v0.30.1 | 20 February 2019, 15:10:49 UTC |
f2351dc | Ethan Buchman | 20 February 2019, 15:05:57 UTC | update changelog | 20 February 2019, 15:05:57 UTC |
db5d760 | Daniil Lashin | 20 February 2019, 11:34:52 UTC | docs: fix rpc Tx() method docs (#3331) | 20 February 2019, 11:34:52 UTC |
dff3deb | Thane Thomson | 20 February 2019, 05:45:18 UTC | cs: sync WAL more frequently (#3300) As per #3043, this adds a ticker to sync the WAL every 2s while the WAL is running. * Flush WAL every 2s This adds a ticker that flushes the WAL every 2s while the WAL is running. This is related to #3043. * Fix spelling * Increase timeout to 2mins for slower build environments * Make WAL sync interval configurable * Add TODO to replace testChan with more comprehensive testBus * Remove extraneous debug statement * Remove testChan in favour of using system time As per https://github.com/tendermint/tendermint/pull/3300#discussion_r255886586, this removes the `testChan` WAL member and replaces the approach with a system time-oriented one. In this new approach, we keep track of the system time at which each flush and periodic flush successfully occurred. The naming of the various functions is also updated here to be more consistent with "flushing" as opposed to "sync'ing". * Update naming convention and ensure lock for timestamp update * Add Flush method as part of WAL interface Adds a `Flush` method as part of the WAL interface to enforce the idea that we can manually trigger a WAL flush from outside of the WAL. This is employed in the consensus state management to flush the WAL prior to signing votes/proposals, as per https://github.com/tendermint/tendermint/issues/3043#issuecomment-453853630 * Update CHANGELOG_PENDING * Remove mutex approach and replace with DI The dependency injection approach to dealing with testing concerns could allow similar effects to some kind of "testing bus"-based approach. This commit introduces an example of this, where instead of relying on (potentially fragile) timing of things between the code and the test, we inject code into the function under test that can signal the test through a channel. This allows us to avoid the `time.Sleep()`-based approach previously employed. * Update comment on WAL flushing during vote signing Co-Authored-By: thanethomson <connect@thanethomson.com> * Simplify flush interval definition Co-Authored-By: thanethomson <connect@thanethomson.com> * Expand commentary on WAL disk flushing Co-Authored-By: thanethomson <connect@thanethomson.com> * Add broken test to illustrate WAL sync test problem Removes test-related state (dependency injection code) from the WAL data structure and adds test code to illustrate the problem with using `WALGenerateNBlocks` and `wal.SearchForEndHeight` to test periodic sync'ing. * Fix test error messages * Use WAL group buffer size to check for flush A function is added to `libs/autofile/group.go#Group` in order to return the size of the buffered data (i.e. data that has not yet been flushed to disk). The test now checks that, prior to a `time.Sleep`, the group buffer has data in it. After the `time.Sleep` (during which time the periodic flush should have been called), the buffer should be empty. * Remove config root dir removal from #3291 * Add godoc for NewWAL mentioning periodic sync | 20 February 2019, 05:45:18 UTC |
9d4f59b | Anton Kaliaev | 18 February 2019, 11:27:07 UTC | update changelog and bump version | 18 February 2019, 11:27:26 UTC |
d2c7f8d | Ismail Khoffi | 18 February 2019, 10:08:22 UTC | p2p: check secret conn id matches dialed id (#3321) ref: [#3010 (comment)](https://github.com/tendermint/tendermint/issues/3010#issuecomment-464287627) > I tried searching for code where we authenticate a peer against its NetAddress.ID and couldn't find it. I don't see a reason to switch to Noise, but a need to ensure that the node's ID is authenticated e.g. after dialing from the address book. * p2p: check secret conn id matches dialed id * Fix all p2p tests & make code compile * add simple test for dialing with wrong ID * update changelog * address review comments * yet another place where to use IDAddressString and fix testSetupMultiplexTransport | 18 February 2019, 10:08:22 UTC |
8283ca7 | Anton Kaliaev | 18 February 2019, 09:23:40 UTC | 3291 follow-up (#3323) * changelog: use issue number instead of PR number * follow up to #3291 - rpc/test/helpers.go add StopTendermint(node) func - remove ensureDir(filepath.Dir(walFile), 0700) - mempool/mempool_test.go add type cleanupFunc func() * cmd/show_validator: wrap err to make it more clear | 18 February 2019, 09:23:40 UTC |
59cc6d3 | Alessio Treglia | 18 February 2019, 07:45:27 UTC | improve ResetTestRootWithChainID() concurrency safety (#3291) * improve ResetTestRootWithChainID() concurrency safety Rely on ioutil.TempDir() to create test root directories and ensure multiple same-chain id test cases can run in parallel. * Update config/toml.go Co-Authored-By: alessio <quadrispro@ubuntu.com> * clean up test directories after completion Closes: #1034 * Remove redundant EnsureDir call * s/PanicSafety()/panic()/s * Put create dir functionality back in ResetTestRootWithChainID * Place test directories in OS's tempdir In modern UNIX and UNIX-like systems /tmp is very often mounted as tmpfs. This might speed test execution a bit. * Set 0700 to a const * rootsDirs -> configRootDirs * Don't double remove directories * Avoid global variables * Fix consensus tests * Reduce defer stack * Address review comments * Try to fix tests * Update CHANGELOG_PENDING.md Co-Authored-By: alessio <quadrispro@ubuntu.com> * Update consensus/common_test.go Co-Authored-By: alessio <quadrispro@ubuntu.com> * Update consensus/common_test.go Co-Authored-By: alessio <quadrispro@ubuntu.com> | 18 February 2019, 07:45:27 UTC |
af8793c | Zarko Milosevic | 18 February 2019, 07:29:41 UTC | cs: reset triggered timeout precommit (#3310) * Reset TriggeredTimeoutPrecommit as part of updateToState * Add failing test and fix * fix DATA RACE in TestResetTimeoutPrecommitUponNewHeight ``` WARNING: DATA RACE Read at 0x00c001691d28 by goroutine 691: github.com/tendermint/tendermint/consensus.decideProposal() /go/src/github.com/tendermint/tendermint/consensus/common_test.go:133 +0x121 github.com/tendermint/tendermint/consensus.TestResetTimeoutPrecommitUponNewHeight() /go/src/github.com/tendermint/tendermint/consensus/state_test.go:1389 +0x958 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 Previous write at 0x00c001691d28 by goroutine 931: github.com/tendermint/tendermint/consensus.(*ConsensusState).updateToState() /go/src/github.com/tendermint/tendermint/consensus/state.go:562 +0x5b2 github.com/tendermint/tendermint/consensus.(*ConsensusState).finalizeCommit() /go/src/github.com/tendermint/tendermint/consensus/state.go:1340 +0x141e github.com/tendermint/tendermint/consensus.(*ConsensusState).tryFinalizeCommit() /go/src/github.com/tendermint/tendermint/consensus/state.go:1255 +0x66e github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit.func1() /go/src/github.com/tendermint/tendermint/consensus/state.go:1201 +0x135 github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit() /go/src/github.com/tendermint/tendermint/consensus/state.go:1232 +0x94b github.com/tendermint/tendermint/consensus.(*ConsensusState).addVote() /go/src/github.com/tendermint/tendermint/consensus/state.go:1657 +0x132e github.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote() /go/src/github.com/tendermint/tendermint/consensus/state.go:1503 +0x8f github.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg() /go/src/github.com/tendermint/tendermint/consensus/state.go:694 +0xa1e github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:655 +0x7dd github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:655 +0x7dd Goroutine 691 (running) created at: testing.(*T).Run() /usr/local/go/src/testing/testing.go:878 +0x659 testing.runTests.func1() /usr/local/go/src/testing/testing.go:1119 +0xa8 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 testing.runTests() testing.(*M).Run() /usr/local/go/src/testing/testing.go:1034 +0x2ee main.main() _testmain.go:216 +0x332 ``` * fix another DATA RACE by locking consensus ``` WARNING: DATA RACE Read at 0x00c009b835a8 by goroutine 871: github.com/tendermint/tendermint/consensus.(*ConsensusState).createProposalBlock() /go/src/github.com/tendermint/tendermint/consensus/state.go:955 +0x7c github.com/tendermint/tendermint/consensus.decideProposal() /go/src/github.com/tendermint/tendermint/consensus/common_test.go:127 +0x53 github.com/tendermint/tendermint/consensus.TestResetTimeoutPrecommitUponNewHeight() /go/src/github.com/tendermint/tendermint/consensus/state_test.go:1389 +0x958 testing.tRunner() /usr/local/go/src/testing/testing.go:827 +0x162 Previous write at 0x00c009b835a8 by goroutine 931: github.com/tendermint/tendermint/consensus.(*ConsensusState).updateHeight() /go/src/github.com/tendermint/tendermint/consensus/state.go:446 +0xb7 github.com/tendermint/tendermint/consensus.(*ConsensusState).updateToState() /go/src/github.com/tendermint/tendermint/consensus/state.go:542 +0x22f github.com/tendermint/tendermint/consensus.(*ConsensusState).finalizeCommit() /go/src/github.com/tendermint/tendermint/consensus/state.go:1340 +0x141e github.com/tendermint/tendermint/consensus.(*ConsensusState).tryFinalizeCommit() /go/src/github.com/tendermint/tendermint/consensus/state.go:1255 +0x66e github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit.func1() /go/src/github.com/tendermint/tendermint/consensus/state.go:1201 +0x135 github.com/tendermint/tendermint/consensus.(*ConsensusState).enterCommit() /go/src/github.com/tendermint/tendermint/consensus/state.go:1232 +0x94b github.com/tendermint/tendermint/consensus.(*ConsensusState).addVote() /go/src/github.com/tendermint/tendermint/consensus/state.go:1657 +0x132e github.com/tendermint/tendermint/consensus.(*ConsensusState).tryAddVote() /go/src/github.com/tendermint/tendermint/consensus/state.go:1503 +0x8f github.com/tendermint/tendermint/consensus.(*ConsensusState).handleMsg() /go/src/github.com/tendermint/tendermint/consensus/state.go:694 +0xa1e github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:655 +0x7dd github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:642 +0x948 github.com/tendermint/tendermint/consensus.(*ConsensusState).receiveRoutine() /go/src/github.com/tendermint/tendermint/consensus/state.go:655 +0x7dd ``` * Fix failing test * Delete profile.out * fix data races | 18 February 2019, 07:29:41 UTC |
0b0a8b3 | Anton Kaliaev | 18 February 2019, 07:23:06 UTC | cs/wal: refuse to encode msg that is bigger than maxMsgSizeBytes (#3303) Earlier this week somebody posted this in GoS Riot chat: ``` E[2019-02-12|10:38:37.596] Corrupted entry. Skipping... module=consensus wal=/home/gaia/.gaiad/data/cs.wal/wal err="DataCorruptionError[length 878916964 exceeded maximum possible value of 1048576 bytes]" E[2019-02-12|10:38:37.596] Corrupted entry. Skipping... module=consensus wal=/home/gaia/.gaiad/data/cs.wal/wal err="DataCorruptionError[length 825701731 exceeded maximum possible value of 1048576 bytes]" E[2019-02-12|10:38:37.596] Corrupted entry. Skipping... module=consensus wal=/home/gaia/.gaiad/data/cs.wal/wal err="DataCorruptionError[length 1631073634 exceeded maximum possible value of 1048576 bytes]" E[2019-02-12|10:38:37.596] Corrupted entry. Skipping... module=consensus wal=/home/gaia/.gaiad/data/cs.wal/wal err="DataCorruptionError[length 912418148 exceeded maximum possible value of 1048576 bytes]" E[2019-02-12|10:38:37.600] Corrupted entry. Skipping... module=consensus wal=/home/gaia/.gaiad/data/cs.wal/wal err="DataCorruptionError[failed to read data: EOF]" E[2019-02-12|10:38:37.600] Error on catchup replay. Proceeding to start ConsensusState anyway module=consensus err="Cannot replay height 7242. WAL does not contain #ENDHEIGHT for 7241" E[2019-02-12|10:38:37.861] Error dialing peer module=p2p err="dial tcp 35.183.126.181:26656: i/o timeout ``` Note the length error messages. What has happened is the length field got corrupted probably. I've looked at the code and noticed that we don't check the msg size during encoding. This PR fixes that. It also improves a few error messages in WALDecoder. | 18 February 2019, 07:23:06 UTC |
7ced9e4 | Anton Kaliaev | 16 February 2019, 05:46:02 UTC | rpc/net_info: change RemoteIP type from net.IP to String (#3309) * rpc/net_info: change RemoteIP type from net.IP to String Before: "AAAAAAAAAAAAAP//rB8ktw==" which is amino-encoded net.IP byte slice After: "192.0.2.1" Fixes #3251 * rpc/net_info: non-empty response in docs | 16 February 2019, 05:46:02 UTC |
af3ba51 | Ismail Khoffi | 16 February 2019, 05:12:00 UTC | fix test-vectors to actually match the sign bytes: (#3312) - sign bytes are length prefixed - change test to use SignBytes methods instead of calling amino methods directly Resolves #3311 ref: #2455 #2508 | 16 February 2019, 05:12:00 UTC |
cf737ec | Alexander Bezobchuk | 16 February 2019, 05:07:18 UTC | return an error on `show_validator` (#3316) * return a command error prior to init * add a pending log entry * Update CHANGELOG_PENDING.md Co-Authored-By: alexanderbez <alexanderbez@users.noreply.github.com> closes: #3314 | 16 February 2019, 05:07:18 UTC |
d32f7d2 | Zach | 13 February 2019, 04:26:01 UTC | update codeowners (#3305) limit the scope of @zramsay because he's annoyed by notifications | 13 February 2019, 04:26:01 UTC |
dc6567c | Ethan Buchman | 12 February 2019, 05:32:40 UTC | consensus: flush wal on stop (#3297) Should fix #3295 Also partial fix of #3043 | 12 February 2019, 05:32:40 UTC |
08dabab | Ethan Buchman | 12 February 2019, 05:04:23 UTC | types: validator set update tests (#3284) * types: validator set update tests * docs: abci val updates must not include duplicates | 12 February 2019, 05:04:23 UTC |
8a9eecc | Anca Zamfir | 12 February 2019, 05:02:44 UTC | test blockExec does not panic if all vals removed (#3241) Fix for #3224 Also address #2084 | 12 February 2019, 05:02:44 UTC |
b089587 | Ismail Khoffi | 12 February 2019, 04:54:12 UTC | make gosec linter pass (#3294) * not related to linter: remove obsolete constants: - `Insecure` and `Secure` and type `Security` are not used anywhere * not related to linter: update example - NewInsecure was deleted; change example to NewRemoteDB * address: Binds to all network interfaces (gosec): - bind to localhost instead of 0.0.0.0 - regenerate test key and cert for this purpose (was valid for ::) and otherwise we would see: transport: authentication handshake failed: x509: certificate is valid for ::, not 127.0.0.1\" (used https://github.com/google/keytransparency/blob/master/scripts/gen_server_keys.sh to regenerate certs) * use sha256 in tests instead of md5; time difference is negligible * nolint usage of math/rand in test and add comment on its import - crypto/rand is slower and we do not need sth more secure in tests * enable linter in circle-ci * another nolint math/rand in test * replace another occurrence of md5 * consistent comment about importing math/rand | 12 February 2019, 04:54:12 UTC |
7fd51e6 | Anton Kaliaev | 11 February 2019, 12:31:34 UTC | make govet linter pass (#3292) * make govet linter pass Refs #3262 * close PipeReader and check for err | 11 February 2019, 12:31:34 UTC |
966b5bd | Anca Zamfir | 11 February 2019, 12:21:51 UTC | fix failure in TestProposerFrequency (#3293) ``` --- FAIL: TestProposerFrequency (2.50s) panic: empty validator set [recovered] panic: empty validator set goroutine 91 [running]: testing.tRunner.func1(0xc000a98c00) /usr/local/go/src/testing/testing.go:792 +0x6a7 panic(0xeae7e0, 0x11fbb30) /usr/local/go/src/runtime/panic.go:513 +0x1b9 github.com/tendermint/tendermint/types.(*ValidatorSet).RescalePriorities(0xc0000e7380, 0x0) /go/src/github.com/tendermint/tendermint/types/validator_set.go:106 +0x1ac github.com/tendermint/tendermint/state.TestProposerFrequency(0xc000a98c00) /go/src/github.com/tendermint/tendermint/state/state_test.go:335 +0xb44 testing.tRunner(0xc000a98c00, 0x111a4d8) /usr/local/go/src/testing/testing.go:827 +0x163 created by testing.(*T).Run /usr/local/go/src/testing/testing.go:878 +0x65a FAIL github.com/tendermint/tendermint/state 3.139s ``` | 11 February 2019, 12:21:51 UTC |
021b5cc | Ethan Buchman | 09 February 2019, 15:07:49 UTC | Merge pull request #3290 from tendermint/master Merge pull request #3288 from tendermint/release/v0.30.0 | 09 February 2019, 15:07:49 UTC |
28d75ec | Ethan Buchman | 09 February 2019, 15:07:22 UTC | Merge pull request #3288 from tendermint/release/v0.30.0 Release/v0.30.0 | 09 February 2019, 15:07:22 UTC |
792b125 | Ethan Buchman | 08 February 2019, 23:50:02 UTC | Prepare v0.30.0 (#3287) * changelog, upgrading, version * update for evidence fixes * linkify * fix an entry | 08 February 2019, 23:50:02 UTC |
4f2ef36 | Ethan Buchman | 08 February 2019, 23:40:41 UTC | types.NewCommit (#3275) * types.NewCommit * use types.NewCommit everywhere * fix log in unsafe_reset * memoize height and round in constructor * notes about deprecating toVote * bring back memoizeHeightRound | 08 February 2019, 23:40:41 UTC |
6b1b595 | Ethan Buchman | 08 February 2019, 23:33:45 UTC | Merge pull request #3286 from tendermint/bucky/fix-duplicate-evidence Fixes for duplicate evidence | 08 February 2019, 23:33:45 UTC |
87bdc42 | Ismail Khoffi | 08 February 2019, 23:30:45 UTC | Reject blocks with committed evidence (#37) * evidence: NewEvidencePool takes evidenceDB * evidence: failing TestStoreCommitDuplicate tendermint/security#35 * GetEvidence -> GetEvidenceInfo * fix TestStoreCommitDuplicate * comment in VerifyEvidence * add check if evidence was already seen - modify EventPool interface (EventStore is not known in ApplyBlock): - add IsCommitted method to iface - add test * update changelog * fix TestStoreMark: - priority in evidence info gets reset to zero after evidence gets committed * review comments: simplify EvidencePool.IsCommitted - delete obsolete EvidenceStore.IsCommitted * add simple test for IsCommitted * update changelog: this is actually breaking (PR number still missing) * fix TestStoreMark: - priority in evidence info gets reset to zero after evidence gets committed * review suggestion: simplify return | 08 February 2019, 23:30:45 UTC |
90ba639 | Ethan Buchman | 08 February 2019, 23:25:48 UTC | Sec/bucky/35 commit duplicate evidence (#36) Don't add committed evidence to evpool | 08 February 2019, 23:25:48 UTC |
cce4d21 | Anca Zamfir | 08 February 2019, 18:05:09 UTC | treat validator updates as set (#3222) * Initial commit for 3181..still early * unit test updates * unit test updates * fix check of dups accross updates and deletes * simplify the processChange() func * added overflow check utest * Added checks for empty valset, new utest * deepcopy changes in processUpdate() * moved to new API, fixed tests * test cleanup * address review comments * make sure votePower > 0 * gofmt fixes * handle duplicates and invalid values * more work on tests, review comments * Renamed and explained K * make TestVal private * split verifyUpdatesAndComputeNewPriorities.., added check for deletes * return error if validator set is empty after processing changes * address review comments * lint err * Fixed the total voting power and added comments * fix lint * fix lint | 08 February 2019, 18:05:09 UTC |
c1f7399 | Ismail Khoffi | 08 February 2019, 14:48:09 UTC | review comment: cleaner constant for N/2, delete secp256k1N and use (#3279) `secp256k1.S256().N` directly instead | 08 February 2019, 14:48:09 UTC |
44a89a3 | Ethan Buchman | 08 February 2019, 14:43:36 UTC | Merge pull request #3282 from tendermint/master Merge master back to develop | 08 February 2019, 14:43:36 UTC |
a8dbc64 | Ethan Buchman | 08 February 2019, 14:42:52 UTC | Merge pull request #3276 from tendermint/release/v0.29.2 Release/v0.29.2 | 08 February 2019, 14:42:52 UTC |
af6e6cd | Ethan Buchman | 08 February 2019, 01:12:57 UTC | remove MixEntropy (#3278) * remove MixEntropy * changelog | 08 February 2019, 01:12:57 UTC |
ad4bd92 | Ethan Buchman | 08 February 2019, 00:57:30 UTC | secp256k1: change build tags (#3277) | 08 February 2019, 00:57:30 UTC |
f571ee8 | Ethan Buchman | 08 February 2019, 00:34:01 UTC | prepare v0.29.2 (#3272) * update changelog * linkify * bump version * update main changelog * final fixes * entry for wal fix * changelog preamble * remove a line | 08 February 2019, 00:34:01 UTC |
11e36d0 | Anton Kaliaev | 07 February 2019, 13:16:31 UTC | addrbook_test: preallocate memory for bookSizes (#3268) Fixes https://circleci.com/gh/tendermint/tendermint/44901 | 07 February 2019, 13:16:31 UTC |
354a08c | Ethan Buchman | 07 February 2019, 11:58:23 UTC | p2p: fix infinite loop in addrbook (#3232) * failing test * fix infinite loop in addrbook There are cases where we only have a small number of addresses marked good ("old"), but the selection mechanism keeps trying to select more of these addresses, and hence ends up in an infinite loop. Here we fix this to only try and select such "old" addresses if we have enough of them. Note this means, if we don't have enough of them, we may return more "new" addresses than otherwise expected by the newSelectionBias. This whole GetSelectionWithBias method probably needs to be rewritten, but this is a quick fix for the issue. * changelog * fix infinite loop if not enough new addrs * fix another potential infinite loop if a.nNew == 0 -> pickFromOldBucket=true, but we don't have enough items (a.nOld > len(oldBucketToAddrsMap) false) * Revert "fix another potential infinite loop" This reverts commit 146540c1125597162bd89820d611f6531f5e5e4b. * check num addresses instead of buckets, new test * fixed the int division * add slack to bias % in test, lint fixes * Added checks for selection content in test * test cleanup * Apply suggestions from code review Co-Authored-By: ebuchman <ethan@coinculture.info> * address review comments * change after Anton's review comments * use the same docker image we use for testing when building a binary for localnet * switch back to circleci classic * more review comments * more review comments * refactor addrbook_test * build linux binary inside docker in attempt to fix ``` --> Running dep + make build-linux GOOS=linux GOARCH=amd64 make build make[1]: Entering directory `/home/circleci/.go_workspace/src/github.com/tendermint/tendermint' CGO_ENABLED=0 go build -ldflags "-X github.com/tendermint/tendermint/version.GitCommit=`git rev-parse --short=8 HEAD`" -tags 'tendermint' -o build/tendermint ./cmd/tendermint/ p2p/pex/addrbook.go:373:13: undefined: math.Round ``` * change dir from /usr to /go * use concrete Go version for localnet binary * check for nil addresses just to be sure | 07 February 2019, 11:58:23 UTC |
e70f27c | Thane Thomson | 07 February 2019, 06:32:32 UTC | Add remote signer test harness (KMS) (#3149) * WIP: Starts adding remote signer test harness This commit adds a new command to Tendermint to allow for us to build a standalone binary to test remote signers such as KMS (https://github.com/tendermint/kms). Right now, all it does is test that the local public key matches the public key reported by the client, and fails at the point where it attempts to get the client to sign a proposal. * Fixes typo * Fixes proposal validation test This commit fixes the proposal validation test as per #3149. It also moves the test harness into its own internal package to isolate its exports from the `privval` package. * Adds vote signing validation * Applying recommendations from #3149 * Adds function descriptions for test harness * Adds ability to ask remote signer to shut down Prior to this commit, the remote signer needs to manually be shut down, which is not ideal for automated testing. This commit allows us to send a poison pill message to the KMS to let it shut down gracefully once testing is done (whether the tests pass or fail). * Adds tests for remote signer test harness This commit makes some minor modifications to a few files to allow for testing of the remote signer test harness. Two tests are added here: checking for a fully successful (the ideal) case, and for the case where the maximum number of retries has been reached when attempting to accept incoming connections from the remote signer. * Condenses serialization of proposals and votes using existing Tendermint functions * Removes now-unnecessary amino import and codec * Adds error message for vote signing failure * Adds key extraction command for integration test Took the code from here: https://gist.github.com/Liamsi/a80993f24bff574bbfdbbfa9efa84bc7 to create a simple utility command to extract a key from a local Tendermint validator for use in KMS integration testing. * Makes path expansion success non-compulsory * Fixes segfault on SIGTERM We need an additional variable to keep track of whether we're successfully connected, otherwise hitting Ctrl+Break during execution causes a segmentation fault. This now allows for a clean shutdown. * Consolidates shutdown checks * Adds comments indicating codes for easy lookup * Adds Docker build for remote signer harness Updates the `DOCKER/build.sh` and `DOCKER/push.sh` files to allow one to override the image name and Dockerfile using environment variables. Updates the primary `Makefile` as well as the `DOCKER/Makefile` to allow for building the `remote_val_harness` Docker image. * Adds build_remote_val_harness_docker_image to .PHONY * Removes remote signer poison pill messaging functionality * Reduces fluff code in command line parsing As per https://github.com/tendermint/tendermint/pull/3149#pullrequestreview-196171788, this reduces the amount of fluff code in the PR down to the bare minimum. * Fixes ordering of error check and info log * Moves remove_val_harness cmd into tools folder It seems to make sense to rather keep the remote signer test harness in its own tool folder (now rather named `tm-signer-harness` to keep with the tool naming convention). It is actually a separate tool, not meant to be one of the core binaries, but supplementary and supportive. * Updates documentation for tm-signer-harness * Refactors flag parsing to be more compact and less redundant * Adds version sub-command help * Removes extraneous flags parsing * Adds CHANGELOG_PENDING entry for tm-signer-harness * Improves test coverage Adds a few extra parameters to the `MockPV` type to fake broken vote and proposal signing. Also adds some more tests for the test harness so as to increase coverage for failed cases. * Fixes formatting for CHANGELOG_PENDING.md * Fix formatting for documentation config * Point users towards official Tendermint docs for tools documentation * Point users towards official Tendermint docs for tm-signer-harness * Remove extraneous constant * Rename TestHarness.sc to TestHarness.spv for naming consistency * Refactor to remove redundant goroutine * Refactor conditional to cleaner switch statement and better error handling for listener protocol * Remove extraneous goroutine * Add note about installing tmkms via Cargo * Fix typo in naming of output signing key * Add note about where to find chain ID * Replace /home/user with ~/ for brevity * Fixes "signer.key" typo * Minor edits for clarification for tm-signer-harness bulid/setup process | 07 February 2019, 06:32:32 UTC |
fcebdf6 | Anton Kaliaev | 07 February 2019, 06:28:22 UTC | Merge pull request #3261 from tendermint/anton/circle Revert "quick fix for CircleCI (#2279)" | 07 February 2019, 06:28:22 UTC |
9e90264 | Ethan Buchman | 06 February 2019, 15:29:51 UTC | p2p/conn: don't hold stopMtx while waiting (#3254) * p2p/conn: fix deadlock in FlushStop/OnStop * makefile: set_with_deadlock * close doneSendRoutine at end of sendRoutine * conn: initialize channs in OnStart | 06 February 2019, 15:29:51 UTC |
45b70ae | Ethan Buchman | 06 February 2019, 15:24:43 UTC | fix non deterministic test failures and race in privval socket (#3258) * node: decrease retry conn timeout in test Should fix #3256 The retry timeout was set to the default, which is the same as the accept timeout, so it's no wonder this would fail. Here we decrease the retry timeout so we can try many times before the accept timeout. * p2p: increase handshake timeout in test This fails sometimes, presumably because the handshake timeout is so low (only 50ms). So increase it to 1s. Should fix #3187 * privval: fix race with ping. closes #3237 Pings happen in a go-routine and can happen concurrently with other messages. Since we use a request/response protocol, we expect to send a request and get back the corresponding response. But with pings happening concurrently, this assumption could be violated. We were using a mutex, but only a RWMutex, where the RLock was being held for sending messages - this was to allow the underlying connection to be replaced if it fails. Turns out we actually need to use a full lock (not just a read lock) to prevent multiple requests from happening concurrently. * node: fix test name. DelayedStop -> DelayedStart * autofile: Wait() method In the TestWALTruncate in consensus/wal_test.go we remove the WAL directory at the end of the test. However the wal.Stop() does not properly wait for the autofile group to finish shutting down. Hence it was possible that the group's go-routine is still running when the cleanup happens, which causes a panic since the directory disappeared. Here we add a Wait() method to properly wait until the go-routine exits so we can safely clean up. This fixes #2852. | 06 February 2019, 15:24:43 UTC |
4429826 | Ethan Buchman | 06 February 2019, 15:14:03 UTC | cmn: GetFreePort (#3255) | 06 February 2019, 15:14:03 UTC |
1386707 | Anton Kaliaev | 06 February 2019, 14:36:54 UTC | rename TestGCRandom to _TestGCRandom | 06 February 2019, 14:36:54 UTC |
1a35895 | Anton Kaliaev | 06 February 2019, 14:23:25 UTC | remove gotype linter WARN [runner/nolint] Found unknown linters in //nolint directives: gotype | 06 February 2019, 14:26:56 UTC |
6941d1b | Anton Kaliaev | 06 February 2019, 14:20:10 UTC | use nolint label instead of commenting | 06 February 2019, 14:21:32 UTC |