-
Notifications
You must be signed in to change notification settings - Fork 25
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
BlockingIOError on App Engine after some time #50
Comments
@drazzib Thank you for reporting this. This is not a known issue. We will try to reproduce this issue. |
Can you share your |
runtime: custom
env: flex
manual_scaling:
instances: 1
resources:
cpu: 4
memory_gb: 6
disk_size_gb: 20
env_variables:
FLASK_APP: main.py
FLASK_ENV: production
|
I've just seen that a new 1.1.2 release has been pushed to PyPI repository which contains 17d58aa commit. Is this relevant for issue discussed above ? |
Hi @drazzib, No the new release is not related to this issue. We are still having trouble reproducing this error. |
Are you seeing any profiles collected despite these messages? |
Yes, I can confirm that - even with this error printed very often on stderr |
Thank you for the response. Few more questions:
|
Gentle ping. |
Hi @kalyanac , sorry for the delay.
|
Hi @drazzib, it seems like the agent is uploading profiles at a rate we expect it to. So we don't anticipate any loss of profile data at the moment. We'll try to reproduce this issue and root cause the source of the message. |
I just started having this same issue today with my CloudRun service Libs:
|
@radyz thanks for reporting it. |
Thanks for reporting the issue. I think the problem is that the app enabled signal wakeup fd somewhere. When the profiler profiles, it triggers a SIGALRM/SIGPROF signal every 10ms. Since too many signals arrive too quickly, it may cause the fd’s buffer to be full, see https://docs.python.org/3/library/signal.html#signal.set_wakeup_fd:
This will not affect the profiler. But if the app definitely needs to access the signal numbers as described in the first approach above, you probably should not use the profiler. |
I'm also having this same thing happen and have for years. GAE Standard, both Python 3.7 and Python 3.8, Django 3.0.8, default Gunicorn setup. Also tried a while ago to use uwsgi and same thing happens. I also notice that I don't get very useful information from within my python app inside of Profiler, which I wonder if is related. |
@mgrdcm Can you open a new issue about not getting useful information from Profiler? We would like to understand what is happening and help address it. |
Something on this that I've only noticed in the last 24 hours on GAE Standard is this:
Previously I was only getting the same block as mentioned in the more generic errors in the original post:
|
Hi @mgrdcm, sorry for the late response. When you see the new error below, does the profile you get contain "unknown" frames? If that's the case, could you share some setup so that we can reproduce the problem? Thanks!
|
@jqll I apologies, I missed this message until now. I stopped using cloud profiler due to this and a few other reasons. Has anything changed on this issue since September? If it hasn't been diagnosed or resolved I'm happy to add it back in and see if I'm still seeing the problem! |
We have documented this in our known issues section of the documentation. Closing because there is no further action expected on this issue. |
@kalyanac I'm running a pretty basic Django app on GAE Standard, and I just searched through all of my code and all the dependencies and nothing is calling |
It is probably set by one of the Django or any other imports Django uses. |
Here is an example from gunicorn |
Heh, I was just arriving at that conclusion - it's So it looks like right now there's no way to use |
@kalyanac Because of ☝️ meaning that you can't use one Google product (this package) on another (Google App Engine Standard with Python 3) without this happening, it kinda feels like a bug that should still be open. Maybe GAE offers a patched version of |
@mgrdcm This is not specific to |
Has anyone discovered a temporary fix for this other than disabling the profiler? |
You can find the current solution here: https://cloud.google.com/profiler/docs/troubleshooting#python-blocking. I will also update the README to mention this. |
Not a fix, but I switched to using the New Relic agent on GAE Standard Python 3 and it works wonderfully. Their new free tier is pretty generous, and so far I'm able to stay within it for my use case. |
After adding
google-cloud-profiler==1.1.1
to my Python 3.7 App Engine project, I'm getting lots ofin my service stderr logs
I'm having the same issue either with App Engine Standard python3.7 or with App Engine Flex over a custom runtime (Docker image)
Is this a known issue, is there something I can do to mitigate this issue ?
The text was updated successfully, but these errors were encountered: