nodejs / node-v8

Experimental Node.js mirror on V8 lkgr :sparkles::turtle::rocket::sparkles:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Review state of canary in CI

targos opened this issue · comments

Previous thread: #234

Windows debug build error:

15:08:54 C:\workspace\node-compile-windows-debug\node\deps\v8\src\compiler\common-operator.cc(63,1): error C2121: '#': invalid character: possibly the result of a macro expansion [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_compiler.vcxproj]
15:08:54 C:\workspace\node-compile-windows-debug\node\deps\v8\src\compiler\common-operator.cc(58,1): error C2059: syntax error: 'if' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_compiler.vcxproj]
15:08:54 C:\workspace\node-compile-windows-debug\node\deps\v8\src\compiler\common-operator.cc(63,1): error C2143: syntax error: missing ';' before '{' [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_compiler.vcxproj]

I created a V8 bug: https://bugs.chromium.org/p/v8/issues/detail?id=13550

Edit: bug was fixed upstream.

New Windows debug build error:

09:48:39 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(279,58): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_turboshaft.vcxproj]
09:48:39 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(281,55): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_turboshaft.vcxproj]
09:48:39 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(284,3): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_turboshaft.vcxproj]
09:48:39 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(286,37): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_turboshaft.vcxproj]

Compiler error in Windows debug:

https://ci.nodejs.org/job/node-compile-windows-debug/15000/nodes=win-vs2019/console

15:41:11 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(279,58): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_init.vcxproj]
15:41:11 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(281,55): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_init.vcxproj]
15:41:11 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(284,3): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_init.vcxproj]
15:41:11 C:\workspace\node-compile-windows-debug\node\deps\v8\src\execution\isolate-data.h(286,37): error C2607: static assertion failed [C:\workspace\node-compile-windows-debug\node\tools\v8_gypfiles\v8_init.vcxproj]

Commit: 9c511d8
V8: https://ci.nodejs.org/job/node-test-commit-v8-linux/5135/

@miladfarca informed me just yesterday about https://chromium-review.googlesource.com/c/v8/v8/+/4181030 requiring Python 3.8, which is the issue for the ImportErrors on ppc64le and s390x:

11:37:54 	/usr/bin/python3.6 deps/v8/tools/run-tests.py --gn --arch=ppc64 --progress=dots --timeout=120 intl \
11:37:54 			mjsunit cctest debugger inspector message preparser \
11:37:54 			--json-test-results /home/iojs/build/workspace/node-test-commit-v8-linux/v8-tap.json --slow-tests-cutoff 1000000
11:37:54 Traceback (most recent call last):
11:37:56   File "deps/v8/tools/run-tests.py", line 11, in <module>
11:37:56     from testrunner import standard_runner
11:37:56   File "/home/iojs/build/workspace/node-test-commit-v8-linux/deps/v8/tools/testrunner/standard_runner.py", line 23, in <module>
11:37:56     import testrunner.base_runner as base_runner
11:37:56   File "/home/iojs/build/workspace/node-test-commit-v8-linux/deps/v8/tools/testrunner/base_runner.py", line 26, in <module>
11:37:56     from testrunner.utils.augmented_options import AugmentedOptions
11:37:56   File "/home/iojs/build/workspace/node-test-commit-v8-linux/deps/v8/tools/testrunner/utils/augmented_options.py", line 9, in <module>
11:37:56     from functools import cached_property
11:37:56 ImportError: cannot import name 'cached_property'

Compiler error on x86 Windows:

11:34:08 C:\workspace\node-compile-windows\node\deps\v8\src\heap\spaces.h(345,35): error C2607: static assertion failed [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_compiler.vcxproj]
11:34:08 C:\workspace\node-compile-windows\node\deps\v8\src\heap\spaces.h(346,28): error C2607: static assertion failed [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_compiler.vcxproj]
11:34:08 C:\workspace\node-compile-windows\node\deps\v8\src\heap\large-spaces.h(60,33): error C2607: static assertion failed [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_compiler.vcxproj]

Edit:

According to release CI, this appeared with V8 11.1.180. Previous successful build was done with V8 11.1.155.
Diff: v8/v8@11.1.155...11.1.180

Failing asserts:

In src/heap/spaces.h:

static_assert(sizeof(MemoryChunk) <= MemoryChunk::kHeaderSize);
static_assert(sizeof(Page) <= MemoryChunk::kHeaderSize);

In src/heap/large-spaces.h:

static_assert(sizeof(LargePage) <= MemoryChunk::kHeaderSize);

I don't know what can explain the apparition of this error but I'll try to revert v8/v8@92a7385 as it's touching the memory chunk layout and is specific to 32bit msvc.

Trying targos/node@6740c1c

https://ci.nodejs.org/job/node-test-commit-windows-fanned/52766/
ARM build for good measure: https://ci.nodejs.org/job/node-test-commit-windows-arm/6/

Edit: Looks like a red herring. It failed with the same error.

/cc @nodejs/platform-windows

If my analysis is right, there's only one change between 11.1.176 and 11.1.177: https://chromium-review.googlesource.com/c/v8/v8/+/4138254

@richardlau Is it going to be difficult to update?

#244 (comment)

@richardlau Is it going to be difficult to update?

#244 (comment)

I don't think so, I just haven't had time to look at it yet. RHEL 8 does have packages for newer versions of Python although we may need other Ansible tweaks to make sure the builds use the newer Python as the system Python 3 will be 3.6.

@richardlau Is it going to be difficult to update?
#244 (comment)

I don't think so, I just haven't had time to look at it yet. RHEL 8 does have packages for newer versions of Python although we may need other Ansible tweaks to make sure the builds use the newer Python as the system Python 3 will be 3.6.

We did indeed need additional Ansible tweaks (use of alternatives). PR for our Ansible scripts: nodejs/build#3163

Windows arm64 build is broken:

10:39:16   simulator-arm64.cc
10:39:16 C:\workspace\node-compile-windows\node\deps\v8\src\trap-handler\trap-handler-simulator.h(38,5): error C2143: syntax error: missing ';' before 'asm' [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_base_without_compiler_host.vcxproj]
10:39:16 C:\workspace\node-compile-windows\node\deps\v8\src\trap-handler\trap-handler-simulator.h(38,44): error C2290: C++ 'asm' syntax ignored. Use __asm. [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_base_without_compiler_host.vcxproj]
10:39:16   handler-outside-simulator.cc
10:39:16 C:\workspace\node-compile-windows\node\deps\v8\src\trap-handler\trap-handler-simulator.h(38,5): error C2143: syntax error: missing ';' before 'asm' [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_base_without_compiler_host.vcxproj]
10:39:16 C:\workspace\node-compile-windows\node\deps\v8\src\trap-handler\trap-handler-simulator.h(38,44): error C2290: C++ 'asm' syntax ignored. Use __asm. [C:\workspace\node-compile-windows\node\tools\v8_gypfiles\v8_base_without_compiler_host.vcxproj]

It's due to this change: v8/v8@a696609

@nodejs/platform-windows-arm