New issue
Advanced search Search tips

Issue 677828 link

Starred by 4 users

Issue metadata

Status: Duplicate
Merged: issue 681477
Owner: ----
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

First of a series of xhr requests canceled

Reported by boardsum...@gmail.com, Jan 2 2017

Issue description

Chrome Version       : 55.0.2883.87
OS Version: 10.0
URLs (if applicable) : https://trello.com/1/... 
Other browsers tested: none (from Chrome extension)

What steps will reproduce the problem?
1. Attempt a series of xhr requests (via jQuery), offset by an interval based on the total number of requests (~50 in my examples).
2. The first request (usually just the first, but have seen as many as 6, which has been difficult to reproduce) is stalled/canceled, while the second goes through the expected DNS lookup / initial connection / SSL cycle, then that and all subsequent requests in that group are successful.
3. The cycle is repeated at variable intervals (every 1 to 5 minutes) and the issue occurs intermittently, but with some regularity.

What is the expected result?
All xhr requests should be be successfully attempted.

What happens instead of that?
Some requests are stalled/canceled.

Please provide any additional information below. Attach a screenshot if
possible.

Screenshots attached showing normal and canceled request behavior.  Net internals log also included with canceled request and first successful request.

UserAgentString: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36



 
net-internals-log.json
672 KB View Download
CanceledRequest.png
78.3 KB View Download
NormalRequest.png
71.9 KB View Download
After additional troubleshooting, can only make recur with a set of requests with a 1 minute delay between (working in 1 minute increments, anything larger any it does not recur).  If multiple initial requests are made simultaneously, then they all fail together.

The only temp workaround I've found is to make a test request, allow it to succeed or fail, then proceed with the other requests.

Comment 2 by ajha@chromium.org, Jan 4 2017

Labels: Needs-Triage-M55
Labels: TE-NeedsTriageHelp

Comment 4 Deleted

Comment 5 Deleted

Components: Blink>Network>XHR
Labels: Needs-Feedback
Owner: yhirano@chromium.org
Could you provide a net-internals log?

https://dev.chromium.org/for-testers/providing-network-details
My original post has a net-internals log in addition to the screenshots, did you need something additional?
Project Member

Comment 9 by sheriffbot@chromium.org, Mar 16 2017

Cc: yhirano@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "yhirano@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Ah, sorry, I overlooked it.
Components: -Blink>Network>XHR Internals>Network>HTTP2
Owner: ----
159215	HTTP2_SESSION

...
t=6255 [st=11]  HTTP2_SESSION_GOAWAY
                --> active_streams = 1
                --> debug_data = "[0 bytes were stripped]"
                --> last_accepted_stream_id = 91
                --> status = 0
                --> unclaimed_streams = 0
t=6255 [st=11]  HTTP2_SESSION_CLOSE
                --> description = "Finished going away"
                --> net_error = 0 (?)
t=6255 [st=11]  HTTP2_SESSION_POOL_REMOVE_SESSION
                --> source_dependency = 159215 (HTTP2_SESSION)
t=6256 [st=12] -HTTP2_SESSION

159435 URL_REQUEST
...

t=6243 [st= 2]     +HTTP_TRANSACTION_SEND_REQUEST  [dt=1]
t=6244 [st= 3]        HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS
                      --> :authority: trello.com
                          :method: GET
                          :path: /1/Boards/DvnfipdN?lists=open&cards=visible&card_fields=closed,dateLastActivity,desc,due,dueComplete,name,shortUrl,url&fields=name,closed,dateLastActivity
                          :scheme: https
                          accept: */*
                          accept-encoding: gzip, deflate, sdch, br
                          accept-language: en-US,en;q=0.8
                          cookie: [690 bytes were stripped]
                          referer: https://trello.com/
                          user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
                          x-requested-with: XMLHttpRequest
t=6244 [st= 3]     -HTTP_TRANSACTION_SEND_REQUEST
t=6244 [st= 3]     +HTTP_TRANSACTION_READ_HEADERS  [dt=11]
t=6255 [st=14]        HTTP2_STREAM_ERROR
                      --> description = "ABANDONED (stream_id=93): https://trello.com/1/Boards/DvnfipdN?lists=open&cards=visible&card_fields=closed,dateLastActivity,desc,due,dueComplete,name,shortUrl,url&fields=name,closed,dateLastActivity"
                      --> status = -3
                      --> stream_id = 93
t=6255 [st=14]     -HTTP_TRANSACTION_READ_HEADERS
                    --> net_error = -3 (ERR_ABORTED)
t=6255 [st=14]   -URL_REQUEST_START_JOB
                  --> net_error = -3 (ERR_ABORTED)

It looks that the H2 stream is cancelled because the H2 session receives GOAWAY.

+Internals>Network>HTTP2.

Comment 12 by b...@chromium.org, Apr 13 2017

Mergedinto: 681477
Status: Duplicate (was: Unconfirmed)
Indeed server sends a GOAWAY, with error code NO_ERROR.  Request is on stream 93, and GOAWAY has last stream id 91.  This means it is safe to retry the request on a new connection.  Marking as duplicate of 681477.

Sign in to add a comment