You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Failed test 'Got a push promise when they are disabled!'
# at t/http2-push-promise.t line 61
# Failed test 'Got zero push promises when they are disabled'
# at t/http2-push-promise.t line 65
# expected: '0'
# got: '1'
# Looks like you failed 2 tests of 7
t/http2-push-promise.t .........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/7 subtests
The text was updated successfully, but these errors were encountered:
So here are results of my investigation:
1)It is not negotiation(great).
2)It is something odd.
I was able to reproduce it easily using the failing test with last chunk of code wrapped in for ^1000.
The reason of the exception is further down the stack - we throw PROTOCOL_ERROR exception at some point and things further fail. The protocol error is caused by condition at https://github.com/croservices/cro-http/blob/master/lib/Cro/HTTP2/ResponseParser.pm6#L18
It fails because of first sub-condition - ID of the stream is bigger than expected one. It may be either because current expected stream is not incremented or incremented twice, so the order breaks.
However, we process everything in race-safe whenever blocks and sticking some Lock instances here and there to prevent race did not help.
The text was updated successfully, but these errors were encountered: