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

Review state of canary in CI #223

Closed
targos opened this issue Apr 26, 2022 · 30 comments
Closed

Review state of canary in CI #223

targos opened this issue Apr 26, 2022 · 30 comments

Comments

@targos
Copy link
Member

targos commented Apr 26, 2022

Commit: ae3407f

node-test-commit: https://ci.nodejs.org/job/node-test-commit/53135/
node-test-commit-v8-linux: https://ci.nodejs.org/job/node-test-commit-v8-linux/4652/

@richardlau
Copy link
Member

@targos FYI we'd need to add ICU 71 (the new minimum) to the sharedlib containers for the CI dynamically linked ICU builds to pass.

@targos
Copy link
Member Author

targos commented Apr 26, 2022

@richardlau
Copy link
Member

@targos we're actually still using https://github.com/nodejs/build/blob/master/ansible/roles/docker/templates/ubuntu1804_sharedlibs.Dockerfile.j2 but yeah we should probably start moving the sharedlib testing onto Ubuntu 20.04 (or jump to 22.04). We could also remove ICU 64 from the containers once Node.js 12 goes EOL.

@richardlau
Copy link
Member

@targos
Copy link
Member Author

targos commented Apr 26, 2022

I don't get the Windows debug failure (https://ci.nodejs.org/job/node-compile-windows-debug/11712/nodes=win-vs2019/console).
It seems to fail building an addon test (binding is missing), but there's no output from the node-gyp execution:

19:36:14 > "Debug\node.exe" deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory=test\addons\hello-world --nodedir="C:\workspace\node-compile-windows-debug\node" 
19:36:14 
19:36:14 > if errorlevel 1 exit /b 
19:36:14 
19:36:14 > Debug\node.exe test\addons\hello-world\test.js 
19:36:14 node:internal/modules/cjs/loader:942
19:36:15   throw err;
19:36:15   ^
19:36:15 
19:36:15 Error: Cannot find module './build/Debug/binding'
19:36:15 Require stack:
19:36:15 - C:\workspace\node-compile-windows-debug\node\test\addons\hello-world\test.js
19:36:15     at Module._resolveFilename (node:internal/modules/cjs/loader:939:15)
19:36:15     at Function.resolve (node:internal/modules/cjs/helpers:108:19)
19:36:15     at Object.<anonymous> (C:\workspace\node-compile-windows-debug\node\test\addons\hello-world\test.js:4:29)
19:36:15     at Module._compile (node:internal/modules/cjs/loader:1105:14)
19:36:15     at Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
19:36:15     at Module.load (node:internal/modules/cjs/loader:981:32)
19:36:15     at Module._load (node:internal/modules/cjs/loader:827:12)
19:36:15     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
19:36:15     at node:internal/main/run_main_module:17:47 {
19:36:15   code: 'MODULE_NOT_FOUND',
19:36:15   requireStack: [
19:36:15     'C:\\workspace\\node-compile-windows-debug\\node\\test\\addons\\hello-world\\test.js'
19:36:15   ]
19:36:15 }
19:36:15 
19:36:15 Node.js v19.0.0-pre

richardlau pushed a commit to nodejs/build that referenced this issue Apr 28, 2022
@targos
Copy link
Member Author

targos commented Apr 30, 2022

@targos
Copy link
Member Author

targos commented Apr 30, 2022

On my PC:

> .\out\Debug\node.exe .\tools\build-addons.js .\deps\npm\node_modules\node-gyp\bin\node-gyp.js .\test\addons
Building addon in test\addons\async-cleanup-hook
Building addon in test\addons\async-hooks-id
Building addon in test\addons\async-hello-world
Building addon in test\addons\async-resource
Building addon in test\addons\buffer-free-callback
Building addon in test\addons\callback-scope
Building addon in test\addons\dlopen-ping-pong
Building addon in test\addons\errno-exception
Building addon in test\addons\force-context-aware
Building addon in test\addons\heap-profiler
Building addon in test\addons\hello-world
Building addon in test\addons\hello-world-function-export
D:\Git\nodejs\node-v8\tools\build-addons.js:58
main(process.argv[3]).catch((err) => setImmediate(() => { throw err; }));
                                                          ^

