Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

website build is broken #3828

Closed
richardlau opened this issue Apr 29, 2021 · 6 comments · Fixed by #3830
Closed

website build is broken #3828

richardlau opened this issue Apr 29, 2021 · 6 comments · Fixed by #3830

Comments

@richardlau
Copy link
Member

Cross posting here for visibility. The assertion failure is from fibers which is incompatible with Node.js 16: laverdet/node-fibers#451

Originally posted by @richardlau in nodejs/build#2123 (comment)

I'm seeing this is https://nodejs.org/github-webhook.log for ef6cf1f:

event="push", match="ref == "refs/heads/master" && repository.full_name == "nodejs/nodejs.org"", exec="/home/nodejs/build-site.sh nodejs"
Thu Apr 29 2021 19:25:59 GMT+0000 (Coordinated Universal Time)
Took 21368 ms
stdout: HEAD is now at ef6cf1f Add graceful-fs. (#3700)
stdout: Removing node_modules/
stderr: HEAD is now at ef6cf1f... Add graceful-fs. (#3700)
stdout: latest: Pulling from library/node
stdout: Digest: sha256:25516f3de85ebf588e29d81052495d2e1177b55cddbd7ddab2f5ff2c4496dd5e
stdout: Status: Image is up to date for node:latest
stdout: docker.io/library/node:latest
stdout: Get:1 http://deb.debian.org/debian buster InRelease [121 kB]
stdout: Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
stdout: Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
stdout: Get:4 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
stdout: Get:5 http://security.debian.org/debian-security buster/updates/main amd64 Packages [285 kB]
stdout: Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [10.9 kB]
stdout: Fetched 8441 kB in 2s (5058 kB/s)
stdout: Reading package lists...
stdout: Reading package lists...
stdout: Building dependency tree...
stdout: Reading state information...
stdout: The following additional packages will be installed:
stdout:   libpopt0
stdout: Suggested packages:
stdout:   openssh-server
stdout: The following NEW packages will be installed:
stdout:   libpopt0 rsync
stdout: 0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
stdout: Need to get 446 kB of archives.
stdout: After this operation, 974 kB of additional disk space will be used.
stdout: Get:1 http://deb.debian.org/debian buster/main amd64 libpopt0 amd64 1.16-12 [49.4 kB]
stdout: Get:2 http://deb.debian.org/debian buster/main amd64 rsync amd64 3.1.3-6 [397 kB]
stderr: debconf: delaying package configuration, since apt-utils is not installed
stdout: Fetched 446 kB in 0s (24.9 MB/s)
stdout: Selecting previously unselected package libpopt0:amd64.
stdout: (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 23985 files and directories currently installed.)
stdout: Preparing to unpack .../libpopt0_1.16-12_amd64.deb ...
stdout: Unpacking libpopt0:amd64 (1.16-12) ...
stdout: Selecting previously unselected package rsync.
stdout: Preparing to unpack .../rsync_3.1.3-6_amd64.deb ...
stdout: Unpacking rsync (3.1.3-6) ...
stdout: Setting up libpopt0:amd64 (1.16-12) ...
stdout: Setting up rsync (3.1.3-6) ...
stdout: invoke-rc.d: could not determine current runlevel
stdout: invoke-rc.d: policy-rc.d denied execution of restart.
stdout: Processing triggers for libc-bin (2.28-10) ...
stdout: Adding group `nodejs' (GID 1001) ...
stdout: Done.
stdout: Adding user `nodejs' ...
stdout: Adding new user `nodejs' (1001) with group `nodejs' ...
stdout: Creating home directory `/home/nodejs' ...
stdout: Copying files from `/etc/skel' ...
stderr: npm notice 
stderr: npm notice New minor version of npm available! 7.10.0 -> 7.11.1
stderr: npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.11.1>
stderr: npm notice Run `npm install -g [email protected]` to update!
stderr: npm notice 
stderr: npm notice 
stderr: npm notice New minor version of npm available! 7.10.0 -> 7.11.1
stderr: npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.11.1>
stderr: npm notice Run `npm install -g [email protected]` to update!
stderr: npm notice 
stderr: npm http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 1025ms
stdout: 
stdout: added 255 packages, and audited 256 packages in 7s
stdout: 
stdout: found 0 vulnerabilities
stdout: 
stdout: > deploy
stdout: > npm-run-all load-schedule build:deploy external:survey
stdout: 
stdout: 
stdout: > load-schedule
stdout: > curl -sS https://raw.githubusercontent.com/nodejs/Release/master/schedule.json -o source/schedule.json
stdout: 
stdout: 
stdout: > build:deploy
stdout: > node build.js --preserveLocale
stdout: 
stderr: node: ../src/coroutine.cc:134: void* find_thread_id_key(void*): Assertion `thread_id_key != 0x7777' failed.
stderr: Aborted (core dumped)
stderr: ERROR: "build:deploy" exited with 134.
event="push", match="ref == "refs/heads/master" && repository.full_name == "nodejs/nodejs.org"", exec="/home/nodejs/build-site.sh nodejs"
Thu Apr 29 2021 19:26:16 GMT+0000 (Coordinated Universal Time)
Took 17125 ms

in particular it looks like coroutine has failed, which I presume is a dependency for the website?

@richardlau
Copy link
Member Author

The build has been broken since three days ago when node:latest in docker was updated to use Node.js 16: https://hub.docker.com/layers/node/library/node/latest/images/sha256-2b67c5888e26a4427faec4741c9db1445df567c3bd76bc35c59a39f83ba75ba1?context=explore

@XhmikosR
Copy link
Contributor

We could probably drop fibers, or pin to node.js 14 which is the current LTS?

@richardlau
Copy link
Member Author

I'm going to switch the docker image being pulled in https://github.com/nodejs/build/blob/5b9b0689b69bc3ea04d47cc881ebf8400b4764ac/ansible/www-standalone/resources/scripts/build-site.sh#L40-L45 from node:latest (i.e. Node.js 16) to node:lts (currently Node.js 14) which will give six months until Node.js 16 becomes LTS. I'd recommend dropping fibers before then.

Using node:lts instead of pinning to a particular version (e.g. node:14) will save us having to remember to update the script when the version picked goes End-of-Life.

@MylesBorins
Copy link
Contributor

that's a great idea @richardlau. +1

@XhmikosR
Copy link
Contributor

XhmikosR commented Apr 29, 2021 via email

@richardlau
Copy link
Member Author

Script has been switched to node:lts (nodejs/build#2639). I believe the webhook should be working again now (I manually ran the updated script successfully but I think we'd need to push to this repo to test the webhook).

I suggest the issue in this repo be used to track switching away from fibers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants