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

Issue 697716 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug


Participants' hotlists:
HSTS-Preload


Sign in to add a comment

JSON parse presubmit check for transport_security_state_static.json takes > 150 seconds

Project Member Reported by lgar...@chromium.org, Mar 2 2017

Issue description

Chrome Version: tip of tree

What steps will reproduce the problem?
(1) Edit net/http/transport_security_state_static.json
(2) git cl upload -v -v

What is the expected result?
The presubmit finishes

What happens instead?
The presubmit hangs after this line:

[D2017-03-01 19:05:03,435 27131 140736693863360 presubmit_support.py] LocalPaths: ['net/http/transport_security_state_static.json']

This happened both in a checkout from January 23, as well as a checkout up-to-date with March 1.

Preload list changes don't go through the commit queue until  Issue 595493  is completely done, but we should look into this at some point.
 
Labels: Hotlist-HSTS-Preload
It doesn't hang on my system but it is very slow:

Presubmit checks took 157.7s to calculate.

Seems to be caused by the JSON parse error check [1], disabling it brings execution time down to a more reasonable 1.0s :).

This check has been part of PRESUBMIT for a couple of years and I can't find any recent (relevant) changes so I think this is caused by the size of the preload list. Did the runtime increase suddenly (I've never uploaded changes to the JSON file)?

We could add an exception to PRESUBMIT for the preload list. Once  issue 595493  is fixed invalid JSON would cause a build failure so we should never get an invalid preload file in the tree.

[1] https://cs.chromium.org/chromium/src/PRESUBMIT.py?l=1378
Thanks for the PRESUBMIT debugging – good to know.

I just tried again, and it finished in 170.2s. I guess I was giving up some time before 3 minutes, because it felt way too long compared to what I was used to
Summary: JSON parse presubmit check for transport_security_state_static.json takes > 150 seconds (was: presubmit_support.py hangs on transport_security_state_static.json changes)
Hmm, actually, this time it spit out:

    Using 50% similarity for rename/copy detection. Override with --similarity.
    Running presubmit upload checks ...

    Presubmit checks took 266.3s to calculate.

    Presubmit checks passed.
     net/http/transport_security_state_static.json | 1 -
     1 file changed, 1 deletion(-)

... and then hung for an additional 53 minutes.

Comment 6 by mart...@martijnc.be, Apr 14 2017

A CL that should improve the performance of the JSON check has landed but it wasn't picked up by the bot that normally updates the linked bug:
https://chromium.googlesource.com/chromium/src/+/5a78808161cff2557d53f9278d1b93bcc2495f47

Comment 7 by peter@chromium.org, May 1 2017

Status: Fixed (was: Untriaged)

Sign in to add a comment