Error: Command failed: D:\Git\nodejs\node-v8\out\Debug\node.exe .\deps\npm\node_modules\node-gyp\bin\node-gyp.js rebuild --directory=test\addons\async-hooks-id

    at ChildProcess.exithandler (node:child_process:387:12)
    at ChildProcess.emit (node:events:527:28)
    at maybeClose (node:internal/child_process:1090:16)
    at ChildProcess._handle.onexit (node:internal/child_process:302:5) {
  code: 3221225477,
  killed: false,
  signal: null,
  cmd: 'D:\\Git\\nodejs\\node-v8\\out\\Debug\\node.exe .\\deps\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js rebuild --directory=test\\addons\\async-hooks-id',
  stdout: '',
  stderr: ''
}

Node.js v19.0.0-pre

@targos
Copy link
Member Author

targos commented Apr 30, 2022

Here's the stack. It's the first time I use Visual Studio's debugger, so I hope I did it right:

image
image

@targos
Copy link
Member Author

targos commented Apr 30, 2022

I commented on the V8 issue related to TurboShaft: https://bugs.chromium.org/p/v8/issues/detail?id=12783#c2

@targos
Copy link
Member Author

targos commented May 14, 2022

@targos
Copy link
Member Author

targos commented Jun 17, 2022

New run with beccf54

CI: https://ci.nodejs.org/job/node-test-commit/54192/
V8: https://ci.nodejs.org/job/node-test-commit-v8-linux/4734/

Edit: canary branch was just updated...

@targos
Copy link
Member Author

targos commented Jun 17, 2022

@targos targos pinned this issue Jun 19, 2022
@targos
Copy link
Member Author

targos commented Jun 19, 2022

@targos
Copy link
Member Author

targos commented Jun 21, 2022

test-linux is now green in GH actions.

New run with 5dab1f0

CI: https://ci.nodejs.org/job/node-test-commit/54350/
V8: https://ci.nodejs.org/job/node-test-commit-v8-linux/4742/

@targos
Copy link
Member Author

targos commented Jul 8, 2022

@targos
Copy link
Member Author

targos commented Jul 8, 2022

Build fails on ppc and s390:

11:30:32 In file included from ../deps/v8/include/cppgc/common.h:9,
11:30:32                  from ../deps/v8/include/v8.h:23,
11:30:32                  from ../src/node.h:73,
11:30:32                  from ../src/api/encoding.cc:1:
11:30:32 ../deps/v8/include/v8config.h:788:2: error: #error Unknown target architecture endianness
11:30:32  #error Unknown target architecture endianness
11:30:32   ^~~~~
11:30:32 make[2]: *** [libnode.target.mk:432: /home/iojs/build/workspace/node-test-commit-plinux/nodes/rhel8-ppc64le/out/Release/obj.target/libnode/src/api/async_resource.o] Error 1
11:19:41 In file included from ../deps/v8/include/cppgc/common.h:9,
11:19:41                  from ../deps/v8/include/v8.h:23,
11:19:41                  from ../src/node.h:73,
11:19:41                  from ../src/api/encoding.cc:1:
11:19:41 ../deps/v8/include/v8config.h:678:2: error: #error Target architecture was not detected as supported by v8
11:19:41  #error Target architecture was not detected as supported by v8
11:19:41   ^~~~~
11:19:41 ../deps/v8/include/v8config.h:716:2: error: #error Unknown target architecture pointer size
11:19:41  #error Unknown target architecture pointer size
11:19:41   ^~~~~
11:19:41 ../deps/v8/include/v8config.h:788:2: error: #error Unknown target architecture endianness
11:19:41  #error Unknown target architecture endianness
11:19:41   ^~~~~
11:19:41 make[2]: *** [libnode.target.mk:436: /home/iojs/build/workspace/node-test-commit-linuxone/out/Release/obj.target/libnode/src/api/encoding.o] Error 1

