hyperium/hyper

Connection leak

Closed this issue · 7 comments

luben commented

In certain cases I see connection leaks. I have a simple reproduction in: https://github.com/luben/repro-hyper

The behavior I observe:

Thanks, I'll try out the repro locally.

Do you have any more details that would help me while I look? Is it consistently leaking the connection immediately, or only occassionally?

luben commented

It's consistently leaking with payloads of 1 MB. I have only tried and reproduced in on Linux.

luben commented

I have just added a negative example with src/bin/worker-non-stream.rs - if we .concat2() the body (i.e. not stream it back) there is no leak.

Is the leak in broker, or in worker?

luben commented

The connection between the worker and the broker is not closed from both sides - verified with lsof.

I see, it seems the dispatcher after having written the headers for some reason doesn't continue to do work, but stalls. I'll look more into it.

I've published v0.12.16 with a fix for this, thanks for reporting and for the reproducible instructions!