[heap][sandbox] Enable external pointer table w/compressed pointers [v8/v8 : main]

59 views
Skip to first unread message

Andy Wingo (Gerrit)

unread,
May 3, 2024, 9:39:36 AM5/3/24
to Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Michael Lippautz and Samuel Groß

Andy Wingo voted and added 1 comment

Votes added by Andy Wingo

Commit-Queue+1

1 comment

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Andy Wingo . resolved

This is a large and horrible patch but which is mostly mechanical, as discussed on https://issues.chromium.org/issues/337580006.

Open in Gerrit

Related details

Attention is currently required from:
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 1
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 03 May 2024 13:39:30 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 3, 2024, 9:46:30 AM5/3/24
to V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Michael Lippautz and Samuel Groß

Andy Wingo added 2 comments

File src/maglev/arm64/maglev-assembler-arm64-inl.h
Line 513, Patchset 1 (Parent): MemOperand operand) {
Andy Wingo . unresolved

Here (and below) I am not sure whether these are external pointers with EPT entries or sandboxed pointers (indirectpointer).

File src/snapshot/read-only-deserializer.cc
Line 196, Patchset 1 (Latest): DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared());
Andy Wingo . unresolved

This dcheck fails on multi-cage mode. Have to figure out a solution.

Open in Gerrit

Related details

Attention is currently required from:
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 1
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 03 May 2024 13:46:25 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Samuel Groß (Gerrit)

unread,
May 3, 2024, 10:24:26 AM5/3/24
to Andy Wingo, V8 LUCI CQ, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Andy Wingo and Michael Lippautz

Samuel Groß added 5 comments

Patchset-level comments
Samuel Groß . resolved

Wohoo!

File src/execution/isolate-utils-inl.h
Line 61, Patchset 1 (Latest):// Use this function instead of Internals::GetIsolateForSandbox for internal
Samuel Groß . unresolved

Should this be `GetIsolateForPointerCompression`?

File src/maglev/arm64/maglev-assembler-arm64-inl.h
Line 513, Patchset 1 (Parent): MemOperand operand) {
Andy Wingo . unresolved

Here (and below) I am not sure whether these are external pointers with EPT entries or sandboxed pointers (indirectpointer).

Samuel Groß

Hmm maybe the method name is wrong here. It looks like these are "Sandboxed Pointers" (see https://source.chromium.org/chromium/chromium/src/+/main:v8/src/sandbox/GLOSSARY.md;l=74;drc=a78860780c0eebd129ff70772a81a546991055ac), used e.g. for referencing ArrayBuffer backing stores inside the sandbox.

File src/objects/js-array-buffer-inl.h
Line 118, Patchset 1 (Latest): // TODO(saelo): if we ever use the external pointer table for all external
// pointer fields in the no-sandbox-ptr-compression config, replace this code
// here and above with the respective external pointer accessors.
Samuel Groß . unresolved

Can we do this now? I.e. use `WriteInitializedExternalPointerField` here and `SetupLazilyInitializedExternalPointerField` in `init_extension`? If it doesn't work for some reason, feel free to just leave the TODO though

File src/snapshot/read-only-deserializer.cc
Line 196, Patchset 1 (Latest): DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared());
Andy Wingo . unresolved

This dcheck fails on multi-cage mode. Have to figure out a solution.

Samuel Groß

Ah hmm not sure how exactly this works, but I guess the problem is the this code currently assumes a shared RO space and a shared EPT RO space. If this isn't the case, we probably need one EPT RO space per heap or something like that?
Maybe worth checking if we even have any external pointers in the RO snapshot in that case though.

Open in Gerrit

Related details

Attention is currently required from:
  • Andy Wingo
  • Michael Lippautz
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 1
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Andy Wingo <wi...@igalia.com>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 03 May 2024 14:24:21 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 10, 2024, 7:28:04 AM5/10/24
to V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Michael Lippautz and Samuel Groß

Andy Wingo added 5 comments

Patchset-level comments
File-level comment, Patchset 2 (Latest):
Andy Wingo . resolved

Rebased, fixed some nits, still working on read-only spaces

File src/execution/isolate-utils-inl.h
Line 61, Patchset 1:// Use this function instead of Internals::GetIsolateForSandbox for internal
Samuel Groß . resolved

Should this be `GetIsolateForPointerCompression`?

Andy Wingo

Done

File src/maglev/arm64/maglev-assembler-arm64-inl.h
Line 513, Patchset 1 (Parent): MemOperand operand) {
Andy Wingo . unresolved

Here (and below) I am not sure whether these are external pointers with EPT entries or sandboxed pointers (indirectpointer).

Samuel Groß

Hmm maybe the method name is wrong here. It looks like these are "Sandboxed Pointers" (see https://source.chromium.org/chromium/chromium/src/+/main:v8/src/sandbox/GLOSSARY.md;l=74;drc=a78860780c0eebd129ff70772a81a546991055ac), used e.g. for referencing ArrayBuffer backing stores inside the sandbox.

Andy Wingo

Ack. Just going to leave as is.

File src/objects/js-array-buffer-inl.h
Line 118, Patchset 1: // TODO(saelo): if we ever use the external pointer table for all external

// pointer fields in the no-sandbox-ptr-compression config, replace this code
// here and above with the respective external pointer accessors.
Samuel Groß . resolved

Can we do this now? I.e. use `WriteInitializedExternalPointerField` here and `SetupLazilyInitializedExternalPointerField` in `init_extension`? If it doesn't work for some reason, feel free to just leave the TODO though

Andy Wingo

It seems that we can't do it for the moment because of the need for acquire/release memory ordering; annoying. I will update the comments (and cheekily keep you on the TODO :). (Heretical thought: maybe we should just use acq/rel ordering for all external pointer accesses...)

File src/snapshot/read-only-deserializer.cc
Line 196, Patchset 1: DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared());
Andy Wingo . unresolved

This dcheck fails on multi-cage mode. Have to figure out a solution.

Samuel Groß

Ah hmm not sure how exactly this works, but I guess the problem is the this code currently assumes a shared RO space and a shared EPT RO space. If this isn't the case, we probably need one EPT RO space per heap or something like that?
Maybe worth checking if we even have any external pointers in the RO snapshot in that case though.

Andy Wingo

Still puzzling over this one; I don't have a good understanding yet about how the RO heap works. Each snapshot has its own RO spaces? And deserializing an isolate might put those RO spaces into some sort of shared part of the pointer cage? If there are any design docs on read-only spaces I would be happy to peruse them :)

Open in Gerrit

Related details

Attention is currently required from:
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 2
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 10 May 2024 11:27:58 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
Comment-In-Reply-To: Samuel Groß <sa...@chromium.org>
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 10, 2024, 7:31:42 AM5/10/24
to V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

File src/maglev/arm64/maglev-assembler-arm64-inl.h
Line 513, Patchset 1 (Parent): MemOperand operand) {
Andy Wingo . resolved

Here (and below) I am not sure whether these are external pointers with EPT entries or sandboxed pointers (indirectpointer).

Samuel Groß

Hmm maybe the method name is wrong here. It looks like these are "Sandboxed Pointers" (see https://source.chromium.org/chromium/chromium/src/+/main:v8/src/sandbox/GLOSSARY.md;l=74;drc=a78860780c0eebd129ff70772a81a546991055ac), used e.g. for referencing ArrayBuffer backing stores inside the sandbox.

Andy Wingo

Ack. Just going to leave as is.

Andy Wingo

Acknowledged

Open in Gerrit

Related details

Attention is currently required from:
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 2
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 10 May 2024 11:31:36 +0000
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 13, 2024, 10:26:31 AM5/13/24
to V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

Patchset-level comments
File-level comment, Patchset 3 (Latest):
Andy Wingo . resolved

It seems the node CI doesn't manage to build addons: see end of https://logs.chromium.org/logs/node-ci/buildbucket/cr-buildbucket/8748068638469800017/+/u/build/compile/stdout. No idea why as it doesn't seem to expose the logs!

Open in Gerrit

Related details

Attention is currently required from:
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 3
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Mon, 13 May 2024 14:26:26 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Deepak Mohan (Robo) (Gerrit)

unread,
May 14, 2024, 2:28:46 AM5/14/24
to Andy Wingo, V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Andy Wingo, Michael Lippautz and Samuel Groß

Deepak Mohan (Robo) added 1 comment

Patchset-level comments
Andy Wingo . resolved

It seems the node CI doesn't manage to build addons: see end of https://logs.chromium.org/logs/node-ci/buildbucket/cr-buildbucket/8748068638469800017/+/u/build/compile/stdout. No idea why as it doesn't seem to expose the logs!

Deepak Mohan (Robo)

Drive-by comment: Incase it helps, addon build step happens via the target https://chromium.googlesource.com/v8/node-ci/+/refs/heads/main/node_tests/BUILD.gn#104 and it relies on node binary built from this change https://github.com/v8/node/blob/b5a7a8ad3b09405e5523f8da35bc3f393db79dcc/tools/build_addons.py#L30. There is a crash on startup of the binary. You can repro the issue by setting up https://chromium.googlesource.com/v8/node-ci/+/refs/heads/main#checking-out-source and replacing v8 checkout with this change, followed by

```
> ./tools/gn-gen.py out/Release
> ninja -C out/Release node_tests:node_test_addons_build
```

Open in Gerrit

Related details

Attention is currently required from:
  • Andy Wingo
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 3
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Andy Wingo <wi...@igalia.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Tue, 14 May 2024 06:28:39 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 17, 2024, 9:23:08 AM5/17/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, almuthan...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

Patchset-level comments
Andy Wingo . resolved

It seems the node CI doesn't manage to build addons: see end of https://logs.chromium.org/logs/node-ci/buildbucket/cr-buildbucket/8748068638469800017/+/u/build/compile/stdout. No idea why as it doesn't seem to expose the logs!

Deepak Mohan (Robo)

Drive-by comment: Incase it helps, addon build step happens via the target https://chromium.googlesource.com/v8/node-ci/+/refs/heads/main/node_tests/BUILD.gn#104 and it relies on node binary built from this change https://github.com/v8/node/blob/b5a7a8ad3b09405e5523f8da35bc3f393db79dcc/tools/build_addons.py#L30. There is a crash on startup of the binary. You can repro the issue by setting up https://chromium.googlesource.com/v8/node-ci/+/refs/heads/main#checking-out-source and replacing v8 checkout with this change, followed by

```
> ./tools/gn-gen.py out/Release
> ninja -C out/Release node_tests:node_test_addons_build
```

Andy Wingo

Firstly -- thank you Deepak !!! A very helpful hint. I can reproduce this locally now. The issue is basic, that calling toString on a node buffer fails somewhere, causing a segfault. Probably has to do with one-byte external strings.

Still figuring out how to get a debug build; passing --debug to gn-gen.py does residualize is_debug=true but somehow that doesn't translate to the binaries. Will keep at it.

Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 3
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 17 May 2024 13:23:01 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Deepak Mohan (Robo) <hop2...@gmail.com>
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
unsatisfied_requirement
open
diffy

Almothana Athamneh (Gerrit)

unread,
May 17, 2024, 9:24:58 AM5/17/24
to Andy Wingo, almuthan...@chromium.org, Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Almothana Athamneh removed almuthan...@chromium.org from this change

Deleted Reviewers:
Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: deleteReviewer
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 28, 2024, 10:28:28 AM5/28/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

Patchset-level comments
Andy Wingo . resolved

Poking at this again: the node failure manifests itself as an EPT entry having the wrong type. The segfault occurs here: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/builtins/x64/builtins-x64.cc;l=4523, which loads the callback for a FunctionTemplateInfo. Still poking to find how this happened.

Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 3
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Tue, 28 May 2024 14:28:23 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 29, 2024, 10:47:52 AM5/29/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 2 comments

Patchset-level comments
Andy Wingo . resolved

It would seem that the problem is that the

Andy Wingo . resolved

Poking at this again: the node failure manifests itself as an EPT entry having the wrong type. The segfault occurs here: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/builtins/x64/builtins-x64.cc;l=4523, which loads the callback for a FunctionTemplateInfo. Still poking to find how this happened.

Andy Wingo

Somehow the EmbedderDataArray of node's NativeContext is corrupted when it is deserialized, containing non-null ExternalPointerHandles in it. Later writes to those context fields during node boot end up overwriting the handle that was correctly allocated when deserializing the FunctionTemplateInfo instance. Still poking; very perplexing.

Gerrit-Comment-Date: Wed, 29 May 2024 14:47:47 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 30, 2024, 4:47:51 AM5/30/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

Patchset-level comments
Andy Wingo . resolved

It would seem that the problem is that the

Andy Wingo

Funny. So what happens is that the `NativeContext` gets deserialized, along with its `EmbedderDataArray`, which has 40 slots. Each slot is `EmbedderDataSlot`, with two 32-bit words. There is special post-processing for a context's `EmbedderDataArray` in `context-deserializer.cc` but that doesn't occur in this case because Node doesn't yet support custom context serialization/deserialization. Each slot in the array can have a heap object or an external pointer. Those external pointer slots are lazily initialized, so the first write to them should allocate an EPT slot. However the bug is that the `EmbedderDataArray` is getting deserialized with non-null EPT handles!

The bug occurs because in the serializer we skip over `ExternalPointerSlot` values for `EmbedderDataArray` and other types: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/snapshot/serializer.cc;l=1156

This causes the `bytes_processed_so_far_` to not advance when visiting the EPT slot, indicating these values will be filled in by copying, via `OutputRawData`. But of course this ends up copying a raw EPT handle from the serializer to the deserializer, leading to aliasing of the EPT handle and eventual stompling.

The way this works for other data types is that we null out the external pointer fields before writing. Perhaps that is what needs to happen with embedder fields on the context as well.

Gerrit-Comment-Date: Thu, 30 May 2024 08:47:45 +0000
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 30, 2024, 4:52:39 AM5/30/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

Patchset-level comments
Andy Wingo . resolved

It would seem that the problem is that the

Andy Wingo

Funny. So what happens is that the `NativeContext` gets deserialized, along with its `EmbedderDataArray`, which has 40 slots. Each slot is `EmbedderDataSlot`, with two 32-bit words. There is special post-processing for a context's `EmbedderDataArray` in `context-deserializer.cc` but that doesn't occur in this case because Node doesn't yet support custom context serialization/deserialization. Each slot in the array can have a heap object or an external pointer. Those external pointer slots are lazily initialized, so the first write to them should allocate an EPT slot. However the bug is that the `EmbedderDataArray` is getting deserialized with non-null EPT handles!

The bug occurs because in the serializer we skip over `ExternalPointerSlot` values for `EmbedderDataArray` and other types: https://source.chromium.org/chromium/chromium/src/+/main:v8/src/snapshot/serializer.cc;l=1156

This causes the `bytes_processed_so_far_` to not advance when visiting the EPT slot, indicating these values will be filled in by copying, via `OutputRawData`. But of course this ends up copying a raw EPT handle from the serializer to the deserializer, leading to aliasing of the EPT handle and eventual stompling.

The way this works for other data types is that we null out the external pointer fields before writing. Perhaps that is what needs to happen with embedder fields on the context as well.

Andy Wingo

I should add that this doesn't happen in the existing +pc,-sandbox configuration because serializing a raw pointer does not appear to be a problem, if that pointer is always overwritten after deserialization. The problem is that if we serialize a raw EPT handle, it's an indirect write that aliases a storage location owned by something else.

Gerrit-Comment-Date: Thu, 30 May 2024 08:52:33 +0000
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 30, 2024, 6:36:50 AM5/30/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

File src/snapshot/context-serializer.cc
Line 65, Patchset 5 (Latest): }
Andy Wingo . unresolved

PTAL especially at this block, which fixes the node-ci errors. Would have been nice to use EmbedderDataSlot::load_raw / EmbedderDataSlot::store_raw to avoid allocating a fresh EPT entry but gc_safe_store balked at restoring a value for reasons I didn't investigate.

Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 5
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Thu, 30 May 2024 10:36:44 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 30, 2024, 10:36:20 AM5/30/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

File src/snapshot/context-serializer.cc
Andy Wingo . unresolved

PTAL especially at this block, which fixes the node-ci errors. Would have been nice to use EmbedderDataSlot::load_raw / EmbedderDataSlot::store_raw to avoid allocating a fresh EPT entry but gc_safe_store balked at restoring a value for reasons I didn't investigate.

Andy Wingo

The idea is good but the execution is bad :) Really I just want to null out external pointers, but with pointer compression this also nulls out heap objects (because of the way ToAlignedPointer works; https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/embedder-data-slot-inl.h;l=98). Will fix.

Gerrit-Comment-Date: Thu, 30 May 2024 14:36:14 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
May 31, 2024, 9:08:18 AM5/31/24
to Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo added 1 comment

File src/snapshot/read-only-deserializer.cc
Line 196, Patchset 1: DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared());
Andy Wingo . unresolved

This dcheck fails on multi-cage mode. Have to figure out a solution.

Samuel Groß

Ah hmm not sure how exactly this works, but I guess the problem is the this code currently assumes a shared RO space and a shared EPT RO space. If this isn't the case, we probably need one EPT RO space per heap or something like that?
Maybe worth checking if we even have any external pointers in the RO snapshot in that case though.

Andy Wingo

Still puzzling over this one; I don't have a good understanding yet about how the RO heap works. Each snapshot has its own RO spaces? And deserializing an isolate might put those RO spaces into some sort of shared part of the pointer cage? If there are any design docs on read-only spaces I would be happy to peruse them :)

Andy Wingo

OK. Before this patch, the RO heap snapshot in non-sandbox configurations would not have EPT entries, and now it will. For a monocage configuration this is fine; closer to the sandbox configuration. But for a multi-cage configuration we need to refactor to make one read-only heap per isolate group, in a multi-cage configuration. That will require another patch or two.

Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 7
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Fri, 31 May 2024 13:08:11 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Andy Wingo <wi...@igalia.com>
Comment-In-Reply-To: Samuel Groß <sa...@chromium.org>
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
Jun 18, 2024, 6:44:20 AM6/18/24
to AyeAye, Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, dmercadi...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo voted and added 2 comments

