citgm icon indicating copy to clipboard operation
citgm copied to clipboard

Node.js 18 CITGM Results

Open BethGriggs opened this issue 3 years ago • 16 comments

Node.js 18 CITGM

  • https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2880 (v18.0.0-test202202249be1dcff34)
  • https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2897 (v18.0.0-rc.0)
  • https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2907 (v18.0.0-rc.1)
  • https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2915 (v18.0.0-rc.3)

Multiple platforms:

  • [ ] acorn_v8_7_0

    • Error: Install Timed Out - Tested and the installs are really slow. We should try and identify if it is always the same platforms who time out. I also cannot test acorn with npx on Node.js 16+.
  • [ ] async_v3_2_3

    • 1) autoInject should not be subject to ReDoS: timeout?
  • [ ] @hapi/shot-v5.0.5

  • [x] blake2b_wasm_v2_4_0

    • [x] Skip unsupported platforms (s390x, ppc64)
  • [ ] cheerio_v1_0_0_rc_10

    • [ ] https://github.com/nodejs/citgm/pull/900
  • [ ] jest_v27_5_1

    • Should be fixed by https://github.com/facebook/jest/commit/c6902a061946b45791d07ef91c37c4681f43d793
    • [ ] https://github.com/nodejs/citgm/pull/899
  • [ ] nan_v2_15_0

  • [ ] npm_v8_5_4

    • [ ] https://github.com/nodejs/citgm/issues/897
  • [ ] pino_v7_8_1

    • [ ] Rerun on latest pino releases
  • semver

    • [ ] should be fixed in the next release after v7.3.7.
  • [ ] tape_v5_5_2

    • [ ] https://github.com/nodejs/citgm/issues/895
  • [ ] torrent_stream_v1_2_1

    • [ ] Investigate SIGTERM

BethGriggs avatar Mar 17 '22 20:03 BethGriggs

Anything concrete I could help with in here?

dominykas avatar Mar 31 '22 13:03 dominykas

For Jest, the failures.test was fixed in https://github.com/facebook/jest/commit/8c5204545669e27140d867b79ee60faf60c7fc5c. The coverage failure comes from source-map:

Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer
    at readWasm (/Users/simen/repos/jest/node_modules/v8-to-istanbul/node_modules/source-map/lib/read-wasm.js:8:13)
    at wasm (/Users/simen/repos/jest/node_modules/v8-to-istanbul/node_modules/source-map/lib/wasm.js:25:16)
    at /Users/simen/repos/jest/node_modules/v8-to-istanbul/node_modules/source-map/lib/source-map-consumer.js:264:14
    at V8ToIstanbul.load (/Users/simen/repos/jest/node_modules/v8-to-istanbul/lib/v8-to-istanbul.js:65:26)
    at /Users/simen/repos/jest/packages/jest-reporters/build/CoverageReporter.js:614:11
    at async Promise.all (index 0)
    at CoverageReporter._getCoverageResult (/Users/simen/repos/jest/packages/jest-reporters/build/CoverageReporter.js:572:35)
    at CoverageReporter.onRunComplete (/Users/simen/repos/jest/packages/jest-reporters/build/CoverageReporter.js:220:34)
    at ReporterDispatcher.onRunComplete (/Users/simen/repos/jest/packages/jest-core/build/ReporterDispatcher.js:73:9)
    at TestScheduler.scheduleTests (/Users/simen/repos/jest/packages/jest-core/build/TestScheduler.js:353:5)

or possibly v8-to-istanbul. /cc @bcoe (to reproduce, run yarn && node scripts/build && cd e2e/coverage-provider-v8/no-sourcemap && node ../../../packages/jest/bin/jest.js --coverage-provider v8 --coverage)

SimenB avatar Mar 31 '22 13:03 SimenB

For tape, i have no idea how to reproduce that error locally. It shouldn't block node 18 because it's part of dev scripts, but if there's a way i could get a docker image, or ssh into something, and repro it, that would help resolve it.

ljharb avatar Mar 31 '22 17:03 ljharb

For tape, i have no idea how to reproduce that error locally. It shouldn't block node 18 because it's part of dev scripts, but if there's a way i could get a docker image, or ssh into something, and repro it, that would help resolve it.

