[INFO] fetching crate pie_format 1.0.1... [INFO] testing pie_format-1.0.1 against 1.91.0 for beta-1.92-2 [INFO] extracting crate pie_format 1.0.1 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate pie_format 1.0.1 [INFO] finished tweaking crates.io crate pie_format 1.0.1 [INFO] tweaked toml for crates.io crate pie_format 1.0.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate pie_format 1.0.1 on toolchain 1.91.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate pie_format 1.0.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" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded flate2 v1.0.25 [INFO] [stderr] Downloaded png v0.17.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bc4e8bb9b04d665fc4ffbea32dfb3c3e6d757591271745213fb727ba558ac62d [INFO] running `Command { std: "docker" "start" "-a" "bc4e8bb9b04d665fc4ffbea32dfb3c3e6d757591271745213fb727ba558ac62d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bc4e8bb9b04d665fc4ffbea32dfb3c3e6d757591271745213fb727ba558ac62d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bc4e8bb9b04d665fc4ffbea32dfb3c3e6d757591271745213fb727ba558ac62d", kill_on_drop: false }` [INFO] [stdout] bc4e8bb9b04d665fc4ffbea32dfb3c3e6d757591271745213fb727ba558ac62d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e636d19527335f35c3e5cb1b08a299234eb345f87f709ba474de5b6f8099acb9 [INFO] running `Command { std: "docker" "start" "-a" "e636d19527335f35c3e5cb1b08a299234eb345f87f709ba474de5b6f8099acb9", kill_on_drop: false }` [INFO] [stderr] Compiling miniz_oxide v0.6.2 [INFO] [stderr] Compiling flate2 v1.0.25 [INFO] [stderr] Compiling png v0.17.7 [INFO] [stderr] Compiling pie_format v1.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.12s [INFO] running `Command { std: "docker" "inspect" "e636d19527335f35c3e5cb1b08a299234eb345f87f709ba474de5b6f8099acb9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e636d19527335f35c3e5cb1b08a299234eb345f87f709ba474de5b6f8099acb9", kill_on_drop: false }` [INFO] [stdout] e636d19527335f35c3e5cb1b08a299234eb345f87f709ba474de5b6f8099acb9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b19f5428962629e37ea669c5af9e26c1e452feee6875c4f9d3ea21a3ac9b07bb [INFO] running `Command { std: "docker" "start" "-a" "b19f5428962629e37ea669c5af9e26c1e452feee6875c4f9d3ea21a3ac9b07bb", kill_on_drop: false }` [INFO] [stderr] Compiling pie_format v1.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.84s [INFO] running `Command { std: "docker" "inspect" "b19f5428962629e37ea669c5af9e26c1e452feee6875c4f9d3ea21a3ac9b07bb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b19f5428962629e37ea669c5af9e26c1e452feee6875c4f9d3ea21a3ac9b07bb", kill_on_drop: false }` [INFO] [stdout] b19f5428962629e37ea669c5af9e26c1e452feee6875c4f9d3ea21a3ac9b07bb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 153a7ec281f1745dba6224917d28469d61764e3c95f229e027253b1d858f856b [INFO] running `Command { std: "docker" "start" "-a" "153a7ec281f1745dba6224917d28469d61764e3c95f229e027253b1d858f856b", kill_on_drop: false }` [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_decode ... ok [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pie_format-3ad7044d60d9ddb2) [INFO] [stdout] test test_encode ... ok [INFO] [stdout] test test_read ... ok [INFO] [stdout] test test_write ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- test_write stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'test_write' (20) panicked at src/lib.rs:159:29: [INFO] [stdout] Failed to write file.: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5aa9ac371772 - std::backtrace_rs::backtrace::libunwind::trace::h62f3c6bea0fedab3 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5aa9ac371772 - std::backtrace_rs::backtrace::trace_unsynchronized::hc41aaca6c0af0bde [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5aa9ac371772 - std::sys::backtrace::_print_fmt::h33ac2b97007106cc [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5aa9ac371772 - ::fmt::h4e0a3aeea0f9c085 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5aa9ac38192f - core::fmt::rt::Argument::fmt::h1edd6a3e00b22f10 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5aa9ac38192f - core::fmt::write::hecf68a131630c74d [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5aa9ac33eb31 - std::io::default_write_fmt::ha6b238eff7f0ef8a [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5aa9ac33eb31 - std::io::Write::write_fmt::h9846fe3d2a36c1ea [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5aa9ac34ad62 - std::sys::backtrace::BacktraceLock::print::h75160192768e5621 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5aa9ac34f8af - std::panicking::default_hook::{{closure}}::h14d82797cfb1ddcb [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5aa9ac34f741 - std::panicking::default_hook::h63f9bf8161c5d325 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:325:9 [INFO] [stdout] 11: 0x5aa9ac3100fe - as core::ops::function::Fn>::call::hb8126f8384f98101 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 12: 0x5aa9ac3100fe - test::test_main_with_exit_callback::{{closure}}::hae96ae0cd2f2ce70 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x5aa9ac34ff6f - as core::ops::function::Fn>::call::ha703f6686c81d0c6 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1999:9 [INFO] [stdout] 14: 0x5aa9ac34ff6f - std::panicking::panic_with_hook::h3173740e06bd0752 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:842:13 [INFO] [stdout] 15: 0x5aa9ac34fdca - std::panicking::panic_handler::{{closure}}::hbac492c61eb56a87 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:707:13 [INFO] [stdout] 16: 0x5aa9ac34ae99 - std::sys::backtrace::__rust_end_short_backtrace::haa3eac3df9535320 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:174:18 [INFO] [stdout] 17: 0x5aa9ac332fbd - __rustc[de0091b922c53d7e]::rust_begin_unwind [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:698:5 [INFO] [stdout] 18: 0x5aa9ac3892a0 - core::panicking::panic_fmt::h5138da2ef87be35b [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panicking.rs:75:14 [INFO] [stdout] 19: 0x5aa9ac3889d6 - core::result::unwrap_failed::h5d9b16b0b732a2ac [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/result.rs:1855:5 [INFO] [stdout] 20: 0x5aa9ac2e2cdc - core::result::Result::expect::hee6edf4bf600d770 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/result.rs:1178:23 [INFO] [stdout] 21: 0x5aa9ac2e82a0 - pie_format::write::h77874f1beb50f52c [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:159:29 [INFO] [stdout] 22: 0x5aa9ac2e4dfb - pie_format::test_write::hc8be5157e793287b [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:427:13 [INFO] [stdout] 23: 0x5aa9ac2e5047 - pie_format::test_write::{{closure}}::hf0d0cfb696cc0adf [INFO] [stdout] at /opt/rustwide/workdir/src/lib.rs:409:16 [INFO] [stdout] 24: 0x5aa9ac2ecf26 - core::ops::function::FnOnce::call_once::h34df9a52692b13ed [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x5aa9ac30fedb - core::ops::function::FnOnce::call_once::h8f50ae93d93b62b4 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 26: 0x5aa9ac30fedb - test::__rust_begin_short_backtrace::h447963718d05a644 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:663:18 [INFO] [stdout] 27: 0x5aa9ac325b15 - test::run_test_in_process::{{closure}}::hf890ba4755ca86c0 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:686:74 [INFO] [stdout] 28: 0x5aa9ac325b15 - as core::ops::function::FnOnce<()>>::call_once::h31e4b2860e583faa [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 29: 0x5aa9ac325b15 - std::panicking::catch_unwind::do_call::hec7cdbbe797e2cab [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 30: 0x5aa9ac325b15 - std::panicking::catch_unwind::h24d3b93458b5ba67 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 31: 0x5aa9ac325b15 - std::panic::catch_unwind::h46eeec7cf9c9336c [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14 [INFO] [stdout] 32: 0x5aa9ac325b15 - test::run_test_in_process::h290de6e559006104 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:686:27 [INFO] [stdout] 33: 0x5aa9ac325b15 - test::run_test::{{closure}}::h26eeb2c5f7e9a995 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:607:43 [INFO] [stdout] 34: 0x5aa9ac2fc314 - test::run_test::{{closure}}::h85af00882daabeaa [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:637:41 [INFO] [stdout] 35: 0x5aa9ac2fc314 - std::sys::backtrace::__rust_begin_short_backtrace::h9d9305dda51fa5f2 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:158:18 [INFO] [stdout] 36: 0x5aa9ac2ffcba - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc6aada8b43f0527b [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/thread/mod.rs:559:17 [INFO] [stdout] 37: 0x5aa9ac2ffcba - as core::ops::function::FnOnce<()>>::call_once::ha89fe5505c1206f5 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 38: 0x5aa9ac2ffcba - std::panicking::catch_unwind::do_call::he3e0bef721d99583 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40 [INFO] [stdout] 39: 0x5aa9ac2ffcba - std::panicking::catch_unwind::ha8241964d3d773cd [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19 [INFO] [stdout] 40: 0x5aa9ac2ffcba - std::panic::catch_unwind::ha8554bc7696cae72 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14 [INFO] [stdout] 41: 0x5aa9ac2ffcba - std::thread::Builder::spawn_unchecked_::{{closure}}::he06f1f62b4c90f8d [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/thread/mod.rs:557:30 [INFO] [stdout] 42: 0x5aa9ac2ffcba - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha7fd20ecae19b9b9 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 43: 0x5aa9ac34608f - as core::ops::function::FnOnce>::call_once::h43642ed9c40e0ab2 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1985:9 [INFO] [stdout] 44: 0x5aa9ac34608f - std::sys::thread::unix::Thread::new::thread_start::h38da0f633f090ce2 [INFO] [stdout] at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/thread/unix.rs:126:17 [INFO] [stdout] 45: 0x75c0e4b60aa4 - [INFO] [stdout] 46: 0x75c0e4beda64 - clone [INFO] [stdout] 47: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] test_write [INFO] [stdout] [INFO] [stdout] test result: FAILED. 3 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "153a7ec281f1745dba6224917d28469d61764e3c95f229e027253b1d858f856b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "153a7ec281f1745dba6224917d28469d61764e3c95f229e027253b1d858f856b", kill_on_drop: false }` [INFO] [stdout] 153a7ec281f1745dba6224917d28469d61764e3c95f229e027253b1d858f856b