Votes added by Andy Wingo

Commit-Queue+1

2 comments

File src/snapshot/context-serializer.cc
Line 65, Patchset 5: }
Andy Wingo . resolved

PTAL especially at this block, which fixes the node-ci errors. Would have been nice to use EmbedderDataSlot::load_raw / EmbedderDataSlot::store_raw to avoid allocating a fresh EPT entry but gc_safe_store balked at restoring a value for reasons I didn't investigate.

Andy Wingo

The idea is good but the execution is bad :) Really I just want to null out external pointers, but with pointer compression this also nulls out heap objects (because of the way ToAlignedPointer works; https://source.chromium.org/chromium/chromium/src/+/main:v8/src/objects/embedder-data-slot-inl.h;l=98). Will fix.

File src/snapshot/read-only-deserializer.cc
Line 196, Patchset 1: DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared());
Andy Wingo . unresolved

This dcheck fails on multi-cage mode. Have to figure out a solution.

Samuel Groß

Ah hmm not sure how exactly this works, but I guess the problem is the this code currently assumes a shared RO space and a shared EPT RO space. If this isn't the case, we probably need one EPT RO space per heap or something like that?
Maybe worth checking if we even have any external pointers in the RO snapshot in that case though.

Andy Wingo

Still puzzling over this one; I don't have a good understanding yet about how the RO heap works. Each snapshot has its own RO spaces? And deserializing an isolate might put those RO spaces into some sort of shared part of the pointer cage? If there are any design docs on read-only spaces I would be happy to peruse them :)

Andy Wingo

OK. Before this patch, the RO heap snapshot in non-sandbox configurations would not have EPT entries, and now it will. For a monocage configuration this is fine; closer to the sandbox configuration. But for a multi-cage configuration we need to refactor to make one read-only heap per isolate group, in a multi-cage configuration. That will require another patch or two.

Andy Wingo
Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 9
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Tue, 18 Jun 2024 10:44:14 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
unsatisfied_requirement
open
diffy

Andy Wingo (Gerrit)

unread,
Jun 24, 2024, 4:18:38 AM6/24/24
to AyeAye, Deepak Mohan (Robo), V8 LUCI CQ, Samuel Groß, Michael Lippautz, Hannes Payer, dmercadi...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Deepak Mohan (Robo), Michael Lippautz and Samuel Groß

Andy Wingo voted and added 2 comments

Votes added by Andy Wingo

Commit-Queue+1

2 comments

Patchset-level comments
File-level comment, Patchset 10 (Latest):
Andy Wingo . resolved

PTAL. This patch enables ExternalPointerHandle for all external pointers when pointer-compression is enabled, regardless of the sandbox. Had to rebase on top of Dmitry's patch to enabled shared read-only space in multi-cage contexts, because of external pointers in the snapshot. We are buying a reduction of the configuration-space size by paying some concessions to the multi-cage configuration; I think it pays off but do let me know.

