-
Notifications
You must be signed in to change notification settings - Fork 214
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
Regression in v3.8.0 #452
Comments
I think this may be a buggy test: |
The task is cancelled. It's the communicator that times out waiting for the response. |
Hmm, but the communicator only waits if the task is not already done right? And the |
ASGIHandler runs two parallel tasks. One to process the request, the other to listen for the In the test here, on receiving the When the test fails — and it's intermittent so the behaviour here isn't deterministic — the main request processing task isn't cancelled, which can be checked by inspecting the output received by the application communicator. That's a regression. We need to work out why it's happened, then we can resolve it. In the meantime though, unless we can solve it quickly, I think we need to revert the problem patch and issue a 3.8.1 to avoid a breakage in deployed applications. |
Debugging it now. |
@ttys0dev Thanks for taking a look. 🎁 |
Yeah, so it looks like the issue was that we were effectively inhibiting normal parent task |
@ttys0dev great thanks. I will give it a run in the morning. Good hustle! |
The recent 3.8.0 release causes an intermittent test failure on Django's test suite.
https://djangoci.com/job/pull-requests-focal/database=spatialite,label=focal-pr,python=python3.11/24499/testReport/junit/asgi.tests/ASGITest/test_disconnect_with_body/
This tests disconnect handling for a request with a body. The main task processing the request is not correctly cancelled, on some runs only. (The assertion fails, with response content
{'type': 'http.response.start', 'status': 200, 'headers': [(b'Content-Type', b'text/html; charset=utf-8'), (b'Content-Length', b'12')]}
delivered, rather than the timeout.)Bisected to 0503c2c by @ttys0dev for #435.
//cc @felixxm
The text was updated successfully, but these errors were encountered: