Error thrown on building container for cerc/foundry #245

Closed
opened 2023-03-28 07:49:41 +00:00 by nikugogoi · 8 comments
nikugogoi commented 2023-03-28 07:49:41 +00:00 (Migrated from github.com)

Followed the steps in fixturenet-eth stack

  • Expected: Complete successfully without errors
  • Actual: Got error in building cerc/foundry container
    error: could not compile `anvil`
    
    Caused by:
      process didn't exit successfully: `rustc --crate-name anvil --edition=2021 anvil/src/anvil.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=s -C panic=abort -C lto=fat -C codegen-units=1 -C debuginfo=0 --cfg 'feature="clap"' --cfg 'feature="clap_complete"' --cfg 'feature="cli"' --cfg 'feature="cmd"' --cfg 'feature="ctrlc"' --cfg 'feature="default"' --cfg 'feature="fdlimit"' --cfg 'feature="forge"' --cfg 'feature="foundry-common"' -C metadata=32c139e1f44d6ff4 -C extra-filename=-32c139e1f44d6ff4 --out-dir /opt/foundry/target/release/deps -C strip=symbols -L dependency=/opt/foundry/target/release/deps --extern anvil=/opt/foundry/target/release/deps/libanvil-0cb018af062ca04c.rlib --extern anvil_core=/opt/foundry/target/release/deps/libanvil_core-1c83d11fd7ac4898.rlib --extern anvil_rpc=/opt/foundry/target/release/deps/libanvil_rpc-68347ce8584f1dff.rlib --extern anvil_server=/opt/foundry/target/release/deps/libanvil_server-90c74fa8a4e7a40e.rlib --extern async_trait=/opt/foundry/target/release/deps/libasync_trait-252d1bc9be4214cf.so --extern auto_impl=/opt/foundry/target/release/deps/libauto_impl-499379ac4ce5663a.so --extern axum=/opt/foundry/target/release/deps/libaxum-66ce99aeb8d9ac55.rlib --extern bytes=/opt/foundry/target/release/deps/libbytes-b50bfaf81dca7ced.rlib --extern chrono=/opt/foundry/target/release/deps/libchrono-8b1c2dd56c5c3c3f.rlib --extern clap=/opt/foundry/target/release/deps/libclap-e836241fa66859c3.rlib --extern clap_complete=/opt/foundry/target/release/deps/libclap_complete-7d3a13f85f2f594f.rlib --extern clap_complete_fig=/opt/foundry/target/release/deps/libclap_complete_fig-0e1ae94c76747905.rlib --extern ctrlc=/opt/foundry/target/release/deps/libctrlc-85b2c041ea64039e.rlib --extern ethereum_forkid=/opt/foundry/target/release/deps/libethereum_forkid-1807dc742369a067.rlib --extern ethers=/opt/foundry/target/release/deps/libethers-56462483929bc3e9.rlib --extern fdlimit=/opt/foundry/target/release/deps/libfdlimit-c81ec183c4b3e839.rlib --extern forge=/opt/foundry/target/release/deps/libforge-4dac93584e166b91.rlib --extern foundry_common=/opt/foundry/target/release/deps/libfoundry_common-82bacff21cee14ac.rlib --extern foundry_config=/opt/foundry/target/release/deps/libfoundry_config-ac386d11c0af2079.rlib --extern foundry_evm=/opt/foundry/target/release/deps/libfoundry_evm-50c8928788130a0e.rlib --extern foundry_utils=/opt/foundry/target/release/deps/libfoundry_utils-bb38fb89c3b5798d.rlib --extern futures=/opt/foundry/target/release/deps/libfutures-432f49e912f21a19.rlib --extern hash_db=/opt/foundry/target/release/deps/libhash_db-0805f40bc2c12d61.rlib --extern hyper=/opt/foundry/target/release/deps/libhyper-1e2ed910c9f81274.rlib --extern memory_db=/opt/foundry/target/release/deps/libmemory_db-47e77d798c47b8ae.rlib --extern parking_lot=/opt/foundry/target/release/deps/libparking_lot-a6641fa7960eadec.rlib --extern serde=/opt/foundry/target/release/deps/libserde-83963f2b56ff44db.rlib --extern serde_json=/opt/foundry/target/release/deps/libserde_json-d8ce405b35661b13.rlib --extern tempfile=/opt/foundry/target/release/deps/libtempfile-44d0fd667c88631f.rlib --extern thiserror=/opt/foundry/target/release/deps/libthiserror-5acf7366fc9771da.rlib --extern tokio=/opt/foundry/target/release/deps/libtokio-eafaa163bd0108fa.rlib --extern tower=/opt/foundry/target/release/deps/libtower-dfccd008e6736b90.rlib --extern tower_http=/opt/foundry/target/release/deps/libtower_http-23599e3268c950aa.rlib --extern tracing=/opt/foundry/target/release/deps/libtracing-c600a321b8f05a74.rlib --extern tracing_subscriber=/opt/foundry/target/release/deps/libtracing_subscriber-efdc51c32df48d5b.rlib --extern trie_db=/opt/foundry/target/release/deps/libtrie_db-86ad733cf94394d7.rlib --extern yansi=/opt/foundry/target/release/deps/libyansi-5927627eaf9d6db5.rlib -L native=/opt/foundry/target/release/build/ring-810e3ab676d534b4/out -L native=/opt/foundry/target/release/build/hidapi-rusb-c57f8165ce4dc992/out -L native=/opt/foundry/target/release/build/libusb1-sys-6b94cc4a9bb2f195/out -L native=/opt/foundry/target/release/build/secp256k1-sys-e3ee11f99c5e2ba5/out` (signal: 9, SIGKILL: kill)
    The command '/bin/bash -c if [[ -z "$BUILDPLATFORM" ]] ; then echo Skipping BuildKit directives ; else     --mount=type=cache,target=/root/.cargo/registry     --mount=type=cache,target=/root/.cargo/git     --mount=type=cache,target=/opt/foundry/target; fi      && source $HOME/.profile && cargo build --release     && mkdir out     && mv target/release/forge out/forge     && mv target/release/cast out/cast     && mv target/release/anvil out/anvil     && strip out/forge     && strip out/cast     && strip out/anvil;' returned a non-zero code: 101
    Error running build for cerc/foundry
    FATAL Error: container build failed and --continue-on-error not set, exiting
    
    The error is not reproducable in all systems.
    • Specs of a system where build completes
      $ sudo lshw -short
      H/W path           Device          Class          Description
      =============================================================
                                         system         HP Pavilion Gaming Laptop 15-dk0xxx (7LH02PA#ACJ)
      /0                                 bus            85FC
      /0/0                               memory         128KiB BIOS
      /0/4                               processor      Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
      /0/4/5                             memory         384KiB L1 cache
      /0/4/6                             memory         1536KiB L2 cache
      /0/4/7                             memory         12MiB L3 cache
      /0/11                              memory         24GiB System Memory
      /0/11/0                            memory         8GiB SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
      /0/11/1                            memory         16GiB SODIMM DDR4 Synchronous 2667 MHz (0.4 ns)
      
    • Specs of a system where error is thrown
      $ sudo lshw -short
      H/W path           Device          Class          Description
      =============================================================
                                         system         81EV (LENOVO_MT_81EV_BU_idea_FM_ideapad 530S-15IKB)
      /0                                 bus            LNVNB161216
      /0/0                               memory         128KiB BIOS
      /0/4                               processor      Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
      /0/4/5                             memory         256KiB L1 cache
      /0/4/6                             memory         1MiB L2 cache
      /0/4/7                             memory         6MiB L3 cache
      /0/25                              memory         16GiB System Memory
      /0/25/0                            memory         16GiB SODIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns)
      
