New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 600001 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 2
Type: Bug



Sign in to add a comment

net::ERR_QUIC_PROTOCOL_ERROR while streaming audio from Google Cloud Storage

Project Member Reported by derat@chromium.org, Apr 1 2016

Issue description

For the past few weeks, I've been seeing seeing frequent networking errors in stable-channel Chrome (e.g. 49.0.2623.95, I think) while trying to stream audio files from Google Cloud Storage using <audio>. These manifest as net::ERR_QUIC_PROTOCOL_ERROR errors in the JS console. They don't happen continually, but when they're happening I see them every few minutes.

I've seen this both at home on a Chromebook connected to Comcast via wifi and on my corp workstation, so I suspect that it's either a Cloud Storage issue or a cross-platform Chrome networking issue rather than a problem somewhere in between.

I hopefully captured the errors in a few chrome://net-internals traces at home last night, which I've uploaded to https://drive.google.com/corp/drive/u/0/folders/0ByeZYyW9WlyvVkl5VDY0Z1NtSjQ -- please let me know if you need access or if there's more data I can provide. Thanks!
 
Cc: ianswett@chromium.org rjshade@chromium.org
If you are able to reproduce it, is it possible to run with  --enable-logging --v=1  --log-net-log=""c:\temp\\quic-chrome-net.log" and capture debugging output. If we pass log-net-log, then no need to have chrome://net-internals tab open.


The following two are the QUIC_PROTOCOL_ERRORs for https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3

1) This request starts at 2016-03-31 21:02:45.855 and continues until ~2016-03-31 21:03:26.615 and we get protocol error.
    QUIC_SESSION (event 3216) timed out at 2016-03-31 21:03:25.822 ??
    Disk cache (event 3563) is closed at 2016-03-31 21:03:26.619 ?? it has derat-music-songs

2) 2nd request starts at 2016-03-31 21:03:41.755 and continues until ~2016-03-31 21:04:23.605  and we get protocol error. ??
    QUIC_SESSION (event 3537) timed out at 2016-03-31 21:04:23.338 ??
    Disk cache (event 3625) is closed at 2016-03-31 21:04:23.613 ?? it has derat-music-songs

3237: URL_REQUEST
-----------------
https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3
Start Time: 2016-03-31 21:02:46.583

t=-27831 [st=    0] +REQUEST_ALIVE  [dt=40032]
                     --> has_upload = false
                     --> is_pending = true
                     --> load_flags = 33024 (MAYBE_USER_GESTURE | VERIFY_EV_CERT)
                     --> load_state = 0 (IDLE)
                     --> method = "GET"
                     --> status = "SUCCESS"
                     --> url = "https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3"
                     --> url_chain = ["https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3","https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs5uSJLdlxp6AC94nc51AN-Y6A_-E0fTiHZMKjM3W6LBii2D5EqAy9Fil07l7F1nMEATYl9v-A580Nc0_3xCYGfddkSLchIQXqwCinLdt2XZ-kJb49ztiQXZ9yo8eDLrBiRaG39tEFwD9nD8870p-YBEs-HsHKeFvaT6CYCVHQ32AwJch4PxUxDVfPrS35fEjJC0GBg0jl501gQP6D8CusBR9OwMtZp68HV4eTZVaWLwK2Wn-9zYfxxg337XP6o58Km8wE6U7s1VPgttRzKTyeExXCjV5fyaPsPxo3uLjYTnK1wRDHEYbn9mINUfm-vx7d15m7LZaGFmOgw2GWBsrb1dFhxVZePQP2K2yXrpXtv4DGeVw0RxUlLzRnXp2aHfpZ9Q5fC67gkimQ-nk6j-lHeTirsh2MITAs89DsZgCUK42JFXxb32dIb2wgs3clMw-2YO95KKqtyWv6_0Dqf8hH9qPYLCYoPbvaCQape12Xxi2a-NTwtjsPA151B5YVr8wM6yOzqVJUJAD4DscjqhwgHj4OZcwqH_RqR_w6NuZI-DoPpSvERf1gj5ZBleAO5RUFcek39O1_g6eR9HNhtpFbZons9asOVboYIbImYIye6CKKy9wo4cpYgyq_QYsMNZC_xF_QMpf6SyuQp424kl-e_DAPeGYAGqAQTafEpfSqmGupevCh0Hw0x-dGzAwNJ9t1H-JnW2moUHTk7BSUSxNYV0INSMC1zWPzO2Z7KUcTD6TS9HztU"]
...

t= 12200 [st=40031]    HTTP_TRANSACTION_READ_BODY  [dt=0]
                       --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
t= 12200 [st=40031]    FAILED
                       --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
t= 12201 [st=40032] -REQUEST_ALIVE
                     --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)

1727: UDP_SOCKET
----------------
Start Time: 2016-03-31 21:03:14.414
....
t= 8610 [st= 8610]  UDP_BYTES_SENT
                    --> byte_count = 173
t= 8612 [st= 8612]  UDP_BYTES_RECEIVED
                    --> address = "10.0.0.200:47304"
                    --> byte_count = 84
t= 8612 [st= 8612]  UDP_BYTES_SENT
                    --> byte_count = 173
t= 8621 [st= 8621]  UDP_BYTES_SENT
                    --> byte_count = 171
