Skip to content

lldb debuginfo test failure, hash_set/hash_map of size 0 instead of expected size 4? #83891

Closed

Description

I tried this code:

time python /media/pnkfelix/Rust/rust.git/x.py build    --stage 1   library/std  && time python /media/pnkfelix/Rust/rust.git/x.py test    --stage 1

I expected to see this happen: successful test suite run

Instead, this happened: debuginfo test failure for pretty-std-collection.rs, saying that an expecting output from the debugger was not found.

error: line not found in debugger output: [...]$2 = size=4 { [0] = { 0 = 1 1 = 10 } [1] = { 0 = 2 1 = 20 } [2] = { 0 = 3 1 = 30 } [3] = { 0 = 4 1 = 40 } }

The specific line it seemed be this one:

// lldb-command:print hash_map
// lldbg-check:[...]$2 = size=4 { [0] = { 0 = 1 1 = 10 } [1] = { 0 = 2 1 = 20 } [2] = { 0 = 3 1 = 30 } [3] = { 0 = 4 1 = 40 } }
// lldbr-check:(std::collections::hash::map::HashMap<u64, u64, [...]>) hash_map = size=4 size=4 { [0] = { 0 = 1 1 = 10 } [1] = { 0 = 2 1 = 20 } [2] = { 0 = 3 1 = 30 } [3] = { 0 = 4 1 = 40 } }

Click to see transcript that includes the full stdout/stderr output as reported by `x.y` + `compiletest`
failures:

---- [debuginfo-lldb] debuginfo/pretty-std-collections.rs stdout ----
NOTE: compiletest thinks it is using LLDB version 1100
NOTE: compiletest thinks it is using LLDB without native rust support

error: line not found in debugger output: [...]$2 = size=4 { [0] = { 0 = 1 1 = 10 } [1] = { 0 = 2 1 = 20 } [2] = { 0 = 3 1 = 30 } [3] = { 0 = 4 1 = 40 } }
status: exit code: 0
command: "/usr/bin/python" "/media/pnkfelix/Rust/rust.git/src/etc/lldb_batchmode.py" "/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/test/debuginfo/pretty-std-collections.lldb/a" "/media/\
pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/test/debuginfo/pretty-std-collections.lldb/pretty-std-collections.debugger.script"
stdout:
------------------------------------------
LLDB batch-mode script
----------------------
Debugger commands script is '/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/test/debuginfo/pretty-std-collections.lldb/pretty-std-collections.debugger.script'.
Target executable is '/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/test/debuginfo/pretty-std-collections.lldb/a'.
Current working directory is '/media/pnkfelix/Rust/rust.git/objdir-opt'
Creating a target for '/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/test/debuginfo/pretty-std-collections.lldb/a'
settings set auto-confirm true

version
lldb version 11.0.0
command script import /media/pnkfelix/Rust/rust.git/./src/etc/lldb_lookup.py
type synthetic add -l lldb_lookup.synthetic_lookup -x '.*' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)String$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^&str$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^&\[.+\]$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(std::ffi::([a-z_]+::)+)OsString$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)Vec<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)VecDeque<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)BTreeSet<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)BTreeMap<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(std::collections::([a-z_]+::)+)HashMap<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(std::collections::([a-z_]+::)+)HashSet<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)Rc<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(alloc::([a-z_]+::)+)Arc<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(core::([a-z_]+::)+)Cell<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(core::([a-z_]+::)+)Ref<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(core::([a-z_]+::)+)RefMut<.+>$' --category Rust
type summary add -F lldb_lookup.summary_lookup  -e -x -h '^(core::([a-z_]+::)+)RefCell<.+>$' --category Rust
type category enable Rust

