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

Issue 735583 link

Starred by 1 user

Issue metadata

Status: Available
Merged: issue 716748
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Compat



Sign in to add a comment

can't click a link to $HOST if 6 mjpeg images are streaming from $HOST

Reported by bradf...@gmail.com, Jun 21 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

Example URL:
Internal security camera software

Steps to reproduce the problem:
1. serve HTML over HTTP/1.1 to browser like:

<html>                                                                                                                                                                                                                                                                              
<body><!--                                                                                                                                                                                                                                                                          
--><a href='/cam/ward/door/?video=true'><img border=0 width='50%' src='/cam/ward/door/cam.mjpg'></a><!--                                                                                                                                                                            
--><a href='/cam/ward/drive/?video=true'><img border=0 width='50%' src='/cam/ward/drive/cam.mjpg'></a><br/><!--                                                                                                                                                                     
--><a href='/cam/ward/back/?video=true'><img border=0 width='50%' src='/cam/ward/back/cam.mjpg'></a><!--                                                                                                                                                                            
--><a href='/cam/ward/roof/?video=true'><img border=0 width='50%' src='/cam/ward/roof/cam.mjpg'></a><br/><!--                                                                                                                                                                       
--><a href='/cam/ward/living/?video=true'><img border=0 width='50%' src='/cam/ward/living/cam.mjpg'></a><!--                                                                                                                                                                        
--><a href='/cam/ward/garage/?video=true'><img border=0 width='50%' src='/cam/ward/garage/cam.mjpg'></a><br/>                                                                                                                                                                       
</body>                                                                                                                                                                                                                                                                             
</html>`)

2. try to click one of the 6 links.

3. Chrome doesn't navigate to a link because it already has 6 HTTP/1.x streams open to that host. Chrome works with 5 or fewer.

What is the expected behavior?
Clicking a link works.

What went wrong?
Clicking does nothing.

(Unless I drop the number of streams to 5 or fewer)

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 58.0.3029.110  Channel: n/a
OS Version: OS X 10.12.5
Flash Version: 

It works in Safari (desktop and iPad) and works in Firefox.

Does not work on Chrome desktop (only tried macOS)

Presumably upgrading the server to speak HTTP/2 with a SETTINGS_MAX_CONCURRENT_STREAMS higher than 6 would also be a workaround, but this seems like a Chrome networking bug.
 

Comment 1 by agoode@chromium.org, Jun 21 2017

Components: Internals>Media>Network
Labels: -OS-Mac OS-All
Status: Untriaged (was: Unconfirmed)

Comment 2 by agoode@chromium.org, Jun 21 2017

Mergedinto: 716748
Status: Duplicate (was: Untriaged)
Cc: dalecur...@chromium.org agoode@chromium.org
Components: -Internals>Media>Network Blink>Image Blink>Network
Status: Untriaged (was: Duplicate)
agoode: This and  issue 716748  aren't the same issues.

The media/ stack as referred to in the other issue doesn't handle <img> tags used in this report; media/ only handles <video> and <audio>. I suspect they have similar root causes, too many open network connections, but the fixes are different.

+images folk, +network folk and marking as untriaged.
Components: -Blink>Network Blink>Loader
Components: -Blink>Image
Strictly a loading bug, right? As I understand it, we're still detecting the navigation request etc.

Comment 6 by bradf...@gmail.com, Jun 24 2017

I put up a demo site where you can see this bug for yourself:

http://issue735583.bradfitz.com/ (HTTP/1 w/ 6 streaming MJPEGS fails; can't click <a>)
http://issue735583.bradfitz.com/?n=5 (HTTP/1 w/ 5 streaming MJPEGS works)

And HTTP/2 always works, regardless of number of streams:
https://issue735583.bradfitz.com/?n=10

Comment 7 by bradf...@gmail.com, Jun 27 2017

Worth noting: if you're using the Google Data Saver Chrome extension, disable it before trying the repro site linked previously.

Comment 8 by kinuko@chromium.org, Jun 27 2017

Components: -Blink>Loader Internals>Network
I suspect it's WAI, but redirecting this to Internal>Networking anyways

Comment 9 by bradf...@gmail.com, Jun 27 2017

I doubt it's intended that I can click some links on that page (the off-host links) while watching images (security cameras, in my case), but I can't navigate to a same-host link.

If navigation to a same-host link would be blocked by the 6 conns-per-host rule, it should stop loading my images so I can go where I want to go.

Only Chrome exhibits this behavior.
Cc: kinuko@chromium.org nasko@chromium.org
cc:kinuko@ to ensure c#9 is seen. While it's probably WAI that we hit the network connection cap on MJPG streams, I agree that it seems busted that navigations stop working. +nasko in case he has better ideas on routing.
Components: UI>Browser>Navigation
Status: Available (was: Untriaged)
Can a navigation abort requests for the old page?
Labels: -Pri-2 Network-Triaged Pri-3
No plans to take any action here, network-side, at the moment.

Sign in to add a comment