@nodejs/platform-ppc @nodejs/platform-s390

Edit: can be reproduced in direct V8 build so it's not specific to our GYP config: https://ci.nodejs.org/job/node-test-commit-v8-linux/4761/nodes=rhel8-s390x,v8test=v8test/console

@miladfarca
Copy link

This doesn't seem to be a problem with V8 but rather an issue with building libnode? i.e -DV8_TARGET_ARCH_S390X or -DV8_TARGET_ARCH_PPC64 is not being passed as a compile time flag to g++.

@targos
Copy link
Member Author

targos commented Jul 11, 2022

@miladfarca I see. Would you be able to investigate what we are doing wrong? These flags have been passed from toolchain.gypi for years and I have no idea why it suddenly doesn't work anymore.

['v8_target_arch=="s390x"', {
'defines': [
'V8_TARGET_ARCH_S390',
],
'cflags': [ '-ffp-contract=off' ],
'conditions': [
['v8_target_arch=="s390x"', {
'defines': [
'V8_TARGET_ARCH_S390X',
],
}],
['v8_host_byteorder=="little"', {
'defines': [
'V8_TARGET_ARCH_S390_LE_SIM',
],
}, {
'cflags': [ '-march=z196' ],
}],
],
}], # s390x
['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
'conditions': [
['v8_target_arch=="ppc"', {
'defines': [
'V8_TARGET_ARCH_PPC',
],
}],
['v8_target_arch=="ppc64"', {
'defines': [
'V8_TARGET_ARCH_PPC64',
],
'cflags': [
'-ffp-contract=off',
],
}],

@BethGriggs
Copy link
Member

Is https://chromium.googlesource.com/v8/v8/+/28b5d299845f6ca289647241badd08844b51bb7c relevant? (Apologies if you've already aware/have seen, I just had a cursory glance and it seems like it could be related.)

@targos
Copy link
Member Author

targos commented Jul 11, 2022

@BethGriggs I was not aware, thanks! It might be this commit, but I don't see how.

@miladfarca
Copy link

How is libnode being built? i.e I can see build of v8 itself is triggered with make v8:

.PHONY: v8

Probably has to do with this config:
'target_name': '<(node_lib_target_name)',

@richardlau
Copy link
Member

@miladfarca I see. Would you be able to investigate what we are doing wrong? These flags have been passed from toolchain.gypi for years and I have no idea why it suddenly doesn't work anymore.

['v8_target_arch=="s390x"', {
'defines': [
'V8_TARGET_ARCH_S390',
],
'cflags': [ '-ffp-contract=off' ],
'conditions': [
['v8_target_arch=="s390x"', {
'defines': [
'V8_TARGET_ARCH_S390X',
],
}],
['v8_host_byteorder=="little"', {
'defines': [
'V8_TARGET_ARCH_S390_LE_SIM',
],
}, {
'cflags': [ '-march=z196' ],
}],
],
}], # s390x
['v8_target_arch=="ppc" or v8_target_arch=="ppc64"', {
'conditions': [
['v8_target_arch=="ppc"', {
'defines': [
'V8_TARGET_ARCH_PPC',
],
}],
['v8_target_arch=="ppc64"', {
'defines': [
'V8_TARGET_ARCH_PPC64',
],
'cflags': [
'-ffp-contract=off',
],
}],

The problem is that https://chromium.googlesource.com/v8/v8/+/28b5d299845f6ca289647241badd08844b51bb7c has moved the arch detection to v8config.h which ends up being included by v8.h and node.h.

11:19:41 In file included from ../deps/v8/include/cppgc/common.h:9,
11:19:41                  from ../deps/v8/include/v8.h:23,
11:19:41                  from ../src/node.h:73,
11:19:41                  from ../src/api/encoding.cc:1:

The V8 part (using gn/ninja) of https://ci.nodejs.org/job/node-test-commit-v8-linux/4761/nodes=rhel8-s390x,v8test=v8test/consoleFull succeeded -- it's the Node.js build that is now broken as we only have the V8_TARGET_ARCH_* defines (via toolchain.gypi) when building V8 and not for the rest of Node.js.

10:49:44 ===
10:49:44 === All tests succeeded
10:49:44 ===
10:49:44 >>> 14483 base tests produced 13205 (91%) non-filtered tests
10:49:44 >>> 13205 tests ran
10:49:44 make test-hash-seed
10:49:44 make -C out BUILDTYPE=Release V=1

My worry would be if we now need extra definitions for including node.h -- for our own builds and addons using node-gyp we could potentially define them in a gypi file but that wouldn't help anyone using something else, e.g. cmake, to compile addons.

@richardlau
Copy link
Member

FWIW I'm checking if richardlau@85d6c5b improves things.
CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/

@richardlau
Copy link
Member

FWIW I'm checking if richardlau@85d6c5b improves things. CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/

Well at least on s390x we're on a new failure:

https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/nodes=rhel8-s390x,v8test=v8test/console

17:21:07 [1785/2057] ccache g++ -MMD -MF obj/v8_turboshaft/decompression-optimization.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_S390 -DV8_TARGET_ARCH_S390X -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -march=z196 -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -O3 -fdata-sections -ffunction-sections -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++17 -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/compiler/turboshaft/decompression-optimization.cc -o obj/v8_turboshaft/decompression-optimization.o
17:21:07 FAILED: obj/v8_turboshaft/decompression-optimization.o 
17:21:07 ccache g++ -MMD -MF obj/v8_turboshaft/decompression-optimization.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_S390 -DV8_TARGET_ARCH_S390X -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -march=z196 -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -O3 -fdata-sections -ffunction-sections -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++17 -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/compiler/turboshaft/decompression-optimization.cc -o obj/v8_turboshaft/decompression-optimization.o
17:21:07 ../../src/compiler/turboshaft/decompression-optimization.cc: In member function ‘bool v8::internal::compiler::turboshaft::{anonymous}::DecompressionAnalyzer::MarkAsNeedsDecompression(v8::internal::compiler::turboshaft::OpIndex)’:
17:21:07 ../../src/compiler/turboshaft/decompression-optimization.cc:55:36: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
17:21:07      return needs_decompression[op] = true;
17:21:07 cc1plus: all warnings being treated as errors

cc @nodejs/platform-s390

@richardlau
Copy link
Member

FWIW I'm checking if richardlau@85d6c5b improves things. CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/

Well at least on s390x we're on a new failure:

https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/nodes=rhel8-s390x,v8test=v8test/console

17:21:07 [1785/2057] ccache g++ -MMD -MF obj/v8_turboshaft/decompression-optimization.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_S390 -DV8_TARGET_ARCH_S390X -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -march=z196 -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -O3 -fdata-sections -ffunction-sections -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++17 -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/compiler/turboshaft/decompression-optimization.cc -o obj/v8_turboshaft/decompression-optimization.o
17:21:07 FAILED: obj/v8_turboshaft/decompression-optimization.o 
17:21:07 ccache g++ -MMD -MF obj/v8_turboshaft/decompression-optimization.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_S390 -DV8_TARGET_ARCH_S390X -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -march=z196 -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -O3 -fdata-sections -ffunction-sections -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++17 -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/compiler/turboshaft/decompression-optimization.cc -o obj/v8_turboshaft/decompression-optimization.o
17:21:07 ../../src/compiler/turboshaft/decompression-optimization.cc: In member function ‘bool v8::internal::compiler::turboshaft::{anonymous}::DecompressionAnalyzer::MarkAsNeedsDecompression(v8::internal::compiler::turboshaft::OpIndex)’:
17:21:07 ../../src/compiler/turboshaft/decompression-optimization.cc:55:36: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
17:21:07      return needs_decompression[op] = true;
17:21:07 cc1plus: all warnings being treated as errors

cc @nodejs/platform-s390

FWIW I'm checking if richardlau@85d6c5b improves things. CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/

Well at least on s390x we're on a new failure:

https://ci.nodejs.org/job/node-test-commit-v8-linux/4767/nodes=rhel8-s390x,v8test=v8test/console

17:21:07 [1785/2057] ccache g++ -MMD -MF obj/v8_turboshaft/decompression-optimization.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_S390 -DV8_TARGET_ARCH_S390X -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -march=z196 -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -O3 -fdata-sections -ffunction-sections -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++17 -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/compiler/turboshaft/decompression-optimization.cc -o obj/v8_turboshaft/decompression-optimization.o
17:21:07 FAILED: obj/v8_turboshaft/decompression-optimization.o 
17:21:07 ccache g++ -MMD -MF obj/v8_turboshaft/decompression-optimization.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64 -DV8_INTL_SUPPORT -DENABLE_HANDLE_ZAPPING -DV8_USE_EXTERNAL_STARTUP_DATA -DV8_ATOMIC_OBJECT_FIELD_WRITES -DV8_ENABLE_LAZY_SOURCE_POSITIONS -DV8_SHARED_RO_HEAP -DV8_WIN64_UNWINDING_INFO -DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH -DV8_ENABLE_WEBASSEMBLY -DV8_ALLOCATION_FOLDING -DV8_ALLOCATION_SITE_TRACKING -DV8_ADVANCED_BIGINT_ALGORITHMS -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -DV8_TARGET_ARCH_S390 -DV8_TARGET_ARCH_S390X -DV8_HAVE_TARGET_OS -DV8_TARGET_OS_LINUX -DV8_RUNTIME_CALL_STATS -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -I../.. -Igen -I../../include -Igen/include -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -Wall -Werror -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -Wno-comments -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -fno-omit-frame-pointer -g0 -ffp-contract=off -march=z196 -Wno-strict-overflow -Wno-return-type -Wno-int-in-bool-context -O3 -fdata-sections -ffunction-sections -fvisibility=default -Wno-narrowing -Wno-class-memaccess -std=gnu++17 -fno-aligned-new -fno-exceptions -fno-rtti -c ../../src/compiler/turboshaft/decompression-optimization.cc -o obj/v8_turboshaft/decompression-optimization.o
17:21:07 ../../src/compiler/turboshaft/decompression-optimization.cc: In member function ‘bool v8::internal::compiler::turboshaft::{anonymous}::DecompressionAnalyzer::MarkAsNeedsDecompression(v8::internal::compiler::turboshaft::OpIndex)’:
17:21:07 ../../src/compiler/turboshaft/decompression-optimization.cc:55:36: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
17:21:07      return needs_decompression[op] = true;
17:21:07 cc1plus: all warnings being treated as errors

cc @nodejs/platform-s390

@miladfarca suggests that one might be resolved by https://chromium-review.googlesource.com/c/v8/v8/+/3755141.

@richardlau
Copy link
Member

https://ci.nodejs.org/job/node-test-commit-v8-linux/4769 is:

All three platforms now fail with #231.

@targos
Copy link
Member Author

targos commented Jul 12, 2022

Looks good! Are you able to upstream the patch?

@richardlau
Copy link
Member

Looks good! Are you able to upstream the patch?

No, but @miladfarca has on my behalf 🙇‍♂️ : https://chromium-review.googlesource.com/c/v8/v8/+/3757944

@targos
Copy link
Member Author

targos commented Jul 13, 2022

@targos
Copy link
Member Author

targos commented Jul 18, 2022

I'll open a new issue for the next round of reviews.

@targos targos closed this as completed Jul 18, 2022
@targos targos unpinned this issue Jul 18, 2022
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

No branches or pull requests

4 participants