On scarthgap, rust.RustSelfTestSystemEmulated.test_rust failed with Testing stage1 compiletest suite=ui mode=ui (x86_64-unknown-linux-gnu -> i686-poky-linux-gnu) thread 'main' panicked at src/tools/compiletest/src/lib.rs:1054:31: called `Option::unwrap()` on a `None` value note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace Testing stage1 compiletest suite=run-pass-valgrind mode=run-pass-valgrind (x86_64-unknown-linux-gnu -> i686-poky-linux-gnu) thread 'main' panicked at src/tools/compiletest/src/lib.rs:1054:31: called `Option::unwrap()` on a `None` value note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace In "qemuarm64-tc": * https://errors.yoctoproject.org/Errors/Details/893218/ * https://autobuilder.yoctoproject.org/valkyrie/#/builders/5/builds/2878 * (Note: passed in https://autobuilder.yoctoproject.org/valkyrie/#/builders/5/builds/2880) And in "qemux86-tc": * https://autobuilder.yoctoproject.org/valkyrie/#/builders/28/builds/2884 * https://errors.yoctoproject.org/Errors/Details/893233/ * (Note: passed in https://autobuilder.yoctoproject.org/valkyrie/#/builders/28/builds/2886)
Look GDB related: the panic is in the extract_gdb_version() function: src/tools/compiletest/src/lib.rs: 1034 fn extract_gdb_version(full_version_line: &str) -> Option<u32> { 1035 let full_version_line = full_version_line.trim(); 1036 1037 // GDB versions look like this: "major.minor.patch?.yyyymmdd?", with both 1038 // of the ? sections being optional 1039 1040 // We will parse up to 3 digits for each component, ignoring the date 1041 1042 // We skip text in parentheses. This avoids accidentally parsing 1043 // the openSUSE version, which looks like: 1044 // GNU gdb (GDB; openSUSE Leap 15.0) 8.1 1045 // This particular form is documented in the GNU coding standards: 1046 // https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html#g_t_002d_002dversion 1047 1048 let unbracketed_part = full_version_line.split('[').next().unwrap(); 1049 let mut splits = unbracketed_part.trim_end().rsplit(' '); 1050 let version_string = splits.next().unwrap(); 1051 1052 let mut splits = version_string.split('.'); 1053 let major = splits.next().unwrap(); 1054 let minor = splits.next().unwrap(); 1055 let patch = splits.next();
I started to try to reproduce under better error handling (no success so far) https://git.yoctoproject.org/poky-contrib/log/?h=ycongal/scarthgap/bz16122_rust under a modified builder (to only run the failing test) https://git.yoctoproject.org/yocto-autobuilder-helper/log/?h=contrib/ycongal/scarthgap/bz16122_rust See: https://autobuilder.yoctoproject.org/valkyrie/#/builders/28 with the "contrib/ycongal/scarthgap/bz16122_rust" builds
scarthgap qemuarm-tc fedora40-vk-2 https://autobuilder.yoctoproject.org/valkyrie/?#/builders/42/builds/3129