net:ERR_HTTP2_PROTOCOL_ERROR when sending a 409 to Chrome

Hello,

I work for Cozy Coud and we have found an issue in production, with a weird net:ERR_HTTP2_PROTOCOL_ERROR error. After a bit of debugging, we have identified that it happens when Chrome/Chromium/Electron/NodeJS uploads a file in HTTP/2 to haproxy, that proxies this request to our backend in Go (HTTP/1.1 between haproxy and the backend), and that the backend sends a 409 Conflict response before the client has sent the whole file. I’m not sure if it is a bug in haproxy, a bug in Chrome&co, or just me that does something I shouldn’t. I’ve tried to make it simple to reproduce the bug and put that on https://github.com/nono/bug-haproxy-chrome.

I’d like to know what are your thoughts on this issue.

PS: Discourse has found a thread on the same subject, but with no answser.

Can you file a bug:

Done, it is here: https://github.com/haproxy/haproxy/issues/410

1 Like