Hi, So what I found in Holger's trace is that the H2 connection has no more streams and was present in the wait queue. The state of the task being deleted doesn't make sense, indicating a memory corruption possibly caused by a use-after-free or a double free or by a wrong wakeup when a buffer is available, as in a few commits fixed in 1.8.4 which we thought would have a minor impact only.
After some thought I realized that there is a possible issue with the way H2 streams are detached from their connection : in h2_detach(), if they are the last one, they can destroy the connection and release it. But it's possible that the connection's task was already woken up and queued for being processed immediately afterwards (the multi-thread scheduler can trigger this), so I'll have to rethink the way detaching is performed and only delegate to an asynchronous task. Since your config doesn't use threads it's not this which causes the problem, but that caught my attention and fixing it might lead to a more robust design. Peter, were you using threads with H2 or not ? Just trying to draw some statistics here. I'll keep you updated of any other discovery anyway. Cheers, Willy

