Repository navigation
[v10.x] V8 builds are broken #35504
Description
Activity
- addedbuildIssues and PRs related to Node.js builds or CI infrastructure.Issues and PRs related to Node.js builds or CI infrastructure.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
on Oct 5, 2020 v10.0.0 to v10.11.0 fail due to
configurenot supporting--verbose:
https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel7-s390x,v8test=v8test/3432/console10:52:58 + ./configure --verbose 10:52:58 Usage: configure [options] 10:52:58 10:52:58 configure: error: no such option: --verbose 10:52:58 Build step 'Execute shell' marked build as failurev10.12.0 through to v10.15.0 fails with
https://ci.nodejs.org/job/node-test-commit-v8-linux/3436/nodes=rhel7-s390x,v8test=v8test/console11:34:47 usage: v8gen.py [-h] {list,gen} ... 11:34:47 v8gen.py: error: unrecognized arguments: i18nsupport=off 11:34:47 Unknown architecture (s390x) -- unable to run ninja. 11:34:47 No prebuilt ninja binary was found for this system.v10.15.1 and later fail with compilation error we're currently seeing:
https://ci.nodejs.org/job/node-test-commit-v8-linux/3438/nodes=rhel7-s390x,v8test=v8test/console11:53:12 ../../src/heap/mark-compact.cc: In instantiation of ‘struct v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MinorNonAtomicMarkingState; v8::internal::Address = long unsigned int]::<lambda(class v8::internal::MaybeObject**)>’: 11:53:12 ../../src/heap/mark-compact.cc:2861:58: required from ‘v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MinorNonAtomicMarkingState; v8::internal::Address = long unsigned int]’ 11:53:12 ../../src/heap/mark-compact.cc:2860:20: required from ‘struct v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers() [with MarkingState = v8::internal::MinorNonAtomicMarkingState]::<lambda(enum v8::internal::SlotType, v8::internal::Address, v8::internal::Address)>’ 11:53:12 ../../src/heap/mark-compact.cc:2859:46: required from ‘void v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers() [with MarkingState = v8::internal::MinorNonAtomicMarkingState]’ 11:53:12 ../../src/heap/mark-compact.cc:2770:24: required from ‘void v8::internal::RememberedSetUpdatingItem<MarkingState>::Process() [with MarkingState = v8::internal::MinorNonAtomicMarkingState]’ 11:53:12 ../../src/heap/mark-compact.cc:4315:1: required from here 11:53:12 ../../src/heap/mark-compact.cc:2862:39: error: ‘v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MinorNonAtomicMarkingState; v8::internal::Address = long unsigned int]::<lambda(v8::internal::MaybeObject**)>’ declared with greater visibility than the type of its field ‘v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MinorNonAtomicMarkingState; v8::internal::Address = long unsigned int]::<lambda(v8::internal::MaybeObject**)>::<this capture>’ [-Werror=attributes] 11:53:12 slot_type, slot, [this](MaybeObject** slot) { 11:53:12 ^ 11:53:12 ../../src/heap/mark-compact.cc: In instantiation of ‘struct v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MajorNonAtomicMarkingState; v8::internal::Address = long unsigned int]::<lambda(class v8::internal::MaybeObject**)>’: 11:53:12 ../../src/heap/mark-compact.cc:2861:58: required from ‘v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MajorNonAtomicMarkingState; v8::internal::Address = long unsigned int]’ 11:53:12 ../../src/heap/mark-compact.cc:2860:20: required from ‘struct v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers() [with MarkingState = v8::internal::MajorNonAtomicMarkingState]::<lambda(enum v8::internal::SlotType, v8::internal::Address, v8::internal::Address)>’ 11:53:12 ../../src/heap/mark-compact.cc:2859:46: required from ‘void v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers() [with MarkingState = v8::internal::MajorNonAtomicMarkingState]’ 11:53:12 ../../src/heap/mark-compact.cc:2770:24: required from ‘void v8::internal::RememberedSetUpdatingItem<MarkingState>::Process() [with MarkingState = v8::internal::MajorNonAtomicMarkingState]’ 11:53:12 ../../src/heap/mark-compact.cc:4315:1: required from here 11:53:12 ../../src/heap/mark-compact.cc:2862:39: error: ‘v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MajorNonAtomicMarkingState; v8::internal::Address = long unsigned int]::<lambda(v8::internal::MaybeObject**)>’ declared with greater visibility than the type of its field ‘v8::internal::RememberedSetUpdatingItem<MarkingState>::UpdateTypedPointers()::<lambda(v8::internal::SlotType, v8::internal::Address, v8::internal::Address)> [with MarkingState = v8::internal::MajorNonAtomicMarkingState; v8::internal::Address = long unsigned int]::<lambda(v8::internal::MaybeObject**)>::<this capture>’ [-Werror=attributes] 11:53:12 cc1plus: all warnings being treated as errorsI'm assuming that we did have the V8 CI passing on v10.x at some point in the past. In terms of why it's failing now, one or more of the following may be responsible:
- We had to migrate the ppcle (Add centos7 PPCle machines build#1705) and s390x (Reprovision the linuxone s390x machines build#2080) machines.
- We had to update the
gnbinary (GN needs an update on some hosts build#1881). - Tweaks to the job configuration
Try adding
v8_enable_backtrace = trueto yourgnarguments list, otherwise gcc will add-fvisibility=hiddento its arguments which is causing the failures.Thanks, I'll try cherry-picking #32113 across to
v10.x-staging🤞.
Test build: https://ci.nodejs.org/job/node-test-commit-v8-linux/3441/Test build passed on the IBM platforms with that cherry-pick 🎉.
Test failures on x64 Linux would require the nearform machine to be brought back online to test.
nearform machines are back. Will attempt to cherry-pick #27364 to see if that fixes things.
Cherry-picked 3b2633e and 546d6cd across to
v10.x-staging.Test V8-CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/3456/
Cherry picking the test changes gives us a green CI on
v10.x-staging🎉.Reacted by Gerhard Stöbich
What steps will reproduce the bug?
The V8 CI (https://ci.nodejs.org/job/node-test-commit-v8-linux/) is currently broken on v10.x (see #35393 (comment)).
How often does it reproduce? Is there a required condition?
All the time.
What is the expected behavior?
V8 CI should pass.
What do you see instead?
V8 CI consistently fails on all three platforms.
Additional information
Going to try bisecting v10.x releases.