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

XS divergence between amd64 and aarch64 (Mac M1) ? #7841

Open
warner opened this issue May 25, 2023 · 2 comments
Open

XS divergence between amd64 and aarch64 (Mac M1) ? #7841

warner opened this issue May 25, 2023 · 2 comments
Assignees
Labels
blocked_by_XSupgrade items that require an XS upgrade before they can be solved. bug Something isn't working chain-incident v1_triaged DO NOT USE xsnap the XS execution tool

Comments

@warner
Copy link
Member

warner commented May 25, 2023

Describe the bug

@arirubinstein reports observing a CPU-dependent failure when testing out some upgrades, in which the x86 (aka amd64) architecture worked, but the M1 (aka aarch64) arch did not.

We don't expect XS to behave any differently on these two architectures, however we've recently been surprised by compiler differences like #7836 , and a Mac is definitely using clang, while most amd64 boxes are going to be running Linux, which will be using gcc.

His reproduction steps are below (but they reference a zipfile that was published to our internal Slack, #team-engineering for Agoric folks):

repro steps - download this zip and extract it to the repo here, so ./state/22.04_amd64, etc exists from repo root https://github.com/agoric/docker-variety
x86: works
make starting_branch=mainnet1B-rc1 22_x86
arm: apphash on upgrade block
make starting_branch=mainnet1B-rc1 22
@warner warner added bug Something isn't working xsnap the XS execution tool labels May 25, 2023
@ivanlei ivanlei added the v1_triaged DO NOT USE label Jun 22, 2023
@mhofman mhofman self-assigned this Jul 15, 2023
@mhofman
Copy link
Member

mhofman commented Jul 17, 2023

Using both branch, mhofman/6784-hide-organic-gc-updated-moddable-3-9-7 and mhofman/6784-hide-organic-gc-updated-moddable-3-9-7-no-key-collect, I was unable to reproduce a divergence replaying pismo chain transcripts on arm64-apple-darwin21.6.0 (clang13 / M1Pro) compared to the same replay on Debian Bullseye x86_64 (gcc 10.2.1), both using release build.

@raphdev had mentioned he was able to reproduce an immediate divergence in the latter branch on his M1. We'll need to isolate the source of the divergence.

@mhofman
Copy link
Member

mhofman commented Jan 12, 2024

To clarify the above, our experience is that Darwin arm64 and Debian x64 agree, but that Debian aarch64 (VM on a Mac) diverges when replaying the pismo transcripts.

@aj-agoric aj-agoric added the blocked_by_XSupgrade items that require an XS upgrade before they can be solved. label Sep 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked_by_XSupgrade items that require an XS upgrade before they can be solved. bug Something isn't working chain-incident v1_triaged DO NOT USE xsnap the XS execution tool
Projects
None yet
Development

No branches or pull requests

4 participants