monero-project / monero

Monero: the secure, private, untraceable cryptocurrency
https://getmonero.org
Other
8.74k stars 3.08k forks source link

Corrupted binaries built from Ubuntu 22.04 #9371

Open woodser opened 2 weeks ago

woodser commented 2 weeks ago

Building the Monero binaries on Ubuntu 22.04 completes successfully but produces corrupted binaries, wherein at least the wallet files are incompatible and also multisig wallets are broken.

For example, by building on Ubuntu 22.04 ARM64 with the command make depends target=aarch64-linux-gnu, the build completes successfully, but multisig wallets will fail to import multisig info from the corrupted peer, with the error Multisig info is for a different account.

This led to an issue in which users were unable to recover their funds except by restoring from seed with good binaries.

The instructions indicate that only Ubuntu 18.04 and 20.04 are tested. To avoid loss of funds, I think the build should produce an error or at least a warning when building from Ubuntu >20.04, until later versions are officially tested.

hyc commented 1 week ago

I think it's sufficient to say that only 18.04 and 20.04 are supported. 22.04 is definitely broken; that was what prompted me to write the dockrun script since I could no longer get workable builds on my native 22.04 dev environment.

selsta commented 1 week ago

@hyc it seems to be a more general issue, not necessarily gitian / depends related. Some changes between the compiler in ARM64 Ubuntu 20.04 and 22.04 causes serialization incompatabilies if I understand it right.