[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17489623#comment-17489623
 ] 

Oleg Kalnichevski commented on HTTPCLIENT-2201:
-----------------------------------------------

[~avasilev] What software is running on the server side? There is something 
really odd going on. The client side protocol handler resets all streams pushed 
by the server due to what it considers a protocol violation (please see the 
log). Unfortunately it is unclear as to what kind of protocol violation that 
might be. To make matters worse the server does not seem to react to RST_STREAM 
frames sent by the client and continues pushing data to the client. At some 
point of the client chokes on a frame sent by the server on a reset stream and 
kills the entire connection.

It appears there are multiple issues here and ideally I would like to be able 
to reproduce the issue locally, so I could fix them all. 

Is there a chance you could put the server side software into a Docker 
container?

Oleg

{noformat}
2022-02-07 14:29:59,071 DEBUG o.a.h.c.h.frame [httpclient-dispatch-1] 
c-0000000000 << stream 1 frame: PUSH_PROMISE (0x5); flags: END_HEADERS (0x4); 
length: 77
2022-02-07 14:29:59,071 DEBUG o.a.h.c.h.f.payload [httpclient-dispatch-1] 
c-0000000000 << Promised stream 10
2022-02-07 14:29:59,071 DEBUG o.a.h.c.h.f.payload [httpclient-dispatch-1] 
c-0000000000 << Promised stream 10
...
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << :method: GET
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << :path: 
/on/demandware.static/Sites-SaksFifthAvenue-Site/-/en_US/v1644216092323/css/search-BTF.css
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << :authority: www.saksfifthavenue.com
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << :scheme: https
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << host: www.saksfifthavenue.com
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << accept: */*
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.headers [httpclient-dispatch-1] 
c-0000000000 << accept-encoding: gzip, deflate, br
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.frame [httpclient-dispatch-1] 
c-0000000000 >> stream 10 frame: RST_STREAM (0x3); flags: (0x0); length: 4
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.f.payload [httpclient-dispatch-1] 
c-0000000000 >> Code PROTOCOL_ERROR
2022-02-07 14:29:59,072 DEBUG o.a.h.c.h.f.payload [httpclient-dispatch-1] 
c-0000000000 >> Code PROTOCOL_ERROR
{noformat}


> Exchange handler is null
> ------------------------
>
>                 Key: HTTPCLIENT-2201
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2201
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (async)
>    Affects Versions: 5.2-alpha1
>            Reporter: Andrei Vasilev
>            Priority: Major
>         Attachments: app-h2.log, app.log
>
>
> I am running into an issue with line 156 of ClientPushH2StreamHandler. The 
> method updateInputCapacity() is being called and exchangeHandler is null, 
> resulting in an IllegalStateException.
> This logic is quite deep in the HttpClient so I have no idea what I am 
> dealing with. Any possible ideas on why this would happen? I see that the 
> exchangeHandler is initialized in consumePromise, but updateInputCapacity is 
> being called before that resulting in the field being null still.
> I can potentially provide a project to reproduce the issue, but that would 
> take some effort because this is happening deep within my own company's 
> product, and so I would have to take some time to determine what minimal 
> amount of logic is needed to actually cause the issue. 
> I was hoping maybe someone can provide some initial insight into the issue 
> before I do that. 
> https://github.com/apache/httpcomponents-core/blob/master/httpcore5-h2/src/main/java/org/apache/hc/core5/http2/impl/nio/ClientPushH2StreamHandler.java



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to