Skip to content

v0.81.2

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 18 Jan 22:26
· 23 commits to main since this release

The v0.81.2 release contains a hotfix to the DEX logic, resolving a bug that caused a chain halt 2025-01-18 at block 3093519 on the penumbra-1 chain.

What happened (short version)

A transaction was submitted that contained both PositionClose and PositionWithdraw actions for the same position P, which had been auto-closed by the DEX. In DeliverTx, the PositionClose action queued the position for closure by ID, and the PositionWithdraw action checked that the position state was closed and then updated it to Withdrawn. Later, in EndBlock, the queued position closure was executed. The position state was not Opened or Closed, triggering an assertion.

Why it happened

  • Mempool tx checking does not execute end block so this didn't get filtered out
  • The position closure method allows the position closure to be a no-op, but only for positions in the closed state
  • Because the position was withdrawn, the state was unexpected

All nodes and validators should update to v0.81.2 immediately, by stopping their services, installing the new version, and then restarting services.

Note to pindexer operators ONLY: The v0.81.2 changeset was prepared against the v0.81.0 tag, to minimize the delta and expedite review. The changes that shipped as part of v0.81.1 are not present. This is only relevant for node operators running pindexer to maintain an event database. Expect a follow-up release v0.81.3 that will reconcile both changesets. This does not affect pd.

pcli 0.81.2

Install pcli 0.81.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/penumbra-zone/penumbra/releases/download/v0.81.2/pcli-installer.sh | sh

Download pcli 0.81.2

File Platform Checksum
pcli-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
pcli-x86_64-apple-darwin.tar.gz Intel macOS checksum
pcli-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum

pclientd 0.81.2

Install pclientd 0.81.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/penumbra-zone/penumbra/releases/download/v0.81.2/pclientd-installer.sh | sh

Download pclientd 0.81.2

File Platform Checksum
pclientd-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
pclientd-x86_64-apple-darwin.tar.gz Intel macOS checksum
pclientd-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum

pd 0.81.2

Install pd 0.81.2

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/penumbra-zone/penumbra/releases/download/v0.81.2/pd-installer.sh | sh

Download pd 0.81.2

File Platform Checksum
pd-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
pd-x86_64-apple-darwin.tar.gz Intel macOS checksum
pd-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum