New issue
Advanced search Search tips

Issue 773817 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

Blockfile Cache Pending IO number does not decrease

Reported by kgra...@gmail.com, Oct 11 2017

Issue description

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

Steps to reproduce the problem:
Unfortunately can't reproduce yet

What is the expected behavior?
When navigating to a new page or using back or forward buttons, the UI waits for a cache entry to resolve

What went wrong?
Any page with stored cache does not load.

I notice on chrome://net-internals/#httpCache the Pending IO entry increases for each new navigation which would hit the cache.

I looked at the timeline and noticed that "Disk cache bytes written" would show some data for a new navigation (previously never visited URL) but when using the navigation back, "Disk cache bytes read" would never show any values, and the "Pending IO" value would increase

Did this work before? N/A 

Chrome version: 61.0.3163.100  Channel: stable
OS Version: OS X 10.12.6
Flash Version: 

It happens at least once a week and has been happening for a month or two.

I tried clearing the cache from the tool on chrome://net-internals/#httpCache but it did not reset the Pending IO

I have to "Force Quit" Chrome as it will not quit normally when I encounter this problem.

Possibly related: https://bugs.chromium.org/p/chromium/issues/detail?id=472740

component:Internals>Network>Cache
 
net-internals-cache.txt
1.2 KB View Download
Labels: Needs-Triage-M61

Comment 2 by mge...@chromium.org, Oct 12 2017

Components: Internals>Network>Cache
Status: Untriaged (was: Unconfirmed)
Thanks for report and the observation on the count. Can I double-check that OS X is indeed the OS you were using when experiencing the problem (there is some OS-specific code involved)?

Also, any chance you could grab the network log when it's happening, as per instructions on https://dev.chromium.org/for-testers/providing-network-details --- 
some of the same code that touches the count also dumps some things there.

Sadly, though, can't see how this could happen, notes below:
-------------------------------------
Increment site: https://cs.chromium.org/chromium/src/net/disk_cache/blockfile/entry_impl.cc?rcl=73b24552f343b2bbd431c05dbfb3236bbc2ecd5c&l=53

Decrement site:
https://cs.chromium.org/chromium/src/net/disk_cache/blockfile/entry_impl.cc?rcl=73b24552f343b2bbd431c05dbfb3236bbc2ecd5c&l=72

That overrides disk_cache::FileIOCallback::OnFileIOComplete, and also is called here:
https://cs.chromium.org/chromium/src/net/disk_cache/blockfile/entry_impl.cc?rcl=9e7b3d23e54ea5722abf49b50d75e2b9bfa250da&l=88

Logic around file_posix.cc and how discard is called vs. callback all looks fine to me, so I can't quite figure out how this could happen unless the worker pool isn't working, which seems extremely unlikely...

Comment 4 by kgra...@gmail.com, Oct 13 2017

Yes it was on OSX, with the user agent reported above.
Next time I see the issue I'll make sure to capture a network log, too.

Comment 5 by kgra...@gmail.com, Nov 5 2017

I finally saw the problem again. This was on a new OSX install and a new Chrome install. I wish I could have captured a network log, but the network export page would not load.
chrome://net-export shows:
"""
Network Log Export

Loading...
"""

I open devtools and try to see if there's anything obvious

Last thing to call onExportNetLogInfoChanged in	net_export.js
NetExportView.getInstance().onExportNetLogInfoChanged({"captureMode":"STRIP_PRIVATE_DATA","file":"","logCaptureModeKnown":false,"logExists":false,"state":"INITIALIZING"});


Some more notes about trying to debug the problem:

From Activity Monitor (Look at the large Disk bytes Written/Read)                                                          
Google Chrome  6.49 GB 1.36 GB

I had 9 profiles "open". Meaning their top level windows were closed but background extensions continue to run.
Lots of	"Chrome	Media Router" extensions running

In one profile, am able to open inspector, and load a test page. Verify that with cache disabled, page loads. With devtools closed, or cache enabled, I see the hang and Pending IO in chrome://net-internals increases.
Developer Tools - http://127.0.0.1:8080/
chrome-devtools://devtools/bundled/inspector.html?remoteBase=https://chrome-devtools-frontend.appspo…
inspect

In another profile, cant open inspector
can open chrome://inspect but when clicking inspect on a page from another profile, nothing happens.

Trying to use "People" Menu in OSX taskbar to open other profiles results in nothing happening. (except for one other profile, which came up randomly after a few minutes)

Looked in osx "Console" app
See some warnings, around the time I was trying to call "inspect" from a profile that wouldn't open devtools for any page:
Google Chrome Helper failed to read /System/Library/Preferences/Logging/Subsystems/com.apple.launchservices.plist: [1: Operation not permitted]
CRASHSTRING: <rdar://problem/28724618> Process unable to create connection because the sandbox denied the right to lookup com.apple.coreservices.launchservicesd and so this process cannot talk to launchservicesd.
Got an XPC_ERROR_INVALID on our server connection, so failing.
(SkyLight) 0 is not a valid connection ID.

chrome://about wont load

finally	tried chrome://system and got a	crash

Pending IO was at about 50 in one profile, around 20 in the other.

Not sure how to get the network log if the net-capture page doesn't work. Is there more information there than I see on chrome://net-internals/#events ?
I did not see a way to export from the chrome://net-internals/#events page.

Comment 6 by kgra...@gmail.com, Nov 11 2017

It happened again. This time Activity Monitor showed in Disk tab 19.21GB written 2.98GB read

Was unable to load chrome://net-export page again.

It happened shortly after Chrome showed an auto update available icon, but before I relaunched Chrome (Just now updated to Version 62.0.3202.89)
Components: Internals>Network>Logging
net-internals folks, any idea on what may cause net-export (and even about?) to wedge like that, while some parts of net-internals --- #httpCache in particular --- still load?

Comment 8 by mmenke@chromium.org, Nov 13 2017

The fact that about:about doesn't work, but about:net-internals does sounds weird.  about:about not working generally means a dead IO thread, or a problem creating a new process, but neither would let you load net-internals.

Sign in to add a comment