File src/snapshot/read-only-deserializer.cc
Line 196, Patchset 1: DCHECK(ReadOnlyHeap::IsReadOnlySpaceShared());
Andy Wingo . resolved

This dcheck fails on multi-cage mode. Have to figure out a solution.

Samuel Groß

Ah hmm not sure how exactly this works, but I guess the problem is the this code currently assumes a shared RO space and a shared EPT RO space. If this isn't the case, we probably need one EPT RO space per heap or something like that?
Maybe worth checking if we even have any external pointers in the RO snapshot in that case though.

Andy Wingo

Still puzzling over this one; I don't have a good understanding yet about how the RO heap works. Each snapshot has its own RO spaces? And deserializing an isolate might put those RO spaces into some sort of shared part of the pointer cage? If there are any design docs on read-only spaces I would be happy to peruse them :)

Andy Wingo

OK. Before this patch, the RO heap snapshot in non-sandbox configurations would not have EPT entries, and now it will. For a monocage configuration this is fine; closer to the sandbox configuration. But for a multi-cage configuration we need to refactor to make one read-only heap per isolate group, in a multi-cage configuration. That will require another patch or two.

Andy Wingo

Dmitry is working on this in https://chromium-review.googlesource.com/c/v8/v8/+/5632279.

Andy Wingo

Dmitry's patch passes a dry run, yay. Rebased on top and resolving this point.

Open in Gerrit

Related details

Attention is currently required from:
  • Deepak Mohan (Robo)
  • Michael Lippautz
  • Samuel Groß
Submit Requirements:
  • requirement is not satisfiedCode-Review
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: v8/v8
Gerrit-Branch: main
Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
Gerrit-Change-Number: 5512712
Gerrit-PatchSet: 10
Gerrit-Owner: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-CC: Hannes Payer <hpa...@chromium.org>
Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
Gerrit-Attention: Samuel Groß <sa...@chromium.org>
Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
Gerrit-Comment-Date: Mon, 24 Jun 2024 08:18:30 +0000
unsatisfied_requirement
open
diffy

Samuel Groß (Gerrit)

unread,
Jun 25, 2024, 3:23:46 AM6/25/24
to Andy Wingo, AyeAye, Deepak Mohan (Robo), V8 LUCI CQ, Michael Lippautz, Hannes Payer, dmercadi...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
Attention needed from Andy Wingo, Deepak Mohan (Robo) and Michael Lippautz

Samuel Groß voted and added 2 comments

Votes added by Samuel Groß

Code-Review+1

2 comments

Patchset-level comments
File-level comment, Patchset 11 (Latest):
Samuel Groß . resolved

Thanks! \o/ Overall looks good, just one comment

File src/maglev/arm64/maglev-assembler-arm64-inl.h
Line 514, Patchset 11 (Latest):// ???
Samuel Groß . unresolved

... :)

I think the naming here is probably just wrong, I guess this should be `LoadSandboxedPointerField`. At least then the code makes sense

Open in Gerrit

Related details

