-
-
Notifications
You must be signed in to change notification settings - Fork 30.7k
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
Ignored "BlockingIOError: [Errno 11] Resource temporarily unavailable" are still haunting us #84814
Comments
This is a reincarnation of previous issues such as
In our project we are slowly introducing use of asyncio and have a mix of execution with asyncio and regular subprocess.Popen. We do run lots of short lived processes serially, and I think it should be Ok, i.e. it should not cause underlying libraries to spit out some output to ignore unless we indeed just using them incorrectly somehow. If we recreate the SelectorEventLoop for every separate execution via asyncio -- no ignored exception messages are displayed. But if we start to reuse the same loop -- they eventually emerge. If I enable asyncio debug and log it along with our own debug messages, the strange thing that they come around the points where we run using regular subprocess.Popen, not asyncio. See datalad/datalad#4527 (comment) for more information. Unfortunately I do not have (yet) any short script to reproduce it, but I would appreciate possible hints on how to figure out what is actually causing them in our particular case. May be additional logging within asyncio could assist? |
any feedback/ideas/fixes would still be highly appreciated. Thank you! |
I am not sure we can do anything about this as there is no reproducer. I can only suggest you to use Create a new issue with reproducer if this is still an issue on supported Python versions. |
I believe the OP is @yarikoptic. Question for OP: does this still occur on more recent Python versions? Could you try Kumar's suggestion and report back? We are aware that child process exit handling in asyncio is imperfect. See e.g. #94597. |
Oh, I tried the same GitHub username |
FTR before closing I tried the script posted in #82285 and I was only able to reproduce this on 3.7 which is EOL and not on 3.8+. |
I found it by using GitHub search, clicking on the 4 user results, and going through all of them. Only one had significant activity, and they had "datalad" in their user description, so I figured that was the OP. :-) In other cases I've used bpo user list search, but I don't know if you have access to that. In this case there was no GH username.
The problem seems due to processes exiting faster than what the watcher can keep up, and since the OP acknowledged that some relieve was provided by 3.8, I imagine it's hard to repro. |
Ok, hit and trial :)
Yes, hence I suggested to use |
FWIW
|
Thanks! Then I'll close this issue, given that we already know child watchers aren't optimal. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: