ABCI 2.0: Check if it makes sense to cherry-pick something from (tm)#7768#7
Merged
sergio-mena merged 7 commits intofeature/abci++veffrom Jan 11, 2023
Merged
Conversation
…nch (#7768) * Fixing context * Removed logger change * Fixing UTs * Bump
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
lasarojc
approved these changes
Jan 3, 2023
thanethomson
approved these changes
Jan 4, 2023
sergio-mena
commented
Jan 11, 2023
catShaark
pushed a commit
to decentrio/cometbft
that referenced
this pull request
Jul 18, 2024
…/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates
melekes
added a commit
that referenced
this pull request
Jan 28, 2025
due to sec vuln Vulnerability #1: GO-2025-3420 Sensitive headers incorrectly sent after cross-domain redirect in net/http More info: https://pkg.go.dev/vuln/GO-2025-3420 Standard library Found in: net/http@go1.23.1 Fixed in: net/http@go1.23.5 Example traces found: Error: #1: rpc/jsonrpc/client/http_json_client.go:231:34: client.Client.Call calls http.Client.Do Error: #2: libs/cli/setup.go:89:26: cli.Executor.Execute calls cobra.Command.Execute, which eventually calls http.Client.Get Error: #3: cmd/cometbft/commands/debug/util.go:70:23: debug.dumpProfile calls http.Get Vulnerability #2: GO-2025-3373 Usage of IPv6 zone IDs can bypass URI name constraints in crypto/x509 More info: https://pkg.go.dev/vuln/GO-2025-3373 Standard library Found in: crypto/x509@go1.23.1 Fixed in: crypto/x509@go1.23.5 Example traces found: Error: #1: abci/tutorials/abci-v2-forum-app/model/db.go:143:20: model.DB.Close calls badger.DB.Close, which eventually calls x509.CertPool.AppendCertsFromPEM Error: #2: internal/autofile/group.go:468:30: autofile.GroupReader.Read calls bufio.Reader.Read, which eventually calls x509.Certificate.Verify Error: #3: rpc/jsonrpc/client/ws_client.go:290:29: client.WSClient.dial calls websocket.Dialer.Dial, which eventually calls x509.Certificate.VerifyHostname Error: #4: light/errors.go:483:84: light.errBadWitness.Error calls x509.HostnameError.Error Error: #5: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseCertificate Error: #6: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseECPrivateKey Error: #7: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS1PrivateKey Error: #8: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS8PrivateKey
github-merge-queue bot
pushed a commit
that referenced
this pull request
Jan 30, 2025
due to sec vuln Vulnerability #1: GO-2025-3420 Sensitive headers incorrectly sent after cross-domain redirect in net/http More info: https://pkg.go.dev/vuln/GO-2025-3420 Standard library Found in: net/http@go1.23.1 Fixed in: net/http@go1.23.5 Example traces found: Error: #1: rpc/jsonrpc/client/http_json_client.go:231:34: client.Client.Call calls http.Client.Do Error: #2: libs/cli/setup.go:89:26: cli.Executor.Execute calls cobra.Command.Execute, which eventually calls http.Client.Get Error: #3: cmd/cometbft/commands/debug/util.go:70:23: debug.dumpProfile calls http.Get Vulnerability #2: GO-2025-3373 Usage of IPv6 zone IDs can bypass URI name constraints in crypto/x509 More info: https://pkg.go.dev/vuln/GO-2025-3373 Standard library Found in: crypto/x509@go1.23.1 Fixed in: crypto/x509@go1.23.5 Example traces found: Error: #1: abci/tutorials/abci-v2-forum-app/model/db.go:143:20: model.DB.Close calls badger.DB.Close, which eventually calls x509.CertPool.AppendCertsFromPEM Error: #2: internal/autofile/group.go:468:30: autofile.GroupReader.Read calls bufio.Reader.Read, which eventually calls x509.Certificate.Verify Error: #3: rpc/jsonrpc/client/ws_client.go:290:29: client.WSClient.dial calls websocket.Dialer.Dial, which eventually calls x509.Certificate.VerifyHostname Error: #4: light/errors.go:483:84: light.errBadWitness.Error calls x509.HostnameError.Error Error: #5: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseCertificate Error: #6: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseECPrivateKey Error: #7: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS1PrivateKey Error: #8: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS8PrivateKey
mergify bot
pushed a commit
that referenced
this pull request
Jan 30, 2025
due to sec vuln Vulnerability #1: GO-2025-3420 Sensitive headers incorrectly sent after cross-domain redirect in net/http More info: https://pkg.go.dev/vuln/GO-2025-3420 Standard library Found in: net/http@go1.23.1 Fixed in: net/http@go1.23.5 Example traces found: Error: #1: rpc/jsonrpc/client/http_json_client.go:231:34: client.Client.Call calls http.Client.Do Error: #2: libs/cli/setup.go:89:26: cli.Executor.Execute calls cobra.Command.Execute, which eventually calls http.Client.Get Error: #3: cmd/cometbft/commands/debug/util.go:70:23: debug.dumpProfile calls http.Get Vulnerability #2: GO-2025-3373 Usage of IPv6 zone IDs can bypass URI name constraints in crypto/x509 More info: https://pkg.go.dev/vuln/GO-2025-3373 Standard library Found in: crypto/x509@go1.23.1 Fixed in: crypto/x509@go1.23.5 Example traces found: Error: #1: abci/tutorials/abci-v2-forum-app/model/db.go:143:20: model.DB.Close calls badger.DB.Close, which eventually calls x509.CertPool.AppendCertsFromPEM Error: #2: internal/autofile/group.go:468:30: autofile.GroupReader.Read calls bufio.Reader.Read, which eventually calls x509.Certificate.Verify Error: #3: rpc/jsonrpc/client/ws_client.go:290:29: client.WSClient.dial calls websocket.Dialer.Dial, which eventually calls x509.Certificate.VerifyHostname Error: #4: light/errors.go:483:84: light.errBadWitness.Error calls x509.HostnameError.Error Error: #5: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseCertificate Error: #6: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseECPrivateKey Error: #7: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS1PrivateKey Error: #8: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS8PrivateKey (cherry picked from commit e4cbca8) # Conflicts: # .golangci.yml
mergify bot
added a commit
that referenced
this pull request
Jan 30, 2025
due to sec vuln Vulnerability #1: GO-2025-3420 Sensitive headers incorrectly sent after cross-domain redirect in net/http More info: https://pkg.go.dev/vuln/GO-2025-3420 Standard library Found in: net/http@go1.23.1 Fixed in: net/http@go1.23.5 Example traces found: Error: #1: rpc/jsonrpc/client/http_json_client.go:231:34: client.Client.Call calls http.Client.Do Error: #2: libs/cli/setup.go:89:26: cli.Executor.Execute calls cobra.Command.Execute, which eventually calls http.Client.Get Error: #3: cmd/cometbft/commands/debug/util.go:70:23: debug.dumpProfile calls http.Get Vulnerability #2: GO-2025-3373 Usage of IPv6 zone IDs can bypass URI name constraints in crypto/x509 More info: https://pkg.go.dev/vuln/GO-2025-3373 Standard library Found in: crypto/x509@go1.23.1 Fixed in: crypto/x509@go1.23.5 Example traces found: Error: #1: abci/tutorials/abci-v2-forum-app/model/db.go:143:20: model.DB.Close calls badger.DB.Close, which eventually calls x509.CertPool.AppendCertsFromPEM Error: #2: internal/autofile/group.go:468:30: autofile.GroupReader.Read calls bufio.Reader.Read, which eventually calls x509.Certificate.Verify Error: #3: rpc/jsonrpc/client/ws_client.go:290:29: client.WSClient.dial calls websocket.Dialer.Dial, which eventually calls x509.Certificate.VerifyHostname Error: #4: light/errors.go:483:84: light.errBadWitness.Error calls x509.HostnameError.Error Error: #5: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseCertificate Error: #6: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParseECPrivateKey Error: #7: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS1PrivateKey Error: #8: rpc/jsonrpc/server/http_server.go:166:19: server.ServeTLSWithShutdown calls http.Server.ServeTLS, which eventually calls x509.ParsePKCS8PrivateKey <hr>This is an automatic backport of pull request #4888 done by [Mergify](https://mergify.com). --------- Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com>
jmalicevic
pushed a commit
to informalsystems/cometbft
that referenced
this pull request
May 14, 2025
VE extension patch
jmalicevic
pushed a commit
to informalsystems/cometbft
that referenced
this pull request
Oct 23, 2025
* Extend type `Proposal` with `BlobID` field * Update `Proposal` methods `ValidateBasic()` and `String()` to use `BlobID` * Add `BlobID` to `Proposal` protobuf. Regenerated the proto files as well. Moved the proto definition of `BlobID` to the `types.proto` file to fix an import cycle. * Add function to canonalize `BlobID` * Update `Proposal` to/from protobuf functions to include `BlobID` * Update `Proposal` unit tests to use `BlobID` * Add method `IsNil()` to type `BlobID` * `State.defaultDecideProposal() assigns an empty `BlobID` to `Proposal`. Since `BlobID` is not used in the consensus logic yet, this change is harmless. However, it allows us to keep this PR focused solely on `Proposal`-related changes. In a future PR, we’ll handle the proper creation of `BlobID` by implementing blob splitting into multiple parts. Additionally, this PR includes a refactor for improved readability. * Add missing `BlobID` param to `decideProposal()` * Add missing `BlobID` param in calls to `NewProposal()` in state_test.go * Add missing `BlobID` param in calls to `NewProposal()` in replay_test.go * Add missing `BlobID` param in calls to `NewProposal()` in pbts_test.go * Add missing `BlobID` param in calls to `NewProposal()` in byzantine_test.go * Fixed unit test TestConsMsgsVectors. The `Proposal` sub-test was using an incorrect hex string to check the test's results. The string changed because we added the `BlobID` field to the `Proposal` type, thus changing its encoding to protobuf. Also rearrenged the code for better readability. * Fixed unit test `TestWALEncoder`. It was using an incorrect hex string to check the test's results. The string changed because we added the `BlobID` field to the `Proposal` type, thus changing its encoding to protobuf. Also rearrenged the code for better readability. * Fixed unit test `TestPrivvalVectors`. The sub-tests "Proposal Request", "Proposal Response", and "Proposal Response with error" were was using an incorrect hex string to check the test's results. The string changed because we added the `BlobID` field to the `Proposal` type, thus changing its encoding to protobuf. Also rearrenged the code for better readability. * Extend `EventDataCompleteProposal` with `BlobID` field * `Hash()` method of type `Blob` checks return `nil` if empty blob. * updated docs * Update `State.isProposalComplete()`. Rationale: If a block has an associated blob, we set the `BlobID` in `Proposal` after returning from `PrepareProposal()`, causing the `IsNil()` check to return false. If the block does not have a blob, the `BlobID` field in `Proposal` will remain its zero value, making `IsNil()` return true. If a blob is present, `cs.ProposalBlob.IsNil()` will always return true until `cs.ProposalBlob` is assigned a non-empty `[]byte` slice. This assignment happens only after we have received all the blob parts and we have successfully reconstructed the blob.
golden-curve
pushed a commit
to 1119-Labs/cometbft
that referenced
this pull request
Jan 19, 2026
…/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates
golden-curve
pushed a commit
to 1119-Labs/cometbft
that referenced
this pull request
Jan 19, 2026
…/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates
golden-curve
pushed a commit
to 1119-Labs/cometbft
that referenced
this pull request
Jan 19, 2026
…/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates
golden-curve
pushed a commit
to 1119-Labs/cometbft
that referenced
this pull request
Jan 19, 2026
…/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates
golden-curve
pushed a commit
to 1119-Labs/cometbft
that referenced
this pull request
Jan 19, 2026
…/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates
golden-curve
pushed a commit
to 1119-Labs/cometbft
that referenced
this pull request
Jan 19, 2026
* update LICENSE (cometbft#25) * Add fork workflow instructions * Ignore PlaceOrder/CancelOrder in mempool reaping and recheck * Add locking around processing of a block * Add dydx-specific changes to CList mempool: * purge based upon block height and block time * filter out short term order placements and cancellations * Set KeepInvalidTxsInCache to true in mempool config * [STAB-17] Make unsynchronized local client (cometbft#3) This is effectively a copy of the fully unsynchronized local client found in tendermint/tendermint#9660. Note that this was reverted and replaced by a version that has a mutex per instance of the client in tendermint/tendermint#9830. This change can be removed once a fully unsynchronized client is added back. * [CLOB-547] `IsClobOrderTransaction` only filter out Short-Term orders/cancels. (cometbft#7) * generate protos for dydx * add the matches and tx protos * add dydx order id logic and constants * IsClobOrderTransaction => IsShortTermClobOrderTransaction * disable lint for dydx order id constants * more specific linter disables * rename proto package due to global proto registry name clash * Update import paths for dydx clob types * helpful text string function for order id * minor pr comments, no logic changes * README updates * consensus: remove logic to unlock block on +2/3 prevote for nil (cometbft#1175) * consensus: remove logic to unlock block on +2/3 prevote for nil * add tests * add changelog * fix tests, remove extra logic * update to match forward port * Add check for non-`nil` in `enterCommit` (cometbft#1208) * Minor * Add check for non-`nil` in `enterCommit` * Forward-port: update state to prevote `nil` when proposal block does not match locked block (cometbft#1203) * consensus: update state to prevote nil when proposal block does not match locked block. (#6986) * add failing test * tweak comments in failing test * failing test comment * initial attempt at removing prevote locked block logic * comment out broken function * undo reset on prevotes * fixing TestProposeValidBlock test * update test for completed POL update * comment updates * further unlock testing * update comments * Update internal/consensus/state.go * spacing nit * comment cleanup * nil check in addVote * update unlock description * update precommit on relock comment * add ensure new timeout back * rename IsZero to IsNil and replace uses of block len check with helper * add testing.T to new assertions * begin removing unlock condition * fix TestStateProposerSelection2 to precommit for nil correctly * remove erroneous sleep * update TestStatePOL comment * update relock test to be more clear * add _ into test names * rename slashing * udpate no relock function to be cleaner * do not relock on old proposal test cleanup * con state name update * remove all references to unlock * update test comments to include new * add relock test * add ensureRelock to common_test * remove all event unlock * remove unlock checks * no lint add space * lint ++ * add test for nil prevote on different proposal * fix prevote nil condition * fix defaultDoPrevote * state_test.go fixes to accomodate prevoting for nil * add failing test for POL from previous round case * update prevote logic to prevote POL from previous round * state.go comment fixes * update validatePrevotes to correctly look for nil * update new test name and comment * update POLFromPreviousRound test * fixes post merge * fix spacing * make the linter happy * change prevote log message * update prevote nil debug line * update enterPrevote comment * lint * Update internal/consensus/state.go Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> * Update internal/consensus/state.go Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> * add english description of alg rules * Update internal/consensus/state.go Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> * comment fixes from review * fix comment * fix comment Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> * Fix UTs * Addressed comments * Add changelog * Update consensus/state.go Co-authored-by: Hernán Vanzetto <15466498+hvanz@users.noreply.github.com> --------- Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: Hernán Vanzetto <15466498+hvanz@users.noreply.github.com> * consensus: Avoid process proposal when we know correct nodes validated it (cometbft#1231) * Request ProcessProposal only the first time * Avoid validation when proposal matches locked block * comments * Add changelog * validate inside LockedRound == -1 block * Prevote if valid block matches proposal * Update consensus/state.go Co-authored-by: Sergio Mena <sergio@informal.systems> * Update consensus/state.go Co-authored-by: lasaro <lasaro@informal.systems> * Typo in spec --------- Co-authored-by: Sergio Mena <sergio@informal.systems> Co-authored-by: lasaro <lasaro@informal.systems> * fix(consensus): prevote nil upon timeout when Proposal is missing (cometbft#2218) This bug was possibly introduced by cometbft#1203. This PR refactored the consensus operation, propose -> prevote transition (`defaultDoPrevote` method), to match the pseudo-code. The refactoring assumed that when `cs.ProposalBlock` is unset (nil), so should be `cs.Proposal` (meaning that the node didn't receive the round proposal). In this case, the node must prevote nil. The added test unit describes a scenario where `cs.Proposal` is nil (not received), but the block ` cs.ProposalBlock` is received because the node sees a Polka for a block, then receives the full associated block. The node must prevote nil in this scenario, in line with cometbft#1203. But the lack of the test on `cs.Proposal` leads to a bug. This bug does not affect previous releases except for `v1.0`. --- - [ ] Tests written/updated - [ ] Changelog entry added in `.changelog` (we use [unclog](https://github.com/informalsystems/unclog) to manage our changelog) - [ ] Updated relevant documentation (`docs/` or `spec/`) and code comments - [ ] Title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec * exclude MsgBatchCancel from mempool (cometbft#28) * Fix proto/lint/e2e (cometbft#33) * Log out proposer when proposal is rejected (cometbft#32) * Merge commit from fork (cometbft#37) Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> * Upgrade cosmossdk.io/math to v1.4.0 (cometbft#38) * feat(abci): Backport: move timeout_commit into FinalizeBlockResponse (cometbft#34) * Backport timeout_commit change * change test * Fix byzantine test * Fix more consensus test * Cherry-pick fix for ASA-2025-001 (cometbft#41) * feat(blocksync): set the max number of (concurrently) downloaded blocks (backport cometbft#2467) (cometbft#2515) Manual backport of cometbft#2467 * feat(blocksync): sort peers by download rate & multiple requests for closer blocks (backport cometbft#2475) (cometbft#2576) This is an automatic backport of pull request cometbft#2475 done by [Mergify](https://mergify.com). Cherry-pick of f8366fc has failed: ``` On branch mergify/bp/v0.38.x/pr-2475 Your branch is up to date with 'origin/v0.38.x'. You are currently cherry-picking commit f8366fc. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --skip" to skip this patch) (use "git cherry-pick --abort" to cancel the cherry-pick operation) Changes to be committed: new file: .changelog/unreleased/improvements/2475-blocksync-2nd-request.md new file: .changelog/unreleased/improvements/2475-blocksync-no-block-response.md new file: .changelog/unreleased/improvements/2475-blocksync-sort-peers.md modified: blocksync/reactor.go Unmerged paths: (use "git add <file>..." to mark resolution) both modified: blocksync/pool.go ``` To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally --- <details> <summary>Mergify commands and options</summary> <br /> More conditions and actions can be found in the [documentation](https://docs.mergify.com/). You can also trigger Mergify actions by commenting on this pull request: - `@Mergifyio refresh` will re-evaluate the rules - `@Mergifyio rebase` will rebase this PR on its base branch - `@Mergifyio update` will merge the base branch into this PR - `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch Additionally, on Mergify [dashboard](https://dashboard.mergify.com) you can: - look at your merge queues - generate the Mergify configuration with the config editor. Finally, you can contact us on https://mergify.com </details> --------- Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> * fix(blocksync): use timer instead of time.After (backport cometbft#2584) (cometbft#2587) This is an automatic backport of pull request cometbft#2584 done by [Mergify](https://mergify.com). --- <details> <summary>Mergify commands and options</summary> <br /> More conditions and actions can be found in the [documentation](https://docs.mergify.com/). You can also trigger Mergify actions by commenting on this pull request: - `@Mergifyio refresh` will re-evaluate the rules - `@Mergifyio rebase` will rebase this PR on its base branch - `@Mergifyio update` will merge the base branch into this PR - `@Mergifyio backport <destination>` will backport this PR on `<destination>` branch Additionally, on Mergify [dashboard](https://dashboard.mergify.com) you can: - look at your merge queues - generate the Mergify configuration with the config editor. Finally, you can contact us on https://mergify.com </details> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> * ABC-0013 fix and broken test * blocksync pool ban test * Simplified blocksync malicious node test, fix nil pointer error * Test assertions have more detail * Update blocksync/pool_test.go Co-authored-by: Sergio Mena <sergio@informal.systems> * Update blocksync/pool_test.go Co-authored-by: Sergio Mena <sergio@informal.systems> * Update blocksync/pool_test.go * Remove one thread to make test more compact * Removed defers from test * Readded good peer to test * Update blocksync/pool_test.go * Release/v0.38.8 (cometbft#3350) <!-- Please add a reference to the issue that this PR addresses and indicate which files are most critical to review. If it fully addresses a particular issue, please include "Closes #XXX" (where "XXX" is the issue number). If this PR is non-trivial/large/complex, please ensure that you have either created an issue that the team's had a chance to respond to, or had some discussion with the team prior to submitting substantial pull requests. The team can be reached via GitHub Discussions or the Cosmos Network Discord server in the #cometbft channel. GitHub Discussions is preferred over Discord as it allows us to keep track of conversations topically. https://github.com/cometbft/cometbft/discussions If the work in this PR is not aligned with the team's current priorities, please be advised that it may take some time before it is merged - especially if it has not yet been discussed with the team. See the project board for the team's current priorities: https://github.com/orgs/cometbft/projects/1 --> Release v0.38.8 [CHANGELOG](https://github.com/cometbft/cometbft/blob/6814b5fff269f5ec6988a4832f24f4804d705ca9/CHANGELOG.md) --- - [ ] Tests written/updated - [ ] Changelog entry added in `.changelog` (we use [unclog](https://github.com/informalsystems/unclog) to manage our changelog) - [ ] Updated relevant documentation (`docs/` or `spec/`) and code comments - [ ] Title follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) spec * fix(test): fix TestBlockPoolMaliciousNode DATA RACE (backport cometbft#4636) (cometbft#4641) Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> * fix(test): `TestBlockPoolMaliciousNode` shutdown threads at exit (backport cometbft#4633) (cometbft#4635) This is a drive-by fix of a test that doesn't shut its threads down until the whole `go test` execution finishes. I think we have a bunch of these, but I came across this one during an unrelated troubleshooting. Is it worth fixing this? It's not really causing any issues, it's just sloppy coding. The only way to see any difference is to run the `go test` until it reaches its time limit and panics. In that case, the trace will contain references to the threads. For example: ``` go test github.com/cometbft/cometbft/blocksync -v -run TestBlockPoolMaliciousNode -count 100 -failfast -race -timeout 30s ``` After 30 seconds the test didn't run 100 times yet, hence `go test` panics. Because the test has been run multiple times already, multiple sets of threads will be reported in the panic. With the fix, only one set is reported. Author: @greg-szabo <hr>This is an automatic backport of pull request cometbft#4633 done by [Mergify](https://mergify.com). --------- Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> * Merge commit from fork lower than what was previously reported GHSA-22qq-3xwm-r5x4 --------- Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Greg Szabo <greg@philosobear.com> Co-authored-by: Greg Szabo <16846635+greg-szabo@users.noreply.github.com> Co-authored-by: Sergio Mena <sergio@informal.systems> * replace CanPropose with ProposeDisabled for backward compatibility (cometbft#48) Co-authored-by: Tian <tian@dydx.exchange> Co-authored-by: Pierrick Thomas <pierrick@binary.builders> * Update LICENSE 2025 (cometbft#50) * do not include ProposeDisabled in validator hash (cometbft#51) * Add locking to applyverifiedblock * Fix doUpdate test * Skip testing build for 32bits ARM Linux * fix protobuf version * Remove double triggering of tests * bump go version for mock generation --------- Co-authored-by: James Jia <james@dydx.exchange> Co-authored-by: Bryce Neal <bryce@dydx.exchange> Co-authored-by: Lukasz Cwik <lcwik@apache.org> Co-authored-by: Lukasz Cwik <126621805+lcwik@users.noreply.github.com> Co-authored-by: Brendan Chou <3680392+BrendanChou@users.noreply.github.com> Co-authored-by: Sergio Mena <sergio@informal.systems> Co-authored-by: William Banfield <4561443+williambanfield@users.noreply.github.com> Co-authored-by: Dev Ojha <ValarDragon@users.noreply.github.com> Co-authored-by: Hernán Vanzetto <15466498+hvanz@users.noreply.github.com> Co-authored-by: lasaro <lasaro@informal.systems> Co-authored-by: Daniel <daniel.cason@informal.systems> Co-authored-by: Jonathan Fung <121899091+jonfung-dydx@users.noreply.github.com> Co-authored-by: Teddy Ding <teddy@dydx.exchange> Co-authored-by: Anton Kaliaev <anton.kalyaev@gmail.com> Co-authored-by: vincentwschau <99756290+vincentwschau@users.noreply.github.com> Co-authored-by: roy-dydx <133032749+roy-dydx@users.noreply.github.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Greg Szabo <greg@philosobear.com> Co-authored-by: Greg Szabo <16846635+greg-szabo@users.noreply.github.com> Co-authored-by: Tian <tian@dydx.exchange> Co-authored-by: legalteamlabs <neeta@dydx.exchange>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8
When we retracted
v0.35.xand went back tov0.34.x, we lost the context management that had been put in place over many months.This PR consists of:
v0.36.xcontext.TODO(), without getting down the rabbit hole of threading contexts everywhere (we prefer baby steps)PR checklist
CHANGELOG_PENDING.mdupdated, or no changelog entry neededdocs/) and code comments, or nodocumentation updates needed