Skip to content

Pin rules webtesting browsers#28698

Closed
gregmagolan wants to merge 4 commits into
angular:masterfrom
gregmagolan:pin-rules-webtesting-browsers
Closed

Pin rules webtesting browsers#28698
gregmagolan wants to merge 4 commits into
angular:masterfrom
gregmagolan:pin-rules-webtesting-browsers

Conversation

@gregmagolan

Copy link
Copy Markdown
Contributor

Temporary work-around to fix #28681 while browser versions are fixed upstream in rules_webtesting.

@gregmagolan gregmagolan requested review from a team, alexeagle and kyliau February 13, 2019 17:34
@gregmagolan gregmagolan added the area: bazel Issues related to the published `@angular/bazel` build rules label Feb 13, 2019
@ngbot ngbot Bot added this to the needsTriage milestone Feb 13, 2019
@gregmagolan gregmagolan added the target: patch This PR is targeted for the next patch release label Feb 13, 2019
@gregmagolan

Copy link
Copy Markdown
Contributor Author

@kyle116 I didn't add this temporary work-around to bazel-schematics so ng new will still generate a workspace with the rules_webtesting browser_repositories() which will have a broken OSX chrome headless browser in karma.
Should we wait until we have an upstream fix before updating the schematics or fix it sooner?

@gregmagolan

Copy link
Copy Markdown
Contributor Author

I had to bump the Linux chrome version in #28698 to a newer version than pinned for Windows and OSX for //modules/playground/e2e_test/sourcemap:protractor_tests_chromium-local to pass. There is no coverage in CI for OSX or Windows so will have to verify manually which version of chrome works for all tests.

@gregmagolan

Copy link
Copy Markdown
Contributor Author

Ok. I've pinned chromium to Chromium 72.0.3626.0 on all platforms and matched it up with chromedriver 2.46. This is the latest stable version of chromium according to https://www.chromium.org/developers/calendar

@alexeagle

Copy link
Copy Markdown
Contributor

Note that the rules_typescript PR bazelbuild/rules_typescript#418 has already landed.

@gregmagolan

gregmagolan commented Feb 13, 2019

Copy link
Copy Markdown
Contributor Author

Note that the rules_typescript PR bazelbuild/rules_typescript#418 has already landed.

We can't upgrade to that until the es2015 issues are resolved in #28625. Also the versions pinned in [bazelbuild/rules_typescript#418] don't work with //modules/playground/e2e_test/sourcemap:protractor_tests_chromium-local

@gregmagolan

gregmagolan commented Feb 13, 2019

Copy link
Copy Markdown
Contributor Author

So after some investigation it looks like Chrome --headless on OSX was broken somewhere between the chromium 69 and 70 tags. Rolling back to Chromium 69 in this PR to see if //modules/playground/e2e_test/sourcemap:protractor_tests_chromium-local works with that version and also running the full suite of tests locally on OSX.

@gregmagolan

Copy link
Copy Markdown
Contributor Author

On 70, 71 and 72 you get the

�[33m13 02 2019 20:18:48.281:WARN [launcher]: �[39mChromeHeadless have not captured in 60000 ms, killing.
�[32m13 02 2019 20:18:48.297:INFO [launcher]: �[39mTrying to start ChromeHeadless again (1/2).

issues with karma on OSX.

On 73 and bleeding edge 74 you get a crash in headless mode on OSX:

13 02 2019 20:12:05.778:INFO [launcher]: Trying to start ChromeHeadless again (2/2).
13 02 2019 20:12:07.377:ERROR [launcher]: Cannot start ChromeHeadless
	[0213/201205.836764:ERROR:crash_report_database_mac.mm(96)] mkdir /private/var/tmp/_bazel_greg/62ef096b0da251c6d093468a1efbfbd3/execroot/angular/bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_webtesting/third_party/chromium/chromium.out/chrome-mac/Chromium.app/Contents/Versions/73.0.3683.0/Chromium Framework.framework/Versions/A/new: Permission denied (13)
[0213/201205.838211:ERROR:file_io.cc(89)] ReadExactly: expected 8, observed 0
[0213/201205.839058:ERROR:crash_report_database_mac.mm(96)] mkdir /private/var/tmp/_bazel_greg/62ef096b0da251c6d093468a1efbfbd3/execroot/angular/bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_webtesting/third_party/chromium/chromium.out/chrome-mac/Chromium.app/Contents/Versions/73.0.3683.0/Chromium Framework.framework/Versions/A/new: Permission denied (13)

DevTools listening on ws://127.0.0.1:9222/devtools/browser/4e9817b2-656e-443a-8418-8d4be619024c
Feb 13 20:12:05  Chromium Helper[94642] <Error>: SeatbeltExecServer: Failed to initialize sandbox: -1 Operation not permitted
Failed to initialize sandbox.
[0213/201206.137114:FATAL:content_main_delegate.cc(54)] Check failed: false. 
0   Chromium Framework                  0x000000010c078bc9 ChromeMain + 43788137
1   Chromium Framework                  0x000000010bfc0f43 ChromeMain + 43035363
2   Chromium Framework                  0x000000010bfd069f ChromeMain + 43098687
3   Chromium Framework                  0x000000010bb2c6a6 ChromeMain + 38232646
4   Chromium Framework                  0x000000010bb2debc ChromeMain + 38238812
5   Chromium Framework                  0x000000010e0e3504 ChromeMain + 77779108
6   Chromium Framework                  0x000000010bb2d604 ChromeMain + 38236580
7   Chromium Framework                  0x0000000110795a4e ChromeMain + 118355438
8   Chromium Framework                  0x00000001107958f3 ChromeMain + 118355091
9   Chromium Framework                  0x000000011078a616 ChromeMain + 118309302
10  Chromium Framework                  0x00000001096b6508 ChromeMain + 168
11  Chromium Helper                     0x00000001056ff9a0 main + 480
12  libdyld.dylib                       0x00007fff670feed9 start + 1
13  ???                                 0x0000000000000008 0x0 + 8
...

@kara kara left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Since Alex E has already approved this, should be good to go in

@kara kara added action: merge The PR is ready for merge by the caretaker merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note labels Feb 13, 2019
@gregmagolan

Copy link
Copy Markdown
Contributor Author

@gkalpak Tests should all pass on OSX with these browser versions however I've seen the following flake due to a port binding failure:

13 02 2019 21:44:22.154:ERROR [launcher]: ChromeHeadless stdout: 
13 02 2019 21:44:22.154:ERROR [launcher]: ChromeHeadless stderr: [0213/214420.337673:ERROR:crash_report_database_mac.mm(95)] mkdir /private/var/tmp/_bazel_greg/62ef096b0da251c6d093468a1efbfbd3/execroot/angular/bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_webtesting/third_party/chromium/chromium.out/chrome-mac/Chromium.app/Contents/Versions/69.0.3497.0/Chromium Framework.framework/Versions/A/new: Permission denied (13)
[0213/214420.342778:ERROR:file_io.cc(89)] ReadExactly: expected 8, observed 0
[0213/214420.343399:ERROR:crash_report_database_mac.mm(95)] mkdir /private/var/tmp/_bazel_greg/62ef096b0da251c6d093468a1efbfbd3/execroot/angular/bazel-out/darwin-fastbuild/bin/external/io_bazel_rules_webtesting/third_party/chromium/chromium.out/chrome-mac/Chromium.app/Contents/Versions/69.0.3497.0/Chromium Framework.framework/Versions/A/new: Permission denied (13)
[0213/214420.408713:ERROR:gpu_process_transport_factory.cc(1007)] Lost UI shared context.
[0213/214420.409729:ERROR:socket_posix.cc(144)] bind() returned an error, errno=48: Address already in use (48)

DevTools listening on ws://[::1]:9222/devtools/browser/43e516c1-dde3-4313-b87d-68990fac1971
[0213/214421.342209:FATAL:content_main_delegate.cc(58)] Check failed: false. 
0   Chromium Framework                  0x000000010464dc4c ChromeMain + 37316860
1   Chromium Framework                  0x00000001045af5a1 ChromeMain + 36667985
2   Chromium Framework                  0x0000000104194926 ChromeMain + 32363990
3   Chromium Framework                  0x000000010419615b ChromeMain + 32370187
4   Chromium Framework                  0x00000001059ff756 ChromeMain + 57967622
5   Chromium Framework                  0x0000000104195924 ChromeMain + 32368084
6   Chromium Framework                  0x0000000108c22643 ChromeMain + 110539507
7   Chromium Framework                  0x0000000108c224ea ChromeMain + 110539162
8   Chromium Framework                  0x0000000108c178b6 ChromeMain + 110495078
9   Chromium Framework                  0x00000001022b73f5 ChromeMain + 165
10  Chromium                            0x000000010229bde1 main + 385
11  libdyld.dylib                       0x00007fff670feed9 start + 1

@alexeagle alexeagle removed the request for review from kyliau February 13, 2019 23:12
@gregmagolan gregmagolan removed the merge: caretaker note Alert the caretaker performing the merge to check the PR for an out of normal action needed or note label Feb 14, 2019
@mhevery mhevery closed this in 47574fe Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
mhevery pushed a commit that referenced this pull request Feb 14, 2019
@kyliau

kyliau commented Feb 14, 2019

Copy link
Copy Markdown
Contributor

@kyle116 I didn't add this temporary work-around to bazel-schematics so ng new will still generate a workspace with the rules_webtesting browser_repositories() which will have a broken OSX chrome headless browser in karma.
Should we wait until we have an upstream fix before updating the schematics or fix it sooner?

We should wait until we have an upstream fix. I'll create another issue to keep track of this.

@angular-automatic-lock-bot

Copy link
Copy Markdown

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot Bot locked and limited conversation to collaborators Sep 14, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

action: merge The PR is ready for merge by the caretaker area: bazel Issues related to the published `@angular/bazel` build rules cla: yes target: patch This PR is targeted for the next patch release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Local Karma tests don't run any more

5 participants