Followed the steps in [fixturenet-eth stack](https://github.com/cerc-io/stack-orchestrator/tree/v1.0.32/app/data/stacks/fixturenet-eth) * Expected: Complete successfully without errors * Actual: Got error in building `cerc/foundry` container ``` error: could not compile `anvil` Caused by: process didn't exit successfully: `rustc --crate-name anvil --edition=2021 anvil/src/anvil.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=s -C panic=abort -C lto=fat -C codegen-units=1 -C debuginfo=0 --cfg 'feature="clap"' --cfg 'feature="clap_complete"' --cfg 'feature="cli"' --cfg 'feature="cmd"' --cfg 'feature="ctrlc"' --cfg 'feature="default"' --cfg 'feature="fdlimit"' --cfg 'feature="forge"' --cfg 'feature="foundry-common"' -C metadata=32c139e1f44d6ff4 -C extra-filename=-32c139e1f44d6ff4 --out-dir /opt/foundry/target/release/deps -C strip=symbols -L dependency=/opt/foundry/target/release/deps --extern anvil=/opt/foundry/target/release/deps/libanvil-0cb018af062ca04c.rlib --extern anvil_core=/opt/foundry/target/release/deps/libanvil_core-1c83d11fd7ac4898.rlib --extern anvil_rpc=/opt/foundry/target/release/deps/libanvil_rpc-68347ce8584f1dff.rlib --extern anvil_server=/opt/foundry/target/release/deps/libanvil_server-90c74fa8a4e7a40e.rlib --extern async_trait=/opt/foundry/target/release/deps/libasync_trait-252d1bc9be4214cf.so --extern auto_impl=/opt/foundry/target/release/deps/libauto_impl-499379ac4ce5663a.so --extern axum=/opt/foundry/target/release/deps/libaxum-66ce99aeb8d9ac55.rlib --extern bytes=/opt/foundry/target/release/deps/libbytes-b50bfaf81dca7ced.rlib --extern chrono=/opt/foundry/target/release/deps/libchrono-8b1c2dd56c5c3c3f.rlib --extern clap=/opt/foundry/target/release/deps/libclap-e836241fa66859c3.rlib --extern clap_complete=/opt/foundry/target/release/deps/libclap_complete-7d3a13f85f2f594f.rlib --extern clap_complete_fig=/opt/foundry/target/release/deps/libclap_complete_fig-0e1ae94c76747905.rlib --extern ctrlc=/opt/foundry/target/release/deps/libctrlc-85b2c041ea64039e.rlib --extern ethereum_forkid=/opt/foundry/target/release/deps/libethereum_forkid-1807dc742369a067.rlib --extern ethers=/opt/foundry/target/release/deps/libethers-56462483929bc3e9.rlib --extern fdlimit=/opt/foundry/target/release/deps/libfdlimit-c81ec183c4b3e839.rlib --extern forge=/opt/foundry/target/release/deps/libforge-4dac93584e166b91.rlib --extern foundry_common=/opt/foundry/target/release/deps/libfoundry_common-82bacff21cee14ac.rlib --extern foundry_config=/opt/foundry/target/release/deps/libfoundry_config-ac386d11c0af2079.rlib --extern foundry_evm=/opt/foundry/target/release/deps/libfoundry_evm-50c8928788130a0e.rlib --extern foundry_utils=/opt/foundry/target/release/deps/libfoundry_utils-bb38fb89c3b5798d.rlib --extern futures=/opt/foundry/target/release/deps/libfutures-432f49e912f21a19.rlib --extern hash_db=/opt/foundry/target/release/deps/libhash_db-0805f40bc2c12d61.rlib --extern hyper=/opt/foundry/target/release/deps/libhyper-1e2ed910c9f81274.rlib --extern memory_db=/opt/foundry/target/release/deps/libmemory_db-47e77d798c47b8ae.rlib --extern parking_lot=/opt/foundry/target/release/deps/libparking_lot-a6641fa7960eadec.rlib --extern serde=/opt/foundry/target/release/deps/libserde-83963f2b56ff44db.rlib --extern serde_json=/opt/foundry/target/release/deps/libserde_json-d8ce405b35661b13.rlib --extern tempfile=/opt/foundry/target/release/deps/libtempfile-44d0fd667c88631f.rlib --extern thiserror=/opt/foundry/target/release/deps/libthiserror-5acf7366fc9771da.rlib --extern tokio=/opt/foundry/target/release/deps/libtokio-eafaa163bd0108fa.rlib --extern tower=/opt/foundry/target/release/deps/libtower-dfccd008e6736b90.rlib --extern tower_http=/opt/foundry/target/release/deps/libtower_http-23599e3268c950aa.rlib --extern tracing=/opt/foundry/target/release/deps/libtracing-c600a321b8f05a74.rlib --extern tracing_subscriber=/opt/foundry/target/release/deps/libtracing_subscriber-efdc51c32df48d5b.rlib --extern trie_db=/opt/foundry/target/release/deps/libtrie_db-86ad733cf94394d7.rlib --extern yansi=/opt/foundry/target/release/deps/libyansi-5927627eaf9d6db5.rlib -L native=/opt/foundry/target/release/build/ring-810e3ab676d534b4/out -L native=/opt/foundry/target/release/build/hidapi-rusb-c57f8165ce4dc992/out -L native=/opt/foundry/target/release/build/libusb1-sys-6b94cc4a9bb2f195/out -L native=/opt/foundry/target/release/build/secp256k1-sys-e3ee11f99c5e2ba5/out` (signal: 9, SIGKILL: kill) The command '/bin/bash -c if [[ -z "$BUILDPLATFORM" ]] ; then echo Skipping BuildKit directives ; else --mount=type=cache,target=/root/.cargo/registry --mount=type=cache,target=/root/.cargo/git --mount=type=cache,target=/opt/foundry/target; fi && source $HOME/.profile && cargo build --release && mkdir out && mv target/release/forge out/forge && mv target/release/cast out/cast && mv target/release/anvil out/anvil && strip out/forge && strip out/cast && strip out/anvil;' returned a non-zero code: 101 Error running build for cerc/foundry FATAL Error: container build failed and --continue-on-error not set, exiting ``` The error is not reproducable in all systems. * Specs of a system where build completes ``` $ sudo lshw -short H/W path Device Class Description ============================================================= system HP Pavilion Gaming Laptop 15-dk0xxx (7LH02PA#ACJ) /0 bus 85FC /0/0 memory 128KiB BIOS /0/4 processor Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz /0/4/5 memory 384KiB L1 cache /0/4/6 memory 1536KiB L2 cache /0/4/7 memory 12MiB L3 cache /0/11 memory 24GiB System Memory /0/11/0 memory 8GiB SODIMM DDR4 Synchronous 2667 MHz (0.4 ns) /0/11/1 memory 16GiB SODIMM DDR4 Synchronous 2667 MHz (0.4 ns) ``` * Specs of a system where error is thrown ``` $ sudo lshw -short H/W path Device Class Description ============================================================= system 81EV (LENOVO_MT_81EV_BU_idea_FM_ideapad 530S-15IKB) /0 bus LNVNB161216 /0/0 memory 128KiB BIOS /0/4 processor Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz /0/4/5 memory 256KiB L1 cache /0/4/6 memory 1MiB L2 cache /0/4/7 memory 6MiB L3 cache /0/25 memory 16GiB System Memory /0/25/0 memory 16GiB SODIMM DDR4 Synchronous Unbuffered (Unregistered) 2400 MHz (0.4 ns) ```
Contributor

This: signal: 9, SIGKILL: kill makes me suspect an out of memory condition.

Would it be possible to try increasing the default memory allocated to containers on the system where the problem manifests?

Another possibility would be to reduce concurrency in the build, since running multiple compiler processes at the same time will use more memory.

This: `signal: 9, SIGKILL: kill` makes me suspect an out of memory condition. Would it be possible to try increasing the default memory allocated to containers on the system where the problem manifests? Another possibility would be to reduce concurrency in the build, since running multiple compiler processes at the same time will use more memory.
Member

I get the same (and a few more, non-deterministically) errors anvil/chisel/foundry-cli have all thrown. Docker Desktop -> Settings -> Resources -> Advanced is all but maxed out on every resource

I get the same (and a few more, non-deterministically) errors `anvil/chisel/foundry-cli` have all thrown. Docker Desktop -> Settings -> Resources -> Advanced is all but maxed out on every resource
Member

got it building on DO with: 16 GB Memory / 8 Intel vCPUs / 320 GB Disk but it's hungry & took 20 mins:
Screenshot 2023-03-28 at 20 40 12

got it building on DO with: ` 16 GB Memory / 8 Intel vCPUs / 320 GB Disk` but it's hungry & took 20 mins: <img width="927" alt="Screenshot 2023-03-28 at 20 40 12" src="https://user-images.githubusercontent.com/8304391/228397384-3341880b-0b84-482d-abdf-badb0d57c922.png">
Contributor

Rust is a pig. I noticed that one crate : "ui" takes most of that time.

Rust is a pig. I noticed that one crate : "ui" takes most of that time.
Member

haha yes! hangs on ui forever :(

haha yes! hangs on ui forever :(
Member

running multiple compiler processes at the same time will use more memory.

ah, this would explain why the logs output the order of compilation non-deterministically...and why I get different crates failing to compile

> running multiple compiler processes at the same time will use more memory. ah, this would explain why the logs output the order of compilation non-deterministically...and why I get different crates failing to compile
Member

with 32 GB Memory / 4 Intel vCPUs / 300 GB Disk it worked, took ~ same amount of time
Screenshot 2023-03-28 at 21 01 00

with `32 GB Memory / 4 Intel vCPUs / 300 GB Disk` it worked, took ~ same amount of time <img width="885" alt="Screenshot 2023-03-28 at 21 01 00" src="https://user-images.githubusercontent.com/8304391/228399695-85b60ae8-5d27-493f-bf72-1bf13724fb7b.png">
Contributor

Closing as not a bug. Document system requirements for successful container build.

Closing as not a bug. Document system requirements for successful container build.
This repo is archived. You cannot comment on issues.
3 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cerc-io/stack-orchestrator#245