Since these are failing in Jenkins, you can request access to a host by opening an issue in the build repo, similar to https://github.com/nodejs/build/issues/2909. The process is documented at https://github.com/nodejs/build/blob/09308290d8401e15fcd3f7f5c6610a6ea13df75a/GOVERNANCE.md#temporary-access.

Trott avatar Apr 01 '22 00:04 Trott

Thanks, I filed https://github.com/nodejs/build/issues/2913

ljharb avatar Apr 01 '22 05:04 ljharb

FWIW, the remaining test failure in Jest also happens in the test suite of v8-to-istanbul. I'm somewhat surprised c8 still works in the node repo itself - their test suite is also very broken using node 18.

image

EDIT: you probably don't use source maps actually, so doesn't trigger the code path?

SimenB avatar Apr 06 '22 08:04 SimenB

@BethGriggs the issue is fetch being a global, it breaks source-map (with more than 160M downloads a week, although the broken v7 has less since it's async only). See https://www.runpkg.com/[email protected]/lib/read-wasm.js#1

Same thing happens using node 17 and --experimental-fetch.

npm init -y && npm install --save source-map

// file.mjs
import {SourceMapConsumer} from 'source-map'

await new SourceMapConsumer({version: '3', sources: [], mappings: []})
$ node file.mjs
$ echo $?
0
$ node --experimental-fetch file.mj
(node:21808) ExperimentalWarning: Fetch is an experimental feature. This feature could change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/simen/repos/source-map-boom/node_modules/source-map/lib/read-wasm.js:8
      throw new Error("You must provide the URL of lib/mappings.wasm by calling " +
            ^

Error: You must provide the URL of lib/mappings.wasm by calling SourceMapConsumer.initialize({ 'lib/mappings.wasm': ... }) before using SourceMapConsumer
    at readWasm (/Users/simen/repos/source-map-boom/node_modules/source-map/lib/read-wasm.js:8:13)
    at wasm (/Users/simen/repos/source-map-boom/node_modules/source-map/lib/wasm.js:25:16)
    at /Users/simen/repos/source-map-boom/node_modules/source-map/lib/source-map-consumer.js:264:14
    at async file:///Users/simen/repos/source-map-boom/file.mjs:3:1

Node.js v17.8.0
$ echo $?
1

SimenB avatar Apr 06 '22 08:04 SimenB

I'm confused with this one as we're supposed to already be skipping on AIX and Linux s390x: https://github.com/nodejs/citgm/blob/4034fb7f5c00d4d1cd793d8ef78ee267542f17a8/lib/lookup.json#L61-L65

richardlau avatar Apr 06 '22 11:04 richardlau

I'm confused with this one as we're supposed to already be skipping on AIX and Linux s390x:

https://github.com/nodejs/citgm/blob/4034fb7f5c00d4d1cd793d8ef78ee267542f17a8/lib/lookup.json#L61-L65

oh we haven't published a new version with https://github.com/nodejs/citgm/pull/887 🤦 .

richardlau avatar Apr 06 '22 11:04 richardlau

oh we haven't published a new version with #887 🤦 .

We have now (v8.0.6) 🙂.

richardlau avatar Apr 06 '22 12:04 richardlau

oh we haven't published a new version with #887 🤦 .

We have now (v8.0.6) 🙂.

Please push the release commit.

targos avatar Apr 06 '22 12:04 targos

Please push the release commit.

🤦. Done. (I'd already pushed the tag but forgot to push the main branch.)

richardlau avatar Apr 06 '22 12:04 richardlau

I opened up https://github.com/nodejs/node/issues/42638 as I think the breakage of source-map deserves some attention.

SimenB avatar Apr 07 '22 08:04 SimenB

@BethGriggs Jest HEAD should be fixed by https://github.com/facebook/jest/commit/c6902a061946b45791d07ef91c37c4681f43d793. I'll be releasing a new major sometime this month which includes it, but for green CITGM maybe get head instead of latest?

SimenB avatar Apr 07 '22 11:04 SimenB

Above was wrong due to https://github.com/nodejs/node/issues/42792. However, https://github.com/facebook/jest/commit/78d4088ea53c4e89915ac30d55f432be5dc83832 is green on Node 18 for Jest (modulus react-native example, but CITGM skips the examples).

I had it in my head Node 18 would come next week, but I'll try to make a stable release this weekend. HEAD should be green, tho

SimenB avatar Apr 20 '22 07:04 SimenB

New run: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/3355/

targos avatar Dec 05 '23 14:12 targos