[INFO] cloning repository https://github.com/ukyi-app/files
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ukyi-app/files" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fukyi-app%2Ffiles", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fukyi-app%2Ffiles'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b392fd6f8e6016818756be565577f60bede9862f
[INFO] testing ukyi-app/files against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fukyi-app%2Ffiles" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/ukyi-app/files
[INFO] finished tweaking git repo https://github.com/ukyi-app/files
[INFO] tweaked toml for git repo https://github.com/ukyi-app/files written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ukyi-app/files on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ukyi-app/files 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f
[INFO] running `Command { std: "docker" "start" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling anyhow v1.0.103
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling utoipa-gen v5.5.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling time v0.3.52
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling utoipa v5.5.0
[INFO] [stderr]    Compiling files v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `mime_guess`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | mime_guess = "2"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `mime_guess`
[INFO] [stderr] warning: unused dependency `tower-http`
[INFO] [stderr]   --> Cargo.toml:41:15
[INFO] [stderr]    |
[INFO] [stderr] 41 | [dependencies.tower-http]
[INFO] [stderr]    |               ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tower-http`
[INFO] [stderr] warning: `files` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 09s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling utoipa-gen v5.5.0
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling utoipa v5.5.0
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling files v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `mime_guess`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | mime_guess = "2"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `mime_guess`
[INFO] [stderr] warning: `files` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 08s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `mime_guess`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | mime_guess = "2"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `mime_guess`
[INFO] [stderr] warning: `files` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.16s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/files/90d60fba38342522/out/files-90d60fba38342522)
[INFO] [stdout] 
[INFO] [stdout] running 142 tests
[INFO] [stdout] test capacity::tests::overcommit_prevented_then_freed ... ok
[INFO] [stdout] test auth::tests::camelcase_fixture_scoped_read_write ... ok
[INFO] [stdout] test auth::tests::malformed_keys_file_errors ... ok
[INFO] [stdout] test auth::tests::missing_scopes_default_to_empty ... ok
[INFO] [stdout] test capacity::tests::rejects_when_would_breach_min_free ... ok
[INFO] [stdout] test capacity::tests::reservation_accounting_and_raii_release ... ok
[INFO] [stdout] test clock::tests::now_is_parseable_rfc3339 ... ok
[INFO] [stdout] test config::tests::missing_required_errors ... ok
[INFO] [stdout] test config::tests::parses_defaults_with_required ... ok
[INFO] [stdout] test capacity::tests::free_bytes_reports_positive_for_real_dir ... ok
[INFO] [stdout] test config::tests::validate_requires_upload_timeout_below_grace ... ok
[INFO] [stdout] test error::tests::code_mapping ... ok
[INFO] [stdout] test error::tests::status_mapping ... ok
[INFO] [stdout] test http::internal::tests::healthz_ok ... ok
[INFO] [stdout] test http::internal::tests::create_reserved_bucket_400 ... ok
[INFO] [stdout] test http::internal::tests::create_bucket_non_admin_403 ... ok
[INFO] [stdout] test http::internal::tests::put_without_write_scope_403 ... ok
[INFO] [stdout] test http::internal::tests::get_missing_404 ... ok
[INFO] [stdout] test http::internal::tests::readyz_503_when_unwritable ... ok
[INFO] [stdout] test http::public::tests::every_reserved_bucket_has_a_shadow_route ... ok
[INFO] [stdout] test http::public::tests::every_shadow_route_names_a_reserved_bucket ... ok
[INFO] [stdout] test http::internal::tests::readyz_ok_when_writable ... ok
[INFO] [stdout] test http::internal::tests::create_bucket_admin_then_list ... ok
[INFO] [stdout] test http::internal::tests::head_returns_metadata_headers ... ok
[INFO] [stdout] test http::internal::tests::delete_then_get_404 ... ok
[INFO] [stdout] test http::internal::tests::put_creates_201_then_get_roundtrip ... ok
[INFO] [stdout] test http::public::tests::reserved_bucket_names_cannot_be_created ... ok
[INFO] [stdout] test http::internal::tests::list_files_returns_entries ... ok
[INFO] [stdout] test http::ranged::tests::full_200_with_etag_and_length ... ok
[INFO] [stdout] test http::ranged::tests::if_none_match_304 ... ok
[INFO] [stdout] test http::ranged::tests::open_ended_range_206 ... ok
[INFO] [stdout] test http::ranged::tests::partial_206_closed_range ... ok
[INFO] [stdout] test http::ranged::tests::suffix_range_206 ... ok
[INFO] [stdout] test http::ranged::tests::unknown_unit_ignored_full_200 ... ok
[INFO] [stdout] test http::ranged::tests::unsatisfiable_416 ... ok
[INFO] [stdout] test http::tests::bad_bearer_is_401 ... ok
[INFO] [stdout] test http::tests::build_state_creates_objects_dir_and_loads_keys ... ok
[INFO] [stdout] test http::tests::good_bearer_is_200 ... ok
[INFO] [stdout] test http::tests::missing_bearer_is_401 ... ok
[INFO] [stdout] test layout::tests::bucket_rules ... ok
[INFO] [stdout] test layout::tests::classify_objects_entry_table ... ok
[INFO] [stdout] test layout::tests::grave_name_round_trips ... ok
[INFO] [stdout] test layout::tests::hidden_and_control_chars_rejected ... ok
[INFO] [stdout] test layout::tests::making_methods_author_expected_paths ... ok
[INFO] [stdout] test layout::tests::meta_path_appends_suffix ... ok
[INFO] [stdout] test layout::tests::pointers_all_skips_objects_and_covers_buckets ... ok
[INFO] [stdout] test layout::tests::reserved_suffixes_rejected ... ok
[INFO] [stdout] test layout::tests::safe_object_path_stays_under_root ... ok
[INFO] [stdout] test layout::tests::temp_name_authors_prefix ... ok
[INFO] [stdout] test layout::tests::traversal_and_malformed_keys_rejected ... ok
[INFO] [stdout] test layout::tests::valid_keys_accepted ... ok
[INFO] [stdout] test layout::tests::walker_rejects_reserved_bucket_and_empty_on_absent ... ok
[INFO] [stdout] test layout::tests::walker_round_trips_meta_for ... ok
[INFO] [stdout] test http::public::tests::internal_bucket_not_served_publicly_404 ... ok
[INFO] [stdout] test meta::tests::bucket_meta_roundtrip_camel_case ... ok
[INFO] [stdout] test meta::tests::object_meta_roundtrip_camel_case ... ok
[INFO] [stdout] test meta::tests::visibility_lowercase ... ok
[INFO] [stdout] test http::public::tests::missing_object_404 ... ok
[INFO] [stdout] test http::public::tests::catalog_lists_public_only ... ok
[INFO] [stdout] test layout::tests::walker_yields_exactly_commit_pointers ... ok
[INFO] [stdout] test store::atomic::tests::write_atomic_is_cancellable_before_rename ... ok
[INFO] [stdout] test store::locks::tests::bucket_participates_in_lock_key ... ok
[INFO] [stdout] test store::locks::tests::busy_while_held_free_after_drop ... ok
[INFO] [stdout] test store::locks::tests::different_keys_independent ... ok
[INFO] [stdout] test store::atomic::tests::mkdir_p_durable_creates_nested_idempotent ... ok
[INFO] [stdout] test http::public::tests::no_method_reaches_api_surface_on_public ... ok
[INFO] [stdout] test http::public::tests::public_api_path_404 ... ok
[INFO] [stdout] test store::atomic::tests::write_atomic_overwrites ... ok
[INFO] [stdout] test store::atomic::tests::write_atomic_roundtrip_no_temp_residue ... ok
[INFO] [stdout] test http::public::tests::public_download_200_with_security_headers ... ok
[INFO] [stdout] test http::public::tests::reserved_route_shape_asymmetry_is_load_bearing ... ok
[INFO] [stdout] test store::pins::tests::drop_paths_survive_a_poisoned_registry_mutex ... ok
[INFO] [stdout] test store::pins::tests::commit_pointer_lands_and_releases_pin ... ok
[INFO] [stdout] test store::locks::tests::lock_serializes_same_key ... ok
[INFO] [stdout] test store::pins::tests::landed_trace_only_when_rename_returns_ok ... ok
[INFO] [stdout] test store::pins::tests::hooks_fire_on_production_put_path ... ok
[INFO] [stdout] test store::pins::tests::already_landed_at_grave_time_restores_without_waiting_for_the_cohort ... ok
[INFO] [stdout] test store::pins::tests::barrier_hooks_and_injected_clock_compose_in_one_witness ... ok
[INFO] [stdout] test store::pins::tests::grave_planted_by_a_crashed_process_is_recovered_on_restart ... ok
[INFO] [stdout] test store::pins::tests::failed_commit_does_not_protect_blob_from_gc ... ok
[INFO] [stdout] test store::pins::tests::log_witness::w_log_c_skip_path_emits_no_event_at_any_level ... ok
[INFO] [stdout] test store::pins::tests::log_witness::w_log_a_no_vanish_stream_is_identical ... ok
[INFO] [stdout] test store::pins::tests::log_witness::w_log_b_downstream_events_fire_after_the_pass_survives ... ok
[INFO] [stdout] test store::pins::tests::leaked_graved_token_leaves_a_grave_that_the_next_pass_recovers ... ok
[INFO] [stdout] test store::pins::tests::pin_ids_are_monotonic_and_independent ... ok
[INFO] [stdout] test store::pins::tests::pin_and_put_do_not_block_while_pass_is_live ... ok
[INFO] [stdout] test store::pins::tests::pass_cancelled_after_grave_leaves_it_for_the_next_pass_to_recover ... ok
[INFO] [stdout] test store::pins::tests::put_landing_between_pre_grave_and_grave_is_protected ... ok
[INFO] [stdout] test store::pins::tests::put_landing_during_reference_collection_is_protected ... ok
[INFO] [stdout] test store::pins::tests::log_witness::w_log_d_every_reachable_skip_arm_is_silent ... ok
[INFO] [stdout] test store::pins::tests::restore_failure_keeps_the_grave_and_never_unlinks_it ... ok
[INFO] [stdout] test store::pins::tests::restore_failure_makes_the_reconcile_pass_return_the_raw_io_error ... ok
[INFO] [stdout] test store::pins::tests::stage_failure_leaves_no_landed_trace ... ok
[INFO] [stdout] test store::pins::tests::store_clone_shares_pin_registry_but_new_does_not ... ok
[INFO] [stdout] test store::pins::tests::commit_holds_key_lock_until_rename_lands ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::a_dangling_blob_symlink_still_aborts_the_pass_exactly_like_today ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::container_destroyed_at_the_grave_rename_fails_the_pass_without_publishing_or_resurrecting ... ok
[INFO] [stdout] test store::pins::tests::caller_cancellation_mid_commit_still_protects_the_blob ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::container_destroyed_then_recreated_at_the_grave_rename_completes_with_empty_stats ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::grave_rename_ok_then_fsync_eacces_propagates_raw ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::container_guard_fires_after_the_loop_runs_to_completion ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::objects_container_destroyed_mid_pass_still_fails_the_pass_and_publishes_nothing ... ok
[INFO] [stdout] test store::pins::tests::landing_during_settle_wait_is_woken_by_the_landed_notification ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::tail_destruction_without_any_vanished_entry_stays_ok_like_today ... ok
[INFO] [stdout] test store::pins::tests::overlapping_failed_put_does_not_protect_the_blob ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::grave_source_vanished_during_park_lets_the_pass_finish ... ok
[INFO] [stdout] test store::pins::tests::vanished_container_witnesses::temp_only_container_destruction_still_fails_the_pass_and_publishes_nothing ... ok
[INFO] [stdout] test store::pins::tests::recover_graves_production_seam::phase_g_recover_graves_survives_vanishing_graves ... ok
[INFO] [stdout] test store::pins::tests::put_parked_after_observe_forces_cohort_wait_then_restore ... ok
[INFO] [stdout] test store::reconcile::absence::tests::absence_probe_eacces_is_not_absence ... ok
[INFO] [stdout] test store::reconcile::absence::tests::rename_ok_then_fsync_failure_propagates_raw ... ok
[INFO] [stdout] test store::reconcile::absence::tests::rename_with_absent_source_is_source_gone_and_counted ... ok
[INFO] [stdout] test store::reconcile::absence::tests::rename_with_dangling_source_symlink_is_done ... ok
[INFO] [stdout] test store::reconcile::absence::tests::rename_with_missing_destination_propagates_raw_notfound ... ok
[INFO] [stdout] test store::pins::tests::recover_graves_production_seam::recover_graves_production_seam_survives_vanished_graves ... ok
[INFO] [stdout] test store::reconcile::entry::tests::every_fs_method_reports_gone_after_the_entry_vanishes ... ok
[INFO] [stdout] test store::reconcile::entry::tests::seen_absorbs_only_confirmed_absence ... ok
[INFO] [stdout] test store::reconcile::tests::corrupt_blob_quarantined ... ok
[INFO] [stdout] test store::reconcile::tests::old_temp_deleted_recent_preserved ... ok
[INFO] [stdout] test store::reconcile::tests::recover_graves_skips_a_directory_that_is_named_like_a_grave ... ok
[INFO] [stdout] test store::reconcile::tests::recover_graves_adopts_the_grave_when_the_canonical_blob_is_rotten ... ok
[INFO] [stdout] test store::reconcile::tests::settle_timeout_derives_from_upload_timeout_and_is_monotonic ... ok
[INFO] [stdout] test store::reconcile::tests::referenced_nested_blob_survives ... ok
[INFO] [stdout] test store::reconcile::tests::unreferenced_old_blob_is_gced ... ok
[INFO] [stdout] test store::tests::bucket_meta_roundtrip ... ok
[INFO] [stdout] test store::reconcile::tests::unreferenced_recent_blob_preserved ... ok
[INFO] [stdout] test store::tests::delete_removes_pointer_idempotent ... ok
[INFO] [stdout] test store::tests::list_empty_bucket_is_ok ... ok
[INFO] [stdout] test store::tests::list_buckets_returns_those_with_bucket_json ... ok
[INFO] [stdout] test store::tests::meta_pointing_to_missing_blob_is_not_found ... ok
[INFO] [stdout] test store::tests::list_returns_serving_only_with_nested_keys ... ok
[INFO] [stdout] test store::tests::put_get_roundtrip_content_addressed ... ok
[INFO] [stdout] test store::tests::put_stream_heals_corrupt_blob ... ok
[INFO] [stdout] test store::tests::put_stream_roundtrip_large ... ok
[INFO] [stdout] test store::tests::put_stream_too_large_no_residue_not_committed ... ok
[INFO] [stdout] test store::tests::same_size_overwrite_is_self_consistent ... ok
[INFO] [stdout] test store::pins::tests::vanished_temp_regression::reconcile_pass_survives_a_temp_that_vanishes_after_the_snapshot ... ok
[INFO] [stdout] test store::pins::tests::vanished_temp_regression::reconcile_pass_control_without_a_vanishing_temp_is_green ... ok
[INFO] [stdout] test store::pins::tests::vanished_entry_regression::reconcile_pass_survives_an_entry_that_vanishes_after_the_snapshot ... ok
[INFO] [stdout] test store::pins::tests::vanished_entry_regression::reconcile_pass_control_without_vanishing_entries_is_green ... ok
[INFO] [stdout] test store::pins::tests::wedged_commit_keeps_key_unwritable_and_says_so_loudly ... ok
[INFO] [stdout] test store::pins::tests::stuck_pin_defers_reclamation_but_never_stalls_the_pass ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 142 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.77s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/files/787dc7b70ff4c6f5/out/files-787dc7b70ff4c6f5)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/adversarial.rs (/opt/rustwide/target/release/build/files/5905602a90b049b1/out/adversarial-5905602a90b049b1)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test reserved_suffix_keys_rejected_at_runtime ... ok
[INFO] [stdout] test upload_rejected_507_no_temp_residue_existing_intact ... ok
[INFO] [stdout] test download_content_type_is_stored_type_and_206_has_all_headers ... ok
[INFO] [stdout] test internal_object_reads_are_no_store_and_vary_authorization ... ok
[INFO] [stdout] test query_key_decoding_and_validation_contract ... ok
[INFO] [stdout] test concurrent_nested_puts_with_reconcile_loop_preserve_all ... ok
[INFO] [stdout] test concurrent_same_key_put_delete_self_consistent ... ok
[INFO] [stdout] test concurrent_readers_never_observe_desync_on_same_size_overwrite ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/contract.rs (/opt/rustwide/target/release/build/files/330579adb42f41f8/out/contract-330579adb42f41f8)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test responses_match_openapi_schema ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/release/build/files/f8bfd77c797ed7f2/out/e2e-f8bfd77c797ed7f2)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test corrupt_dir_as_regular_file_propagates_enotdir ... ok
[INFO] [stdout] test blob_symlink_to_directory_propagates_isadirectory ... ok
[INFO] [stdout] test corrupt_dir_as_dangling_symlink_propagates_raw_notfound ... ok
[INFO] [stdout] test symlinked_objects_dir_without_vanishing_is_unchanged ... ok
[INFO] [stdout] test public_listener_isolates_api_and_internal_buckets ... ok
[INFO] [stdout] test symlinked_objects_dir_with_a_vanished_entry_completes ... ok
[INFO] [stdout] test large_object_streaming_put_and_range_download ... ok
[INFO] [stdout] test non_utf8_temp_name_is_stat_and_unlinked_by_raw_bytes ... ok
[INFO] [stdout] test dangling_temp_symlink_keeps_lstat_semantics ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/layout_tree.rs (/opt/rustwide/target/release/build/files/38e25ee2f33d8ad4/out/layout_tree-38e25ee2f33d8ad4)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test put_stream_midflight_temp_observed_and_preserved ... ok
[INFO] [stdout] test symlinked_commit_pointer_current_behavior ... ok
[INFO] [stdout] test on_disk_layout_golden_tree ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/openapi.rs (/opt/rustwide/target/release/build/files/8b204c4f0b631990/out/openapi-8b204c4f0b631990)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test does_not_serve_interactive_docs_ui ... ok
[INFO] [stdout] test spec_download_declares_binary_range_and_key_grammar ... ok
[INFO] [stdout] test spec_binary_upload_and_internal_only ... ok
[INFO] [stdout] test serves_generated_openapi_spec_unauthenticated ... ok
[INFO] [stdout] test spec_object_ops_document_error_codes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reconcile_vanishing_entries.rs (/opt/rustwide/target/release/build/files/24ba8678e1fafb95/out/reconcile_vanishing_entries-24ba8678e1fafb95)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test phase_t_temp_deletion_counts_only_what_we_deleted ... ok
[INFO] [stdout] test phase_e_entry_loop_survives_vanishing_entries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/regression_reconcile_gc_dedup_race.rs (/opt/rustwide/target/release/build/files/ed06b367ba889abe/out/regression_reconcile_gc_dedup_race-ed06b367ba889abe)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test dedup_put_during_reconcile_window_must_not_lose_blob ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/repro_concurrent_puts_reconcile.rs (/opt/rustwide/target/release/build/files/0b87779ecbe90e27/out/repro_concurrent_puts_reconcile-0b87779ecbe90e27)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test original_repro_concurrent_puts_do_not_abort_the_reconcile_pass ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- original_repro_concurrent_puts_do_not_abort_the_reconcile_pass stdout ----
[INFO] [stdout] REPRO WITNESS puts=40 reconcile_loops=4 observer_loops=8 passes=4 overlapped_passes=4 scans=16 temps_seen=23 vanished=17 vanished_during_pass=17 put_temp_vanishes=13 pass_errs=0 pass_errs_notfound=0 first_err=[]
[INFO] [stdout] 
[INFO] [stdout] thread 'original_repro_concurrent_puts_do_not_abort_the_reconcile_pass' (4100) panicked at tests/repro_concurrent_puts_reconcile.rs:329:5:
[INFO] [stdout] 레이스 증인이 공허하다 — put이 만든 temp의 소멸(하한)이 13건뿐이다(요구: ≥20). 패스 in-flight 중 소멸=17 · 전체 소멸=17 · 패스=4(= reconcile 자신의 gc-pending temp 상계) · 관측된 `.tmp-`=23 · 스캔=16. 소멸이 일어나지 않았다면 이 테스트는 **버그를 밟지도 않은 것**이고 `pass_errs == 0`은 공허하다.
[INFO] [stderr] error: test failed, to rerun pass `--test repro_concurrent_puts_reconcile`
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x62bd36f7e971 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x62bd36f93e8a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x62bd36f8300c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x62bd36f583f6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x62bd36f75b59 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x62bd36ed8500 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x62bd36f75e82 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x62bd36f584a2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x62bd36f50e09 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x62bd36f5919d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x62bd36f945ec - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x62bd36eb2c5d - repro_concurrent_puts_reconcile[50c8ab4406da7fc6]::original_repro_concurrent_puts_do_not_abort_the_reconcile_pass::{closure#0}
[INFO] [stdout]   12:     0x62bd36ec66ca - <tokio[65a001dfa9290677]::runtime::park::CachedParkThread>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   13:     0x62bd36ec7f70 - tokio[65a001dfa9290677]::runtime::context::runtime::enter_runtime::<<tokio[65a001dfa9290677]::runtime::scheduler::multi_thread::MultiThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   14:     0x62bd36ec3e67 - <tokio[65a001dfa9290677]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   15:     0x62bd36eb62b2 - <repro_concurrent_puts_reconcile[50c8ab4406da7fc6]::original_repro_concurrent_puts_do_not_abort_the_reconcile_pass::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   16:     0x62bd36ecb94b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   17:     0x62bd36ed8b25 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   18:     0x62bd36ed2414 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   19:     0x62bd36edbbb2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   20:     0x62bd36f7dc9f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   21:     0x7c7605d1fdfa - <unknown>
[INFO] [stdout]   22:     0x7c7605db33d4 - clone
[INFO] [stdout]   23:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     original_repro_concurrent_puts_do_not_abort_the_reconcile_pass
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f", kill_on_drop: false }`
[INFO] [stdout] fbd676190e28143f7a24ed666d6f338c7f730c32cd85ddcc0158fa1d69bffc8f
