Closed guybedford closed 8 years ago
Sorry, I don't seem to be able to reproduce it locally. I wonder if it is possible to write a test case that will require only node-spdy client and node-spdy server. Which node-spdy version are you using, btw?
It seems to specifically happen only when the push stream is already cached in the browser.
The response doesn't appear and the loading icon on the page just keeps spinning and the connection isn't closed. Could it be a bug in Chrome?
I'm running SPDY 1.25.6 on NodeJS 0.10.28.
I updated to SPDY 1.26.0 and it still happens.
I've published the test case here - https://github.com/guybedford/spdy-issue-158, if it helps.
Oh, I think I know what the problem is with... It is the spdy/3.1 protocol :) Basically, the browser doesn't seem to decrease window when receiving frames on canceled PUSH stream. I'll look into chromium implementation to see if there anything that could be done in node-spdy.
Ah, seems to be a bug on my side after all.
Glad to hear you've tracked it down! Thanks so much for looking into it.
I was just playing around with a simple test case today and came across this issue. My apologies in advance if I'm doing something stupid, but I thought it would be worth posting as I've tried a few things.
My server looks like:
large-file
here is a 50MB file on my local machine.When first viewed, everything works as expected. But when viewing the page for the second time, the browser sends a RESET. Then the server sends the headers, but it never sends the final response.
It seems like the RESET on the push stream is closing the underlying main stream?
Moving the
res.end
outside of the push stream callback does not seem to help either.Here is the SPDY session: