New issue
Advanced search Search tips

Issue 732500 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

TransportSecurityPersister loading may have issues

Project Member Reported by mmenke@chromium.org, Jun 12 2017

Issue description

There's no code preventing both ProfileIOData and ProfileIODataImpl from having their TransportSecurityPersisters load state at the same time.  They currently do this on random task runners, so they can both be loading state at the same time.  On Windows, generally only one object is allowed to read from a file at a time - the other will be unable to open it.

So it looks to me like ProfileIOData and ProfileIODataImpl could prevent the other from loading the TransportSecurityPersister state on Windows.  Moreover, if the ProfileIODataImpl prevents ProfileIOData from loading the state, we'll effectively clear the old cached state on shutdown, which seems less than ideal.

Admittedly, this isn't a correctness-breaking bug, since this is all best effort, but seems not great.

Or am I missing something?
 

Comment 1 by mmenke@chromium.org, Jun 12 2017

It's possible that they used to both use the FILE thread or FILE_USER_BLOCKING thread, which would prevent this from happening, so this would make this a recent regression.

Comment 2 by mmenke@chromium.org, Jun 12 2017

Actually, it looks like this regressed over two years ago, in https://codereview.chromium.org/1064393002 (Which...erm...I signed off on myself)

Comment 3 Deleted

Comment 4 Deleted

Comment 5 by mmenke@chromium.org, Jun 14 2017

Cc: rdsmith@chromium.org
[+rdsmith]:  Just FYI.  As we play with URLRequestContextBuilder an NetworkService configuration going forward, would not be surprised to see more of this sort of thing.  :(
Cc: -rdsmith@chromium.org

Sign in to add a comment