Douglas Gaskell
Douglas Gaskell

Reputation: 10080

AJAX requests are being cancelled after HTTP_STREAM_PARSER_READ_HEADERS

My XMLHttpRequests are being cancelled, yet still seem to successfully work (data gets to the server). Another question recommended looking into the chrome events for a reason, it seems to cancel right after HTTP_STREAM_PARSER_READ_HEADERS

Here is the request event, and insight as to what might be causing this, or further troubleshooting I can try?:

t=1125 [st= 0] +REQUEST_ALIVE [dt=250]
t=1125 [st= 0] URL_REQUEST_DELEGATE [dt=0]
t=1125 [st= 0] +URL_REQUEST_START_JOB [dt=250]
--> load_flags = 33024 (MAYBE_USER_GESTURE | VERIFY_EV_CERT)
--> method = "PUT"
--> priority = "LOW"
--> upload_id = "0"
--> url = [Redacted]
t=1125 [st= 0] +URL_REQUEST_DELEGATE [dt=1]
t=1125 [st= 0] DELEGATE_INFO [dt=1]
--> delegate_info = "extension Tampermonkey"
t=1126 [st= 1] -URL_REQUEST_DELEGATE
t=1126 [st= 1] HTTP_CACHE_GET_BACKEND [dt=0]
t=1126 [st= 1] HTTP_CACHE_OPEN_ENTRY [dt=0]
t=1126 [st= 1] HTTP_CACHE_ADD_TO_ENTRY [dt=0]
t=1126 [st= 1] HTTP_CACHE_READ_INFO [dt=0]
t=1126 [st= 1] URL_REQUEST_DELEGATE [dt=0]
t=1126 [st= 1] +HTTP_STREAM_REQUEST [dt=198]
t=1126 [st= 1] HTTP_STREAM_REQUEST_STARTED_JOB
--> source_dependency = 82675 (HTTP_STREAM_JOB)
t=1324 [st=199] HTTP_STREAM_REQUEST_BOUND_TO_JOB
--> source_dependency = 82675 (HTTP_STREAM_JOB)
t=1324 [st=199] -HTTP_STREAM_REQUEST
t=1324 [st=199] +HTTP_TRANSACTION_SEND_REQUEST [dt=0]
t=1324 [st=199] HTTP_TRANSACTION_SEND_REQUEST_HEADERS
--> PUT /users/[Redacted] HTTP/1.1
Host: [Redacted]
Connection: keep-alive
Content-Length: 4545
X-NewRelic-ID: UwUDUlFADQEGUlFb
Origin: [Redacted]
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36
Content-Type: application/json
Accept: /
X-Requested-With: XMLHttpRequest
Referer: [Redacted]
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: [1850 bytes were stripped]
t=1324 [st=199] HTTP_TRANSACTION_SEND_REQUEST_BODY
--> did_merge = false
--> is_chunked = false
--> length = 4545
t=1324 [st=199] -HTTP_TRANSACTION_SEND_REQUEST
t=1324 [st=199] +HTTP_TRANSACTION_READ_HEADERS [dt=51]
t=1324 [st=199] +HTTP_STREAM_PARSER_READ_HEADERS [dt=51]
t=1374 [st=249] CANCELLED
t=1375 [st=250] -URL_REQUEST_START_JOB
--> net_error = -3 (ERR_ABORTED)
t=1375 [st=250] URL_REQUEST_DELEGATE [dt=0]
t=1375 [st=250] -REQUEST_ALIVE

Upvotes: 4

Views: 2122

Answers (3)

Derek Gogol
Derek Gogol

Reputation: 1390

In my case the same request was being executed TWICE (from somewhere else in the code). So the second request cancels the first one, yet data gets back from server OK because the 2nd request succeeds. Sheesh!!!

Upvotes: 0

user1039322
user1039322

Reputation: 71

We faced the same issue. Finally it turned out that the AJAX request (from UI code) was wrongly setting timeout to 3 sec instead of 30 sec. Updating the timeout fixed the issue

Upvotes: 0

Adarsh Konchady
Adarsh Konchady

Reputation: 2737

I was getting the same error in chrome://net-internals/#events. In my case, the AJAX request was of the following form: $.ajax({ ... timeout: 3000 // coming dynamically in my case ...}); Hence all requests taking longer than 3000ms were getting automatically cancelled.

Now the solution for you depends on your application whether you want to increase the timeout on the client-side or improve the service on the server-side.

Upvotes: 1

Related Questions