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

Issue 709025 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Devtools build is flaky

Reported by tsniatow...@opera.com, Apr 6 2017

Issue description

Chrome Version: (copy from chrome://version)
OS: (e.g. Win7, OSX 10.9.5, etc...)

What steps will reproduce the problem?
(1) gn gen out
(2) ninja -C out devtools_resources_grit
(3) ??? (several possible failure outcomes)

What is the expected result?

Build is stable

What happens instead?

Build can fail if build machine has rjsmin locally installed. Build errors can be tricky to diagnose due to broken / missing dependency information and other issues. With recently enabled extra minification, build is also slow around these parts.
 
Cc: jma...@opera.com
With a local rjsmin installed, the bundled rjsmin in //third_party/WebKit/Source/devtools/scripts/build can pick up the local version's native module, which can be older and not compatible with some recent "modern" js code in devtools, like the one added in TargetManager.js in https://codereview.chromium.org/2729623006.

Causes errors like:
1:15:02 [8874/24545] ACTION //content/browser/devtools:devtools_resources_grit(//build/toolchain/android:android_arm)
11:15:02 FAILED: gen/content/browser/devtools/devtools_resources_stamp.d.stamp gen/content/browser/devtools/grit/devtools_resources.h gen/content/browser/devtools/devtools_resources.pak gen/content/browser/devtools/grit/devtools_resources_map.cc gen/content/browser/devtools/grit/devtools_resources_map.h 
11:15:02 python ../../tools/grit/grit.py -i gen/devtools/devtools_resources.grd build -o gen/content/browser/devtools --depdir . --depfile gen/content/browser/devtools/devtools_resources_stamp.d --write-only-new=1 --depend-on-stamp -D _chromium -E CHROMIUM_BUILD=chromium -E ANDROID_JAVA_TAGGED_ONLY=true -t android -D SHARED_INTERMEDIATE_DIR=gen -f ../../tools/gritsettings/resource_ids --assert-file-list=obj/content/browser/devtools/devtools_resources_expected_outputs.txt --js-minifier /home/jenkins/shared_ws/opera_work_master-next/chromium/src/third_party/closure_compiler/js_minify.py\ --closure_args\ extra_annotation_name=attribute\ extra_annotation_name=demo\ extra_annotation_name=element\ extra_annotation_name=group\ extra_annotation_name=hero\ extra_annotation_name=homepage\ extra_annotation_name=status\ extra_annotation_name=submodule\ source_map_format=V3\ compilation_level=WHITESPACE_ONLY\ language_in=ECMASCRIPT_NEXT\ language_out=ECMASCRIPT6\ jscomp_off=duplicate\ jscomp_off=misplacedTypeAnnotation
11:15:02 Minification failed for gen/devtools/inspector.js
11:15:02 /tmp/tmpUCzDAL.js:3404: ERROR - Parse error. ':' expected
11:15:02 addAttribute(key,value){this._attributes[key.toLowerCase()]=value;}};SDK.Cookie.Type={Request:0,Response:1};;SDK.ProfileNode=class{constructor(callFrame){this.callFrame=callFrame;this.callUID=`${this.callFrame.functionName}@${this.callFrame.scriptId}:${this.callFrame.lineNumber}`;this.self=0;this.total=0;this.id=0;this.parent=null;this.children=[];}
11:15:02                                                                                                                                                                                                  ^
[snip]
11:15:02 109 error(s), 0 warning(s)
11:15:02 
11:15:02 Traceback (most recent call last):
11:15:02   File "/home/jenkins/shared_ws/opera_work_master-next/chromium/src/third_party/closure_compiler/js_minify.py", line 46, in <module>
11:15:02     result = Minify(sys.stdin.read())
11:15:02   File "/home/jenkins/shared_ws/opera_work_master-next/chromium/src/third_party/closure_compiler/js_minify.py", line 38, in Minify
11:15:02     return result
11:15:02   File "/usr/lib/python2.7/tempfile.py", line 427, in __exit__
11:15:02     self.close()
11:15:02   File "/usr/lib/python2.7/tempfile.py", line 418, in close
11:15:02     self.unlink(self.name)
11:15:02 OSError: [Errno 2] No such file or directory: '/tmp/tmpj0Vn7_.js'
11:15:02 
11:15:02 Error processing node <?xml version="1.0" encoding="UTF-8"?>
11:15:02 <include file="inspector.js" name="INSPECTOR_JS" type="BINDATA" />

(the tmp file error at the end is a distraction, real error is that the input file to the closure minifier was already broken by rjsmin beforehand)
Cc: -twelling...@chromium.org
https://codereview.chromium.org/2800063003/ should fix the one instance where a patched python rjsmin would sometimes pickup an unpatched system native version, but there are other imported  rjsmin.py files all over the tree that may or may not cause issues:
./v8/src/inspector/build/rjsmin.py
./third_party/trace-viewer/third_party/tvcm/third_party/rjsmin/rjsmin.py
./third_party/WebKit/Source/devtools/scripts/build/rjsmin.py  <-- I'm fixing this one
./third_party/catapult/third_party/py_vulcanize/third_party/rjsmin/rjsmin.py

Re #3: Does Issue 712745 represent such a problem?
Project Member

Comment 5 by sheriffbot@chromium.org, Oct 16 2017

Labels: Hotlist-Recharge-BouncingOwner
Owner: ----
The assigned owner "tsniatowski@opera.com" is not able to receive e-mails, please re-triage.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -jma...@opera.com jma...@vewd.com
Owner: tsniatow...@vewd.com
Status: Assigned (was: Untriaged)

Sign in to add a comment