CosmWasm / optimizer

Dockerfile and script to deterministically produce the smallest possible Wasm for your Rust contract
Apache License 2.0
123 stars 60 forks source link

Finished, status of exit status: 137 #106

Closed emperorjm closed 1 year ago

emperorjm commented 1 year ago

I am trying to optimize an Archway contract built from the following guide: https://docs.archway.io/docs/create/guides/my-first-dapp/start but the process seems to be killed before completiton with the following message: Finished, status of exit status: 137

The command executed in the root project folder: cargo run-script optimize

The full print out is as follows:

cargo run-script optimize
Running script 'optimize': 'docker run --rm -v "$(pwd)":/code -e CARGO_TERM_COLOR=always --mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target --mount type=volume,source=registry_cache,target=/usr/local/cargo/registry cosmwasm/rust-optimizer:0.12.5
'
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Info: RUSTC_WRAPPER=sccache
Info: sccache stats before build
Compile requests                      0
Compile requests executed             0
Cache hits                            0
Cache misses                          0
Cache timeouts                        0
Cache read errors                     0
Forced recaches                       0
Cache write errors                    0
Compilation failures                  0
Cache errors                          0
Non-cacheable compilations            0
Non-cacheable calls                   0
Non-compilation calls                 0
Unsupported compiler calls            0
Average cache write               0.000 s
Average cache read miss           0.000 s
Average cache read hit            0.000 s
Failed distributed compilations       0
Cache location                  Local disk: "/root/.cache/sccache"
Cache size                            0 bytes
Max cache size                       10 GiB
Building contract in /code ...
    Updating crates.io index
Killed
Finished, status of exit status: 137
webmaster128 commented 1 year ago

I think this is related to memory usage (out of memory) because you compile using the the emulated optimizer on ARM machines. See also https://github.com/CosmWasm/rust-optimizer/issues/102

webmaster128 commented 1 year ago

In 0.12.13+ we use Cargo's sparse protocol feature, making the "Updating crates.io index" step much more efficient. I hope this helps the situation. Closing for now. Free free to open new tickets if you run into other problems.