-
-
Notifications
You must be signed in to change notification settings - Fork 31.5k
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
bpo-34113: Fix SIGSEGV on negative STACKADJ when LLTRACE is on #8517
Conversation
Hello, and thanks for your contribution! I'm a bot set up to make sure that the project can legally accept your contribution by verifying you have signed the PSF contributor agreement (CLA). Unfortunately we couldn't find an account corresponding to your GitHub username on bugs.python.org (b.p.o) to verify you have signed the CLA (this might be simply due to a missing "GitHub Name" entry in your b.p.o account settings). This is necessary for legal reasons before we can look at your contribution. Please follow the steps outlined in the CPython devguide to rectify this issue. When your account is ready, please add a comment in this pull request You can check yourself Thanks again for your contribution, we look forward to reviewing it! |
cc @vstinner |
Can you also add a test that fails without this change? |
1b6b8fe
to
1cd4eef
Compare
@encukou I pushed a new test which without the fix would crash |
961a434
to
20a99e4
Compare
@@ -0,0 +1,43 @@ | |||
|
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.
please remove this empty line
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.
Done :)
Lib/test/test_lltrace.py
Outdated
tmp_script.flush() | ||
|
||
status, stdout, stderr = assert_python_ok(tmp_script.name) | ||
self.assertEqual(status, 0) |
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.
the function already checks status. in fact, you don't need the function result: "status, stdout, stderr = " can be removed IMHO.
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
20a99e4
to
5eca161
Compare
I have made the requested changes; please review again |
Thanks for making the requested changes! @vstinner: please review the changes made to this pull request. |
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.
Hum. I'm confused. Why do you write "LLTRACE" with 2 L whereas the constant only contains 1 L? If it's a typo, would you mind to rename the test file, test case and test method?
Oh, LLTRACE comes from a C define:
LL as Low-Level, I see. It's just surprising that the constant is called ltrace with a single L :-) |
@vstinner I was confused about this during the sprint too. Petr Viktorin who was sitting next to me didn't knew why this was written like this either. So from what I understand the gist is that LLTRACE is the feature coming from Low Level Trace, but the global that you set in the console interpretor is |
https://bugs.python.org/issue34113
https://bugs.python.org/issue34113