t= 8622 [st= 8622]  UDP_BYTES_RECEIVED
                    --> address = "10.0.0.200:47304"
                    --> byte_count = 88
t= 8622 [st= 8622]  UDP_BYTES_SENT
                    --> byte_count = 171
t= 8630 [st= 8630]  UDP_BYTES_SENT
                    --> byte_count = 155
t= 8632 [st= 8632]  UDP_BYTES_RECEIVED
                    --> address = "10.0.0.200:47304"
                    --> byte_count = 88

3216: QUIC_SESSION
------------------
Start Time: 2016-03-31 21:03:25.822

t=11408 [st=0]  QUIC_SESSION_CLOSED
                --> from_peer = false
                --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT)
t=11408 [st=0]  QUIC_SESSION_CLOSED
                --> from_peer = false
                --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT)

3563: DISK_CACHE_ENTRY
----------------------
Range_https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs5uSJLdlxp6AC94nc51AN-Y6A_-E0fTiHZMKjM3W6LBii2D5EqAy9Fil07l7F1nMEATYl9v-A580Nc0_3xCYGfddkSLchIQXqwCinLdt2XZ-kJb49ztiQXZ9yo8eDLrBiRaG39tEFwD9nD8870p-YBEs-HsHKeFvaT6CYCVHQ32AwJch4PxUxDVfPrS35fEjJC0GBg0jl501gQP6D8CusBR9OwMtZp68HV4eTZVaWLwK2Wn-9zYfxxg337XP6o58Km8wE6U7s1VPgttRzKTyeExXCjV5fyaPsPxo3uLjYTnK1wRDHEYbn9mINUfm-vx7d15m7LZaGFmOgw2GWBsrb1dFhxVZePQP2K2yXrpXtv4DGeVw0RxUlLzRnXp2aHfpZ9Q5fC67gkimQ-nk6j-lHeTirsh2MITAs89DsZgCUK42JFXxb32dIb2wgs3clMw-2YO95KKqtyWv6_0Dqf8hH9qPYLCYoPbvaCQape12Xxi2a-NTwtjsPA151B5YVr8wM6yOzqVJUJAD4DscjqhwgHj4OZcwqH_RqR_w6NuZI-DoPpSvERf1gj5ZBleAO5RUFcek39O1_g6eR9HNhtpFbZons9asOVboYIbImYIye6CKKy9wo4cpYgyq_QYsMNZC_xF_QMpf6SyuQp424kl-e_DAPeGYAGqAQTafEpfSqmGupevCh0Hw0x-dGzAwNJ9t1H-JnW2moUHTk7BSUSxNYV0INSMC1zWPzO2Z7KUcTD6TS9HztU:2e8dfabc285430:9
Start Time: 2016-03-31 21:03:23.228
...
t=12201 [st=3387]    ENTRY_CLOSE
t=12205 [st=3391] -DISK_CACHE_ENTRY_IMPL


3571: URL_REQUEST
-----------------
3571: URL_REQUEST (2nd log)
https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3
Start Time: 2016-03-31 21:03:41.755
...
t=35447 [st=8106] 

3571: URL_REQUEST (3r log)
https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3
Start Time: 2016-03-31 21:03:41.755

t=-20569 [st=    0] +REQUEST_ALIVE  [dt=41850]
                     --> has_upload = false
                     --> is_pending = true
                     --> load_flags = 256 (VERIFY_EV_CERT)
                     --> load_state = 0 (IDLE)
                     --> method = "GET"
                     --> status = "SUCCESS"
                     --> url = "https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3"
                     --> url_chain = ["https://storage.cloud.google.com/derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3","https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs6KBWAojgoqeOGWW3HUMsN_PFxL2DFXwgd_q6OENbQcXxsajOhgY4ahyNRxCAgAxCyTKgVGPxKW7GB5823digVEHOeA6nQdLA4-CEl_XlfGG11QMKdm6uBGp0OU4ggNFuV2UVw66cltKhvNA0EbCrSau4m_w20ntAxsAjHwYKCwlG-0evcG_5rnWmcQa-XifGhQlO5pm-GfJfZokbMtxBEr_hW3BYoHV_SKcvI8VXRpCwSzeeoefiCkgr-ZYo7H1KTyhCBPwEYzoXsLDB1lo52xTk5rflEGXnH_ZAaiEugOnhjxbmcNu9WLA7-sPIWbEV4dOKHTiF1E_Ul3YAPPdw0im0Vhqoq-xhHOTJH8F20SZuambKhmLZC3spZV8ncgrBDDKRj_GiDYfnmDXAirLf318czruw1VpyAuyL1YH0VskDFZ6j5ZNlmqjzX2F0XuDN3P7SGfXpRXQPP1W9Lk8xIfmTtdt3zFMHxQEIqy513tDxbvQHrQvf6tXkRcnYlrJ7lkz6tyxF1eGdG-71T5JdIc0LVZp_7m41PVwonHBypeqJQDzxJ6FVGugxWjxzhw8eAv2R8fdU3a9ZTipdNIiOM_Fc_NCym8Z0VJnrAtMpdmGNE3-6a9KCXAv2QvgbjgTZhGl4BgN_E0GM9RgTw7nEAMgqkxoKbj8s3H3KAZbxv56DsHZhG6I4vjroeEmN33SjigoCiN1Pp5aMJuHqYZ9VzJvzaz_G51oPKFj9FwejrY4UZyZ5o"]
...
t= 21280 [st=41849]    HTTP_TRANSACTION_READ_BODY  [dt=0]
                       --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
t= 21280 [st=41849]    FAILED
                       --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
t= 21281 [st=41850] -REQUEST_ALIVE
                     --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)


3587: QUIC_SESSION
----------------------
Start Time: 2016-03-31 21:04:23.338

t=21014 [st=0]  QUIC_SESSION_CLOSED
                --> from_peer = false
                --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT)
t=21014 [st=0]  QUIC_SESSION_CLOSED
                --> from_peer = false
                --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT)


3625: DISK_CACHE_ENTRY  
----------------------
Range_https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs6KBWAojgoqeOGWW3HUMsN_PFxL2DFXwgd_q6OENbQcXxsajOhgY4ahyNRxCAgAxCyTKgVGPxKW7GB5823digVEHOeA6nQdLA4-CEl_XlfGG11QMKdm6uBGp0OU4ggNFuV2UVw66cltKhvNA0EbCrSau4m_w20ntAxsAjHwYKCwlG-0evcG_5rnWmcQa-XifGhQlO5pm-GfJfZokbMtxBEr_hW3BYoHV_SKcvI8VXRpCwSzeeoefiCkgr-ZYo7H1KTyhCBPwEYzoXsLDB1lo52xTk5rflEGXnH_ZAaiEugOnhjxbmcNu9WLA7-sPIWbEV4dOKHTiF1E_Ul3YAPPdw0im0Vhqoq-xhHOTJH8F20SZuambKhmLZC3spZV8ncgrBDDKRj_GiDYfnmDXAirLf318czruw1VpyAuyL1YH0VskDFZ6j5ZNlmqjzX2F0XuDN3P7SGfXpRXQPP1W9Lk8xIfmTtdt3zFMHxQEIqy513tDxbvQHrQvf6tXkRcnYlrJ7lkz6tyxF1eGdG-71T5JdIc0LVZp_7m41PVwonHBypeqJQDzxJ6FVGugxWjxzhw8eAv2R8fdU3a9ZTipdNIiOM_Fc_NCym8Z0VJnrAtMpdmGNE3-6a9KCXAv2QvgbjgTZhGl4BgN_E0GM9RgTw7nEAMgqkxoKbj8s3H3KAZbxv56DsHZhG6I4vjroeEmN33SjigoCiN1Pp5aMJuHqYZ9VzJvzaz_G51oPKFj9FwejrY4UZyZ5o:2e8dfabf739e7b:b
Start Time: 2016-03-31 21:04:18.866
...
t=21284 [st=4742]    ENTRY_CLOSE
t=21289 [st=4747] -DISK_CACHE_ENTRY_IMPL


1.net-internals-log.json)
===========================
3204: QUIC_SESSION
------------------
storage.cloud.google.com
Start Time: 2016-03-31 21:02:45.861

t= 734 [st=   0] +QUIC_SESSION  [dt=8345+]
...
t= 955 [st= 221]    QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS
                    --> :status: 302
                        alt-svc: quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
                        alternate-protocol: 443:quic
                        cache-control: private, max-age=0
                        content-length: 1250
                        content-type: text/html; charset=UTF-8
                        date: Fri, 01 Apr 2016 04:02:47 GMT
                        expires: Fri, 01 Apr 2016 04:02:47 GMT
                        location: https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs7lBPjnL6ZvUWM_yd5qXOTqj64Tkv9jAL4ALXmTTtNaK4_7fQtWuFK3Vfq29o44QbUJOmjRPzdn4JbC143XRdh2sTtVUp_USDBHKTkbxzGsN6xUU0LXY4onhlAQGGrrbknF4SjbkqE02k4zwsTWEmqmq1rcEWmYzbNCF8eUaRL4GS0G3Lj-HQ4746a0y4abRK6v3likKyqWaXEbkPw3Q5LlukERUKgyfbN9DOXIRXvNlp6GJ0zk6QrVU5ta2EZS5AABtSMaghfISOAtdTnuGOeDPlQRJOKGmlTcUxZML_S3CX_UwPrDfIwW8WYMYxnDTPLhu3Zni8eJg2M-F0bq-XFpmGHF3sdEzGwAiGOaWDum9pjVP5j1z3AA1fJD0rdciHrgs3cjQ_fIe-3c5earHC_UeZfqmQ7sxdjU7_WQXJn2lhvOGcdzyLL2lrInQUzP8IRv8ODs5O7rd6AkOhNa7K8u38qlEOsSSklpvTpf_4057koZJxdpauvCor-HqADxlFKkSj1qIh846_5duXe5YgmHq1MztiJsd8P6fjGO-FeBDqcJKH0GnTJls1lBH4pwR5Z-Pr3FLzRivomDcYSM7cm6O-gfL8MHaHmD7Y7J0id6x6ev5Rf6tyfbK0N9Tgm0oX81G8x7y3r1zSRiLfOcBC7u2MaDgPl8v63SIXTFiOhFirSjbtTyZjXgiNT4xyC8eoXyuM7sQyJme1hiUiEQViZKg9SnGwjQ_D7lEtVIl4VP139emvE
                        server: GSE
                        strict-transport-security: max-age=2592000
                        x-content-type-options: nosniff
                        x-frame-options: SAMEORIGIN
                        x-xss-protection: 1; mode=block
t= 958 [st= 224]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                    --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)

...
t=1277 [st= 543]    QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS
                    --> :status: 302
                        alt-svc: quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
                        alternate-protocol: 443:quic
                        cache-control: private, max-age=0
                        content-length: 1250
                        content-type: text/html; charset=UTF-8
                        date: Fri, 01 Apr 2016 04:02:47 GMT
                        expires: Fri, 01 Apr 2016 04:02:47 GMT
                        location: https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs5lqdfHfM8OVUKUE0vYy-A_jToTuAn5kQ9DmWgefHOhyY_3VcHHor0DGDrzvUIS7A7NMuFbvE50MkHmdxTuHXA8vJroZ6av4eL7rrcBShHbcJqq1PhGqyIzso22jHOgpGz8XEmM8zaSkFl8XvkPyRrl6_67_rou0Qh9jGlooZVB9OZZ4zdDgU4SKb0zvbKOWb28ccZev2yoaIvHekjERBF0dqLl_D3pxQ8LaNX3D_NuVnRRQ17vJcW4ZPju59jZ0uSuWIjUZijYmTz94Kv2GxCtkP-846ruRp2xWo53zjrHcGgxtchHvRF16UPZwntEGf-qvXx9aqj6pTBhul0K4pSJbz3Qm6ME5go_c3jr2Z55hQtO8HgbiPn2vTEFPyvhejuvLeb-Ugxk4MxohJbcwQwhcwzzIOkglZ6a_v6tX-yCJ9LBGONnnPRh5mvUVAjTj5LkjBZHwCeVff5futXAAOzcNhq4VNiZjtkiujl2U8U8INE1ZgkYstbKbC7SQCqhBnAehmhY1nR5hSnWWdvMSGLr7ewXEHmtp4UMwkMReORHZEOHqMkmkl-xeW1VESVcov5oklCH41bBZq3TlTJifrTBGsZn0--JW9Q4CvE3XSjuZG36Ui7xx8Tawnx9YyajstFho0HX-fbegXo3Tk4MPkbF1tnOi-JqNhLnoYHBm1C6WB_JwjE9ZAsT3V8yY7dfQqJils3G43yTnO35ccs-Ienra1b88ht3g7n-6kl2q0JZs2506hU
                        server: GSE
                        strict-transport-security: max-age=2592000
                        x-content-type-options: nosniff
                        x-frame-options: SAMEORIGIN
                        x-xss-protection: 1; mode=block
t=1279 [st= 545]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                    --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)
...

t=1557 [st= 823]    QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS
                    --> :status: 302
                        alt-svc: quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
                        alternate-protocol: 443:quic
                        cache-control: private, max-age=0
                        content-length: 1250
                        content-type: text/html; charset=UTF-8
                        date: Fri, 01 Apr 2016 04:02:47 GMT
                        expires: Fri, 01 Apr 2016 04:02:47 GMT
                        location: https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs5uSJLdlxp6AC94nc51AN-Y6A_-E0fTiHZMKjM3W6LBii2D5EqAy9Fil07l7F1nMEATYl9v-A580Nc0_3xCYGfddkSLchIQXqwCinLdt2XZ-kJb49ztiQXZ9yo8eDLrBiRaG39tEFwD9nD8870p-YBEs-HsHKeFvaT6CYCVHQ32AwJch4PxUxDVfPrS35fEjJC0GBg0jl501gQP6D8CusBR9OwMtZp68HV4eTZVaWLwK2Wn-9zYfxxg337XP6o58Km8wE6U7s1VPgttRzKTyeExXCjV5fyaPsPxo3uLjYTnK1wRDHEYbn9mINUfm-vx7d15m7LZaGFmOgw2GWBsrb1dFhxVZePQP2K2yXrpXtv4DGeVw0RxUlLzRnXp2aHfpZ9Q5fC67gkimQ-nk6j-lHeTirsh2MITAs89DsZgCUK42JFXxb32dIb2wgs3clMw-2YO95KKqtyWv6_0Dqf8hH9qPYLCYoPbvaCQape12Xxi2a-NTwtjsPA151B5YVr8wM6yOzqVJUJAD4DscjqhwgHj4OZcwqH_RqR_w6NuZI-DoPpSvERf1gj5ZBleAO5RUFcek39O1_g6eR9HNhtpFbZons9asOVboYIbImYIye6CKKy9wo4cpYgyq_QYsMNZC_xF_QMpf6SyuQp424kl-e_DAPeGYAGqAQTafEpfSqmGupevCh0Hw0x-dGzAwNJ9t1H-JnW2moUHTk7BSUSxNYV0INSMC1zWPzO2Z7KUcTD6TS9HztU
                        server: GSE
                        strict-transport-security: max-age=2592000
                        x-content-type-options: nosniff
                        x-frame-options: SAMEORIGIN
                        x-xss-protection: 1; mode=block
t=1561 [st= 827]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                    --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)


