GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — bpo-43693: Turn localspluskinds into an object by gvanrossum · Pull Request #26749 · python/cpython Conversation
|
| # Python 3.11a1 3454 (compute cell offsets relative to locals bpo-43693) | ||
| # Python 3.11a1 3455 (add MAKE_CELL bpo-43693) | ||
| # Python 3.11a1 3456 (interleave cell args bpo-43693) | ||
| # Python 3.11a1 3457 (Change localsplus to a bytes object bpo-43693) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
I wonder if we're not using up too many magic numbers during pre-alpha...
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
what are our options?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
what are our options?
Going back to the first magic number for 3.11a1. Everything is for the same bpo issue it seems.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
@ericsnowcurrently I think I have one failing test left, test_ctypes. In particular: Have you run into this? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Yeah, you have to update the test to match the new memory size |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @gvanrossum for commit b09738c 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I don't see how these changes could make test_ssl fail (only on Mac), and when I run that test myself it passes. I assume it's flakey. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Happy buildbots, except refleaks on AMD64 Windows8.1 is still churning. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
mostly LGTM
I've left a few comments for some slight adjustments but otherwise everything looks correct. Thanks for taking the time to do this. FWIW, I now see the value of using PyBytesObject instead of a raw array like I had, so thanks for educating me! 😄
I'm approving the PR now, assuming that you'll make the relevant changes (or ask) before merging.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
| static PyObject * | ||
| compute_localsplus_info(struct compiler *c, PyObject *names) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
It seems strange to pass one in and return the other. Perhaps create both in this function?
| static PyObject * | |
| compute_localsplus_info(struct compiler *c, PyObject *names) | |
| static int | |
| compute_localsplus_info(struct compiler *c, int nlocalsplus, PyObject **pnames, PyObject **pkinds) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
...and something like "init_localsplus_info" is probably a better name with the shift in responsibility for this function.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
It seems strange to pass one in and return the other. Perhaps create both in this function?
I find the C idiom for returning multiple values pretty awkward, so I'll just allocate both before passing them into the function.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
While all the tests pass here, when I try them at home, I get a crash in test_descr, both on Mac and Windows. I need to understand better what's going on there. Maybe I just need to merge a later version of main. But I'm out of time for now. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Oh wait, I get the same crash on main. Something's wrong! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
So, using git bisect I've narrowed it down to GH-26595: I can repro this on my Mac using the following sequence: The same three tests also cause a crash on Windows, with roughly the same traceback. @markshannon Can you repro this on your Linux machine? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Repro what? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
I know, but when I try this at home, on both Windows and Mac, I get a crash (details in my previous comment): I've painstakingly bisected this behavior down to your PR GH-26595. If I back up in git to the PR before that, that command passes. Any commit on master after that PR, it also fails (including HEAD). And this is both on Mac and on Windows, so I can't blame it on environmental issues -- the two environments are just too different. So I beg you to take this serious. I suspect something odd happens in the LOAD_ATTR cache. Could it be that the CI tests set PYTHONHASHSEED to a fixed value that happens to avoid the crash? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@markshannon |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
There LOAD_ATTR issue is unrelated (discussed offline, we understand it and Mark will fix), so assuming the tests pass after the merge with origin/main I'll land this. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.