Attention is currently required from:
  • Andy Wingo
  • Deepak Mohan (Robo)
  • Michael Lippautz
    Submit Requirements:
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
    Gerrit-Change-Number: 5512712
    Gerrit-PatchSet: 11
    Gerrit-Owner: Andy Wingo <wi...@igalia.com>
    Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
    Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
    Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
    Gerrit-Attention: Andy Wingo <wi...@igalia.com>
    Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Comment-Date: Tue, 25 Jun 2024 07:23:39 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    open
    diffy

    Michael Lippautz (Gerrit)

    unread,
    Jun 27, 2024, 2:56:28 AM6/27/24
    to Andy Wingo, Samuel Groß, AyeAye, Deepak Mohan (Robo), V8 LUCI CQ, Hannes Payer, dmercadi...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Andy Wingo and Deepak Mohan (Robo)

    Michael Lippautz added 2 comments

    Patchset-level comments
    Michael Lippautz . resolved

    Looks good to me. Will stamp after the assembler issues have been resolved.

    File src/maglev/x64/maglev-assembler-x64-inl.h
    Line 374, Patchset 11 (Latest):// ???
    Michael Lippautz . unresolved

    Please resolve

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Andy Wingo
    • Deepak Mohan (Robo)
    Submit Requirements:
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
    Gerrit-Change-Number: 5512712
    Gerrit-PatchSet: 11
    Gerrit-Owner: Andy Wingo <wi...@igalia.com>
    Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
    Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
    Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
    Gerrit-Attention: Andy Wingo <wi...@igalia.com>
    Gerrit-Comment-Date: Thu, 27 Jun 2024 06:56:21 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    satisfied_requirement
    open
    diffy

    Andy Wingo (Gerrit)

    unread,
    Jul 1, 2024, 8:01:08 AM7/1/24
    to Samuel Groß, AyeAye, Deepak Mohan (Robo), V8 LUCI CQ, Michael Lippautz, Hannes Payer, dmercadi...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Deepak Mohan (Robo) and Michael Lippautz

    Andy Wingo added 1 comment

    Patchset-level comments
    Michael Lippautz . resolved

    Looks good to me. Will stamp after the assembler issues have been resolved.

    Andy Wingo

    Thanks, will fix. FYI, will retake this once Dmitry and I manage to land a fix to allow multicage configurations to have the read-only space, because of external pointers in the snapshot.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Deepak Mohan (Robo)
    • Michael Lippautz
    Submit Requirements:
    • requirement satisfiedCode-Review
    Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
    Gerrit-MessageType: comment
    Gerrit-Project: v8/v8
    Gerrit-Branch: main
    Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
    Gerrit-Change-Number: 5512712
    Gerrit-PatchSet: 11
    Gerrit-Owner: Andy Wingo <wi...@igalia.com>
    Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
    Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
    Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
    Gerrit-CC: Hannes Payer <hpa...@chromium.org>
    Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
    Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
    Gerrit-Comment-Date: Mon, 01 Jul 2024 12:01:02 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Michael Lippautz <mlip...@chromium.org>
    satisfied_requirement
    open
    diffy

    Samuel Groß (Gerrit)

    unread,
    Oct 17, 2024, 4:53:20 AM10/17/24
    to Andy Wingo, AyeAye, Deepak Mohan (Robo), V8 LUCI CQ, Michael Lippautz, Hannes Payer, dmercadi...@chromium.org, cbruni...@chromium.org, jgrube...@chromium.org, leszek...@chromium.org, mlippau...@chromium.org, v8-re...@googlegroups.com, verwaes...@chromium.org, victorgo...@chromium.org, was...@google.com
    Attention needed from Andy Wingo, Deepak Mohan (Robo) and Michael Lippautz

    Samuel Groß added 1 comment

    Patchset-level comments
    File-level comment, Patchset 13 (Latest):
    Samuel Groß . resolved

    Hey Andy, do you still want to land this CL? I just ran into this issue again yesterday (https://chromium-review.googlesource.com/c/v8/v8/+/5938952) and remembered that we wanted to fix that :)

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Andy Wingo
    • Deepak Mohan (Robo)
    • Michael Lippautz
      Submit Requirements:
      • requirement is not satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
      Gerrit-MessageType: comment
      Gerrit-Project: v8/v8
      Gerrit-Branch: main
      Gerrit-Change-Id: If33bc179dacd593bd290de0747f6002f138f119e
      Gerrit-Change-Number: 5512712
      Gerrit-PatchSet: 13
      Gerrit-Owner: Andy Wingo <wi...@igalia.com>
      Gerrit-Reviewer: Andy Wingo <wi...@igalia.com>
      Gerrit-Reviewer: Michael Lippautz <mlip...@chromium.org>
      Gerrit-Reviewer: Samuel Groß <sa...@chromium.org>
      Gerrit-CC: Deepak Mohan (Robo) <hop2...@gmail.com>
      Gerrit-CC: Hannes Payer <hpa...@chromium.org>
      Gerrit-Attention: Deepak Mohan (Robo) <hop2...@gmail.com>
      Gerrit-Attention: Andy Wingo <wi...@igalia.com>
      Gerrit-Attention: Michael Lippautz <mlip...@chromium.org>
      Gerrit-Comment-Date: Thu, 17 Oct 2024 08:53:14 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages