[INFO] fetching crate tract-nnef 0.12.1... [INFO] testing tract-nnef-0.12.1 against beta-2021-01-01 for beta-1.50-1 [INFO] extracting crate tract-nnef 0.12.1 into /workspace/builds/worker-8/source [INFO] validating manifest of crates.io crate tract-nnef 0.12.1 on toolchain beta-2021-01-01 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking crates.io crate tract-nnef 0.12.1 [INFO] finished tweaking crates.io crate tract-nnef 0.12.1 [INFO] tweaked toml for crates.io crate tract-nnef 0.12.1 written to /workspace/builds/worker-8/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-01-01" "fetch" "--locked" "--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-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5e50cd77f4a32ea3f6d25777395d58296c3afa0e227f0e581d03459924d98c73 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "5e50cd77f4a32ea3f6d25777395d58296c3afa0e227f0e581d03459924d98c73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5e50cd77f4a32ea3f6d25777395d58296c3afa0e227f0e581d03459924d98c73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5e50cd77f4a32ea3f6d25777395d58296c3afa0e227f0e581d03459924d98c73", kill_on_drop: false }` [INFO] [stdout] 5e50cd77f4a32ea3f6d25777395d58296c3afa0e227f0e581d03459924d98c73 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f2f1acf3febde1333b1c52212db439d5746f5224b611045243bd2959a5c067ce [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f2f1acf3febde1333b1c52212db439d5746f5224b611045243bd2959a5c067ce", kill_on_drop: false }` [INFO] [stderr] Compiling ndarray v0.13.0 [INFO] [stderr] Compiling downcast-rs v1.2.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling num-bigint v0.3.1 [INFO] [stderr] Compiling itertools v0.8.2 [INFO] [stderr] Compiling proc-quote-impl v0.3.2 [INFO] [stderr] Compiling xattr v0.2.2 [INFO] [stderr] Compiling derive-new v0.5.8 [INFO] [stderr] Compiling kstring v1.0.0 [INFO] [stderr] Compiling tar v0.4.30 [INFO] [stderr] Compiling proc-quote v0.3.2 [INFO] [stderr] Compiling liquid-derive v0.21.0 [INFO] [stderr] Compiling num-complex v0.2.4 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling liquid-core v0.21.2 [INFO] [stderr] Compiling enum-ordinalize v3.1.8 [INFO] [stderr] Compiling educe v0.4.11 [INFO] [stderr] Compiling liquid-lib v0.21.1 [INFO] [stderr] Compiling liquid v0.21.4 [INFO] [stderr] Compiling tract-data v0.12.1 [INFO] [stderr] Compiling tract-linalg v0.12.1 [INFO] [stderr] Compiling tract-core v0.12.1 [INFO] [stderr] Compiling tract-nnef v0.12.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 13s [INFO] running `Command { std: "docker" "inspect" "f2f1acf3febde1333b1c52212db439d5746f5224b611045243bd2959a5c067ce", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f2f1acf3febde1333b1c52212db439d5746f5224b611045243bd2959a5c067ce", kill_on_drop: false }` [INFO] [stdout] f2f1acf3febde1333b1c52212db439d5746f5224b611045243bd2959a5c067ce [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c503e1b6c2e806208a1cd8447a1f573eddc6c54be18201985df298354336bd9e [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "c503e1b6c2e806208a1cd8447a1f573eddc6c54be18201985df298354336bd9e", kill_on_drop: false }` [INFO] [stderr] Compiling tract-nnef v0.12.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 12.69s [INFO] running `Command { std: "docker" "inspect" "c503e1b6c2e806208a1cd8447a1f573eddc6c54be18201985df298354336bd9e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c503e1b6c2e806208a1cd8447a1f573eddc6c54be18201985df298354336bd9e", kill_on_drop: false }` [INFO] [stdout] c503e1b6c2e806208a1cd8447a1f573eddc6c54be18201985df298354336bd9e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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=warn" "-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" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-01-01" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 98cf90747fe86230a038bf11b04a65b6ddeb1e46d18903cc047757f74e64f09c [INFO] running `Command { std: "docker" "start" "-a" "98cf90747fe86230a038bf11b04a65b6ddeb1e46d18903cc047757f74e64f09c", kill_on_drop: false }` [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/tract_nnef-af889ee0a33771f9 [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test ast::parse::test::test_document ... ok [INFO] [stdout] test ast::parse::test::test_arguments ... ok [INFO] [stdout] test ast::parse::test::test_fragment_decl_fizz ... ok [INFO] [stdout] test ast::parse::test::test_fragment_decl_external ... ok [INFO] [stdout] test ast::parse::test::test_freeze ... ignored [INFO] [stdout] test ast::parse::test::test_fragment_conv ... ok [INFO] [stdout] test ast::parse::test::test_body ... ok [INFO] [stdout] test ast::parse::test::test_fragment_reshape ... ok [INFO] [stdout] test ast::parse::test::test_graph_def ... ok [INFO] [stdout] test ast::parse::test::test_batch_normalization ... ok [INFO] [stdout] test ast::parse::test::test_fragment_decl_logarithmic_quantize ... ok [INFO] [stdout] test ast::parse::test::test_comprehenion ... ok [INFO] [stdout] test ast::parse::test::test_identifier ... ok [INFO] [stdout] test ast::parse::test::test_invocation ... ok [INFO] [stdout] test ast::parse::test::test_lvalue ... ok [INFO] [stdout] test ast::parse::test::test_fragments ... ok [INFO] [stdout] test ast::parse::test::test_spaced ... ok [INFO] [stdout] test ast::parse::test::test_version ... ok [INFO] [stdout] test ast::parse::test::test_spacing ... ok [INFO] [stdout] test tensors::test::header_is_128_bytes ... ok [INFO] [stdout] test ast::parse::test::test_string ... ok [INFO] [stdout] test ast::parse::test::test_numeric ... ok [INFO] [stdout] test ast::parse::test::test_fragment_local_response_normalization ... ok [INFO] [stdout] test ast::parse::test::test_type_spec ... ok [INFO] [stdout] test ast::parse::test::test_avg_roi_align ... ok [INFO] [stdout] test ast::parse::test::test_rvalue ... ok [INFO] [stdout] test ast::parse::test::test_min_max_linear_quantize ... ok [INFO] [stdout] test ast::parse::test::test_assignment ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 27 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.38s [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/parse-2878902881759918 [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test parse_stdlib ... ok [INFO] [stdout] test parse_alexnet ... ok [INFO] [stdout] test parse_dump_parse_alexnet ... ok [INFO] [stdout] test parse_dump_parse_stdlib ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- parse_dump_parse_stdlib stdout ---- [INFO] [stdout] fragment abs( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment add( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment add_n( [INFO] [stdout] x: tensor[] [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (x[0] + add_n(x[1:])) if (length_of(x) > 0) else constant(shape = [1], value = [0.0]); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment all_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment and( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment any_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment area_downsample( [INFO] [stdout] input: tensor, [INFO] [stdout] factor: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] dims = (2 + length_of(factor)); [INFO] [stdout] output = box(input, size = ([1, 1] + factor), stride = ([1, 1] + factor), padding = ([(0, 0)] * dims), normalize = true); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment argmax_pool( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [] [INFO] [stdout] ) -> (index: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment argmax_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment argmin_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment avg_pool( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] output = box(input, size = size, border = border, padding = padding, stride = stride, dilation = dilation, normalize = true); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment avg_roi_align( [INFO] [stdout] input: tensor, [INFO] [stdout] rois: tensor, [INFO] [stdout] batch_index: tensor, [INFO] [stdout] output_size: integer[], [INFO] [stdout] sampling_rate: integer[], [INFO] [stdout] resize_method: string = "symmetric" [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] size = [ fori in range_of(output_size) yield (output_size[i] * sampling_rate[i])]; [INFO] [stdout] resized = roi_resample(input, rois, batch_index, output_size = size, method = resize_method); [INFO] [stdout] output = avg_pool(resized, size = sampling_rate, stride = sampling_rate); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment avg_roi_pool( [INFO] [stdout] input: tensor, [INFO] [stdout] rois: tensor, [INFO] [stdout] batch_index: tensor, [INFO] [stdout] output_size: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment batch_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] mean: tensor, [INFO] [stdout] variance: tensor, [INFO] [stdout] offset: tensor, [INFO] [stdout] scale: tensor, [INFO] [stdout] epsilon: scalar [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] output = (offset + ((scale * (input - mean)) / sqrt((variance + epsilon)))); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment box( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] normalize: logical = false [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment ceil( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment clamp( [INFO] [stdout] x: tensor, [INFO] [stdout] a: tensor, [INFO] [stdout] b: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = max(min(x, b), a); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment concat( [INFO] [stdout] values: tensor[], [INFO] [stdout] axis: integer [INFO] [stdout] ) -> (value: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment constant( [INFO] [stdout] shape: integer[], [INFO] [stdout] value: ?[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment conv( [INFO] [stdout] input: tensor, [INFO] [stdout] filter: tensor, [INFO] [stdout] bias: tensor = 0.0, [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] groups: integer = 1 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment copy( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment copy_n( [INFO] [stdout] x: tensor, [INFO] [stdout] times: integer [INFO] [stdout] ) -> (y: tensor[]) [INFO] [stdout] { [INFO] [stdout] y = ([x] * times); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment cos( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment debox( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] output_shape: integer[] = [], [INFO] [stdout] normalize: logical = false [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment deconv( [INFO] [stdout] input: tensor, [INFO] [stdout] filter: tensor, [INFO] [stdout] bias: tensor = 0.0, [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] output_shape: integer[] = [], [INFO] [stdout] groups: integer = 1 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment desample( [INFO] [stdout] input: tensor, [INFO] [stdout] index: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] output_shape: integer[] = [] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment div( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment elu( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = select((x < 0.0), (exp(x) - 1.0), x); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment eq( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment exp( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment external( [INFO] [stdout] shape: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment floor( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment ge( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment gt( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment l1_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[], [INFO] [stdout] bias: scalar = 0.0, [INFO] [stdout] epsilon: scalar = 0.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] sigma = sum_reduce(abs(input), axes = axes); [INFO] [stdout] output = (input / max((sigma + bias), epsilon)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment l2_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[], [INFO] [stdout] bias: scalar = 0.0, [INFO] [stdout] epsilon: scalar = 0.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] sigma = sqrt(sum_reduce(sqr(input), axes = axes)); [INFO] [stdout] output = (input / max((sigma + bias), epsilon)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment le( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment leaky_relu( [INFO] [stdout] x: tensor, [INFO] [stdout] alpha: scalar [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = prelu(x, alpha = alpha); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment linear( [INFO] [stdout] input: tensor, [INFO] [stdout] filter: tensor, [INFO] [stdout] bias: tensor = 0.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] output = (matmul(input, filter, transposeB = true) + bias); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment linear_quantize( [INFO] [stdout] x: tensor, [INFO] [stdout] min: tensor, [INFO] [stdout] max: tensor, [INFO] [stdout] bits: integer [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = min_max_linear_quantize(x, min = min, max = max, bits = bits, signed = false, symmetric = false); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment local_contrast_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] bias: scalar = 0.0, [INFO] [stdout] epsilon: scalar = 0.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] centered = local_mean_normalization(input, size = size); [INFO] [stdout] output = local_variance_normalization(centered, size = size, bias = bias, epsilon = epsilon); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment local_mean_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] mean = box(input, size = size, normalize = true); [INFO] [stdout] output = sub(input, mean); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment local_response_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] alpha: scalar = 1.0, [INFO] [stdout] beta: scalar = 0.5, [INFO] [stdout] bias: scalar = 1.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] sigma = (bias + (alpha * box(sqr(input), size = size, normalize = true))); [INFO] [stdout] output = (input / (sigma ^ beta)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment local_variance_normalization( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] bias: scalar = 0.0, [INFO] [stdout] epsilon: scalar = 0.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] sigma = sqrt(box(sqr(input), size = size, normalize = true)); [INFO] [stdout] output = (input / max((sigma + bias), epsilon)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment log( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment log2( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (log(x) / log(2.0)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment logarithmic_quantize( [INFO] [stdout] x: tensor, [INFO] [stdout] max: tensor, [INFO] [stdout] bits: integer [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] m = ceil(log2(max)); [INFO] [stdout] r = scalar(((2 ^ bits) - 1)); [INFO] [stdout] q = round(clamp(log2(abs(x)), (m - r), m)); [INFO] [stdout] y = (sign(x) * (2.0 ^ q)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment lt( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment matmul( [INFO] [stdout] A: tensor, [INFO] [stdout] B: tensor, [INFO] [stdout] transposeA: logical = false, [INFO] [stdout] transposeB: logical = false [INFO] [stdout] ) -> (C: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment max( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] { [INFO] [stdout] z = select((x > y), x, y); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment max_pool( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] ( output, index ) = max_pool_with_index(input, size = size, border = border, padding = padding, stride = stride, dilation = dilation); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment max_pool_with_index( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [] [INFO] [stdout] ) -> (output: tensor, index: tensor) [INFO] [stdout] { [INFO] [stdout] index = argmax_pool(input, size = size, border = border, padding = padding, stride = stride, dilation = dilation); [INFO] [stdout] output = sample(input, index, size = size, border = border, padding = padding, stride = stride, dilation = dilation); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment max_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment max_roi_align( [INFO] [stdout] input: tensor, [INFO] [stdout] rois: tensor, [INFO] [stdout] batch_index: tensor, [INFO] [stdout] output_size: integer[], [INFO] [stdout] sampling_rate: integer[], [INFO] [stdout] resize_method: string = "symmetric" [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] size = [ fori in range_of(output_size) yield (output_size[i] * sampling_rate[i])]; [INFO] [stdout] resized = roi_resample(input, rois, batch_index, output_size = size, method = resize_method); [INFO] [stdout] output = max_pool(resized, size = sampling_rate, stride = sampling_rate); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment max_roi_pool( [INFO] [stdout] input: tensor, [INFO] [stdout] rois: tensor, [INFO] [stdout] batch_index: tensor, [INFO] [stdout] output_size: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment mean_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] output = sum_reduce(input, axes = axes, normalize = true); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment min( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] { [INFO] [stdout] z = select((x < y), x, y); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment min_max_linear_quantize( [INFO] [stdout] x: tensor, [INFO] [stdout] min: tensor, [INFO] [stdout] max: tensor, [INFO] [stdout] bits: integer, [INFO] [stdout] signed: logical, [INFO] [stdout] symmetric: logical [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] r = scalar((((2 ^ bits) - 1) - integer((signed && symmetric)))); [INFO] [stdout] z = clamp(x, min, max); [INFO] [stdout] p = scalar(((2 ^ (bits - 1)) - integer(symmetric)) if signed else 0); [INFO] [stdout] q = (round((((z - min) / (max - min)) * r)) - p); [INFO] [stdout] y = ((((q + p) / r) * (max - min)) + min); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment min_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment moments( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (mean: tensor, variance: tensor) [INFO] [stdout] { [INFO] [stdout] mean = mean_reduce(input, axes = axes); [INFO] [stdout] variance = mean_reduce(sqr((input - mean)), axes = axes); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment mul( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment multilinear_upsample( [INFO] [stdout] input: tensor, [INFO] [stdout] factor: integer[], [INFO] [stdout] method: string = "symmetric", [INFO] [stdout] border: string = "replicate" [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment ne( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment nearest_downsample( [INFO] [stdout] input: tensor, [INFO] [stdout] factor: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] dims = (2 + length_of(factor)); [INFO] [stdout] output = box(input, size = ([1] * dims), stride = ([1, 1] + factor), padding = ([(0, 0)] * dims)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment nearest_upsample( [INFO] [stdout] input: tensor, [INFO] [stdout] factor: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] dims = (2 + length_of(factor)); [INFO] [stdout] output = debox(input, size = ([1, 1] + factor), stride = ([1, 1] + factor), padding = ([(0, 0)] * dims)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment neg( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment not( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment or( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment pad( [INFO] [stdout] input: tensor, [INFO] [stdout] padding: (integer, integer)[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] value: scalar = 0.0 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment pow( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment prelu( [INFO] [stdout] x: tensor, [INFO] [stdout] alpha: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = select((x < 0.0), (alpha * x), x); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment rcp( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment relu( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = max(x, 0.0); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment reshape( [INFO] [stdout] input: tensor, [INFO] [stdout] shape: integer[], [INFO] [stdout] axis_start: integer = 0, [INFO] [stdout] axis_count: integer = -1 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment rms_pool( [INFO] [stdout] input: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] output = sqrt(avg_pool(sqr(input), size = size, border = border, padding = padding, stride = stride, dilation = dilation)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment roi_resample( [INFO] [stdout] input: tensor, [INFO] [stdout] rois: tensor, [INFO] [stdout] batch_index: tensor, [INFO] [stdout] output_size: integer[], [INFO] [stdout] method: string = "symmetric" [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment round( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment rsqr( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (x ^ -2.0); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment rsqrt( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (x ^ -0.5); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment sample( [INFO] [stdout] input: tensor, [INFO] [stdout] index: tensor, [INFO] [stdout] size: integer[], [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment select( [INFO] [stdout] condition: tensor, [INFO] [stdout] true_value: tensor, [INFO] [stdout] false_value: tensor [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment separable_conv( [INFO] [stdout] input: tensor, [INFO] [stdout] plane_filter: tensor, [INFO] [stdout] point_filter: tensor, [INFO] [stdout] bias: tensor = 0.0, [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] groups: integer = 1 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] filtered = conv(input, plane_filter, border = border, padding = padding, stride = stride, dilation = dilation, groups = 0); [INFO] [stdout] output = conv(filtered, point_filter, bias, groups = groups); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment separable_deconv( [INFO] [stdout] input: tensor, [INFO] [stdout] plane_filter: tensor, [INFO] [stdout] point_filter: tensor, [INFO] [stdout] bias: tensor = 0.0, [INFO] [stdout] border: string = "constant", [INFO] [stdout] padding: (integer, integer)[] = [], [INFO] [stdout] stride: integer[] = [], [INFO] [stdout] dilation: integer[] = [], [INFO] [stdout] output_shape: integer[] = [], [INFO] [stdout] groups: integer = 1 [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] { [INFO] [stdout] filtered = deconv(input, point_filter, groups = groups); [INFO] [stdout] output = deconv(filtered, plane_filter, bias, border = border, padding = padding, stride = stride, dilation = dilation, output_shape = output_shape, groups = 0); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment sigmoid( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (1.0 / (1.0 + exp(-x))); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment sign( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment sin( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment slice( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[], [INFO] [stdout] begin: integer[], [INFO] [stdout] end: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment softabs( [INFO] [stdout] x: tensor, [INFO] [stdout] epsilon: scalar [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = sqrt((sqr(x) + epsilon)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment softmax( [INFO] [stdout] x: tensor, [INFO] [stdout] axes: integer[] = [1] [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] m = max_reduce(x, axes = axes); [INFO] [stdout] e = exp((x - m)); [INFO] [stdout] y = (e / sum_reduce(e, axes = axes)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment softplus( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = log((exp(x) + 1.0)); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment split( [INFO] [stdout] value: tensor, [INFO] [stdout] axis: integer, [INFO] [stdout] ratios: integer[] [INFO] [stdout] ) -> (values: tensor[]) [INFO] [stdout] ; [INFO] [stdout] fragment sqr( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (x ^ 2.0); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment sqrt( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = (x ^ 0.5); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment squeeze( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment stack( [INFO] [stdout] values: tensor[], [INFO] [stdout] axis: integer [INFO] [stdout] ) -> (value: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment sub( [INFO] [stdout] x: tensor, [INFO] [stdout] y: tensor [INFO] [stdout] ) -> (z: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment sum_reduce( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[], [INFO] [stdout] normalize: logical = false [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment tanh( [INFO] [stdout] x: tensor [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] y = ((exp(x) - exp(-x)) / (exp(x) + exp(-x))); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] fragment tile( [INFO] [stdout] input: tensor, [INFO] [stdout] repeats: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment transpose( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment unsqueeze( [INFO] [stdout] input: tensor, [INFO] [stdout] axes: integer[] [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment unstack( [INFO] [stdout] value: tensor, [INFO] [stdout] axis: integer [INFO] [stdout] ) -> (values: tensor[]) [INFO] [stdout] ; [INFO] [stdout] fragment update( [INFO] [stdout] variable: tensor, [INFO] [stdout] value: tensor [INFO] [stdout] ) -> (result: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment variable( [INFO] [stdout] shape: integer[], [INFO] [stdout] label: string [INFO] [stdout] ) -> (output: tensor) [INFO] [stdout] ; [INFO] [stdout] fragment zero_point_linear_quantize( [INFO] [stdout] x: tensor, [INFO] [stdout] zero_point: integer, [INFO] [stdout] scale: scalar, [INFO] [stdout] bits: integer, [INFO] [stdout] signed: logical, [INFO] [stdout] symmetric: logical [INFO] [stdout] ) -> (y: tensor) [INFO] [stdout] { [INFO] [stdout] z = (round((x / scale)) + scalar(zero_point)); [INFO] [stdout] r = scalar(((2 ^ (bits - 1)) - 1) if signed else ((2 ^ bits) - 1)); [INFO] [stdout] q = clamp(z, 0.0 if !signed else -r if symmetric else -(r - 1.0), r); [INFO] [stdout] y = ((q - scalar(zero_point)) * scale); [INFO] [stdout] } [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] thread 'parse_dump_parse_stdlib' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `FragmentDef { decl: FragmentDecl { id: "external", generic_decl: Some(Some(Scalar)), parameters: [Parameter { id: "shape", spec: Array(Single(Integer)), lit: None }], results: [Result_ { id: "output", spec: Tensor(Any) }] }, body: None }`, [INFO] [stdout] right: `FragmentDef { decl: FragmentDecl { id: "abs", generic_decl: None, parameters: [Parameter { id: "x", spec: Tensor(Scalar), lit: None }], results: [Result_ { id: "y", spec: Tensor(Scalar) }] }, body: None }`', tests/parse.rs:42:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x563d595c17c7 - std::backtrace_rs::backtrace::libunwind::trace::hcd6e187547b8deec [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x563d595c17c7 - std::backtrace_rs::backtrace::trace_unsynchronized::hde10036eb783fbc7 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x563d595c17c7 - std::sys_common::backtrace::_print_fmt::h63987b8f86dfc82a [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x563d595c17c7 - ::fmt::hc33f3ac4cc9c4196 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x563d595e197c - core::fmt::write::hfdcdeb08fb2b3afa [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/fmt/mod.rs:1078:17 [INFO] [stdout] 5: 0x563d595bdc42 - std::io::Write::write_fmt::h28c53dc51251a293 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/io/mod.rs:1519:15 [INFO] [stdout] 6: 0x563d595c3a75 - std::sys_common::backtrace::_print::hf179508b01f66878 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x563d595c3a75 - std::sys_common::backtrace::print::ha97d11adb39266a6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x563d595c3a75 - std::panicking::default_hook::{{closure}}::h8da9985a98bd1582 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x563d595c3602 - std::panicking::default_hook::hbc0ee792993c2ef2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x563d595c4211 - std::panicking::rust_panic_with_hook::h9fb9cda33a10f084 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:591:17 [INFO] [stdout] 11: 0x563d595c3d57 - std::panicking::begin_panic_handler::{{closure}}::hf3e83396e085962e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:497:13 [INFO] [stdout] 12: 0x563d595c1c8c - std::sys_common::backtrace::__rust_end_short_backtrace::hac151ac4c1e3252d [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x563d595c3cb9 - rust_begin_unwind [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:493:5 [INFO] [stdout] 14: 0x563d595e0331 - core::panicking::panic_fmt::hf6d8a92b065b8f97 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x563d594af0f6 - parse::parse_dump_parse_stdlib::hbc0953947f3e75ee [INFO] [stdout] at /opt/rustwide/workdir/tests/parse.rs:42:9 [INFO] [stdout] 16: 0x563d594ae88a - parse::parse_dump_parse_stdlib::{{closure}}::h4d98147ff0a8f56f [INFO] [stdout] at /opt/rustwide/workdir/tests/parse.rs:30:1 [INFO] [stdout] 17: 0x563d594b141e - core::ops::function::FnOnce::call_once::h164088099aacfe61 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 18: 0x563d594db483 - core::ops::function::FnOnce::call_once::ha61d5393ae51ae22 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 19: 0x563d594db483 - test::__rust_begin_short_backtrace::h4a8691b5281c1f3b [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:516:5 [INFO] [stdout] 20: 0x563d594d9d76 - as core::ops::function::FnOnce>::call_once::hd25ba61494055ad3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 21: 0x563d594d9d76 - as core::ops::function::FnOnce<()>>::call_once::h052fde7b846767ba [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 22: 0x563d594d9d76 - std::panicking::try::do_call::h04571a1da6838ba1 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 23: 0x563d594d9d76 - std::panicking::try::h758f090614125cbe [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 24: 0x563d594d9d76 - std::panic::catch_unwind::h0c48513d5a021d3c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 25: 0x563d594d9d76 - test::run_test_in_process::hee75babaaac3822f [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:538:18 [INFO] [stdout] 26: 0x563d594d9d76 - test::run_test::run_test_inner::{{closure}}::h2920dea75d7f0c1e [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/test/src/lib.rs:449:39 [INFO] [stdout] 27: 0x563d594b2086 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha23dff608830db13 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 28: 0x563d594b6e1d - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::hacce322dead3a799 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:474:17 [INFO] [stdout] 29: 0x563d594b6e1d - as core::ops::function::FnOnce<()>>::call_once::h4f0bc9c26ead0a27 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:322:9 [INFO] [stdout] 30: 0x563d594b6e1d - std::panicking::try::do_call::h1b9f282fb0c383b3 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:379:40 [INFO] [stdout] 31: 0x563d594b6e1d - std::panicking::try::hed1ebed51b133ee4 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panicking.rs:343:19 [INFO] [stdout] 32: 0x563d594b6e1d - std::panic::catch_unwind::h072a2b19fd39a474 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/panic.rs:396:14 [INFO] [stdout] 33: 0x563d594b6e1d - std::thread::Builder::spawn_unchecked::{{closure}}::hb02c6b2d3ff18bc2 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/thread/mod.rs:473:30 [INFO] [stdout] 34: 0x563d594b6e1d - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb512c5d27b4adb83 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 35: 0x563d595c9d6a - as core::ops::function::FnOnce>::call_once::hdbb9ff71143eaad6 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 36: 0x563d595c9d6a - as core::ops::function::FnOnce>::call_once::h9dbde95cefb8368c [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/alloc/src/boxed.rs:1328:9 [INFO] [stdout] 37: 0x563d595c9d6a - std::sys::unix::thread::Thread::new::thread_start::hc76032c38affd972 [INFO] [stdout] at /rustc/25b3db3aa752d9d4633c983c9d4bf5e48f9baff1/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 38: 0x7f80ab3c1609 - start_thread [INFO] [stdout] 39: 0x7f80ab193293 - clone [INFO] [stdout] 40: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] parse_dump_parse_stdlib [INFO] [stdout] [INFO] [stdout] test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.54s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--test parse' [INFO] running `Command { std: "docker" "inspect" "98cf90747fe86230a038bf11b04a65b6ddeb1e46d18903cc047757f74e64f09c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98cf90747fe86230a038bf11b04a65b6ddeb1e46d18903cc047757f74e64f09c", kill_on_drop: false }` [INFO] [stdout] 98cf90747fe86230a038bf11b04a65b6ddeb1e46d18903cc047757f74e64f09c