3216: QUIC_SESSION
------------------
doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com
Start Time: 2016-03-31 21:02:46.118

t= 991 [st=   0] +QUIC_SESSION  [dt=8088+]
...
t=1189 [st= 198]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                    --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)
                    --> stream_id = 5
...
t=1208 [st= 217]    QUIC_SESSION_RST_STREAM_FRAME_RECEIVED
                    --> quic_rst_stream_error = 7 (QUIC_RST_ACKNOWLEDGEMENT)
                    --> stream_id = 5
...
t=1457 [st= 466]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                    --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)
                    --> stream_id = 7
...
t=1475 [st= 484]    QUIC_SESSION_RST_STREAM_FRAME_RECEIVED
                    --> quic_rst_stream_error = 7 (QUIC_RST_ACKNOWLEDGEMENT)
                    --> stream_id = 7
...

=====================================================================

2.net-internals-log.json
===========================

QUIC_SESSION's are being closed with QUIC_CONNECTION_TIMED_OUT

It looks like we are missing some of the information (may be we weren't collecting net logs).

QUIC doesn't work from 1313ms to 27364ms (until we do SHLO), then URL_REQUESTS after 27364 work ok. 

3579: QUIC_SESSION
storage.cloud.google.com
Start Time: 2016-03-31 21:03:41.761

t=27347 [st=   0] +QUIC_SESSION  [dt=8100+]
                   --> cert_verify_flags = 6
                   --> host = "storage.cloud.google.com"
                   --> port = 443
                   --> privacy_mode = false
                   --> require_confirmation = false
...
t=27509 [st= 162]    QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS
                     --> :status: 302
                         alt-svc: quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
                         alternate-protocol: 443:quic
                         cache-control: private, max-age=0
                         content-length: 1250
                         content-type: text/html; charset=UTF-8
                         date: Fri, 01 Apr 2016 04:03:42 GMT
                         expires: Fri, 01 Apr 2016 04:03:42 GMT
                         location: https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs6KBWAojgoqeOGWW3HUMsN_PFxL2DFXwgd_q6OENbQcXxsajOhgY4ahyNRxCAgAxCyTKgVGPxKW7GB5823digVEHOeA6nQdLA4-CEl_XlfGG11QMKdm6uBGp0OU4ggNFuV2UVw66cltKhvNA0EbCrSau4m_w20ntAxsAjHwYKCwlG-0evcG_5rnWmcQa-XifGhQlO5pm-GfJfZokbMtxBEr_hW3BYoHV_SKcvI8VXRpCwSzeeoefiCkgr-ZYo7H1KTyhCBPwEYzoXsLDB1lo52xTk5rflEGXnH_ZAaiEugOnhjxbmcNu9WLA7-sPIWbEV4dOKHTiF1E_Ul3YAPPdw0im0Vhqoq-xhHOTJH8F20SZuambKhmLZC3spZV8ncgrBDDKRj_GiDYfnmDXAirLf318czruw1VpyAuyL1YH0VskDFZ6j5ZNlmqjzX2F0XuDN3P7SGfXpRXQPP1W9Lk8xIfmTtdt3zFMHxQEIqy513tDxbvQHrQvf6tXkRcnYlrJ7lkz6tyxF1eGdG-71T5JdIc0LVZp_7m41PVwonHBypeqJQDzxJ6FVGugxWjxzhw8eAv2R8fdU3a9ZTipdNIiOM_Fc_NCym8Z0VJnrAtMpdmGNE3-6a9KCXAv2QvgbjgTZhGl4BgN_E0GM9RgTw7nEAMgqkxoKbj8s3H3KAZbxv56DsHZhG6I4vjroeEmN33SjigoCiN1Pp5aMJuHqYZ9VzJvzaz_G51oPKFj9FwejrY4UZyZ5o
                         server: GSE
                         strict-transport-security: max-age=2592000
                         x-content-type-options: nosniff
                         x-frame-options: SAMEORIGIN
                         x-xss-protection: 1; mode=block
t=27513 [st= 166]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                     --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)
                     --> stream_id = 5




=========================================================================

3.net-internals-log.json
===========================

3661: QUIC_SESSION
------------------
storage.cloud.google.com
Start Time: 2016-03-31 21:04:40.408

t=38084 [st=   0] +QUIC_SESSION  [dt=8959+]

...
t=38088 [st=   4]    QUIC_HTTP_STREAM_SEND_REQUEST_HEADERS
                     --> :authority: storage.cloud.google.com
                         :method: GET
                         :path: /derat-music-songs/ital_tek%2Fhollowed%2FItal%20Tek%20-%20Hollowed%20-%2003%20Beyond%20Sight.mp3
...
t=38240 [st= 156]    QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS
                     --> :status: 302
                         alt-svc: quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
                         alternate-protocol: 443:quic
                         cache-control: private, max-age=0
                         content-length: 1250
                         content-type: text/html; charset=UTF-8
                         date: Fri, 01 Apr 2016 04:04:41 GMT
                         expires: Fri, 01 Apr 2016 04:04:41 GMT
                         location: https://doc-0arsk-1hn3o-s-googleusercontent.commondatastorage.googleapis.com/gs/01gn4dff18agarsb71abjd223i8r4rie/ces4gigcp0h8anbdgjq0ce36iduulib5/1459476000000/derat-music-songs/05247123896295627233/ChFkZXJhdC1tdXNpYy1zb25ncxI7aXRhbF90ZWsvaG9sbG93ZWQvSXRhbCBUZWsgLSBIb2xsb3dlZCAtIDAzIEJleW9uZCBTaWdodC5tcDM?a=AGjQbs5L8MTDXENOSALn-txoMjgTXoyDSZXYpOr_wad5Bcf4Z7IhKiPXxrpS2BXX0FtKLE5EVXcP23WnxiGffz0VGJuhSp7aSY47PYfQMbnR4Ug9DNItkY4s6RUE4Exsga8hBi3S7tUM7j3yJJQXWHWzp6dCgdLDiPNfhVXas1ZeThuJZqsAJcTJO3-nXFr3NBMjYBHWy_MluWUtYhx6KWskQP6HBpJYPk0B_3GXekBZDUJkYuxayAzjpS1MHS8_3q3ZVsR6JlDAhsDj7TOkFXhdrW9xfR0K8sxeiS5FetweiwCzho2K3az55Mup0V19ezzA2Wvc_q-QCDJb3EoA-MpNuJoSGlzoFS0cI--Pi4DcJCJujWQxrvGYOTKaUzoTNIO8KynCWF-lO9L4YCvaj7OUYZDftG_wZlkRLGTAK8Uw9YpqqF7OP-f0mzRMMEhlTFNNK-Ns-1ls_IGZGsGQuNt_JpQnd7F8qAjAsmhG0eyRxf_PfX6ygez8In8oKLXgnYJ_mtahyAm4C4XFaib6VmvYOy6x-uHJVzNxP1YYwXavg4e7mgw5VRDuZyOKt-WJvUmOwazGufPCU8IYLoAdtKDJxru4_bKiJEDO29IuLpxnth2xmKJushU-aCi5wCqep52bmaZ9vSxpuxwnFV7ZqHxkwFV5SFbXcZGsYL_lmWn-FFcNklCr9EjcQrgexRiEARVQHFQDV4Vg2LEysLbEv0fURdy1cDxlgo0BEenklB4Vymk_zcE4YI4
                         server: GSE
                         strict-transport-security: max-age=2592000
                         x-content-type-options: nosniff
                         x-frame-options: SAMEORIGIN
                         x-xss-protection: 1; mode=block
t=38245 [st= 161]    QUIC_SESSION_RST_STREAM_FRAME_SENT
                     --> quic_rst_stream_error = 6 (QUIC_STREAM_CANCELLED)
                     --> stream_id = 5

Comment 2 by derat@chromium.org, Apr 7 2016

Thanks, I saw this a few more times while running with --enable-logging --v=1  --log-net-log=/some/path. I've uploaded the log file to the same folder as before (http://drive/corp/drive/u/0/folders/0ByeZYyW9WlyvVkl5VDY0Z1NtSjQ) with the name quic-chrome-net.txt.

I'm not sure if you get local timestamps in the log, but the rough timeline of events was:

~08:15:26 - first stream started

[1:1:0407/081734:ERROR:render_media_log.cc(20)] MediaEvent: PIPELINE_ERROR pipeline: read error
[1:1:0407/081735:ERROR:render_media_log.cc(20)] MediaEvent: PIPELINE_ERROR pipeline: read error
[1:1:0407/081735:ERROR:render_media_log.cc(20)] MediaEvent: PIPELINE_ERROR pipeline: read error

~08:17:42 - first stream errored out; switched to second file

[1:1:0407/082106:ERROR:render_media_log.cc(20)] MediaEvent: PIPELINE_ERROR pipeline: read error
[1:1:0407/082108:ERROR:render_media_log.cc(20)] MediaEvent: PIPELINE_ERROR pipeline: read error
[1:1:0407/082109:ERROR:render_media_log.cc(20)] MediaEvent: PIPELINE_ERROR pipeline: read error

~08:21:09 - second stream errored out; switched to third file
I'm having a hard time lining up the logs, but is it correct that the requests are timing out after receiving a fair amount of data?  I don't see any indication a PING frame is being sent.

Comment 4 by derat@chromium.org, Apr 7 2016

Yes, this often (but maybe not always) happens after multiple megabytes of the file have been received, I believe.
> ~08:15:26 - first stream started

In the logs, header response is around Thu, 07 Apr 2016 14:15:25 GMT. Wondering if the clocks are off by an hour.

The following session received a response at the above time and didn't receive data for another 30secs and it timed out.

561: QUIC_SESSION
derat-music.appspot.com
Start Time: 2016-04-07 07:14:54.127

t=  5582 [st=     0] +QUIC_SESSION  [dt=384055+]
...
t= 37402 [st= 31820]    QUIC_HTTP_STREAM_READ_RESPONSE_HEADERS
                        --> :status: 304
                            alt-svc: quic=":443"; ma=2592000; v="32,31,30,29,28,27,26,25"
                            alternate-protocol: 443:quic
                            cache-control: no-cache, must-revalidate
                            date: Thu, 07 Apr 2016 14:15:25 GMT
...
t= 37424 [st= 31842]    QUIC_SESSION_PACKET_SENT
                        --> packet_number = "24"
                        --> sent_time_us = "852583571122"
                        --> size = 37
                        --> transmission_type = 0
