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 — gh-96471: Add threading queue shutdown by EpicWink · Pull Request #104750 · python/cpython Conversation
|
|
Yeah, the test is definitely hanging for me. Have you figured that out yet? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I'd also recommend a merge. :-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…tdown-immediate-consume
There was an error while loading. Please reload this page.
@gvanrossum It's intermittently hanging in the test I think the solution is to simply ensure Perhaps it's simpler to set Edit: I just noticed that this pull request's description says that It's also intermittently hanging in the test Solution here (which fixes the assertion for Edit: and of course now it's failing only in Windows (CI only succeeds because it re-runs |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Also shut down before put-join in shutdown-put-join tests. Also remove indent
9d0a083 to
9072c6f
Compare
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
LG, assuming you believe the test is stable. I have one nit, let me know how you feel about that.
Oh, one more thing. If you feel like writing documentation, could you update Doc/whatsnew/3.13.rst? There's a section about modified modules. A few lines there will go a long way.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Test is not stable, as |
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.
Excellent! All that remains is merging it (which I will take care of), closing the alternative PR for queue.py, and then we can have another look at the asyncio and multiprocessing queues. (For the latter we still need to find a reviewer.)
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@EpicWink Sorry, it looks like we have to revert this until the Windows free-threading hang has been resolved. (Although it's possible that you've uncovered a Windows-related bug in free-threading, which is a developing feature.) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FWIW, having had only a quick look at the failing test, is it possible that it relies on timeouts too much? I see that there's a 0.1 msec delay that is used for sleeping, and |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Co-authored-by: Duprat <[email protected]>
|
From #104228 (comment): it looks like |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Maybe I'm waking up a little too late, but despite having worked on the development 1 year ago, I have the impression that functionalities are missing in this merged PR. In the initial version of the feature (#104225), the basic shutdown just forbade The immediate shutdown prohibited all possible previous operations and had to release all threads blocked in Currently, in the following methods ( I don't want to hurt anyone's feelings, but I think this PR needs to be reworked (including documentation). PS: initial comment was done at the bad PR. Sorry |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
@YvesDup see comment in the issue: #96471 (comment) Basically, the goal is to have waiters (callers of queue methods) not be blocked on a queue which has been shut-down. Making the shutdown immediate simply means gets won't take anything more from the queue (and instead except). There is a problem with this PR though, in that |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@EpicWink , thank you for this explanation. I ve missed that :-( |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
FYI, I fixed the failling test in |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Where can we see 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.
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks, I'll wait for the pull request. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
PR is ready on this issue (#115940). Sorry if I didn't understand that you wait for a PR linked to this one. Please let me know if I have to change. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@YvesDup, I am a little confused. There is indeed #115940, by you, but there is also gh-115898 by @EpicWink that also claims to fix these tests. How do the two relate to each other? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There are related because there are both about on the same issue. But #115898 is only a draft. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@EpicWink: We're waiting for you! ^^ |
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'll review the new PR fixing the test today. My PR is another attempt, but unfinished. Perhaps in the future it can be added as another test. Edit: reviewed! |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Thank for the review. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…ython#117532) (This is a small tweak of the original pythongh-104750 which added shutdown.)
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.