breakpoint set --file 'pretty-std-collections.rs' --line 159
DEBUG: breakpoint added, id = 1
Breakpoint 1: where = a`pretty_std_collections::main::h809023208ec02992 + 1666 at pretty-std-collections.rs:159:5, address = 0x000000000003d6a2
DEBUG: registering breakpoint callback, id = 1
Error while trying to register breakpoint callback, id = 1, message = error: could not get num args: can't find callable: breakpoint_callback

run
Process 775555 stopped * thread #1, name = 'a', stop reason = breakpoint 1.1 frame #0: 0x00005555555916a2 a`pretty_std_collections::main::h809023208ec02992 at pretty-std-collections.rs:159:5 156 hash_set.insert(i\
); 157 } 158 -> 159 zzz(); // #break ^ 160 } 161 162 fn zzz() { Process 775555 launched: '/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/test/debuginfo/pretty-std-collections.lldb/a' (x86\
_64)
print vec_deque
(alloc::collections::vec_deque::VecDeque<int>) $0 = size=3 { [0] = 5 [1] = 3 [2] = 7 }
print vec_deque2
(alloc::collections::vec_deque::VecDeque<int>) $1 = size=7 { [0] = 2 [1] = 3 [2] = 4 [3] = 5 [4] = 6 [5] = 7 [6] = 8 }
print hash_map
(std::collections::hash::map::HashMap<unsigned long, unsigned long, core::hash::BuildHasherDefault<pretty_std_collections::SimpleHasher> >) $2 = size=4 { [0] = [1] = [2] = [3] = }
print hash_set
(std::collections::hash::set::HashSet<unsigned long, core::hash::BuildHasherDefault<pretty_std_collections::SimpleHasher> >) $3 = size=4 {}
quit


------------------------------------------
stderr:
------------------------------------------
error: need to add support for DW_TAG_base_type '()' encoded with DW_ATE = 0x7, bit_size = 0

------------------------------------------



failures:
    [debuginfo-lldb] debuginfo/pretty-std-collections.rs

test result: FAILED. 175 passed; 1 failed; 56 ignored; 0 measured; 0 filtered out; finished in 89.52s

Some tests failed in compiletest suite=debuginfo mode=debuginfo host=x86_64-unknown-linux-gnu target=x86_64-unknown-linux-gnu


command did not execute successfully: "/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/media/pnkfelix/Rust/rust.git/objdir-opt/build/x8\
6_64-unknown-linux-gnu/stage1/lib" "--run-lib-path" "/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/media/pnkfelix/Rust/r\
ust.git/objdir-opt/build/x86_64-unknown-linux-gnu/stage1/bin/rustc" "--src-base" "/media/pnkfelix/Rust/rust.git/src/test/debuginfo" "--build-base" "/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-li\
nux-gnu/test/debuginfo" "--stage-id" "stage1-x86_64-unknown-linux-gnu" "--suite" "debuginfo" "--mode" "debuginfo" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/med\
ia/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--nodejs" "/usr/bin/node" "--npm" "/usr/bin/npm" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -L\
native=/media/pnkfelix/Rust/rust.git/objdir-opt/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/media/pnkfelix/Rust/rust.git/\
objdir-opt/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python" "--lldb-python" "/usr/bin/python" "--gdb" "/usr/bin/gdb" "--lldb-version" "lldb version 11.0.0\n" "--lldb-pyt\
hon-dir" "/usr/lib/lib/python3/dist-packages" "--quiet" "--llvm-version" "12.0.0-rust-dev" "--llvm-components" "aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils agg\
ressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter avr avrasmparser avrcodegen avrdesc avrdisassembler avrinfo binaryformat bitre\
ader bitstreamreader bitwriter cfguard codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver dwarflinker engine executionengine extension\
s filecheck frontendopenacc frontendopenmp fuzzmutate globalisel hellonew hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interfacestub interpreter \
ipo irreader jitlink libdriver lineeditor linker lto mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430des\
c msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts object objectyaml option orcjit orcshared orctargetprocess passes powerpc powerpcasmparser powerpccodegen po\
werpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdes\
c sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target textapi transformutils vectorize webassembly webassemblyasmparse\
r webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info xray" "--cc" "" "--cxx" "" "--cflags" "" "--adb-path" "adb"\
 "--adb-test-dir" "/data/tmp/work" "--android-cross-path" ""
expected success, got: exit code: 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)A-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions