[INFO] fetching crate google-photos-takeout-organizer 0.6.1... [INFO] testing google-photos-takeout-organizer-0.6.1 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate google-photos-takeout-organizer 0.6.1 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate google-photos-takeout-organizer 0.6.1 [INFO] finished tweaking crates.io crate google-photos-takeout-organizer 0.6.1 [INFO] tweaked toml for crates.io crate google-photos-takeout-organizer 0.6.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate google-photos-takeout-organizer 0.6.1 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate google-photos-takeout-organizer 0.6.1 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded bzip2 v0.6.1 [INFO] [stderr] Downloaded mutate_once v0.1.2 [INFO] [stderr] Downloaded zmij v1.0.18 [INFO] [stderr] Downloaded sysinfo v0.33.1 [INFO] [stderr] Downloaded ppmd-rust v1.4.0 [INFO] [stderr] Downloaded typed-path v0.12.3 [INFO] [stderr] Downloaded zip v8.1.0 [INFO] [stderr] Downloaded lzma-rust2 v0.16.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 425d2114f88420053d84b34e67b866fad39179126cc1f4e3490ba416f021c1cd [INFO] running `Command { std: "docker" "start" "-a" "425d2114f88420053d84b34e67b866fad39179126cc1f4e3490ba416f021c1cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "425d2114f88420053d84b34e67b866fad39179126cc1f4e3490ba416f021c1cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "425d2114f88420053d84b34e67b866fad39179126cc1f4e3490ba416f021c1cd", kill_on_drop: false }` [INFO] [stdout] 425d2114f88420053d84b34e67b866fad39179126cc1f4e3490ba416f021c1cd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6f5925a7fff00583722b0039b3e3999577513b6a7b2d33853e7b91a601d64cad [INFO] running `Command { std: "docker" "start" "-a" "6f5925a7fff00583722b0039b3e3999577513b6a7b2d33853e7b91a601d64cad", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling as-slice v0.2.1 [INFO] [stderr] Compiling built v0.8.0 [INFO] [stderr] Compiling av-scenechange v0.14.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling zlib-rs v0.6.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling core2 v0.4.0 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling zstd-safe v7.2.4 [INFO] [stderr] Compiling y4m v0.8.0 [INFO] [stderr] Compiling pastey v0.1.1 [INFO] [stderr] Compiling aligned v0.4.3 [INFO] [stderr] Compiling bitstream-io v4.9.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.13 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling imgref v1.12.0 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling zune-core v0.4.12 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling cc v1.2.55 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling inout v0.1.4 [INFO] [stderr] Compiling noop_proc_macro v0.3.0 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling rav1e v0.8.1 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling simd_helpers v0.1.0 [INFO] [stderr] Compiling portable-atomic v1.13.1 [INFO] [stderr] Compiling zmij v1.0.18 [INFO] [stderr] Compiling new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling cipher v0.4.4 [INFO] [stderr] Compiling zune-jpeg v0.4.21 [INFO] [stderr] Compiling loop9 v0.1.5 [INFO] [stderr] Compiling pxfm v0.1.27 [INFO] [stderr] Compiling avif-serialize v0.8.8 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling libbz2-rs-sys v0.2.2 [INFO] [stderr] Compiling zune-core v0.5.1 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling bumpalo v3.19.1 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling rgb v0.8.52 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling image-webp v0.2.4 [INFO] [stderr] Compiling num-rational v0.4.2 [INFO] [stderr] Compiling qoi v0.4.1 [INFO] [stderr] Compiling bzip2 v0.6.1 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling xattr v1.6.1 [INFO] [stderr] Compiling clap_builder v4.5.58 [INFO] [stderr] Compiling lzma-rust2 v0.16.2 [INFO] [stderr] Compiling zstd-sys v2.0.16+zstd.1.5.7 [INFO] [stderr] Compiling console v0.16.2 [INFO] [stderr] Compiling zune-jpeg v0.5.12 [INFO] [stderr] Compiling gif v0.14.1 [INFO] [stderr] Compiling pbkdf2 v0.12.2 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling maybe-rayon v0.1.1 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling aes v0.8.4 [INFO] [stderr] Compiling env_filter v1.0.0 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling ppmd-rust v1.4.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling typed-path v0.12.3 [INFO] [stderr] Compiling constant_time_eq v0.4.2 [INFO] [stderr] Compiling unit-prefix v0.5.2 [INFO] [stderr] Compiling mutate_once v0.1.2 [INFO] [stderr] Compiling deflate64 v0.1.10 [INFO] [stderr] Compiling jiff v0.2.18 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling indicatif v0.18.3 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling kamadak-exif v0.6.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling moxcms v0.7.11 [INFO] [stderr] Compiling tar v0.4.44 [INFO] [stderr] Compiling sysinfo v0.33.1 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling equator-macro v0.4.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling zerocopy-derive v0.8.39 [INFO] [stderr] Compiling profiling-procmacros v1.0.17 [INFO] [stderr] Compiling arg_enum_proc_macro v0.3.4 [INFO] [stderr] Compiling profiling v1.0.17 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling fax_derive v0.2.0 [INFO] [stderr] Compiling zeroize_derive v1.4.3 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling env_logger v0.11.9 [INFO] [stderr] Compiling fax v0.2.6 [INFO] [stderr] Compiling equator v0.4.2 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling aligned-vec v0.6.4 [INFO] [stderr] Compiling v_frame v0.3.9 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling av1-grain v0.2.5 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling clap v4.5.58 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling zstd v0.13.3 [INFO] [stderr] Compiling zip v8.1.0 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling tiff v0.10.3 [INFO] [stderr] Compiling exr v1.74.0 [INFO] [stderr] Compiling ravif v0.12.0 [INFO] [stderr] Compiling image v0.25.9 [INFO] [stderr] Compiling google-photos-takeout-organizer v0.6.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 39s [INFO] running `Command { std: "docker" "inspect" "6f5925a7fff00583722b0039b3e3999577513b6a7b2d33853e7b91a601d64cad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f5925a7fff00583722b0039b3e3999577513b6a7b2d33853e7b91a601d64cad", kill_on_drop: false }` [INFO] [stdout] 6f5925a7fff00583722b0039b3e3999577513b6a7b2d33853e7b91a601d64cad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5955e40d1975ea0e0e7b4e6e15a97789ec46298186691e577b72034a18850735 [INFO] running `Command { std: "docker" "start" "-a" "5955e40d1975ea0e0e7b4e6e15a97789ec46298186691e577b72034a18850735", kill_on_drop: false }` [INFO] [stderr] Compiling google-photos-takeout-organizer v0.6.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.48s [INFO] running `Command { std: "docker" "inspect" "5955e40d1975ea0e0e7b4e6e15a97789ec46298186691e577b72034a18850735", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5955e40d1975ea0e0e7b4e6e15a97789ec46298186691e577b72034a18850735", kill_on_drop: false }` [INFO] [stdout] 5955e40d1975ea0e0e7b4e6e15a97789ec46298186691e577b72034a18850735 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 12b9f446e2a913525f3c73922d41a28c7716741116e07c2184093c978f7455e2 [INFO] running `Command { std: "docker" "start" "-a" "12b9f446e2a913525f3c73922d41a28c7716741116e07c2184093c978f7455e2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/google_photos_takeout_organizer-518a719136019807) [INFO] [stdout] [INFO] [stdout] running 31 tests [INFO] [stdout] test gallery::builder::tests::test_build_html_breadcrumbs ... ok [INFO] [stdout] test gallery::builder::tests::test_build_html_basic ... ok [INFO] [stdout] test gallery::builder::tests::test_build_html_with_flattened ... ok [INFO] [stdout] test gallery::builder::tests::test_generate_photo_html ... ok [INFO] [stdout] test gallery::utils::tests::test_is_image ... ok [INFO] [stdout] test organizer::date_utils::tests::test_naive_to_utc_valid ... ok [INFO] [stdout] test organizer::date_utils::tests::test_naive_to_utc_invalid ... ok [INFO] [stdout] test organizer::date_utils::tests::test_timestamp_string_to_date ... ok [INFO] [stdout] test organizer::date_utils::tests::test_timestamp_invalid ... ok [INFO] [stdout] test gallery::utils::tests::test_get_date_from_path ... ok [INFO] [stdout] test organizer::fs_ops::tests::test_should_process_file ... ok [INFO] [stdout] test organizer::metadata::tests::test_filename_date_extraction_dmy ... ok [INFO] [stdout] test organizer::metadata::tests::test_filename_date_extraction_std ... ok [INFO] [stdout] test gallery::media::tests::test_check_ffmpeg_available_no_panic ... ok [INFO] [stdout] test gallery::media::tests::test_video_operations ... ok [INFO] [stdout] test gallery::videos::tests::test_ensure_thumbnail_and_check_transcode_no_ffmpeg ... ok [INFO] [stdout] test organizer::fs_ops::tests::test_extract_archive_zip ... ok [INFO] [stdout] test organizer::fs_ops::tests::test_extract_archive_tar_gz ... ok [INFO] [stdout] test gallery::traversal::tests::test_flattened_view_at_month_level ... ok [INFO] [stdout] test organizer::tests::test_organize_files_incremental_run ... ok [INFO] [stdout] test organizer::metadata::tests::test_filename_no_date ... ok [INFO] [stdout] test gallery::traversal::tests::test_month_sorting_logic ... ok [INFO] [stdout] test organizer::tests::test_organize_files_basic ... ok [INFO] [stdout] test organizer::ui::tests::test_create_progress_bar ... ok [INFO] [stdout] test gallery::tests::test_ensure_thumbnail_fast ... FAILED [INFO] [stdout] test gallery::tests::test_generate_gallery_integration ... FAILED [INFO] [stdout] test gallery::images::tests::test_ensure_thumbnail_fails_on_missing_file ... ok [INFO] [stdout] test gallery::images::tests::test_ensure_thumbnail_directory_creation ... ok [INFO] [stdout] test gallery::videos::tests::test_ensure_thumbnail_fast_dispatch ... ok [INFO] [stdout] test gallery::throttle::tests::test_parallel_transcoding_logic ... ok [INFO] [stdout] test gallery::traversal::tests::test_visit_dir_creates_collection_html ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- gallery::tests::test_ensure_thumbnail_fast stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'gallery::tests::test_ensure_thumbnail_fast' (25) panicked at src/gallery/mod.rs:232:34: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x57acfbfb99ea - std[31e582c13f4e914f]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x57acfbfb99ea - std[31e582c13f4e914f]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x57acfbfb99ea - std[31e582c13f4e914f]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x57acfbfb99ea - <::print::DisplayBacktrace as core[fa0eadad68403074]::fmt::Display>::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x57acfbfd1eea - ::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x57acfbfd1eea - core[fa0eadad68403074]::fmt::write [INFO] [stdout] 6: 0x57acfbfbf112 - std[31e582c13f4e914f]::io::default_write_fmt::> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x57acfbfbf112 - as std[31e582c13f4e914f]::io::Write>::write_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x57acfbf9433f - ::print [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x57acfbf9433f - std[31e582c13f4e914f]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x57acfbfafc09 - std[31e582c13f4e914f]::panicking::default_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x57acfbbb762c - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x57acfbbb762c - test[7530e63dc052480e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x57acfbfafe82 - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x57acfbfafe82 - std[31e582c13f4e914f]::panicking::panic_with_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x57acfbf943f8 - std[31e582c13f4e914f]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x57acfbf88d49 - std[31e582c13f4e914f]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x57acfbf9541d - __rustc[fc8e3a9f23f26cb]::rust_begin_unwind [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x57acfbfd275c - core[fa0eadad68403074]::panicking::panic_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x57acfbfd24a2 - core[fa0eadad68403074]::result::unwrap_failed [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x57acfaf1ece8 - >::unwrap [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x57acfaf1ece8 - google_photos_takeout_organizer[8489a146b23e59d9]::gallery::tests::test_ensure_thumbnail_fast [INFO] [stdout] at /opt/rustwide/workdir/src/gallery/mod.rs:232:34 [INFO] [stdout] 22: 0x57acfaf13be7 - google_photos_takeout_organizer[8489a146b23e59d9]::gallery::tests::test_ensure_thumbnail_fast::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/gallery/mod.rs:227:36 [INFO] [stdout] 23: 0x57acfaf5ec56 - >::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x57acfbbab70b - core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x57acfbbab70b - test[7530e63dc052480e]::__rust_begin_short_backtrace::, fn() -> core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x57acfbbb80fb - test[7530e63dc052480e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x57acfbbb80fb - as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x57acfbbb80fb - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x57acfbbb80fb - std[31e582c13f4e914f]::panicking::catch_unwind::, core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x57acfbbb80fb - std[31e582c13f4e914f]::panic::catch_unwind::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x57acfbbb80fb - test[7530e63dc052480e]::run_test_in_process [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x57acfbbb80fb - test[7530e63dc052480e]::run_test::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x57acfbbb2554 - test[7530e63dc052480e]::run_test::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x57acfbbb2554 - std[31e582c13f4e914f]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x57acfbbbad02 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x57acfbbbad02 - ::{closure#1}::{closure#0}> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x57acfbbbad02 - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x57acfbbbad02 - std[31e582c13f4e914f]::panicking::catch_unwind::<(), core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x57acfbbbad02 - std[31e582c13f4e914f]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x57acfbbbad02 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x57acfbbbad02 - ::{closure#1} as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x57acfbfb8cef - + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x57acfbfb8cef - ::new::thread_start [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x7b6348119aa4 - [INFO] [stdout] 45: 0x7b63481a6a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- gallery::tests::test_generate_gallery_integration stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'gallery::tests::test_generate_gallery_integration' (26) panicked at src/gallery/mod.rs:187:53: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x57acfbfb99ea - std[31e582c13f4e914f]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x57acfbfb99ea - std[31e582c13f4e914f]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x57acfbfb99ea - std[31e582c13f4e914f]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x57acfbfb99ea - <::print::DisplayBacktrace as core[fa0eadad68403074]::fmt::Display>::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x57acfbfd1eea - ::fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x57acfbfd1eea - core[fa0eadad68403074]::fmt::write [INFO] [stdout] 6: 0x57acfbfbf112 - std[31e582c13f4e914f]::io::default_write_fmt::> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x57acfbfbf112 - as std[31e582c13f4e914f]::io::Write>::write_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x57acfbf9433f - ::print [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x57acfbf9433f - std[31e582c13f4e914f]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x57acfbfafc09 - std[31e582c13f4e914f]::panicking::default_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x57acfbbb762c - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x57acfbbb762c - test[7530e63dc052480e]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x57acfbfafe82 - core[fa0eadad68403074]::ops::function::Fn<(&'a std[31e582c13f4e914f]::panic::PanicHookInfo<'b>,), Output = ()> + core[fa0eadad68403074]::marker::Sync + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::Fn<(&std[31e582c13f4e914f]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x57acfbfafe82 - std[31e582c13f4e914f]::panicking::panic_with_hook [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x57acfbf943f8 - std[31e582c13f4e914f]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x57acfbf88d49 - std[31e582c13f4e914f]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x57acfbf9541d - __rustc[fc8e3a9f23f26cb]::rust_begin_unwind [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x57acfbfd275c - core[fa0eadad68403074]::panicking::panic_fmt [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x57acfbfd24a2 - core[fa0eadad68403074]::result::unwrap_failed [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x57acfaf1f28a - >::unwrap [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x57acfaf1f28a - google_photos_takeout_organizer[8489a146b23e59d9]::gallery::tests::test_generate_gallery_integration [INFO] [stdout] at /opt/rustwide/workdir/src/gallery/mod.rs:187:53 [INFO] [stdout] 22: 0x57acfaf13c17 - google_photos_takeout_organizer[8489a146b23e59d9]::gallery::tests::test_generate_gallery_integration::{closure#0} [INFO] [stdout] at /opt/rustwide/workdir/src/gallery/mod.rs:182:43 [INFO] [stdout] 23: 0x57acfaf5ec96 - >::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x57acfbbab70b - core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x57acfbbab70b - test[7530e63dc052480e]::__rust_begin_short_backtrace::, fn() -> core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x57acfbbb80fb - test[7530e63dc052480e]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x57acfbbb80fb - as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 28: 0x57acfbbb80fb - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x57acfbbb80fb - std[31e582c13f4e914f]::panicking::catch_unwind::, core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x57acfbbb80fb - std[31e582c13f4e914f]::panic::catch_unwind::, core[fa0eadad68403074]::result::Result<(), alloc[49b8922c36ca62de]::string::String>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x57acfbbb80fb - test[7530e63dc052480e]::run_test_in_process [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x57acfbbb80fb - test[7530e63dc052480e]::run_test::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x57acfbbb2554 - test[7530e63dc052480e]::run_test::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x57acfbbb2554 - std[31e582c13f4e914f]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x57acfbbbad02 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x57acfbbbad02 - ::{closure#1}::{closure#0}> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/panic/unwind_safe.rs:275:9 [INFO] [stdout] 37: 0x57acfbbbad02 - std[31e582c13f4e914f]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x57acfbbbad02 - std[31e582c13f4e914f]::panicking::catch_unwind::<(), core[fa0eadad68403074]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x57acfbbbad02 - std[31e582c13f4e914f]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x57acfbbbad02 - std[31e582c13f4e914f]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x57acfbbbad02 - ::{closure#1} as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x57acfbfb8cef - + core[fa0eadad68403074]::marker::Send> as core[fa0eadad68403074]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x57acfbfb8cef - ::new::thread_start [INFO] [stdout] at /rustc/562dee4820c458d823175268e41601d4c060588a/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x7b6348119aa4 - [INFO] [stdout] 45: 0x7b63481a6a64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] gallery::tests::test_ensure_thumbnail_fast [INFO] [stdout] gallery::tests::test_generate_gallery_integration [INFO] [stdout] [INFO] [stdout] test result: FAILED. 29 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--bin google-photos-takeout-organizer` [INFO] running `Command { std: "docker" "inspect" "12b9f446e2a913525f3c73922d41a28c7716741116e07c2184093c978f7455e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "12b9f446e2a913525f3c73922d41a28c7716741116e07c2184093c978f7455e2", kill_on_drop: false }` [INFO] [stdout] 12b9f446e2a913525f3c73922d41a28c7716741116e07c2184093c978f7455e2