Voting for a new IC release - be69c35

Hello there!

We are happy to announce that voting is now open for a new IC release and the retirement of old replica version d73659a2baf78302b88e29e5c2bc891cde1e3e0b.
The NNS proposal is here: IC NNS Proposal 126365 .

Here is a summary of the changes since the last release:

Features:

  • [0b7705c] Execution: enable node metrics API endpoint
  • [eb283ab] Node: Check subnet registry for sev_status feature
  • [1131bd8] Node: Add ipv4 DNS configuration hard-coding

Bugfixes:

  • [d619681] Consensus(ecdsa): Do not purge quadruples and xnet reshares after unsuccessful key transcript reshares
  • [3a29469] Execution,Message Routing: Make BlockmakerMetricsTimeSeries::metrics_since() not include the running stats.
  • [2697ffd] Networking(consensus_manger): Use lowercase uri paths in consensus manager
  • [bfdb038] Networking(consensus_manger): Stop downloading artifacts that transitioned to stash
  • [44dccfc] Networking(p2p-consensus): Remove expectation for sender when removing adverts on receive side
  • [948d57c] Networking(state_sync_manger): fix potential underflow when counting active downloads.

Performance improvements:

  • [aa4acb9] Crypto: implement faster deserialization of ExtendedDerivationPath

Chores:

  • [8914ae4] Consensus: Add a comment on the use of consensus_time
  • [f1e393d] Crypto: Avoid panicking when computing KeyId from CspPublicCoefficients
  • [afccaa5] Crypto: use strong types in previously aliased ByteBuf’s
  • [8f489b3] Execution(fuzzing): Switch to interface spec source of truth
  • [b08561c] Message Routing: Write only two overlay files per checkpoint
  • [d845f5a] Message Routing: Remove more unused p2p-statesync code
  • [5c0d5ec] Message Routing,Runtime: Fix typos flagged by CodeGov
  • [f8cf757] Networking: add option to enable to new consensus p2p per client
  • [9717951] Networking(p2p-consensus): Tune exponential backoff policy for P2P
  • [65c322c] Networking(p2p-consensus): Add error log on termination of send-side event loop
  • [717e423] Networking(https_outcalls): fix typo in user agent constant
  • [d8a0c1d] Runtime: Update comment for global section validation

Refactoring:

  • [be9898f] Consensus(http_utils): Switch FileDownloader from hyper to reqwest
  • [783818a] Networking: remove the usage of ArtifactChunk from the statesync/p2p interface
  • [c823397] Networking: delete more unused code related to chunkable artifacts

Tests:

  • [80136cf] Crypto: make CertBuilder test utility’s RNG configurable
  • [0a13ff3] Crypto: Make PRNG tests immune to changes to ReplicaVersion
  • [8e79d77] Networking(consensus_manger): add load test with random event order
  • [713b82c] Networking(1503): bitcoin adapter test with testnet data
  • [991a2c0] Node,Networking(sev): Fix reassignment test

Other changes:

  • [d17a4eb] Execution,Runtime: Test that install_chunked_code is recorded in history
  • [811466c] Execution,Runtime: Refactor JSON generation in fees_and_limits
  • [f48069c] Networking: chore(p2p-consensus): Improve function names and error logs of the send side slot table
  • [0790de6] Networking: update slog to the newest version and use workspace version
  • [b49b8ff] Node: Updating container base images refs [2023-11-30-0812]

IC-OS Verification

To build and verify the IC-OS disk image, run:

# From https://github.com/dfinity/ic#verifying-releases
sudo apt-get install -y curl && curl --proto '=https' --tlsv1.2 -sSLO https://raw.githubusercontent.com/dfinity/ic/be69c3576361bf7a0c81f5e25f7d7848743afa7e/gitlab-ci/tools/repro-check.sh && chmod +x repro-check.sh && ./repro-check.sh -c be69c3576361bf7a0c81f5e25f7d7848743afa7e

The two SHA256 sums printed above from a) the downloaded CDN image and b) the locally built image, must be identical, and must match the SHA256 from the payload of the NNS proposal.

3 Likes