t= 66425 [st= 60843]    QUIC_SESSION_CLOSED
                        --> from_peer = false
                        --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT)

Comment 6 by derat@chromium.org, Apr 7 2016

Sorry, should've mentioned that I'm bucking the trend and living in a non-PDT time zone. :-P UTC-6 right now.

I can file an internal bug if this appears to be a Cloud Storage problem. (I know nothing about QUIC. Does the lack of automatic retries here indicate an implementation problem?)

Comment 7 by derat@chromium.org, Apr 7 2016

Here's a minimal test case: https://www.erat.org/temp/20160407/crbug_600001.html

When you click the "Play" button, it tries to play a 5-minute empty MP3 file (4800811 bytes, originally downloaded from http://www.xamuel.com/blank-mp3s/) that's publicly shared from Cloud Storage.

I've gotten "GET https://storage.googleapis.com/derat-test/5min.mp3 net::ERR_QUIC_PROTOCOL_ERROR" on two out of two tries, the first time after maybe a minute (~1 MB) and the second time after two minutes (~2 MB).

I think that the alert() on error isn't working, but the error is visible on the JS console. I'm on my corp Linux workstation running 49.0.2623.110 (Official Build) (64-bit).
At  2016-04-07 07:15:25.12, we get ERR_QUIC_PROTOCOL_ERROR (because there was no activity on QUIC_SESSION for 30secs).

30 secs before that was the last time we receive data for both errors.

764: URL_REQUEST
https://storage.cloud.google.com/derat-music-songs/explosions_in_the_sky%2Fthe_wilderness%2F05%20-%20Disintegration%20Anxiety.mp3
Start Time: 2016-04-07 07:15:22.791
...
t=150388 [st=116142]    HTTP_TRANSACTION_READ_BODY  [dt=0]
t=150388 [st=116142]    URL_REQUEST_JOB_BYTES_READ
                        --> byte_count = 32768
t=151202 [st=116956]    HTTP_TRANSACTION_READ_BODY  [dt=0]
                        --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
t=151202 [st=116956]    FAILED
                        --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
t=151203 [st=116957] -REQUEST_ALIVE
                      --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)
----------------------
788: QUIC_SESSION
00e9e64bacae7b81a9461cfe80a334abb7e17485b05a28983e-apidata.googleusercontent.com
Start Time: 2016-04-07 07:15:22.988
...
t=121864 [st= 87421]    QUIC_SESSION_ACK_FRAME_SENT
                        --> delta_time_largest_observed_us = "17"
                        --> entropy_hash = 216
                        --> largest_observed = "8001"
                        --> latest_revived_packet = "0"
                        --> missing_packets = []
                        --> received_packet_times = [{"packet_number":8000,"received":"852668010855"},{"packet_number":8001,"received":"852668011013"}]
                        --> truncated = false
t=121864 [st= 87421]    QUIC_SESSION_STOP_WAITING_FRAME_SENT
                        --> sent_info = {"least_unacked":"3907"}
t=121864 [st= 87421]    QUIC_SESSION_PACKET_SENT
                        --> packet_number = "4002"
                        --> sent_time_us = "852668011061"
                        --> size = 43
                        --> transmission_type = 0
....
t=121894 [st= 87451]    QUIC_SESSION_UNAUTHENTICATED_PACKET_HEADER_RECEIVED
                        --> connection_id = "11695398942949354114"
                        --> entropy_flag = 0
                        --> fec_flag = 0
                        --> fec_group = 0
                        --> packet_number = "8005"
                        --> reset_flag = 0
                        --> version_flag = 0
t=121894 [st= 87451]    QUIC_SESSION_PACKET_AUTHENTICATED
t=121894 [st= 87451]    QUIC_SESSION_ACK_FRAME_RECEIVED
                        --> delta_time_largest_observed_us = "0"
                        --> entropy_hash = 197
                        --> largest_observed = "3989"
                        --> latest_revived_packet = "0"
                        --> missing_packets = []
                        --> received_packet_times = [...{"packet_number":3989,"received":"852667998704"}]
                        --> truncated = false
t=121894 [st= 87451]    QUIC_SESSION_STOP_WAITING_FRAME_RECEIVED
                        --> sent_info = {"least_unacked":"7976"}
t=150896 [st=116453]    QUIC_SESSION_CLOSED
                        --> from_peer = false
                        --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT

---------
787: UDP_SOCKET
[2607:f8b0:400f:803::2001]:443
Start Time: 2016-04-07 07:15:22.988
...
t=121894 [st= 87451]    UDP_BYTES_RECEIVED
                        --> address = "[2607:f8b0:400f:803::2001]:443"
                        --> byte_count = 95
t=150896 [st=116453] -SOCKET_ALIVE


===========================================

2nd error happens at 07:17:39.746. At 07:17:38.028 QUIC_SESSION times out because it was idle for 30secs.

1032: URL_REQUEST
https://storage.cloud.google.com/derat-music-songs/explosions_in_the_sky%2Fthe_wilderness%2F06%20-%20Losing%20the%20Light.mp3
Start Time: 2016-04-07 07:17:35.874
...
t=363753 [st=196424]    HTTP_TRANSACTION_READ_BODY  [dt=0]
                        --> net_error = -356 (ERR_QUIC_PROTOCOL_ERROR)


