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
test_pt_ls fails with Dyninst master #123
Comments
This was fixed by a patch in v9.2.0_patches. Could you try merging v9.2.0_patches into your branch and rerunning the testsuite? |
I get a bunch of test failures now, all of which say |
@ssunny7 was this after merging with |
@jdetter Yes. |
@ssunny7 Is this vanilla master or have you made changes? I just recloned master on Fedora23 and I am passing all tests. I am rebuilding on the CSL now to see if it could be an environment issue. |
@jdetter I cleaned up my code directory a little, and I no longer get all those errors. The log file |
pc_tls is not the same as test_pt_ls... |
@wrwilliams is |
Assuming parseThat is found (which it is), yes. |
Oh okay, sorry for the confusion!! I will look at this today. Looks like somehow the mutatee fork is failing:
|
During startup we attempt to place a breakpoint at main. To populate
@wrwilliams What should we do here? |
Of course This is supposed to be solved by I recall this failed once because it only attempted for executables ( As a first pass, you could install |
@cuviper after running The other thing that I thought was weird is that Thanks for the hints Josh, hopefully I can get this figured out tomorrow. |
I had a nagging feeling this was still familiar, and I found out why. That heuristic is only looking for an immediate operand for the main address, but it was reported a while ago that PIE sometimes has an LEA based on RIP instead. https://lists.cs.wisc.edu/archive/dyninst-api/2014/msg00294.shtml It appears this is now the case for F24's
I don't think it was like this when I first fixed Note that objdump easily figures out that this resolves to
|
@cuviper I had just figured this out and I was typing up an explanation but you beat me to it =) I think if we use dataflowAPI here then it will be more resilient to compiler changes in the future. Would you like to implement this or do you want me to give it a try? |
Please go for it! :) |
Note that 32-bit will have to look for the last stack value as the argument we need. It also appears that it's not necessarily the first call anymore!
I guess that tiny function at 482 is how it gets the ip for ip-relative addressing in 32-bit mode. |
Ok, thanks Josh for all of the help!! =) |
This issue has been fixed on Fedora 23 and Ubuntu, there is a new issue on RHEL 6 that is causing this test to fail for a different reason. |
Both
create
andrewriter
test_pt_ls
s fail with Dyninst's master branch. Branch used for testsuite was also master.Output from running the tests using the
-log
and-verbose
options:Following is the relevant portion of the output from the debug parsing log for this test:
Let me know if you need any other information.
The text was updated successfully, but these errors were encountered: