[INFO] fetching crate vuio 0.0.22... [INFO] testing vuio-0.0.22 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate vuio 0.0.22 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate vuio 0.0.22 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate vuio 0.0.22 [INFO] tweaked toml for crates.io crate vuio 0.0.22 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate vuio 0.0.22 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate vuio 0.0.22 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 595237b78fefa694ef516d0b006e885dc346ecf8da880bda187b93daf23473fe [INFO] running `Command { std: "docker" "start" "-a" "595237b78fefa694ef516d0b006e885dc346ecf8da880bda187b93daf23473fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "595237b78fefa694ef516d0b006e885dc346ecf8da880bda187b93daf23473fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "595237b78fefa694ef516d0b006e885dc346ecf8da880bda187b93daf23473fe", kill_on_drop: false }` [INFO] [stdout] 595237b78fefa694ef516d0b006e885dc346ecf8da880bda187b93daf23473fe [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 71b9dd64b91cf60e68a74039f6d345f093a85e98c49ad2fea802369bf35a8715 [INFO] running `Command { std: "docker" "start" "-a" "71b9dd64b91cf60e68a74039f6d345f093a85e98c49ad2fea802369bf35a8715", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zmij v1.0.12 [INFO] [stderr] Compiling syn v2.0.113 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling regex-syntax v0.8.8 [INFO] [stderr] Compiling flate2 v1.1.5 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling notify-types v2.0.0 [INFO] [stderr] Compiling clap_lex v0.7.6 [INFO] [stderr] Compiling redb v3.1.0 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling mp4ameta_proc v0.6.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling toml_writer v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling anyhow v1.0.100 [INFO] [stderr] Compiling id3 v1.16.3 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling crossbeam v0.8.4 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling indexmap v2.12.1 [INFO] [stderr] Compiling metaflac v0.2.8 [INFO] [stderr] Compiling mp4ameta v0.11.0 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling audiotags-macro v0.2.0 [INFO] [stderr] Compiling file-id v0.2.3 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling time v0.3.44 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling hostname v0.4.2 [INFO] [stderr] Compiling uuid v1.19.0 [INFO] [stderr] Compiling notify-debouncer-full v0.6.0 [INFO] [stderr] Compiling toml_parser v1.0.6+spec-1.1.0 [INFO] [stderr] Compiling jwalk v0.8.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.0.4 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling toml v0.9.10+spec-1.1.0 [INFO] [stderr] Compiling toml_edit v0.24.0+spec-1.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling clap_derive v4.5.49 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling audiotags v0.5.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.2 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.19 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling reqwest v0.13.1 [INFO] [stderr] Compiling vuio v0.0.22 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/database/redb.rs:489:30 [INFO] [stdout] | [INFO] [stdout] 489 | if let Some(v) = dir_index.get(stripped)? { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `add_track_to_playlist` is never used [INFO] [stdout] --> src/database/playlist_formats.rs:321:14 [INFO] [stdout] | [INFO] [stdout] 38 | impl PlaylistFileManager { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 321 | async fn add_track_to_playlist( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s [INFO] running `Command { std: "docker" "inspect" "71b9dd64b91cf60e68a74039f6d345f093a85e98c49ad2fea802369bf35a8715", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "71b9dd64b91cf60e68a74039f6d345f093a85e98c49ad2fea802369bf35a8715", kill_on_drop: false }` [INFO] [stdout] 71b9dd64b91cf60e68a74039f6d345f093a85e98c49ad2fea802369bf35a8715 [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0bc7b4d287fbb3e449a12b7261ffb03c717f9ad1a11fc1d053d3619a9f40fb5d [INFO] running `Command { std: "docker" "start" "-a" "0bc7b4d287fbb3e449a12b7261ffb03c717f9ad1a11fc1d053d3619a9f40fb5d", kill_on_drop: false }` [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling id3 v1.16.3 [INFO] [stderr] Compiling tempfile v3.24.0 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling reqwest v0.13.1 [INFO] [stderr] Compiling notify-debouncer-full v0.6.0 [INFO] [stderr] Compiling audiotags v0.5.0 [INFO] [stderr] Compiling vuio v0.0.22 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/database/redb.rs:489:30 [INFO] [stdout] | [INFO] [stdout] 489 | if let Some(v) = dir_index.get(stripped)? { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/database/redb.rs:489:30 [INFO] [stdout] | [INFO] [stdout] 489 | if let Some(v) = dir_index.get(stripped)? { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `add_track_to_playlist` is never used [INFO] [stdout] --> src/database/playlist_formats.rs:321:14 [INFO] [stdout] | [INFO] [stdout] 38 | impl PlaylistFileManager { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 321 | async fn add_track_to_playlist( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `add_track_to_playlist` is never used [INFO] [stdout] --> src/database/playlist_formats.rs:321:14 [INFO] [stdout] | [INFO] [stdout] 38 | impl PlaylistFileManager { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 321 | async fn add_track_to_playlist( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 36.26s [INFO] running `Command { std: "docker" "inspect" "0bc7b4d287fbb3e449a12b7261ffb03c717f9ad1a11fc1d053d3619a9f40fb5d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0bc7b4d287fbb3e449a12b7261ffb03c717f9ad1a11fc1d053d3619a9f40fb5d", kill_on_drop: false }` [INFO] [stdout] 0bc7b4d287fbb3e449a12b7261ffb03c717f9ad1a11fc1d053d3619a9f40fb5d [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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9322ed427f2b2877c1b99d4370cf9f19fc79b885b7b5353a6d4b4fe91cc96151 [INFO] running `Command { std: "docker" "start" "-a" "9322ed427f2b2877c1b99d4370cf9f19fc79b885b7b5353a6d4b4fe91cc96151", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/database/redb.rs:489:30 [INFO] [stderr] | [INFO] [stderr] 489 | if let Some(v) = dir_index.get(stripped)? { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: associated function `add_track_to_playlist` is never used [INFO] [stderr] --> src/database/playlist_formats.rs:321:14 [INFO] [stderr] | [INFO] [stderr] 38 | impl PlaylistFileManager { [INFO] [stderr] | ------------------------ associated function in this implementation [INFO] [stderr] ... [INFO] [stderr] 321 | async fn add_track_to_playlist( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `vuio` (lib) generated 2 warnings (run `cargo fix --lib -p vuio` to apply 1 suggestion) [INFO] [stderr] warning: `vuio` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vuio-3c2efdfb3165da9e) [INFO] [stdout] [INFO] [stdout] running 102 tests [INFO] [stdout] test config::tests::test_platform_defaults_application ... ok [INFO] [stdout] test config::generator::tests::test_config_generator_handles_empty_optional_fields ... ok [INFO] [stdout] test config::tests::test_config_serialization ... ok [INFO] [stdout] test config::tests::test_comprehensive_platform_integration ... ok [INFO] [stdout] test config::tests::test_platform_validation ... ok [INFO] [stdout] test config::tests::test_default_config_creation ... ok [INFO] [stdout] test config::generator::tests::test_config_generator_creates_valid_toml ... ok [INFO] [stdout] test config::tests::test_enhanced_platform_defaults_application ... ok [INFO] [stdout] test config::validation::tests::test_invalid_media_config ... ok [INFO] [stdout] test config::validation::tests::test_invalid_network_config ... ok [INFO] [stdout] test config::validation::tests::test_invalid_server_config ... ok [INFO] [stdout] test config::validation::tests::test_valid_config ... ok [INFO] [stdout] test config::validation::tests::test_validation_mode_behavior ... ok [INFO] [stdout] test database::playlist_formats::tests::test_format_detection ... ok [INFO] [stdout] test config::tests::test_config_file_operations ... ok [INFO] [stdout] test config::tests::test_exclude_patterns ... ok [INFO] [stdout] test database::playlist_formats::tests::test_m3u_parsing ... ok [INFO] [stdout] test database::playlist_formats::tests::test_output_filename_generation ... ok [INFO] [stdout] test database::playlist_formats::tests::test_m3u_export ... ok [INFO] [stdout] test database::playlist_formats::tests::test_pls_parsing ... ok [INFO] [stdout] test error::tests::test_configuration_error_integration ... ok [INFO] [stdout] test error::tests::test_database_error_integration ... ok [INFO] [stdout] 2026-04-20T01:10:29.319584822Z  WARN ThreadId(14) vuio::config::validation: src/config/validation.rs:193: monitored directory 1: path does not exist: /definitely/does/not/exist (continuing startup) [INFO] [stdout] 2026-04-20T01:10:29.319640572Z DEBUG ThreadId(14) vuio::config::validation: src/config/validation.rs:187: monitored directory 2: validation skipped [INFO] [stdout] 2026-04-20T01:10:29.313332272Z  INFO ThreadId(36) vuio::logging::tests: src/logging.rs:334: Network status logging test - skipping actual call to avoid circular dependencies [INFO] [stdout] 2026-04-20T01:10:29.313463443Z  WARN ThreadId(16) vuio::config::validation: src/config/validation.rs:193: monitored directory 1: path does not exist: /definitely/does/not/exist (continuing startup) [INFO] [stdout] 2026-04-20T01:10:29.320080252Z DEBUG ThreadId(16) vuio::config::validation: src/config/validation.rs:187: monitored directory 2: validation skipped [INFO] [stdout] 2026-04-20T01:10:29.313097032Z  INFO ThreadId(35) vuio::logging: src/logging.rs:48: Logging initialized with level: debug [INFO] [stdout] 2026-04-20T01:10:29.320565692Z  WARN ThreadId(15) vuio::config::validation: src/config/validation.rs:193: monitored directory 0: path does not exist: /nonexistent/directory (continuing startup) [INFO] [stdout] 2026-04-20T01:10:29.316900932Z  INFO ThreadId(40) vuio::logging::tests: src/logging.rs:320: Startup logging test - skipping actual call to avoid circular dependencies [INFO] [stdout] 2026-04-20T01:10:29.320638172Z DEBUG ThreadId(15) vuio::config::validation: src/config/validation.rs:187: monitored directory 0: validation skipped [INFO] [stdout] test error::tests::test_error_recoverability ... ok [INFO] [stdout] test error::tests::test_platform_error_integration ... ok [INFO] [stdout] test logging::tests::test_diagnostic_report_creation ... ok [INFO] [stdout] test config::tests::test_config_manager ... ok [INFO] [stdout] test config::tests::test_platform_config_template_creation ... ok [INFO] [stdout] test config::validation::tests::test_config_loading_with_missing_directories ... ok [INFO] [stdout] test logging::tests::test_network_status_logging ... ok [INFO] [stdout] test logging::tests::test_logging_initialization ... ok [INFO] [stdout] test config::validation::tests::test_flexible_validation_allows_startup ... ok [INFO] [stdout] test logging::tests::test_startup_logging ... ok [INFO] [stdout] test config::validation::tests::test_directory_validation ... ok [INFO] [stdout] test platform::config::tests::test_media_extensions ... ok [INFO] [stdout] test platform::config::tests::test_default_media_directories ... ok [INFO] [stdout] test platform::config::tests::test_path_validation ... ok [INFO] [stdout] test media::tests::test_scan_result_operations ... ok [INFO] [stdout] test platform::config::tests::test_platform_config_creation ... ok [INFO] [stdout] test platform::error::tests::test_database_error_recovery ... ok [INFO] [stdout] test platform::error::tests::test_windows_error_recovery ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_canonical_format_consistency ... ok [INFO] [stdout] 2026-04-20T01:10:29.332696771Z  INFO ThreadId(55) vuio::platform::diagnostics: src/platform/diagnostics.rs:159: Collecting diagnostic information... [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_canonical_to_windows_conversion ... ok [INFO] [stdout] test platform::diagnostics::tests::test_diagnostic_serialization ... ok [INFO] [stdout] test platform::config::tests::test_platform_metadata ... ok [INFO] [stdout] test platform::diagnostics::tests::test_port_availability ... ok [INFO] [stdout] test platform::config::tests::test_file_paths ... ok [INFO] [stdout] 2026-04-20T01:10:29.333060881Z  INFO ThreadId(58) vuio::platform::diagnostics: src/platform/diagnostics.rs:502: Performing startup diagnostic checks... [INFO] [stdout] 2026-04-20T01:10:29.333372221Z  INFO ThreadId(58) vuio::platform::network::linux: src/platform/network/linux.rs:855: Detecting network interfaces for the first time... [INFO] [stdout] 2026-04-20T01:10:29.333369671Z  INFO ThreadId(55) vuio::platform::network::linux: src/platform/network/linux.rs:855: Detecting network interfaces for the first time... [INFO] [stdout] test platform::error::tests::test_configuration_error_recovery ... ok [INFO] [stdout] test platform::config::tests::test_exclude_patterns ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_empty_and_invalid_canonical_paths ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_filesystem_manager_path_normalization_integration ... ok [INFO] [stdout] test platform::error::tests::test_platform_error_user_message ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_normalize_for_query ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_platform_path_normalizer_creation ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_path_normalization_too_long ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_roundtrip_conversion ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_basic ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_edge_cases ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_path_normalization_invalid_characters ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_canonicalize_path_resolves_before_normalization ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_unc_paths ... ok [INFO] [stdout] test platform::filesystem::tests::test_case_sensitivity ... ok [INFO] [stdout] test platform::filesystem::tests::test_extension_matching ... ok [INFO] [stdout] test platform::filesystem::tests::test_mime_type_detection ... ok [INFO] [stdout] test platform::filesystem::tests::test_path_validation ... ok [INFO] [stdout] 2026-04-20T01:10:29.33679023Z  INFO ThreadId(83) vuio::platform::network::linux: src/platform/network/linux.rs:855: Detecting network interfaces for the first time... [INFO] [stdout] test platform::linux::tests::test_linux_version_detection ... ok [INFO] [stdout] test platform::network::linux::tests::test_interface_type_determination ... ok [INFO] [stdout] test platform::network::linux::tests::test_linux_network_manager_creation ... ok [INFO] [stdout] test platform::network::linux::tests::test_network_namespaces ... ok [INFO] [stdout] 2026-04-20T01:10:29.34094666Z DEBUG ThreadId(55) vuio::platform::network::linux: src/platform/network/linux.rs:382: Standard interface detection failed, trying alternative methods [INFO] [stdout] 2026-04-20T01:10:29.34162578Z DEBUG ThreadId(58) vuio::platform::network::linux: src/platform/network/linux.rs:382: Standard interface detection failed, trying alternative methods [INFO] [stdout] test platform::filesystem::tests::test_supported_extension_check ... ok [INFO] [stdout] test platform::network::tests::test_ssdp_config_default ... ok [INFO] [stdout] 2026-04-20T01:10:29.34474246Z DEBUG ThreadId(83) vuio::platform::network::linux: src/platform/network/linux.rs:382: Standard interface detection failed, trying alternative methods [INFO] [stdout] test platform::linux::tests::test_linux_metadata ... ok [INFO] [stdout] 2026-04-20T01:10:29.34595644Z  INFO ThreadId(58) vuio::platform::diagnostics: src/platform/diagnostics.rs:526: Platform Linux is supported [INFO] [stdout] 2026-04-20T01:10:29.3461157Z  INFO ThreadId(58) vuio::platform::network::linux: src/platform/network/linux.rs:855: Detecting network interfaces for the first time... [INFO] [stdout] 2026-04-20T01:10:29.34965618Z DEBUG ThreadId(58) vuio::platform::network::linux: src/platform/network/linux.rs:382: Standard interface detection failed, trying alternative methods [INFO] [stdout] test platform::tests::test_os_type_detection ... ok [INFO] [stdout] test platform::diagnostics::tests::test_diagnostic_collection ... ok [INFO] [stdout] test platform::network::tests::test_interface_prioritization ... ok [INFO] [stdout] 2026-04-20T01:10:29.354590829Z  INFO ThreadId(28) vuio::database::redb: src/database/redb.rs:104: Opened RedbDatabase at /tmp/.tmpHaaIyN/test_bulk.redb (max_file_id=0, max_playlist_id=0) [INFO] [stdout] test platform::network::linux::tests::test_requires_elevation ... ok [INFO] [stdout] 2026-04-20T01:10:29.354659239Z  INFO ThreadId(28) vuio::database::redb: src/database/redb.rs:288: RedbDatabase initialized [INFO] [stdout] test platform::linux::tests::test_linux_interface_detection ... ok [INFO] [stdout] test platform::network::tests::test_interface_filtering ... ok [INFO] [stdout] 2026-04-20T01:10:29.355265189Z  INFO ThreadId(41) vuio::database::redb: src/database/redb.rs:104: Opened RedbDatabase at /tmp/.tmpgRl1nH/test.redb (max_file_id=0, max_playlist_id=0) [INFO] [stdout] 2026-04-20T01:10:29.355312209Z  INFO ThreadId(41) vuio::database::redb: src/database/redb.rs:288: RedbDatabase initialized [INFO] [stdout] 2026-04-20T01:10:29.355687599Z  INFO ThreadId(97) vuio::platform::network::linux: src/platform/network/linux.rs:855: Detecting network interfaces for the first time... [INFO] [stdout] 2026-04-20T01:10:29.356112229Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:269: Starting file system watcher for 1 directories [INFO] [stdout] 2026-04-20T01:10:29.356326349Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:260: File system watcher initialized with 250ms debounce [INFO] [stdout] 2026-04-20T01:10:29.356366079Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:261: Watcher callback registered and ready to receive events [INFO] [stdout] 2026-04-20T01:10:29.357123579Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:269: Starting file system watcher for 1 directories [INFO] [stdout] 2026-04-20T01:10:29.357337029Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:260: File system watcher initialized with 250ms debounce [INFO] [stdout] 2026-04-20T01:10:29.357374449Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:261: Watcher callback registered and ready to receive events [INFO] [stdout] 2026-04-20T01:10:29.357669879Z DEBUG ThreadId(89) vuio::platform::network::linux: src/platform/network/linux.rs:61: Successfully bound to port 8080 on Linux [INFO] [stdout] 2026-04-20T01:10:29.357718749Z DEBUG ThreadId(89) vuio::platform::network::linux: src/platform/network/linux.rs:138: Configured multicast socket options for optimal Docker compatibility [INFO] [stdout] 2026-04-20T01:10:29.357911409Z DEBUG ThreadId(94) vuio::platform::network: src/platform/network/mod.rs:98: Enabled SO_REUSEADDR [INFO] [stdout] 2026-04-20T01:10:29.357947489Z DEBUG ThreadId(94) vuio::platform::network: src/platform/network/mod.rs:115: Enabled SO_BROADCAST [INFO] [stdout] 2026-04-20T01:10:29.357964999Z DEBUG ThreadId(94) vuio::platform::network: src/platform/network/mod.rs:118: Applied optimized socket configuration [INFO] [stdout] 2026-04-20T01:10:29.357993559Z DEBUG ThreadId(94) vuio::platform::network: src/platform/network/mod.rs:66: Created SSDP socket bound to port 8080 with optimized configuration [INFO] [stdout] test platform::tests::test_platform_capabilities ... ok [INFO] [stdout] test watcher::tests::test_media_file_detection ... ok [INFO] [stdout] 2026-04-20T01:10:29.359895759Z DEBUG ThreadId(107) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: '0', StartingIndex: 0, RequestedCount: 0 [INFO] [stdout] 2026-04-20T01:10:29.360591419Z  INFO ThreadId(101) vuio::watcher: src/watcher/mod.rs:269: Starting file system watcher for 1 directories [INFO] [stdout] 2026-04-20T01:10:29.360813739Z  INFO ThreadId(101) vuio::watcher: src/watcher/mod.rs:260: File system watcher initialized with 250ms debounce [INFO] [stdout] 2026-04-20T01:10:29.360850129Z  INFO ThreadId(101) vuio::watcher: src/watcher/mod.rs:261: Watcher callback registered and ready to receive events [INFO] [stdout] 2026-04-20T01:10:29.360888519Z  WARN ThreadId(101) vuio::watcher: src/watcher/mod.rs:282: Directory does not exist, skipping: /nonexistent/path [INFO] [stdout] 2026-04-20T01:10:29.361084068Z  INFO ThreadId(58) vuio::platform::diagnostics: src/platform/diagnostics.rs:550: Found 1 usable network interface(s) [INFO] [stdout] test platform::network::linux::tests::test_port_availability_check ... ok [INFO] [stdout] 2026-04-20T01:10:29.361337708Z DEBUG ThreadId(58) vuio::platform::diagnostics: src/platform/diagnostics.rs:567: Filesystem write test passed [INFO] [stdout] 2026-04-20T01:10:29.361502419Z DEBUG ThreadId(58) vuio::platform::diagnostics: src/platform/diagnostics.rs:585: System resource checks passed [INFO] [stdout] 2026-04-20T01:10:29.361540788Z  INFO ThreadId(58) vuio::platform::diagnostics: src/platform/diagnostics.rs:516: All startup diagnostic checks passed [INFO] [stdout] 2026-04-20T01:10:29.361568388Z  INFO ThreadId(58) vuio::platform::diagnostics::tests: src/platform/diagnostics.rs:616: Startup diagnostics passed [INFO] [stdout] 2026-04-20T01:10:29.361635539Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:294: Started watching directory: /tmp/.tmpsqcVmU [INFO] [stdout] 2026-04-20T01:10:29.361688668Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:298: Directory exists and is accessible: /tmp/.tmpsqcVmU [INFO] [stdout] test platform::network::tests::test_ssdp_socket_creation ... ok [INFO] [stdout] 2026-04-20T01:10:29.365513568Z  WARN ThreadId(110) vuio::web::handlers: src/web/handlers.rs:161: Failed to parse StartingIndex 'invalid': invalid digit found in string [INFO] [stdout] test watcher::tests::test_watcher_creation ... ok [INFO] [stdout] 2026-04-20T01:10:29.365575908Z  WARN ThreadId(110) vuio::web::handlers: src/web/handlers.rs:167: Failed to parse RequestedCount 'not_a_number': invalid digit found in string [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_empty_xml ... ok [INFO] [stdout] 2026-04-20T01:10:29.365608428Z DEBUG ThreadId(110) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: 'test', StartingIndex: 0, RequestedCount: 0 [INFO] [stdout] test watcher::tests::test_watch_nonexistent_directory ... ok [INFO] [stdout] 2026-04-20T01:10:29.365664228Z DEBUG ThreadId(111) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: 'test', StartingIndex: 5, RequestedCount: 10 [INFO] [stdout] 2026-04-20T01:10:29.365790388Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:294: Started watching directory: /tmp/.tmpbAar3n [INFO] [stdout] 2026-04-20T01:10:29.365843378Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:298: Directory exists and is accessible: /tmp/.tmpbAar3n [INFO] [stdout] 2026-04-20T01:10:29.365833668Z DEBUG ThreadId(112) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: '0', StartingIndex: 0, RequestedCount: 0 [INFO] [stdout] 2026-04-20T01:10:29.365899418Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:315: Stopping file system watcher [INFO] [stdout] 2026-04-20T01:10:29.365945938Z  INFO ThreadId(100) vuio::watcher: src/watcher/mod.rs:326: File system watcher stopped [INFO] [stdout] 2026-04-20T01:10:29.366012388Z DEBUG ThreadId(114) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: 'video/movies/action', StartingIndex: 100, RequestedCount: 50 [INFO] [stdout] 2026-04-20T01:10:29.366941418Z DEBUG ThreadId(113) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: 'audio/artists', StartingIndex: 0, RequestedCount: 0 [INFO] [stdout] test platform::diagnostics::tests::test_startup_diagnostics ... ok [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_invalid_numbers ... ok [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_malformed_xml ... ok [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_minimal_xml ... ok [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_performance_comparison ... ok [INFO] [stdout] test watcher::tests::test_watch_and_unwatch ... ok [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_missing_elements ... ok [INFO] [stdout] 2026-04-20T01:10:29.367440648Z DEBUG ThreadId(115) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: 'video/movies', StartingIndex: 10, RequestedCount: 25 [INFO] [stdout] 2026-04-20T01:10:29.367566968Z DEBUG ThreadId(116) vuio::web::handlers: src/web/handlers.rs:184: Parsed browse params - ObjectID: 'video/series', StartingIndex: 5, RequestedCount: 15 [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_valid_xml ... ok [INFO] [stdout] test web::handlers::tests::test_parse_browse_params_with_whitespace ... ok [INFO] [stdout] 2026-04-20T01:10:29.368062908Z DEBUG ThreadId(97) vuio::platform::network::linux: src/platform/network/linux.rs:382: Standard interface detection failed, trying alternative methods [INFO] [stdout] 2026-04-20T01:10:29.372611818Z  INFO ThreadId(29) vuio::database::redb: src/database/redb.rs:104: Opened RedbDatabase at /tmp/.tmpyh3uLD/test_playlist.redb (max_file_id=0, max_playlist_id=0) [INFO] [stdout] 2026-04-20T01:10:29.372660358Z  INFO ThreadId(29) vuio::database::redb: src/database/redb.rs:288: RedbDatabase initialized [INFO] [stdout] 2026-04-20T01:10:29.375047457Z DEBUG ThreadId(29) vuio::database::redb: src/database/redb.rs:1128: Bulk stored 5 media files [INFO] [stdout] test platform::tests::test_platform_info_detection ... ok [INFO] [stdout] 2026-04-20T01:10:29.377439777Z  INFO ThreadId(29) vuio::database::redb: src/database/redb.rs:964: Created playlist 'Test Playlist' with ID 1 [INFO] [stdout] 2026-04-20T01:10:29.408633515Z  INFO ThreadId(27) vuio::database::redb: src/database/redb.rs:104: Opened RedbDatabase at /tmp/.tmpPlbCpK/test.redb (max_file_id=0, max_playlist_id=0) [INFO] [stdout] 2026-04-20T01:10:29.408749495Z  INFO ThreadId(27) vuio::database::redb: src/database/redb.rs:288: RedbDatabase initialized [INFO] [stdout] 2026-04-20T01:10:29.408846425Z DEBUG ThreadId(27) vuio::database::redb: src/database/redb.rs:300: store_media_file: storing file '/music/test.mp3' in dir_key '/music' [INFO] [stdout] 2026-04-20T01:10:29.411118535Z DEBUG ThreadId(27) vuio::database::redb: src/database/redb.rs:325: Stored media file /music/test.mp3 with ID 1 [INFO] [stdout] 2026-04-20T01:10:29.414018464Z DEBUG ThreadId(27) vuio::database::redb: src/database/redb.rs:382: Removed media file: /music/test.mp3 [INFO] [stdout] 2026-04-20T01:10:29.415519504Z DEBUG ThreadId(28) vuio::database::redb: src/database/redb.rs:1128: Bulk stored 100 media files [INFO] [stdout] test database::redb::tests::test_redb_database_basic_operations ... ok [INFO] [stdout] test database::redb::tests::test_redb_database_bulk_operations ... ok [INFO] [stdout] 2026-04-20T01:10:29.435668733Z  INFO ThreadId(43) vuio::database::redb: src/database/redb.rs:104: Opened RedbDatabase at /tmp/.tmpNGn2Eg/test.redb (max_file_id=0, max_playlist_id=0) [INFO] [stdout] 2026-04-20T01:10:29.435774673Z  INFO ThreadId(43) vuio::database::redb: src/database/redb.rs:288: RedbDatabase initialized [INFO] [stdout] 2026-04-20T01:10:29.436306153Z DEBUG ThreadId(43) vuio::media: src/media.rs:208: Path normalization: '/tmp/.tmpNGn2Eg/test.mp4' -> '/tmp/.tmpNGn2Eg/test.mp4' [INFO] [stdout] 2026-04-20T01:10:29.436384633Z  INFO ThreadId(43) vuio::media: src/media.rs:342: Bulk inserting 1 new files using ZeroCopy database [INFO] [stdout] 2026-04-20T01:10:29.436438802Z DEBUG ThreadId(43) vuio::media: src/media.rs:344: Inserting file: path='/tmp/.tmpNGn2Eg/test.mp4', mime_type='video/mp4', size=18 [INFO] [stdout] 2026-04-20T01:10:29.437298892Z  INFO ThreadId(44) vuio::database::redb: src/database/redb.rs:104: Opened RedbDatabase at /tmp/.tmpsrrwgp/test.redb (max_file_id=0, max_playlist_id=0) [INFO] [stdout] 2026-04-20T01:10:29.437345302Z  INFO ThreadId(44) vuio::database::redb: src/database/redb.rs:288: RedbDatabase initialized [INFO] [stdout] 2026-04-20T01:10:29.438521222Z  INFO ThreadId(44) vuio::media: src/media.rs:451: Starting parallel directory scan of: /tmp/.tmpsrrwgp/media [INFO] [stdout] 2026-04-20T01:10:29.438566372Z DEBUG ThreadId(44) vuio::media: src/media.rs:454: Loading existing files from database... [INFO] [stdout] 2026-04-20T01:10:29.438685712Z DEBUG ThreadId(44) vuio::media: src/media.rs:475: Loaded 0 existing files from database [INFO] [stdout] 2026-04-20T01:10:29.440372172Z  INFO ThreadId(44) vuio::media: src/media.rs:504: Found 4 media files, processing in batches of 1000 [INFO] [stdout] 2026-04-20T01:10:29.441011112Z  INFO ThreadId(44) vuio::media: src/media.rs:577: Inserting final batch of 4 files [INFO] [stdout] 2026-04-20T01:10:29.441888232Z DEBUG ThreadId(43) vuio::database::redb: src/database/redb.rs:1128: Bulk stored 1 media files [INFO] [stdout] 2026-04-20T01:10:29.441941492Z  INFO ThreadId(43) vuio::media: src/media.rs:375: ZeroCopy bulk operations completed: 1 inserted, 0 updated, 0 removed, 0 unchanged [INFO] [stdout] 2026-04-20T01:10:29.443693042Z DEBUG ThreadId(44) vuio::database::redb: src/database/redb.rs:1128: Bulk stored 4 media files [INFO] [stdout] 2026-04-20T01:10:29.443760122Z  INFO ThreadId(44) vuio::media: src/media.rs:612: Scan completed: 4 new, 0 updated, 0 removed, 0 unchanged [INFO] [stdout] 2026-04-20T01:10:29.444003972Z  INFO ThreadId(44) vuio::media: src/media.rs:451: Starting parallel directory scan of: /tmp/.tmpsrrwgp/media [INFO] [stdout] 2026-04-20T01:10:29.444050812Z DEBUG ThreadId(44) vuio::media: src/media.rs:454: Loading existing files from database... [INFO] [stdout] 2026-04-20T01:10:29.444281942Z DEBUG ThreadId(44) vuio::media: src/media.rs:475: Loaded 4 existing files from database [INFO] [stdout] 2026-04-20T01:10:29.445679882Z  INFO ThreadId(44) vuio::media: src/media.rs:504: Found 4 media files, processing in batches of 1000 [INFO] [stdout] 2026-04-20T01:10:29.446509452Z  INFO ThreadId(44) vuio::media: src/media.rs:612: Scan completed: 0 new, 0 updated, 0 removed, 4 unchanged [INFO] [stdout] test database::redb::tests::test_redb_database_playlist_operations ... ok [INFO] [stdout] test media::tests::test_media_scanner_path_normalization ... ok [INFO] [stdout] test platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_mixed_separators ... FAILED [INFO] [stdout] test media::tests::test_recursive_scan_optimization ... ok [INFO] [stdout] test media::tests::test_media_scanner_basic_functionality ... ok [INFO] [stdout] 2026-04-20T01:10:29.669442984Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:187: Watcher callback triggered with 1 events [INFO] [stdout] 2026-04-20T01:10:29.669556754Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:189: Raw event: Access(Open(Any)) for paths: ["/tmp/.tmpsqcVmU"] [INFO] [stdout] 2026-04-20T01:10:29.669618694Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:206: Including directory event for path: /tmp/.tmpsqcVmU [INFO] [stdout] 2026-04-20T01:10:29.669646824Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:227: Processing 1 relevant events [INFO] [stdout] 2026-04-20T01:10:29.861382738Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:187: Watcher callback triggered with 3 events [INFO] [stdout] 2026-04-20T01:10:29.861621498Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:189: Raw event: Create(File) for paths: ["/tmp/.tmpsqcVmU/test.mp4"] [INFO] [stdout] 2026-04-20T01:10:29.861660578Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:189: Raw event: Access(Open(Any)) for paths: ["/tmp/.tmpsqcVmU/test.mp4"] [INFO] [stdout] 2026-04-20T01:10:29.861688858Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:189: Raw event: Access(Close(Write)) for paths: ["/tmp/.tmpsqcVmU/test.mp4"] [INFO] [stdout] 2026-04-20T01:10:29.861752598Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:214: Including media file event for path: /tmp/.tmpsqcVmU/test.mp4 [INFO] [stdout] 2026-04-20T01:10:29.861791388Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:214: Including media file event for path: /tmp/.tmpsqcVmU/test.mp4 [INFO] [stdout] 2026-04-20T01:10:29.861823268Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:214: Including media file event for path: /tmp/.tmpsqcVmU/test.mp4 [INFO] [stdout] 2026-04-20T01:10:29.861847728Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:227: Processing 3 relevant events [INFO] [stdout] 2026-04-20T01:10:29.861909838Z  INFO ThreadId(102) vuio::watcher: src/watcher/mod.rs:110: Media file created (detected by watcher): /tmp/.tmpsqcVmU/test.mp4 [INFO] [stdout] 2026-04-20T01:10:29.861947628Z DEBUG ThreadId(102) vuio::watcher: src/watcher/mod.rs:154: Media file generic event: /tmp/.tmpsqcVmU/test.mp4 [INFO] [stdout] 2026-04-20T01:10:29.861976468Z DEBUG ThreadId(102) vuio::watcher: src/watcher/mod.rs:154: Media file generic event: /tmp/.tmpsqcVmU/test.mp4 [INFO] [stdout] 2026-04-20T01:10:29.862125358Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:315: Stopping file system watcher [INFO] [stdout] 2026-04-20T01:10:29.862254318Z  INFO ThreadId(98) vuio::watcher: src/watcher/mod.rs:326: File system watcher stopped [INFO] [stdout] test watcher::tests::test_file_events ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_mixed_separators stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_mixed_separators' (93) panicked at src/platform/filesystem/mod.rs:1021:13: [INFO] [stdout] assertion `left == right` failed [INFO] [stdout] left: "c:/users/media" [INFO] [stdout] right: "c:/users//media" [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5ee530f86dda - std[e72de78501789eb0]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5ee530f86dda - std[e72de78501789eb0]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5ee530f86dda - std[e72de78501789eb0]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x5ee530f86dda - <::print::DisplayBacktrace as core[6aaeda2c7ad07a48]::fmt::Display>::fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x5ee530f9f8aa - ::fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x5ee530f9f8aa - core[6aaeda2c7ad07a48]::fmt::write [INFO] [stdout] 6: 0x5ee530f8c7e2 - std[e72de78501789eb0]::io::default_write_fmt::> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5ee530f8c7e2 - as std[e72de78501789eb0]::io::Write>::write_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x5ee530f60d4f - ::print [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x5ee530f60d4f - std[e72de78501789eb0]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x5ee530f7c9c9 - std[e72de78501789eb0]::panicking::default_hook [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x5ee530a2349c - core[6aaeda2c7ad07a48]::ops::function::Fn<(&'a std[e72de78501789eb0]::panic::PanicHookInfo<'b>,), Output = ()> + core[6aaeda2c7ad07a48]::marker::Sync + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::Fn<(&std[e72de78501789eb0]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x5ee530a2349c - test[4f12b380f1fb68c5]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5ee530f7cc42 - core[6aaeda2c7ad07a48]::ops::function::Fn<(&'a std[e72de78501789eb0]::panic::PanicHookInfo<'b>,), Output = ()> + core[6aaeda2c7ad07a48]::marker::Sync + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::Fn<(&std[e72de78501789eb0]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x5ee530f7cc42 - std[e72de78501789eb0]::panicking::panic_with_hook [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x5ee530f60e08 - std[e72de78501789eb0]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x5ee530f57ea9 - std[e72de78501789eb0]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x5ee530f61dcd - __rustc[78a4cf188af856fc]::rust_begin_unwind [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x5ee530fa011c - core[6aaeda2c7ad07a48]::panicking::panic_fmt [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x5ee530f9ffa3 - core[6aaeda2c7ad07a48]::panicking::assert_failed_inner [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:439:17 [INFO] [stdout] 20: 0x5ee5308867b5 - core[6aaeda2c7ad07a48]::panicking::assert_failed:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panicking.rs:394:5 [INFO] [stdout] 21: 0x5ee5305dc22d - vuio[d6f7be50a6432666]::platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_mixed_separators [INFO] [stdout] at /opt/rustwide/workdir/src/platform/filesystem/mod.rs:1021:13 [INFO] [stdout] 22: 0x5ee5305d1897 - vuio[d6f7be50a6432666]::platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_mixed_separators::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/platform/filesystem/mod.rs:1012:62 [INFO] [stdout] 23: 0x5ee5305b0fe6 - >::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x5ee530a1757b - core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x5ee530a1757b - test[4f12b380f1fb68c5]::__rust_begin_short_backtrace::, fn() -> core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x5ee530a23f6b - test[4f12b380f1fb68c5]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x5ee530a23f6b - as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x5ee530a23f6b - std[e72de78501789eb0]::panicking::catch_unwind::do_call::, core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x5ee530a23f6b - std[e72de78501789eb0]::panicking::catch_unwind::, core[6aaeda2c7ad07a48]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x5ee530a23f6b - std[e72de78501789eb0]::panic::catch_unwind::, core[6aaeda2c7ad07a48]::result::Result<(), alloc[28d2dab30c1dc666]::string::String>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x5ee530a23f6b - test[4f12b380f1fb68c5]::run_test_in_process [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x5ee530a23f6b - test[4f12b380f1fb68c5]::run_test::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x5ee530a1f684 - test[4f12b380f1fb68c5]::run_test::{closure#1} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x5ee530a1f684 - std[e72de78501789eb0]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x5ee530a26b72 - std[e72de78501789eb0]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x5ee530a26b72 - ::{closure#1}::{closure#0}> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x5ee530a26b72 - std[e72de78501789eb0]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x5ee530a26b72 - std[e72de78501789eb0]::panicking::catch_unwind::<(), core[6aaeda2c7ad07a48]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x5ee530a26b72 - std[e72de78501789eb0]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x5ee530a26b72 - std[e72de78501789eb0]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x5ee530a26b72 - ::{closure#1} as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x5ee530f8605f - + core[6aaeda2c7ad07a48]::marker::Send> as core[6aaeda2c7ad07a48]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x5ee530f8605f - ::new::thread_start [INFO] [stdout] at /rustc/dec9417b8611e34e787a3e4c37686b5131f9e5c5/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x7081ea110aa4 - [INFO] [stdout] 45: 0x7081ea19da64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] platform::filesystem::tests::path_normalizer_tests::test_windows_path_normalization_mixed_separators [INFO] [stdout] [INFO] [stdout] test result: FAILED. 101 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "9322ed427f2b2877c1b99d4370cf9f19fc79b885b7b5353a6d4b4fe91cc96151", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9322ed427f2b2877c1b99d4370cf9f19fc79b885b7b5353a6d4b4fe91cc96151", kill_on_drop: false }` [INFO] [stdout] 9322ed427f2b2877c1b99d4370cf9f19fc79b885b7b5353a6d4b4fe91cc96151