> -----Original Message----- > From: Bert Huijben [mailto:b...@qqmail.nl] > Sent: vrijdag 4 december 2015 21:45 > To: dev@httpd.apache.org > Subject: RE: No H2 Window updates! > > > > > -----Original Message----- > > From: Stefan Eissing [mailto:stefan.eiss...@greenbytes.de] > > Sent: vrijdag 4 december 2015 21:36 > > To: dev@httpd.apache.org > > Subject: Re: No H2 Window updates! > > > > The code increases the window by the difference between max and > current > > so that the client has exactly the max value. nghttp2 accepts this on the > client > > side. It rejects any larger value as you described. > > > > So we seem to have a difference in calculation between nghttp2 and serf. > > which values do you see? some data would be helpful here. > > The values are completely in the log file at the bottom of this mail. > > I open a connection and the server announces a default window of 65535. > > > > I: DBG: Allocated 131 bytes for window on stream 0x1 (left: 65404, > 65404) > I send a request with a DATA frame with a payload of 131 bytes, which > updates the stream and windows size with -131. > > So both the stream and connection windows are no longer default, but > 65404. > Logged for easy reading > > > Then I receive a WINDOW_UPDATE frame > > > I: DBG: Connection window update of 2147483392 to -2147418500 > Which tries to add 2147483392 to the existing window. > > Which doesn't fit, because the total outgoing window has to fit in 2^31-1... > See the RFC.
Ok, I think I found a -and provably THE- problem in serf... There is a bug in decoding the window update frames... Reviewing and testing some bits there now. Bert