It checks out. Got a question, looking at the repo-check script we can see it uses a temp directory that is only kept if we specify the debug mode. But there is around 44 GB kept in cache as you can see in the attached print screen. Any reason for that ? Like if you run the second time I saw it checks for cache and it takes only a few minutes, but other than that I could see an issue over time if not removed manually. Thanks

3 Likes

Reviewers for the CodeGov project have completed our review of these replica updates.

Proposal ID: 126365
Vote: ADOPT
Full report: CodeGov portal on DSCVR

Proposal ID: 126366
Vote: ADOPT
Full report: CodeGov portal on DSCVR

Neuron: CodeGov
NeuronID: 2649066124191664356
Voting history: Dashboard
Website: codegov.org

At the time of this comment on the forum there are still 2 days left in the voting period, which means there is still plenty of time for others to review the proposal and vote independently.

We had several very good reviews of the Release Notes on these proposals by @Zane, @cyberowl, @ZackDS, @massimoalbarello, and @ilbert. The IC-OS Verification was also performed by @Gekctek and @tiago89. I recommend folks talk a look and see the excellent work that was performed on these reviews by the entire CodeGov team. Feel free to comment here if you have any questions or suggestions.

RECRUITING NOTE:
The CodeGov Project is offering attractive bounty payments to experienced Rust developers who are interested in spending a few hours each week reviewing Replica Version Management proposals, which are code changes that are submitted to the Internet Computer Protocol (ICP) governance system for adoption or rejection. We do this through IC-OS Verification and by performing a sanity check on the Release Notes. Our votes are cast according to the findings of our reviewers. Proposals are usually submitted on a Friday and we complete our reviews within 48 hours. Each reviewer posts a summary of their findings in the CodeGov portal on DSCVR.one and the bounty payment is made using the tipping feature of DSCVR with ckBTC equivalent to USD. The bounty is always announced in this bounty payment post on the portal and the deliverables for each review can be found on the codegov.org website. It is a requirement to Apply on the codegov.org website and to complete either Form W-9 or Form W-8BEN in order to get paid the bounty. Please send me a DM or an email at codegov.org@gmail.com if you would like to discuss this opportunity further.

4 Likes

Is there something different about the IC-OS Verification script this week? I had build failures on each proposal (126365 and 126366) that were related to insufficient storage. I haven’t had those kinds of errors since we switched from Docker on a virtual machine to Podman on wsl many months ago. I had to clear my /tmp folder and my ~/.cache/bazel/_bazel_ubuntu folders in order for the build to complete successfully. It seems odd because several others reported build failures due to cache or storage issues. Once these folder were cleared and I rebooted, I was finally able to successfully build and verify.

3 Likes

Well there is not much of feedback going on here is it ? @ZackDS

There usually is but mainly on important stuff that Wenzel summarizes from the reviews. For now just delete the cache manually will create a script with Tiago for next release and share it in the CodeGov OC.

1 Like

Hi all. Heads up: I merged a change to this replica version branch: Commits · dfinity/ic · GitHub

The change adds an unsafe_drop_stable_memory argument to install_code that frees the stable memory of a canister after execution of an install/upgrade.

The motivation behind the change is to help Hot or Not (@saikatdas0790) to free the stable memory of their canisters after a misconfiguration in the dapp that unintentionally increased stable memory its canisters.

This is similar to the change done for OpenChat in Proposal: 106817 - ICP Dashboard

The release team is going to submit a proposal to elect a replica version with this change soon.

4 Likes

Thanks for the heads up, looks good. Was following the issue with POSSIBLE BUG: Stable storage provisioning memory twice when using separate libraries to move data from heap to stable storage and it’s related posts so it’s always nice when we learn from mistakes.

2 Likes

And link to the proposal: Proposal: 126727 - ICP Dashboard

2 Likes

Reviewers for the CodeGov project have completed our review of this replica update.

Proposal ID: 126727
Vote: ADOPT
Full report: CodeGov portal on DSCVR

Neuron: CodeGov
NeuronID: 2649066124191664356
Voting history: Dashboard
Website: codegov.org

At the time of this comment on the forum there are still 2 days left in the voting period, which means there is still plenty of time for others to review the proposal and vote independently.