{"action":"created","issue":{"url":"https://api.github.com/repos/nghttp2/nghttp2/issues/726","repository_url":"https://api.github.com/repos/nghttp2/nghttp2","labels_url":"https://api.github.com/repos/nghttp2/nghttp2/issues/726/labels{/name}","comments_url":"https://api.github.com/repos/nghttp2/nghttp2/issues/726/comments","events_url":"https://api.github.com/repos/nghttp2/nghttp2/issues/726/events","html_url":"https://github.com/nghttp2/nghttp2/issues/726","id":188535593,"number":726,"title":"Problem with zero length POST requests on Firefox with nghttpx","user":{"login":"rraptorr","id":62799,"avatar_url":"https://avatars.githubusercontent.com/u/62799?v=3","gravatar_id":"","url":"https://api.github.com/users/rraptorr","html_url":"https://github.com/rraptorr","followers_url":"https://api.github.com/users/rraptorr/followers","following_url":"https://api.github.com/users/rraptorr/following{/other_user}","gists_url":"https://api.github.com/users/rraptorr/gists{/gist_id}","starred_url":"https://api.github.com/users/rraptorr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rraptorr/subscriptions","organizations_url":"https://api.github.com/users/rraptorr/orgs","repos_url":"https://api.github.com/users/rraptorr/repos","events_url":"https://api.github.com/users/rraptorr/events{/privacy}","received_events_url":"https://api.github.com/users/rraptorr/received_events","type":"User","site_admin":false},"labels":[{"id":48072552,"url":"https://api.github.com/repos/nghttp2/nghttp2/labels/bug","name":"bug","color":"fc2929","default":true},{"id":290103297,"url":"https://api.github.com/repos/nghttp2/nghttp2/labels/nghttpx","name":"nghttpx","color":"c7def8","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/nghttp2/nghttp2/milestones/11","html_url":"https://github.com/nghttp2/nghttp2/milestones/v1.17.0","labels_url":"https://api.github.com/repos/nghttp2/nghttp2/milestones/11/labels","id":2026591,"number":11,"title":"v1.17.0","description":"","creator":{"login":"tatsuhiro-t","id":404610,"avatar_url":"https://avatars.githubusercontent.com/u/404610?v=3","gravatar_id":"","url":"https://api.github.com/users/tatsuhiro-t","html_url":"https://github.com/tatsuhiro-t","followers_url":"https://api.github.com/users/tatsuhiro-t/followers","following_url":"https://api.github.com/users/tatsuhiro-t/following{/other_user}","gists_url":"https://api.github.com/users/tatsuhiro-t/gists{/gist_id}","starred_url":"https://api.github.com/users/tatsuhiro-t/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tatsuhiro-t/subscriptions","organizations_url":"https://api.github.com/users/tatsuhiro-t/orgs","repos_url":"https://api.github.com/users/tatsuhiro-t/repos","events_url":"https://api.github.com/users/tatsuhiro-t/events{/privacy}","received_events_url":"https://api.github.com/users/tatsuhiro-t/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":5,"state":"open","created_at":"2016-09-25T03:18:17Z","updated_at":"2016-11-10T16:09:54Z","due_on":"2016-11-25T00:00:00Z","closed_at":null},"comments":2,"created_at":"2016-11-10T15:19:47Z","updated_at":"2016-11-10T16:09:54Z","closed_at":"2016-11-10T16:09:54Z","body":"I've stumbled upon a weird issue with Firefox. Recently I've noticed that one of my legacy applications, stopped working in Firefox. Disabling HTTP/2 fixed the problem, so I've started debugging. Also, the problem was found only on Firefox, Chrome was working perfectly fine. Switching nghttpx to nginx also fixes the problem.\r\n\r\nI am using nghttpx behind a haproxy, which does TLS. The application, makes several POST requests with no data (Content-Length: \"0\"). Those requests, when sent from Firefox, were constantly giving 502 errors from nghttpx. Traffic dumps showed that the request was never ever forwarded to a downstream.\r\nAfter stripping the setup down to simplify it I was able to capture some traffic dumps and I've found a small difference between HTTP/2 frames generated by Firefox and Chrome. Firefox generates a HEADERS frame, followed by empty DATA frame. Chrome generates only HEADERS frame, with no DATA frame.\r\n\r\nUnfortunately, the problem is not that easy to reproduce. When making such request from JS console everything works fine. However, the application makes many POST requests concurrently and this seems to trigger the problem. Changing all POST requests to send a single byte fixed the problem for me.\r\n\r\nnghttpx version: 1.16.0, but 1.15.0 is also affected\r\nFirefox HTTP/2 traffic dump: https://sky.nails.eu.org/files/fx-dump.pcapng\r\nFirefox log: https://sky.nails.eu.org/files/fx.log\r\nChrome HTTP2 traffic dump: https://sky.nails.eu.org/files/ch-dump.pcapng\r\nChrome log: https://sky.nails.eu.org/files/ch.log\r\n\r\nThe problematic request is POST to URL /standalone/api/getSessionId\r\n"},"comment":{"url":"https://api.github.com/repos/nghttp2/nghttp2/issues/comments/259731298","html_url":"https://github.com/nghttp2/nghttp2/issues/726#issuecomment-259731298","issue_url":"https://api.github.com/repos/nghttp2/nghttp2/issues/726","id":259731298,"user":{"login":"rraptorr","id":62799,"avatar_url":"https://avatars.githubusercontent.com/u/62799?v=3","gravatar_id":"","url":"https://api.github.com/users/rraptorr","html_url":"https://github.com/rraptorr","followers_url":"https://api.github.com/users/rraptorr/followers","following_url":"https://api.github.com/users/rraptorr/following{/other_user}","gists_url":"https://api.github.com/users/rraptorr/gists{/gist_id}","starred_url":"https://api.github.com/users/rraptorr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rraptorr/subscriptions","organizations_url":"https://api.github.com/users/rraptorr/orgs","repos_url":"https://api.github.com/users/rraptorr/repos","events_url":"https://api.github.com/users/rraptorr/events{/privacy}","received_events_url":"https://api.github.com/users/rraptorr/received_events","type":"User","site_admin":false},"created_at":"2016-11-10T16:09:54Z","updated_at":"2016-11-10T16:09:54Z","body":"Thanks. I've rebuilt 1.16.0 with this patch and everything forks fine now."}}
{"actor":{"display_login":"rraptorr"}}