Sudheer Vinukonda created TS-3415: ------------------------------------- Summary: H2 sending FIN stream too early Key: TS-3415 URL: https://issues.apache.org/jira/browse/TS-3415 Project: Traffic Server Issue Type: Bug Components: HTTP/2 Reporter: Sudheer Vinukonda
With H2 running on the docs/jenkins server, some of us have noticed empty pages on chrome/FF when hitting those servers. Looking at the H2 traces, it seems that ATS is sending FIN streams (both SPDY_SESSION_RECV_HEADERS and SPDY_SESSION_RECV_DATA with fin flag set to true) before sending the data frames. This makes the browser display blank pages. Example: {code} t=31890437 [st=140] SPDY_SESSION_RECV_DATA --> fin = true --> size = 0 --> stream_id = 1 t=31890437 [st=140] SPDY_SESSION_RECV_DATA --> fin = false --> size = 2591 --> stream_id = 1 {code} Detailed traces below: {code} 1112054: SPDY_SESSION ci.trafficserver.apache.org:443 (DIRECT) Start Time: 2015-02-26 13:30:14.060 t=31890297 [st= 0] +SPDY_SESSION [dt=?] --> host = "ci.trafficserver.apache.org:443" --> proxy = "DIRECT" t=31890297 [st= 0] SPDY_SESSION_INITIALIZED --> protocol = "h2-14" --> source_dependency = 1112049 (SOCKET) t=31890297 [st= 0] SPDY_SESSION_SEND_SETTINGS --> settings = ["[id:3 flags:0 value:1000]","[id:4 flags:0 value:10485760]"] t=31890297 [st= 0] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 10420224 --> window_size = 10485760 t=31890297 [st= 0] SPDY_SESSION_SENT_WINDOW_UPDATE_FRAME --> delta = 10420224 --> stream_id = 0 t=31890297 [st= 0] SPDY_SESSION_SYN_STREAM --> fin = true --> :authority: ci.trafficserver.apache.org :method: GET :path: /job/tsqa-master/180/consoleFull :scheme: https accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 accept-encoding: gzip, deflate, sdch accept-language: en-US,en;q=0.8 cache-control: max-age=0 cookie: [71 bytes were stripped] user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 --> spdy_priority = 0 --> stream_id = 1 --> unidirectional = false t=31890335 [st= 38] SPDY_SESSION_RECV_SETTINGS --> clear_persisted = false --> host = "ci.trafficserver.apache.org:443" t=31890335 [st= 38] SPDY_SESSION_RECV_SETTING --> flags = 0 --> id = 1 --> value = 4096 t=31890335 [st= 38] SPDY_SESSION_RECV_SETTING --> flags = 0 --> id = 2 --> value = 0 t=31890335 [st= 38] SPDY_SESSION_RECV_SETTING --> flags = 0 --> id = 3 --> value = 100 t=31890436 [st=139] SPDY_SESSION_RECV_HEADERS --> fin = true --> :status: 200 age: 1 cache-control: no-cache,no-store,must-revalidate content-encoding: gzip content-type: text/html;charset=UTF-8 date: Thu, 26 Feb 2015 21:30:14 GMT expires: Thu, 01 Jan 1970 00:00:00 GMT server: ATS/5.3.0 set-cookie: [67 bytes were stripped] strict-transport-security: max-age=86400 via: http/1.1 ATS (ApacheTrafficServer/5.3.0 [cMsSf ]) x-frame-options: sameorigin x-hudson: 1.395 x-hudson-cli-port: 40666 x-hudson-theme: default x-instance-identity: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5JuJJnF3WReAyfHqknx9O1JV3chT6Iihwk/UIOYpZ6tLORwKrzPYVO6ho7cpwT9Jtfj91lb9Gpx0FZnhGZXsdh9SMYG8gUfGo3DRy9dLkXjNu5kYo9PQk701PvnCQJSByIpzGWTCoIwfgWTGqMEuGYZ5TvRbLnmm9j9ujo2SQpOeAUXi9f0d27wcb/MOYv8H8nICgsAcpp1AaTcboabfsJYWNodDDPYvtCjfIbQhBov5qDFnsmYXbmWavXaJ2ZGI24jSmdebFcto7NlbLLAI0JFHFualDGvfcY51NGaiK1+MNxllYsEnVSP6kSdxEtJSHOxN7z6oRVGKExh104YyDQIDAQAB x-jenkins: 1.598 x-jenkins-cli-port: 40666 x-jenkins-cli2-port: 40666 x-jenkins-session: 906fc928 --> stream_id = 1 t=31890437 [st=140] SPDY_SESSION_RECV_DATA --> fin = true --> size = 0 --> stream_id = 1 t=31890437 [st=140] SPDY_SESSION_RECV_DATA --> fin = false --> size = 2591 --> stream_id = 1 t=31890437 [st=140] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -2591 --> window_size = 10483169 t=31890437 [st=140] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 2591 --> window_size = 10485760 t=31890437 [st=140] SPDY_SESSION_RECV_DATA --> fin = false --> size = 5592 --> stream_id = 1 t=31890437 [st=140] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -5592 --> window_size = 10480168 t=31890437 [st=140] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 5592 --> window_size = 10485760 t=31890437 [st=140] SPDY_SESSION_RECV_DATA --> fin = false --> size = 2591 --> stream_id = 1 t=31890437 [st=140] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -2591 --> window_size = 10483169 t=31890437 [st=140] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 2591 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = false --> size = 3900 --> stream_id = 1 t=31890488 [st=191] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -3900 --> window_size = 10481860 t=31890488 [st=191] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 3900 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = false --> size = 1692 --> stream_id = 1 t=31890488 [st=191] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -1692 --> window_size = 10484068 t=31890488 [st=191] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 1692 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = false --> size = 6491 --> stream_id = 1 t=31890488 [st=191] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -6491 --> window_size = 10479269 t=31890488 [st=191] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 6491 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = false --> size = 1692 --> stream_id = 1 t=31890488 [st=191] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -1692 --> window_size = 10484068 t=31890488 [st=191] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 1692 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = false --> size = 6491 --> stream_id = 1 t=31890488 [st=191] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -6491 --> window_size = 10479269 t=31890488 [st=191] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 6491 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = false --> size = 647 --> stream_id = 1 t=31890488 [st=191] SPDY_SESSION_UPDATE_RECV_WINDOW --> delta = -647 --> window_size = 10485113 t=31890488 [st=191] SPDY_STREAM_UPDATE_RECV_WINDOW --> delta = 647 --> window_size = 10485760 t=31890488 [st=191] SPDY_SESSION_RECV_DATA --> fin = true --> size = 0 --> stream_id = 1 t=31890490 [st=193] SPDY_SESSION_SYN_STREAM --> fin = true --> :authority: ci.trafficserver.apache.org :method: GET :path: /favicon.ico :scheme: https accept: */* accept-encoding: gzip, deflate, sdch accept-language: en-US,en;q=0.8 cookie: [71 bytes were stripped] if-modified-since: Fri, 30 Jan 2015 15:31:33 GMT user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36 --> spdy_priority = 4 --> stream_id = 3 --> unidirectional = false t=31890555 [st=258] SPDY_SESSION_RECV_HEADERS --> fin = true --> :status: 304 date: Thu, 26 Feb 2015 21:30:14 GMT expires: Mon, 09 Feb 2015 19:39:27 GMT server: ATS/5.3.0 strict-transport-security: max-age=86400 via: http/1.1 ATS (ApacheTrafficServer/5.3.0 [cSsNfU]) --> stream_id = 3 t=31890555 [st=258] SPDY_SESSION_RECV_DATA --> fin = true --> size = 0 --> stream_id = 3 {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)