Comments (11)
Ok, so I'm now confident that 0.9.3 has fixed this.
from hypercorn.
Well, that didn't take long:
2020-03-03 08:00:03,542 :: ERROR :: Task was destroyed but it is pending!
task: <Task pending name='Task-40' coro=<ProtocolWrapper.send_task() done, defined at /home/bhimes/Gits/hardware-tooling/venvhypercorn/lib/python3.8/site-packages/hypercorn/protocol/__init__.py:58> wait_for=<Future pending cb=[<TaskWakeupMethWrapper object at 0x7f33554e5eb0>()]>>
Started up the hypercorn server (running Quart), clicked around a few of the links in my web app, was working fine. Walked away from my computer and made myself coffee. Came back, clicked another link (same session, browser, window, etc.), instantly this. Note that the page still loaded fine (they really always do), but yet still getting that error in the log.
EDIT: Confirmed that this dev
version does include 1e350e4. From /home/bhimes/Gits/hardware-tooling/venvhypercorn/lib/python3.8/site-packages/hypercorn/protocol/h2.py
async def _close_stream(self, stream_id: int) -> None:
if stream_id in self.streams:
stream = self.streams.pop(stream_id)
await stream.handle(StreamClosed(stream_id=stream_id))
await self.has_data.set()
These are all h2 in Chrome btw.
from hypercorn.
Sorry, I missed this issue.
I think this will happen if the client disconnects whilst the server is sending a response. These messages shouldn't be shown though, so this is a bug in Hypercorn.
When you see this happen, is there any evidence to prove/disprove that it is the client disconnecting?
from hypercorn.
I don't see any requests getting cancelled in the chrome dev tools. I still haven't been able to figure out what causes the messages. It just seems to happen randomly every couple requests.
from hypercorn.
I get the exact same problem. I can reproduce this every few requests using http
or curl
. I'm using hypercorn 0.9.0 with fastapi 0.43.0. Just curl
ing a route will sometimes emit those errors in the console. I'm not sure whether these errors indicate that something harmful is going on or whether they are safe to ignore.
from hypercorn.
I think this is fixed in the 0.9.2 release, could you check?
from hypercorn.
Still seeing this as of 0.9.2
from hypercorn.
The send_task
, which sends the HTTP/2 data according to the prioritization could get blocked when the connection closed - leading to this warning. It should be fixed with 1e350e4, could you check?
from hypercorn.
Testing this out today. Will update by EOD with results.
from hypercorn.
Bumped to 0.9.3, testing today, will report results.
from hypercorn.
I've seen no errors in the last day. I think you may have indeed solved it.
from hypercorn.
Related Issues (20)
- Hypercorn on a background thread? HOT 1
- `--quic-bind 0.0.0.0:4433` fails to listen on port 4433 and browser fails to reach my application HOT 3
- Flask CORS + Hypercorn middleware not working on invalid origin requests HOT 2
- `InvalidStateError` during termination when running hypercorn programatically through anyio. HOT 1
- Duplicate logs with "--access-log -" option HOT 2
- ASGIWrapper: make sync_spawn and call_soon optional HOT 1
- Error : unable to perform operation on <TCPTransport>; the handler is closed mechanism asgi handled
- question: running ProcessPoolExecutor inside web-app served by hypercorn HOT 1
- How could I ignore all the hypercorn output? HOT 2
- Should Hypercorn be proxied behind nginx? HOT 1
- Analog to uvicorn/gunicorn `--forwarded-allow-ips`
- Handling log file rotation
- Unhandled KeyError with HTTP/2 HOT 6
- Websocket endpoint and ProxyFixMiddleware
- use_reloader not working as intended HOT 3
- SSL shutdown timed out
- H11 Got data when expected EOF
- Encode header values using latin-1, not ascii
- Http3
- Support asyncio/Trio through AnyIO HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hypercorn.