[Lldb-commits] [lldb] [lldb][test] Fix unordered-map test (PR #156033)
Ebuka Ezike via lldb-commits
lldb-commits at lists.llvm.org
Fri Aug 29 08:51:18 PDT 2025
da-viper wrote:
this happens on ubuntu 25.10 and fedora 42
```
/home/da-viper/Dev/contribute/llvm-project/llvm/cmake-build-release/bin/lldb -O "settings set show-statusline false" -o "b 19" a.out
(lldb) settings set show-statusline false
(lldb) target create "a.out"
Current executable set to '/home/da-viper/Dev/contribute/llvm-project/llvm/cmake-build-debug-oft/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMap.test_ptr_libcxx_dwarf/a.out' (x86_64).
(lldb) b 19
Breakpoint 1: where = a.out`check_pointer(std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const**, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const* const*, std::__1::unordered_map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::equal_to<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>**) + 32 at main.cpp:19:3, address = 0x00000000000018a0
(lldb) r
Process 1304321 launched: '/home/da-viper/Dev/contribute/llvm-project/llvm/cmake-build-debug-oft/lldb-test-build.noindex/functionalities/data-formatter/data-formatter-stl/generic/unordered_map-iterator/TestDataFormatterStdUnorderedMap.test_ptr_libcxx_dwarf/a.out' (x86_64)
Process 1304321 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x00005555555558a0 a.out`check_pointer(ptr1=size=1, ptr2=size=1, ptr3=size=1, ptr4=0x00007fffffffdcc0, ptr5=0x00007fffffffdcc8, ptr6=0x00007fffffffdcc8) at main.cpp:19:3
16 static void check_pointer(const StringMapT *ptr1, StringMapT *ptr2,
17 StringMapTPtr ptr3, StringMapTPtr *ptr4,
18 const StringMapT *const *ptr5, StringMapT **ptr6) {
-> 19 std::printf("Stop here");
^
20 }
21
22 int main() {
(lldb) fr v -T (*ptr1)
(const StringMapT) (*ptr1) = size=1 {
(std::pair<const std::basic_string<char>, std::basic_string<char> >) [0] = {
(const std::basic_string<char>) first = "Hello"
(std::basic_string<char>) second = "World"
}
}
(lldb) fr v -T (*ptr1)[0]
(std::pair<const std::basic_string<char>, std::basic_string<char> >) [0] = {
(const std::basic_string<char>) first = "Hello"
(std::basic_string<char>) second = "World"
}
(lldb) script
>>> Python Interactive Interpreter. To exit, type 'quit()', 'exit()'.
>>> lldb.frame.FindVariable("ptr1").GetChildAtIndex(0)
(std::__hash_value_type<std::basic_string<char>, std::basic_string<char> >) [0] = {
__cc_ = (first = "Hello", second = "World")
}
>>>
```
https://github.com/llvm/llvm-project/pull/156033
More information about the lldb-commits
mailing list