wasmerio / wasmer

🚀 The leading Wasm Runtime supporting WASIX and WASI
https://wasmer.io
MIT License
18.9k stars 810 forks source link

Separate the create-exe functionality outside of wasmer #4285

Open syrusakbary opened 1 year ago

syrusakbary commented 1 year ago

create-exe spuriously fail, usually because of linking errors.

Ideally, we should move create-exe to outside the wasmer crate, so we can test and build this functionality separately of the main CI (to both speed up the builds, and avoid errors in CI).

Meanwhile, we will #[ignore] the tests to avoid errors

Michael-F-Bryan commented 1 year ago

Here are some notes for whoever picks this one up. This isn't the first time we've disabled create-exe tests (see #3615).


Probably the most common error we see is around linking and undefined symbols. See this build from #4229 (ironically, this PR was created to automatically retry these flaky tests).

(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wabt" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wabt.o"
(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wasm-interp" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-interp.o"
(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wasm-strip" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-strip.o"
(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wasm-validate" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-validate.o"
(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wasm2wat" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm2wat.o"
(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wast2json" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wast2json.o"
(integration-test) running create-obj: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-obj" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--atom" "wat2wasm" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wat2wasm.o"
(integration-test) running create-exe: cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-exe" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--precompiled-atom" "wabt:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wabt.o" "--precompiled-atom" "wasm-interp:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-interp.o" "--precompiled-atom" "wasm-strip:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-strip.o" "--precompiled-atom" "wasm-validate:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-validate.o" "--precompiled-atom" "wasm2wat:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm2wat.o" "--precompiled-atom" "wast2json:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wast2json.o" "--precompiled-atom" "wat2wasm:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wat2wasm.o" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/multicommand.out" "--tarball" "/Users/runner/work/wasmer/wasmer/link.tar.gz"
Error: Failed to create-exe wasm with Wasmer

Caused by:
    cd "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK" && "/Users/runner/work/wasmer/wasmer/tests/integration/cli/../../../target/release/wasmer" "create-exe" "/Users/runner/work/wasmer/wasmer/lib/c-api/examples/assets/wabt-1.0.37.wasmer" "--cranelift" "--precompiled-atom" "wabt:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wabt.o" "--precompiled-atom" "wasm-interp:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-interp.o" "--precompiled-atom" "wasm-strip:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-strip.o" "--precompiled-atom" "wasm-validate:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm-validate.o" "--precompiled-atom" "wasm2wat:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wasm2wat.o" "--precompiled-atom" "wast2json:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wast2json.o" "--precompiled-atom" "wat2wasm:/private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/wat2wasm.o" "-o" "/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmp5GhgtK/multicommand.out" "--tarball" "/Users/runner/work/wasmer/wasmer/link.tar.gz"
     failed with: stdout: Compiler: cranelift
    Target: x86_64-apple-darwin
    Using path `/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a` as libwasmer path.

    stderr: error: /Users/runner/hostedtoolcache/zig/0.10.0/x64/zig clang /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/wasmer_main.c -fno-caret-diagnostics -isystem /Users/runner/hostedtoolcache/zig/0.10.0/x64/lib/libunwind/include -target x86_64-unknown-macosx11.7.1-unknown -nostdinc -fno-spell-checking -isystem /Users/runner/hostedtoolcache/zig/0.10.0/x64/lib/include -isystem /Users/runner/hostedtoolcache/zig/0.10.0/x64/lib/libc/include/x86_64-macos.11-none -isystem /Users/runner/hostedtoolcache/zig/0.10.0/x64/lib/libc/include/any-macos.11-any -isystem /Users/runner/hostedtoolcache/zig/0.10.0/x64/lib/libc/include/any-macos-any -Xclang -target-cpu -Xclang x86-64 -Xclang -target-feature -Xclang -16bit-mode -Xclang -target-feature -Xclang -32bit-mode -Xclang -target-feature -Xclang -3dnow -Xclang -target-feature -Xclang -3dnowa -Xclang -target-feature -Xclang +64bit -Xclang -target-feature -Xclang -adx -Xclang -target-feature -Xclang -aes -Xclang -target-feature -Xclang -amx-bf16 -Xclang -target-feature -Xclang -amx-int8 -Xclang -target-feature -Xclang -amx-tile -Xclang -target-feature -Xclang -avx -Xclang -target-feature -Xclang -avx2 -Xclang -target-feature -Xclang -avx512bf16 -Xclang -target-feature -Xclang -avx512bitalg -Xclang -target-feature -Xclang -avx512bw -Xclang -target-feature -Xclang -avx512cd -Xclang -target-feature -Xclang -avx512dq -Xclang -target-feature -Xclang -avx512er -Xclang -target-feature -Xclang -avx512f -Xclang -target-feature -Xclang -avx512fp16 -Xclang -target-feature -Xclang -avx512ifma -Xclang -target-feature -Xclang -avx512pf -Xclang -target-feature -Xclang -avx512vbmi -Xclang -target-feature -Xclang -avx512vbmi2 -Xclang -target-feature -Xclang -avx512vl -Xclang -target-feature -Xclang -avx512vnni -Xclang -target-feature -Xclang -avx512vp2intersect -Xclang -target-feature -Xclang -avx512vpopcntdq -Xclang -target-feature -Xclang -avxvnni -Xclang -target-feature -Xclang -bmi -Xclang -target-feature -Xclang -bmi2 -Xclang -target-feature -Xclang -branchfusion -Xclang -target-feature -Xclang -cldemote -Xclang -target-feature -Xclang -clflushopt -Xclang -target-feature -Xclang -clwb -Xclang -target-feature -Xclang -clzero -Xclang -target-feature -Xclang +cmov -Xclang -target-feature -Xclang -crc32 -Xclang -target-feature -Xclang -cx16 -Xclang -target-feature -Xclang +cx8 -Xclang -target-feature -Xclang -enqcmd -Xclang -target-feature -Xclang -ermsb -Xclang -target-feature -Xclang -f16c -Xclang -target-feature -Xclang -false-deps-getmant -Xclang -target-feature -Xclang -false-deps-lzcnt-tzcnt -Xclang -target-feature -Xclang -false-deps-mulc -Xclang -target-feature -Xclang -false-deps-mullq -Xclang -target-feature -Xclang -false-deps-perm -Xclang -target-feature -Xclang -false-deps-popcnt -Xclang -target-feature -Xclang -false-deps-range -Xclang -target-feature -Xclang -fast-11bytenop -Xclang -target-feature -Xclang -fast-15bytenop -Xclang -target-feature -Xclang -fast-7bytenop -Xclang -target-feature -Xclang -fast-bextr -Xclang -target-feature -Xclang -fast-gather -Xclang -target-feature -Xclang -fast-hops -Xclang -target-feature -Xclang -fast-lzcnt -Xclang -target-feature -Xclang -fast-movbe -Xclang -target-feature -Xclang -fast-scalar-fsqrt -Xclang -target-feature -Xclang -fast-scalar-shift-masks -Xclang -target-feature -Xclang -fast-shld-rotate -Xclang -target-feature -Xclang -fast-variable-crosslane-shuffle -Xclang -target-feature -Xclang -fast-variable-perlane-shuffle -Xclang -target-feature -Xclang -fast-vector-fsqrt -Xclang -target-feature -Xclang -fast-vector-shift-masks -Xclang -target-feature -Xclang -fma -Xclang -target-feature -Xclang -fma4 -Xclang -target-feature -Xclang -fsgsbase -Xclang -target-feature -Xclang -fsrm -Xclang -target-feature -Xclang +fxsr -Xclang -target-feature -Xclang -gfni -Xclang -target-feature -Xclang -harden-sls-ijmp -Xclang -target-feature -Xclang -harden-sls-ret -Xclang -target-feature -Xclang -hreset -Xclang -target-feature -Xclang -idivl-to-divb -Xclang -target-feature -Xclang +idivq-to-divl -Xclang -target-feature -Xclang -invpcid -Xclang -target-feature -Xclang -kl -Xclang -target-feature -Xclang -lea-sp -Xclang -target-feature -Xclang -lea-uses-ag -Xclang -target-feature -Xclang -lvi-cfi -Xclang -target-feature -Xclang -lvi-load-hardening -Xclang -target-feature -Xclang -lwp -Xclang -target-feature -Xclang -lzcnt -Xclang -target-feature -Xclang +macrofusion -Xclang -target-feature -Xclang +mmx -Xclang -target-feature -Xclang -movbe -Xclang -target-feature -Xclang -movdir64b -Xclang -target-feature -Xclang -movdiri -Xclang -target-feature -Xclang -mwaitx -Xclang -target-feature -Xclang +nopl -Xclang -target-feature -Xclang -pad-short-functions -Xclang -target-feature -Xclang -pclmul -Xclang -target-feature -Xclang -pconfig -Xclang -target-feature -Xclang -pku -Xclang -target-feature -Xclang -popcnt -Xclang -target-feature -Xclang -prefer-128-bit -Xclang -target-feature -Xclang -prefer-256-bit -Xclang -target-feature -Xclang -prefer-mask-registers -Xclang -target-feature -Xclang -prefetchwt1 -Xclang -target-feature -Xclang -prfchw -Xclang -target-feature -Xclang -ptwrite -Xclang -target-feature -Xclang -rdpid -Xclang -target-feature -Xclang -rdpru -Xclang -target-feature -Xclang -rdrnd -Xclang -target-feature -Xclang -rdseed -Xclang -target-feature -Xclang -retpoline -Xclang -target-feature -Xclang -retpoline-external-thunk -Xclang -target-feature -Xclang -retpoline-indirect-branches -Xclang -target-feature -Xclang -retpoline-indirect-calls -Xclang -target-feature -Xclang -rtm -Xclang -target-feature -Xclang -sahf -Xclang -target-feature -Xclang -sbb-dep-breaking -Xclang -target-feature -Xclang -serialize -Xclang -target-feature -Xclang -seses -Xclang -target-feature -Xclang -sgx -Xclang -target-feature -Xclang -sha -Xclang -target-feature -Xclang -shstk -Xclang -target-feature -Xclang +slow-3ops-lea -Xclang -target-feature -Xclang +slow-incdec -Xclang -target-feature -Xclang -slow-lea -Xclang -target-feature -Xclang -slow-pmaddwd -Xclang -target-feature -Xclang -slow-pmulld -Xclang -target-feature -Xclang -slow-shld -Xclang -target-feature -Xclang -slow-two-mem-ops -Xclang -target-feature -Xclang -slow-unaligned-mem-16 -Xclang -target-feature -Xclang -slow-unaligned-mem-32 -Xclang -target-feature -Xclang -soft-float -Xclang -target-feature -Xclang +sse -Xclang -target-feature -Xclang +sse2 -Xclang -target-feature -Xclang -sse3 -Xclang -target-feature -Xclang -sse4.1 -Xclang -target-feature -Xclang -sse4.2 -Xclang -target-feature -Xclang -sse4a -Xclang -target-feature -Xclang -sse-unaligned-mem -Xclang -target-feature -Xclang -ssse3 -Xclang -target-feature -Xclang -tagged-globals -Xclang -target-feature -Xclang -tbm -Xclang -target-feature -Xclang -tsxldtrk -Xclang -target-feature -Xclang -uintr -Xclang -target-feature -Xclang -use-glm-div-sqrt-costs -Xclang -target-feature -Xclang -use-slm-arith-costs -Xclang -target-feature -Xclang -vaes -Xclang -target-feature -Xclang -vpclmulqdq -Xclang -target-feature -Xclang +vzeroupper -Xclang -target-feature -Xclang -waitpkg -Xclang -target-feature -Xclang -wbnoinvd -Xclang -target-feature -Xclang -widekl -Xclang -target-feature -Xclang +x87 -Xclang -target-feature -Xclang -xop -Xclang -target-feature -Xclang -xsave -Xclang -target-feature -Xclang -xsavec -Xclang -target-feature -Xclang -xsaveopt -Xclang -target-feature -Xclang -xsaves -mmacos-version-min=11.7.1 -fsanitize=undefined -fsanitize-trap=undefined -mred-zone -fomit-frame-pointer -fstack-protector-strong --param ssp-buffer-size=4 -O2 -D_FORTIFY_SOURCE=2 -fPIC -funwind-tables -gdwarf-4 -MD -MV -MF /Users/runner/.cache/zig/tmp/1e6e8896eccfe852-wasmer_main.o.d -I /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/include -I /Users/runner/work/wasmer/wasmer/link/include -c -o /Users/runner/.cache/zig/tmp/1e6e8896eccfe852-wasmer_main.o
    zig ld -dynamic -dead_strip /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/wabt.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/wasm_interp.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/wasm_strip.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/wasm_validate.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/wasmwat.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/wastjson.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/atoms/watwasm.o /private/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/volumes/volume.o /Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a /Users/runner/.cache/zig/o/97babd7ed3530014e362d00218ae4c63/wasmer_main.o -o /var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ/wasmer_main -lSystem -lc -framework Security -F/var/folders/24/8k48jl6d249_n_qfxwsl6xvm0000gn/T/.tmpfsD6uJ
    error(link): undefined reference to symbol '_kSCPropNetProxiesHTTPSProxy'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kSCPropNetProxiesHTTPSPort'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kSCPropNetProxiesHTTPSEnable'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kSCPropNetProxiesHTTPProxy'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kSCPropNetProxiesHTTPPort'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kSCPropNetProxiesHTTPEnable'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kSCDynamicStoreUseSessionKeys'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kCFTypeDictionaryValueCallBacks'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kCFTypeDictionaryKeyCallBacks'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kCFBooleanFalse'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_kCFAllocatorDefault'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_SCDynamicStoreCreateWithOptions'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_SCDynamicStoreCopyProxies'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFStringGetTypeID'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFStringGetLength'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFStringGetCStringPtr'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFDictionaryCreate'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFDictionaryGetValueIfPresent'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFGetTypeID'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFNumberGetTypeID'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFNumberGetValue'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFRelease'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFRetain'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFStringCreateWithBytes'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error(link): undefined reference to symbol '_CFStringGetBytes'
    error(link):   first referenced in '/Users/runner/work/wasmer/wasmer/link/lib/libwasmer-headless.a(wasmer.wasmer.d056a11a-cgu.6.rcgu.o)'
    error: UndefinedSymbolReference

We've also seen errors where the runner runs out of disk space.

This might be because caching exhibits unbounded growth or our custom caching mechanism is downloading half the internet. Maybe the periodic job to clean up cache buckets every day needs to run more often or we need to be more selective in what we cache/reuse.