[INFO] cloning repository https://github.com/tiberiusferreira/oxide-enzyme [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tiberiusferreira/oxide-enzyme" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiberiusferreira%2Foxide-enzyme", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiberiusferreira%2Foxide-enzyme'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c7868bc7a5b0ead020a33209f87b9c138c9e83b [INFO] building tiberiusferreira/oxide-enzyme against try#23647e694de8d0904848ad068b2e0ec2dd098c37+target=wasm32-wasip1 for pr-149868 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiberiusferreira%2Foxide-enzyme" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 61% (11/18) Updating files: 66% (12/18) Updating files: 72% (13/18) Updating files: 77% (14/18) Updating files: 83% (15/18) Updating files: 88% (16/18) Updating files: 94% (17/18) Updating files: 100% (18/18) Updating files: 100% (18/18), done. [INFO] started tweaking git repo https://github.com/tiberiusferreira/oxide-enzyme [INFO] finished tweaking git repo https://github.com/tiberiusferreira/oxide-enzyme [INFO] tweaked toml for git repo https://github.com/tiberiusferreira/oxide-enzyme written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tiberiusferreira/oxide-enzyme on toolchain 23647e694de8d0904848ad068b2e0ec2dd098c37 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tiberiusferreira/oxide-enzyme already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 68219b03a16496f67110690050202bcc5e76ca73d7e4abda81e64c62edc651f7 [INFO] running `Command { std: "docker" "start" "-a" "68219b03a16496f67110690050202bcc5e76ca73d7e4abda81e64c62edc651f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "68219b03a16496f67110690050202bcc5e76ca73d7e4abda81e64c62edc651f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68219b03a16496f67110690050202bcc5e76ca73d7e4abda81e64c62edc651f7", kill_on_drop: false }` [INFO] [stdout] 68219b03a16496f67110690050202bcc5e76ca73d7e4abda81e64c62edc651f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+23647e694de8d0904848ad068b2e0ec2dd098c37" "build" "--frozen" "--message-format=json" "--target" "wasm32-wasip1", kill_on_drop: false }` [INFO] [stdout] 59626f7446f0c6063769a94aec8adf392676ef8756e3c65147603df165b0939b [INFO] running `Command { std: "docker" "start" "-a" "59626f7446f0c6063769a94aec8adf392676ef8756e3c65147603df165b0939b", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.45 [INFO] [stderr] Compiling serde_derive v1.0.117 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling serde v1.0.117 [INFO] [stderr] Compiling serde_json v1.0.59 [INFO] [stderr] Compiling regex-syntax v0.6.21 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling aho-corasick v0.7.14 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling regex v1.4.2 [INFO] [stderr] Compiling oxide-enzyme v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | extern { [INFO] [stdout] | ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(missing_abi)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut input = vec![1., 2., 3., 4.]; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `type` are never read [INFO] [stdout] --> src/structs.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct DITemplateTypeParameter{ [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 112 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 113 | r#type: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DITemplateTypeParameter` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `types` is never read [INFO] [stdout] --> src/structs.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct DISubroutineType{ [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 118 | types: String [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DISubroutineType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `value` are never read [INFO] [stdout] --> src/structs.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub struct DIEnumerator{ [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 123 | name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 124 | value: String [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DIEnumerator` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `count` and `lower_bound` are never read [INFO] [stdout] --> src/structs.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 128 | pub struct DISubrange{ [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] 129 | count: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 130 | lower_bound: String [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DISubrange` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MultipleTagsTag` is never constructed [INFO] [stdout] --> src/structs.rs:270:12 [INFO] [stdout] | [INFO] [stdout] 270 | pub struct MultipleTagsTag{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let mut input_shadow = vec![1., 2., 3., 4.]; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | let mut weights = vec![1.; 4]; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let mut weights_shadow = vec![0.; 4]; [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut target = vec![0., 0., 1., 0.]; [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut target_shadow = vec![0., 0., 1., 0.]; [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/main.rs:144:9 [INFO] [stdout] | [INFO] [stdout] 144 | let mut input = vec![1., 2., 3., 4.]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_shadow` [INFO] [stdout] --> src/main.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 145 | let mut input_shadow = vec![1., 2., 3., 4.]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_shadow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `weights` [INFO] [stdout] --> src/main.rs:146:9 [INFO] [stdout] | [INFO] [stdout] 146 | let mut weights = vec![1.; 4]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weights` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `weights_shadow` [INFO] [stdout] --> src/main.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | let mut weights_shadow = vec![0.; 4]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_weights_shadow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/main.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | let mut target = vec![0., 0., 1., 0.]; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_shadow` [INFO] [stdout] --> src/main.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | let mut target_shadow = vec![0., 0., 1., 0.]; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_shadow` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ENZYME_CONST` is never used [INFO] [stdout] --> src/main.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const ENZYME_CONST: i128 = 1321523312; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `linear_layer` is never used [INFO] [stdout] --> src/main.rs:16:4 [INFO] [stdout] | [INFO] [stdout] 16 | fn linear_layer(tensor: &Tensor, weights: &Tensor) -> Tensor{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reduce_sum_layer` is never used [INFO] [stdout] --> src/main.rs:21:4 [INFO] [stdout] | [INFO] [stdout] 21 | fn reduce_sum_layer(tensor: &Tensor) -> f64{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `softmax` is never used [INFO] [stdout] --> src/main.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn softmax(tensor: &Tensor) -> Tensor{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dummy_nn_with_loss` is never used [INFO] [stdout] --> src/main.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn dummy_nn_with_loss(input: *mut f64, input_len: usize, linear_weights: *mut f64, linear_weights_len: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dummy_nn` is never used [INFO] [stdout] --> src/main.rs:81:4 [INFO] [stdout] | [INFO] [stdout] 81 | fn dummy_nn(input: *mut f64, input_len: usize, linear_weights: *mut f64, linear_weights_len: usize) -> Tensor{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `shape` is never read [INFO] [stdout] --> src/main.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 111 | struct Tensor{ [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 112 | data: Vec, [INFO] [stdout] 113 | shape: [usize; 2] [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Tensor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply` is never used [INFO] [stdout] --> src/main.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn multiply(left: &Tensor, right: &Tensor) -> Tensor [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: direct cast of function item into an integer [INFO] [stdout] --> src/main.rs:178:47 [INFO] [stdout] | [INFO] [stdout] 178 | __enzyme_autodiff(dummy_nn_tensor as usize, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(function_casts_as_integer)]` on by default [INFO] [stdout] help: first cast to a pointer `as *const ()` [INFO] [stdout] | [INFO] [stdout] 178 | __enzyme_autodiff(dummy_nn_tensor as *const () as usize, [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `rust-lld` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "rust-lld" "-flavor" "wasm" "--export" "__main_void" "-z" "stack-size=1048576" "--stack-first" "--no-demangle" "/lib/rustlib/wasm32-wasip1/lib/self-contained/crt1-command.o" "<2 object files omitted>" "/lib/rustlib/wasm32-wasip1/lib/{libpanic_abort-*,libstd-*,libwasi-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*}.rlib" "-l" "c" "/lib/rustlib/wasm32-wasip1/lib/{librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-L" "/lib/rustlib/wasm32-wasip1/lib/self-contained" "-o" "/opt/rustwide/target/wasm32-wasip1/debug/deps/oxide_enzyme-89aa421624730de9.wasm" "--gc-sections" "-O0" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/oxide_enzyme-89aa421624730de9.oxide_enzyme.e7f8f3ee397c1e5c-cgu.0.rcgu.o: undefined symbol: __enzyme_float [INFO] [stdout] rust-lld: error: /opt/rustwide/target/wasm32-wasip1/debug/deps/oxide_enzyme-89aa421624730de9.oxide_enzyme.e7f8f3ee397c1e5c-cgu.0.rcgu.o: undefined symbol: __enzyme_autodiff [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `oxide-enzyme` (bin "oxide_enzyme") due to 1 previous error; 22 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "59626f7446f0c6063769a94aec8adf392676ef8756e3c65147603df165b0939b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "59626f7446f0c6063769a94aec8adf392676ef8756e3c65147603df165b0939b", kill_on_drop: false }` [INFO] [stdout] 59626f7446f0c6063769a94aec8adf392676ef8756e3c65147603df165b0939b