970: QUIC_SESSION
00e9e64bac65c43b2fbca3ab9f90e79c611422cdf219077106-apidata.googleusercontent.com
Start Time: 2016-04-07 07:17:34.159

t=334644 [st=169030]    QUIC_SESSION_ACK_FRAME_RECEIVED
                        --> delta_time_largest_observed_us = "0"
                        --> entropy_hash = 3
                        --> largest_observed = "6185"
                        --> latest_revived_packet = "0"
                        --> missing_packets = []
                        --> received_packet_times = [...{"packet_number":6185,"received":"852880748681"}]
                        --> truncated = false
t=334644 [st=169030]    QUIC_SESSION_STOP_WAITING_FRAME_RECEIVED
                        --> sent_info = {"least_unacked":"12373"}
t=363644 [st=198030]    QUIC_SESSION_CLOSED
                        --> from_peer = false
                        --> quic_error = 25 (QUIC_CONNECTION_TIMED_OUT)

...
969: UDP_SOCKET
[2607:f8b0:400f:803::2001]:443
Start Time: 2016-04-07 07:17:34.159
...
t=334640 [st=169026]    UDP_BYTES_SENT
                        --> byte_count = 49
t=334644 [st=169030]    UDP_BYTES_RECEIVED
                        --> address = "[2607:f8b0:400f:803::2001]:443"
                        --> byte_count = 89
t=363645 [st=198031] -SOCKET_ALIVE
Nice repro case, that errors out for me as well.

Raman, I notice that the application is still slowly reading data in the URL_REQUEST, even though the request has finished in the QUIC_SESSION(the fin was received).   It appears that as soon as the QUIC_SESSION times out, and the request immediately fails, even though it was already completed successfully.

Comment 10 by derat@chromium.org, Apr 13 2016

Cc: rtenneti@chromium.org
Thanks for looking at this! Does that suggest that this is a problem in Chrome's QUIC implementation (perhaps specific to media streaming), or should I try to loop in someone from Cloud Storage?
Cc: rch@chromium.org
The issue is definitely in Chrome.  I believe Ryan has a solution in mind.

Comment 12 by derat@chromium.org, Apr 27 2016

Sorry to be a nag, but any updates here? Is disabling the #enable-quic flag (which results in a pretty painful login experience on Chrome OS) the only workaround?
Owner: ckrasic@chromium.org
Buck said he would work on this.  There is a proposed approach to fix it, but it's not trivial.
Project Member

Comment 14 by bugdroid1@chromium.org, Jun 21 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03b32983a8ceb3a1da374cf34ce26b6085abd7b8

commit 03b32983a8ceb3a1da374cf34ce26b6085abd7b8
Author: rch <rch@chromium.org>
Date: Tue Jun 21 00:08:33 2016

Send QUIC ping packets when there are draining streams, even if there are no open streams.

BUG= 600001 

Review-Url: https://codereview.chromium.org/2085633003
Cr-Commit-Position: refs/heads/master@{#400846}

[modify] https://crrev.com/03b32983a8ceb3a1da374cf34ce26b6085abd7b8/net/quic/quic_chromium_client_session.cc
[modify] https://crrev.com/03b32983a8ceb3a1da374cf34ce26b6085abd7b8/net/quic/quic_chromium_client_session.h

Comment 15 by rch@chromium.org, Jun 21 2016

Labels: Merge-Request-52
I've verified this works on the newest version of Chrome Canary.

Comment 17 by tin...@google.com, Jun 21 2016

Labels: -Merge-Request-52 Merge-Approved-52 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M52 (branch: 2743)
Project Member

Comment 18 by bugdroid1@chromium.org, Jun 22 2016

Labels: -merge-approved-52 merge-merged-2743
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e291b4f8f2997fe1b9c82b3183fe4297f1552053

commit e291b4f8f2997fe1b9c82b3183fe4297f1552053
Author: Ryan Hamilton <rch@chromium.org>
Date: Wed Jun 22 04:00:16 2016

[m52] Send QUIC ping packets when there are draining streams, even if there are no open streams.

BUG= 600001 

Review-Url: https://codereview.chromium.org/2085633003
Cr-Commit-Position: refs/heads/master@{#400846}
(cherry picked from commit 03b32983a8ceb3a1da374cf34ce26b6085abd7b8)

Review URL: https://codereview.chromium.org/2082223002 .

Cr-Commit-Position: refs/branch-heads/2743@{#446}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}

[modify] https://crrev.com/e291b4f8f2997fe1b9c82b3183fe4297f1552053/net/quic/quic_chromium_client_session.cc
[modify] https://crrev.com/e291b4f8f2997fe1b9c82b3183fe4297f1552053/net/quic/quic_chromium_client_session.h

Comment 19 by derat@chromium.org, Jun 27 2016

Cc: ckrasic@chromium.org
Owner: rch@chromium.org
Status: Started (was: Untriaged)
Thanks! I take it that this should be fixed now, right?

Comment 20 by derat@chromium.org, Jul 29 2016

Status: Verified (was: Started)
Confirming that this seems to no longer be broken in M52 on both Linux and Chrome OS.

Sign in to add a comment