truffle-box / tezos-example-box

Simple example box for Tezos development with Truffle
MIT License
16 stars 8 forks source link

Unable to start the sandbox #7

Closed claudebarde closed 4 years ago

claudebarde commented 4 years ago

Hi! I wanted to try truffle@tezos and I am stuck now as the sandbox-node doesn't start. When I ran "npm run start-node" the first time, I got:

Unable to find image 'stovelabs/image-babylonbox-run-archive:latest' locally latest: Pulling from stovelabs/image-babylonbox-run-archive

A few things got downloaded after which I can see the error message:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"babylonbox-archive\": executable file not found in $PATH": unknown.

I have very small knowledge of Docker, so I am unsure about why I have this error message.

Thank you for your help!

CruzMolina commented 4 years ago

Hey @claudebarde ! Thanks for opening an issue.

Regarding...

When I ran "npm run start-node" the first time, I got:

Unable to find image 'stovelabs/image-babylonbox-run-archive:latest' locally latest: Pulling from stovelabs/image-babylonbox-run-archive

This is the normal Docker response when trying to use a Docker image that hasn't been pulled down for use locally.

As for...

A few things got downloaded after which I can see the error message:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "babylonbox-archive": executable file not found in $PATH": unknown.

Can you share your full terminal output when running npm run start-sandbox? Also, which OS are you using the box with?

claudebarde commented 4 years ago

Thank you for the quick reply!

I just shared the first quote because it contains the name of the archive that was downloaded, but this part works correctly, sorry for the confusion :)

I ran npm run start-sandbox again and the terminal output is the following:

claudebarde@Claudes-MacBook-Pro-2 truffle-tezos % npm run start-sandbox tezosExample@1.0.0 start-sandbox /Users/claudebarde/Desktop/programming-stuff/truffle-tezos bash ./scripts/sandbox/start_sandbox.sh && npm run wait-for-sandbox Starting sandbox... 795723c9e147af56b69960ae9c7a8b830486ddc2b4f5596894019e5efb260d22 docker: Error response from daemon: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: \"babylonbox-archive\": executable file not found in $PATH": unknown. npm ERR! code ELIFECYCLE npm ERR! syscall spawn npm ERR! file sh npm ERR! errno ENOENT npm ERR! tezosExample@1.0.0 start-sandbox: bash ./scripts/sandbox/start_sandbox.sh && npm run wait-for-sandbox npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the tezosExample@1.0.0 start-sandbox script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /Users/claudebarde/.npm/_logs/2020-03-03T17_39_03_354Z-debug.log

I am really new to Docker (it is my first time using it actually) so I may be doing something wrong or forgetting something!

CruzMolina commented 4 years ago

Hmmmm, can you try running docker run hello-world and share the output?

claudebarde commented 4 years ago

Yes, no problem:

claudebarde@Claudes-MacBook-Pro-2 truffle-tezos % docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 1b930d010525: Pull complete Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752 Status: Downloaded newer image for hello-world:latest

Hello from Docker! This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

  1. The Docker client contacted the Docker daemon.
  2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
  3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
  4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

I don't know if it helps, but I also tested another repo (https://github.com/stove-labs/tzip-12-tutorial) that also downloaded a Docker image (but a different one it seems) which works correctly on my MacBook.

CruzMolina commented 4 years ago

Hmmm, interesting. I'm not sure what the issue is. I can use the other repo's npm run start-sandbox -- carthage no problem, but have to manually edit the startup script to get babylon running.

I saw the exact same error as you except with sandbox-archive not being found (when trying to boot up babylon).

I'm not able to reproduce your error locally unfortunately. Which repo did you try out first?

claudebarde commented 4 years ago

I am writing some tutorials about Tezos smart contract and dapp development, so I am testing different available solutions to write about them :) I tested this repo first and tried the tezos-starter-kit after I couldn't make this one work. May there be a problem with my Docker setup? The error message says: executable file not found in $PATH": unknown, do I have to setup a path or modify it before/after downloading the archive?

CruzMolina commented 4 years ago

I'm finding issues for the error in various repos (i.e. docker/for-linux#561), but it's hard to know for sure if it's related.

What version of docker are you running? (docker -v)

Another idea might be to docker prune before attempting to start up the sandbox again.

claudebarde commented 4 years ago

The Docker version is 19.03.5, build 633a0ea. I tried docker system prune before trying to start the sandbox again, but I get the same error message. It's definitely a problem with Docker.

georgemac510 commented 4 years ago

I'm having the same issue the same way, with same errors. I'm using Docker version 19.03.7, build 7141c199a2. In agreement that it's a Docker issue. I tried the suggested solutions to no avail.

neocybereth commented 4 years ago

I can third that. Same issue here:

Screen Shot 2020-03-29 at 11 12 54 PM Screen Shot 2020-03-29 at 11 13 04 PM

I'm currently running version 19.03.5, build 633a0ea. Same as @claudebarde

I believe the issue will be with the YAML code in the docker image. https://stackoverflow.com/questions/27158840/docker-executable-file-not-found-in-path

CruzMolina commented 4 years ago

Ah, finally figured this out. I needed to remove the old flextesa sandbox docker image to successfully reproduce.

This issue should be resolved by this commit. Have been able to smoke test on MacOS & Ubuntu. Please let me know if this is still an issue!

georgemac510 commented 4 years ago

Nice work Cruz! It worked. Contracts ran as did their tests.

On Fri, Apr 3, 2020 at 5:17 PM Cruz Molina notifications@github.com wrote:

Ah, finally figured this out. I needed to remove the old flextesa sandbox docker image to successfully reproduce.

This issue should be resolved by this commit https://github.com/truffle-box/tezos-example-box/commit/36e51b5971ae412a1a083cab1788c67a4d992317. Have been able to smoke test on MacOS & Ubuntu. Please let me know if this is still an issue!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/truffle-box/tezos-example-box/issues/7#issuecomment-608670380, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH32A2GZZWOIOOMBFWC46FDRKZG6JANCNFSM4LAMWVLQ .

neocybereth commented 4 years ago

Sweeeet thank you @CruzMolina for the update

CruzMolina commented 4 years ago

Closing since it looks like this has been resolved! 🎉