-
Notifications
You must be signed in to change notification settings - Fork 13.5k
[lldb][test][win][x86_64] Fix XFAIL and XPASS on LLDB API tests #100477
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -52,6 +52,7 @@ def test_negative_indexing(self): | |
self.build() | ||
self.validate_negative_indexing() | ||
|
||
@expectedFailureAll(oslist=["windows"], archs=["x86_64"]) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Without this line, I am still seeing this test fail with:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I recently updated this for Windows on Arm 3e06392, that's where that regex came from. We need to know if it's a cosmetic difference or whether it's stopped at a completely different place. Running the test with There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks! I'll try that and update here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Here's the full output with 3e06392 cherry-picked. https://pastebin.com/LQ9QReBr There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If I change this line:
to this:
I see this error:
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Seems like my Clang invocation is generating different debug information than expected:
Is the issue here that debug symbols have the additional There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see the same function name/signature. |
||
def test_StepInstruction(self): | ||
"""Test that StepInstruction preserves the plan stack.""" | ||
self.build() | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you provide a failure log for this? It passes on our CI (Windows native x86_64).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, it may be worth cherry-picking this 58d22f1 to have build commands and outputs in the log without tracing hassle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ty! I'll try that out.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like after my CMake chages this one is passing now. I'll remove it from the PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, sorry I spoke too soon. On windows I am seeing this fail. The test is built without debug information because this is in its makefile:
@dzhidzhoev I am curious to know how this is passing for you? Without specifying
-g
or-gdwarf
to Clang, lldb cannot resolve the namefirst
and fails for me locally. But adding either of those flags fixes the problem.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For comparison, my objdump output shows no symbol table:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have the same for a.out. The dump I provided (with "first") was for main.o.
Try launching bin/lldb, "file a.out", "image dump symtab a.out", and there should be "first" symbol. Beware that it will probably show A LOT of entries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My output for
image dump symtab a.out
is empty (just prints the path to a.out). However, if I editllvm-project/lldb/test/API/functionalities/multiple-slides/Makefile
Line 11 in b66aa3b
Do you have a patched or older version of that file, or have settings in your environment that force
-gdwarf
to be passed to clang? I ask because although I am now able to see debug info, I still am wondering if there's something in my local environment that is causing different behavior. Additionally, LLDB produces no output when I runimage lookup -s first
, which means the tests still fail locally since they can't resolve the symbolsfirst
andsecond
, but lldb can still resolvefirst
andsecond
if I instead runta v first
orta v second
. Something is preventing it from looking up the symbols forfirst
andsecond
even though they are clearly present as globalsThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to figure this out. My CMakeCache had
-D LLVM_ENABLE_DIA_SDK="OFF"
which I must have set in a previous build. I don't recall why I set this, must have been trying to repro someone else's build and forgot. This indeed passes for me now. Thanks so much for your patience and helping me debug!