[Bug 35193] New: MiniDumpTestCase.test_stack_info_in_minidump failing

Bug ID 35193
Summary MiniDumpTestCase.test_stack_info_in_minidump failing
Product lldb
Version unspecified
Hardware PC
OS Windows XP
Status NEW
Severity normal
Priority P
Component All Bugs
Assignee lldb-dev@lists.llvm.org
Reporter labath@google.com
CC amccarth@google.com, llvm-bugs@lists.llvm.org

In r316673 we enabled the SysV-i386 ABI plugin for windows targets (among
This caused MiniDumpTestCase.test_stack_info_in_minidump to start failing
because it was asserting that we only see one frame in the minidump. This was
no longer true, because the ABI plugin provided lldb with a "architecture
default unwind plan", which tells it to follow the %ebp chain. Using this
method lldb was able to find 5 more frames in the minidump.

I inspected the minidump manually and confirmed that lldb followed the ebp
chain correctly, so I updated the test expectation to the new backtrace

However, this test still continues to fail on windows because there lldb finds
kernel32.dll somewhere on the system and loads it, which changes the unwind
strategy and the computed backtrace. Furthermore, the computed backtrace is
almost always wrong because the loaded kernel32.dll is most likely different
from the dll that was present in the original process.

I think there are at least two bugs here:
1. lldb loads kernel32.dll even though it does not match. The minidump seems to
contain some sort of a checksum next to each module, so this can probably be
fixed by verifying those checksums before loading.

2. (this is probably more like a feature request) For the sake of test
reproducibility, we should have a way to prevent lldb from loading libraries
from the host system (perhaps by having a --sysroot argument that tells it
where to search for files, and then just pointing that to an empty folder).

I am going to xfail the test until this can be somehow fixed.

Stella Stamenova changed bug 35193

What | Removed | Added |

Comment # 1 on bug 35193 from Stella Stamenova

The test marked as failing because of this bug is now passing.