Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ci): Build zebrad with Rust 1.63 to avoid Zcash parameter download hangs #5251

Merged
merged 6 commits into from
Sep 26, 2022

Conversation

teor2345
Copy link
Contributor

@teor2345 teor2345 commented Sep 25, 2022

Motivation

Zcash parameter downloads hang when built with Rust 1.64.

Solution

  • Use Rust 1.63 instead of Rust stable in the zebrad GitHub Actions workflows and Dockerfiles
  • Change the branch protection rules to require 1.63 instead of stable

Review

This is urgent because it blocks merging everything else.

Reviewer Checklist

  • Will the PR name make sense to users?
    • Does it need extra CHANGELOG info? (new features, breaking changes, large changes)
  • Are the PR labels correct?
  • Does the code do what the ticket and PR says?
  • How do you know it works? Does it have tests?

@teor2345 teor2345 added C-bug Category: This is a bug A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles P-Critical 🚑 I-hang A Zebra component stops responding to requests labels Sep 25, 2022
@teor2345 teor2345 self-assigned this Sep 25, 2022
@teor2345 teor2345 requested a review from a team as a code owner September 25, 2022 22:54
@teor2345 teor2345 requested review from dconnolly and removed request for a team September 25, 2022 22:54
@teor2345
Copy link
Contributor Author

I'm also running the Docker Zcash parameter download here, to see if it is impacted:
https://github.com/ZcashFoundation/zebra/actions/runs/3123995445

@codecov
Copy link

codecov bot commented Sep 26, 2022

Codecov Report

Merging #5251 (347d79b) into main (d8b0481) will decrease coverage by 0.06%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5251      +/-   ##
==========================================
- Coverage   79.17%   79.11%   -0.07%     
==========================================
  Files         307      307              
  Lines       39225    39225              
==========================================
- Hits        31058    31032      -26     
- Misses       8167     8193      +26     

@teor2345 teor2345 changed the title fix(ci): Run GitHub Actions tests with Rust 1.63 fix(ci): Build zebrad with Rust 1.63 Sep 26, 2022
@teor2345 teor2345 mentioned this pull request Sep 26, 2022
6 tasks
@teor2345 teor2345 requested a review from a team as a code owner September 26, 2022 02:46
@teor2345
Copy link
Contributor Author

Using:

$ rustc -vV
rustc 1.66.0-nightly (9062b780b 2022-09-21)
binary: rustc
commit-hash: 9062b780b32d2eab060b4432863e085d9504ca5c
commit-date: 2022-09-21
host: x86_64-unknown-linux-gnu
release: 1.66.0-nightly
LLVM version: 15.0.0

I get these logs:

$ mv ~/.zcash-params ~/.zcash-params-old
$ cargo run download
    Finished dev [optimized + debuginfo] target(s) in 0.49s
     Running `target/debug/zebrad download`
2022-09-26T02:21:28.423433Z  INFO zebrad::components::tracing::component: started tracing component filter="info" TRACING_STATIC_MAX_LEVEL=LevelFilter::TRACE LOG_STATIC_MAX_LEVEL=Trace
2022-09-26T02:21:28.423473Z  INFO {zebrad="2465f4b" net="Main"}: zebrad::application: initialized rayon thread pool for CPU-bound tasks num_threads=36
2022-09-26T02:21:28.423490Z  INFO {zebrad="2465f4b" net="Main"}: zebrad::commands::download: checking if Zcash Sapling and Sprout parameters have been downloaded
2022-09-26T02:21:28.423536Z  INFO {zebrad="2465f4b" net="Main"}: zebra_consensus::primitives::groth16::params: downloading Zcash Sapling parameters
2022-09-26T02:35:30.407524Z  INFO {zebrad="2465f4b" net="Main"}: zebra_consensus::primitives::groth16::params: downloading Zcash Sprout parameters
2022-09-26T03:35:30.410102Z  INFO {zebrad="2465f4b" net="Main"}: zebra_consensus::primitives::groth16::params: error downloading Zcash Sprout parameters, retrying error=IoError(Custom { kind: Other, error: "sprout-groth16.params failed reading:\nexpected: 725523612 bytes,\nactual:   211288196 bytes from \"https://download.z.cash/downloads/sprout-groth16.params.part.1 + https://download.z.cash/downloads/sprout-groth16.params.part.2\",\nerror: Custom { kind: Other, error: \"download response failed: IoError(Custom { kind: TimedOut, error: \\\"the timeout of the request was reached\\\" })\" }" })

@teor2345 teor2345 changed the title fix(ci): Build zebrad with Rust 1.63 fix(ci): Build zebrad with Rust 1.63 to avoid Zcash parameter download hangs Sep 26, 2022
@teor2345 teor2345 added the C-breaking Category: A breaking change for users label Sep 26, 2022
Copy link
Member

@upbqdn upbqdn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All changes are correct, and CI passes, so I'm approving.

@mergify mergify bot merged commit 9cb6c55 into main Sep 26, 2022
@mergify mergify bot deleted the gha-rust-163 branch September 26, 2022 12:37
@mpguerra
Copy link
Contributor

Should #5091 be closed then?

@teor2345
Copy link
Contributor Author

Should #5091 be closed then?

No, this PR is a temporary workaround to use Rust 1.63, which is currently unsupported.

That ticket is about Rust 1.64, which we will have to upgrade to eventually.
We need to stay on a supported version of Rust, because our dependencies could stop supporting Rust 1.63 at any time.

gustavovalverde added a commit that referenced this pull request Oct 31, 2022
teor2345 pushed a commit that referenced this pull request Nov 1, 2022
* Revert "fix(ci): Build zebrad with Rust 1.63 to avoid Zcash parameter download hangs (#5251)"

This reverts commit 9cb6c55.

* Revert "Require Rust 1.63 in the README (#5359)"

This reverts commit ee0edef.

* Revert "Revert "ci(build): re-enable Rust beta tests in ubuntu (#5024)" (#5090)"

This reverts commit 579d6be.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-dependencies Area: Dependency file updates A-devops Area: Pipelines, CI/CD and Dockerfiles C-breaking Category: A breaking change for users C-bug Category: This is a bug I-hang A Zebra component stops responding to requests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants