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

fixturenet payments demo deployment error on ARM #565

Open
zramsay opened this issue Oct 9, 2023 · 3 comments
Open

fixturenet payments demo deployment error on ARM #565

zramsay opened this issue Oct 9, 2023 · 3 comments
Assignees

Comments

@zramsay
Copy link
Collaborator

zramsay commented Oct 9, 2023

With #564, all the images build on both: Mac M2 and this Ubuntu server running on UTM on the same Mac. However, upon deploying, in both cases:

The watcher server container never comes up; this command has no output

docker logs -f $(docker ps -aq --filter name="mobymask-watcher-server") 

After a few minutes, the fixturenet-eth-geth-1-1 status switches from Created/Starting to Error. Its logs look like:

docker logs fixturenet-eth-geth-1-1
0x5929AD4A1d6B899065AcF2a66d5EB086a2863bEe
INFO [10-06|23:11:47.852] Maximum peer count                       ETH=50 LES=0 total=50
INFO [10-06|23:11:47.852] Smartcard socket not found, disabling    err="stat /run/pcscd/pcscd.comm: no such file or directory"
INFO [10-06|23:11:47.852] Set global gas cap                       cap=50,000,000
Address: {5929ad4a1d6b899065acf2a66d5eb086a2863bee}
Statediff DB at ipld-eth-db
Waiting for statediff DB...

and every other service is stuck in retrying finding what it depends on

@dboreham
Copy link
Collaborator

Looks like the issue is that it is not seeing the statediff DB.

@iskay
Copy link
Collaborator

iskay commented Oct 18, 2023

payments-migrations-1 container is the root cause -- The ipld-eth-db Dockerfile fetches the x86 version of Goose from the releases page, so no error is thrown when building on ARM but at runtime the container can't start the Goose binary, and the statediff DB never comes online.

We can change the dockerfile from

ADD https://github.com/pressly/goose/releases/download/${GOOSE_VER}/goose_linux_x86_64 ./goose

to something like

RUN arch=$(arch | sed s/aarch64/arm64/) && \
  wget -O ./goose https://github.com/pressly/goose/releases/download/${GOOSE_VER}/goose_linux_${arch}

Tested this change and the stack started normally on ARM

@zramsay
Copy link
Collaborator Author

zramsay commented Oct 19, 2023

using the branch with that fix (and the latest fixturenet-payment stack), it hangs seemingly indefinitely on deploy, and 10 minutes into it, no docker containers have been created.

[+] Building 0.0s (0/0)                                                                                                                    
[+] Running 5/20
[+] Running 5/20nts_erc20_deployment"                       Created                                                                   0.0s 
[+] Running 5/20nts_erc20_deployment"                       Created                                                                   0.0s 
 ✔ Volume "payments_erc20_deployment"                       Created                                                                   0.0s 
 ✔ Volume "payments_ponder_watcher_nitro_data"              Created                                                                   0.0s 
 ✔ Volume "payments_eth_server_nitro_data"                  Created                                                                   0.0s 
 ✔ Volume "payments_ponder_indexer_2_nitro_data"            Created                                                                   0.0s 
 ✔ Volume "payments_ponder_indexer_1_nitro_data"            Created                                                                   0.0s 
 ⠼ Container payments-nitro-contracts-1                     Creating                                                                557.4s 
 ⠼ Container payments-fixturenet-eth-bootnode-lighthouse-1  Creating                                                                557.4s 
 ⠼ Container payments-mobymask-1                            Creating                                                                557.4s 
 ⠼ Container payments-fixturenet-eth-bootnode-geth-1        Creating                                                                557.4s 
 ⠼ Container payments-ponder-app-indexer-1-1                Creating                                                                557.4s 
 ⠼ Container payments-peer-ids-gen-1                        Creating                                                                557.4s 
 ⠼ Container payments-ponder-er20-contracts-1               Creating                                                                557.4s 
 ⠼ Container payments-ponder-app-indexer-2-1                Creating                                                                557.4s 
 ⠼ Container payments-mobymask-v3-app-1                     Creating                                                                557.4s 
 ⠼ Container payments-mobymask-snap-1                       Creating                                                                557.4s 
 ⠼ Container payments-nitro-rpc-client-1                    Creating                                                                557.4s 
 ⠼ Container payments-migrations-1                          Creating                                                                557.4s 
 ⠼ Container payments-ipld-eth-server-1-1                   Creating                                                                557.4s 
 ⠼ Container payments-ipld-eth-server-2-1                   Creating                                                                557.4s 
 ⠼ Container payments-mobymask-watcher-db-1                 Recreate                                                                557.4s 

I'll try next on UTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants