Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(189)

Issue 1406133003: [heap] fix crash during the scavenge of ArrayBuffer (Closed)

Created:
5 years, 2 months ago by fedor.indutny
Modified:
5 years, 1 month ago
CC:
Michael Starzinger, v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[heap] fix crash during the scavenge of ArrayBuffer Scavenger should not attempt to visit ArrayBuffer's storage, it is a user-supplied pointer that may have any alignment. Visiting it, may result in a crash. BUG= R=jochen Committed: https://crrev.com/8d6a228819d2a45a20e1dd5982ad53bf23145667 Cr-Commit-Position: refs/heads/master@{#31611}

Patch Set 1 #

Patch Set 2 : store-buffer: move IteratePointersToFromSpace #

Total comments: 4

Patch Set 3 : [scaveneger] JSArrayBuffer is DATA_OBJECT #

Total comments: 2

Patch Set 4 : fixes #

Patch Set 5 : fixes #

Patch Set 6 : let's go back to #2wq #

Patch Set 7 : kind of remove test... #

Patch Set 8 : kind of add test back #

Patch Set 9 : finally commit test #

Patch Set 10 : fix ref #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+97 lines, -36 lines) Patch
M src/heap/heap.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 2 comments Download
M src/heap/heap.cc View 1 2 3 4 5 2 chunks +68 lines, -36 lines 0 comments Download
M test/cctest/test-api.cc View 1 2 3 5 6 7 8 1 chunk +26 lines, -0 lines 0 comments Download

Messages

Total messages: 42 (11 generated)
fedor.indutny
Hello! This is one more fix for ArrayBuffer's with unaligned pointer in contents. We haven't ...
5 years, 2 months ago (2015-10-17 15:52:30 UTC) #1
fedor.indutny
Michael, Added you to CC, just in case. Thanks!
5 years, 2 months ago (2015-10-19 22:58:32 UTC) #3
jochen (gone - plz use gerrit)
+hpayer where exactly does this crash? if this is indeed an issue, we should probably ...
5 years, 2 months ago (2015-10-20 08:28:00 UTC) #5
fedor.indutny
Jochen, Sorry, I forgot to include the stack trace: frame #0: 0x000000010033c675 node`v8::internal::Heap::IterateAndMarkPointersToFromSpace(bool, unsigned char*, ...
5 years, 2 months ago (2015-10-20 15:00:36 UTC) #6
fedor.indutny
On 2015/10/20 15:00:36, fedor.indutny wrote: > Jochen, > > Sorry, I forgot to include the ...
5 years, 2 months ago (2015-10-20 16:07:43 UTC) #7
Hannes Payer (out of office)
What happens is that the ArrayBuffer gets added to the promotion queue, which it should ...
5 years, 2 months ago (2015-10-21 13:41:16 UTC) #8
fedor.indutny
On 2015/10/21 13:41:16, Hannes Payer wrote: > What happens is that the ArrayBuffer gets added ...
5 years, 2 months ago (2015-10-21 14:43:55 UTC) #9
Hannes Payer (out of office)
Cool thanks! Lgtm with comment nits. https://codereview.chromium.org/1406133003/diff/40001/test/cctest/test-api.cc File test/cctest/test-api.cc (right): https://codereview.chromium.org/1406133003/diff/40001/test/cctest/test-api.cc#newcode14211 test/cctest/test-api.cc:14211: // Should not ...
5 years, 2 months ago (2015-10-21 14:54:43 UTC) #10
fedor.indutny
On 2015/10/21 14:54:43, Hannes Payer wrote: > Cool thanks! Lgtm with comment nits. > > ...
5 years, 2 months ago (2015-10-21 15:00:36 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1406133003/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1406133003/60001
5 years, 2 months ago (2015-10-21 15:00:50 UTC) #14
fedor.indutny
On 2015/10/21 15:00:50, commit-bot: I haz the power wrote: > CQ is trying da patch. ...
5 years, 2 months ago (2015-10-21 15:28:06 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_dbg on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_dbg/builds/9845)
5 years, 2 months ago (2015-10-21 15:45:37 UTC) #17
fedor.indutny
On 2015/10/21 15:45:37, commit-bot: I haz the power wrote: > Try jobs failed on following ...
5 years, 2 months ago (2015-10-21 15:58:54 UTC) #18
Hannes Payer (out of office)
Arg, right. I was too fast, it is derived from JSObject. So you would have ...
5 years, 2 months ago (2015-10-22 08:48:20 UTC) #19
indutny
On 2015/10/22 08:48:20, Hannes Payer wrote: > Arg, right. I was too fast, it is ...
5 years, 2 months ago (2015-10-22 15:13:40 UTC) #20
Hannes Payer (out of office)
You are absolutely right, that would be fatal. The issue is the promotion queue does ...
5 years, 2 months ago (2015-10-23 11:33:14 UTC) #21
Hannes Payer (out of office)
https://codereview.chromium.org/1406133003/diff/20001/src/heap/store-buffer.h File src/heap/store-buffer.h (right): https://codereview.chromium.org/1406133003/diff/20001/src/heap/store-buffer.h#newcode66 src/heap/store-buffer.h:66: void IteratePointersToFromSpace(HeapObject* target, int size, These methods should live ...
5 years, 2 months ago (2015-10-23 11:41:19 UTC) #22
indutny
Done! Thank you! https://codereview.chromium.org/1406133003/diff/20001/src/heap/store-buffer.h File src/heap/store-buffer.h (right): https://codereview.chromium.org/1406133003/diff/20001/src/heap/store-buffer.h#newcode66 src/heap/store-buffer.h:66: void IteratePointersToFromSpace(HeapObject* target, int size, On ...
5 years, 2 months ago (2015-10-23 15:17:09 UTC) #24
indutny
Jochen, Kindly reminding you about this. Thanks!
5 years, 1 month ago (2015-10-26 21:38:11 UTC) #25
Hannes Payer (out of office)
lgtm
5 years, 1 month ago (2015-10-27 13:05:32 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1406133003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1406133003/160001
5 years, 1 month ago (2015-10-27 15:59:06 UTC) #28
commit-bot: I haz the power
CLs for remote refs other than refs/pending/heads/master must contain NOTRY=true and NOPRESUBMIT=true in order for ...
5 years, 1 month ago (2015-10-27 15:59:07 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1406133003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1406133003/180001
5 years, 1 month ago (2015-10-27 16:06:57 UTC) #33
commit-bot: I haz the power
Committed patchset #10 (id:180001)
5 years, 1 month ago (2015-10-27 16:34:29 UTC) #34
commit-bot: I haz the power
Patchset 10 (id:??) landed as https://crrev.com/8d6a228819d2a45a20e1dd5982ad53bf23145667 Cr-Commit-Position: refs/heads/master@{#31611}
5 years, 1 month ago (2015-10-27 16:35:08 UTC) #35
fedor.indutny
On 2015/10/27 16:35:08, commit-bot: I haz the power wrote: > Patchset 10 (id:??) landed as ...
5 years, 1 month ago (2015-10-27 16:43:19 UTC) #36
fedor.indutny
Hannes, Do you think it may be useful to get it backported to the current ...
5 years, 1 month ago (2015-10-27 16:54:05 UTC) #37
Michael Starzinger
https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h File src/heap/heap.h (right): https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h#newcode1254 src/heap/heap.h:1254: void IteratePointersToFromSpace(HeapObject* target, int size, Really? Between the comment ...
5 years, 1 month ago (2015-10-27 18:20:43 UTC) #39
fedor.indutny
https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h File src/heap/heap.h (right): https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h#newcode1254 src/heap/heap.h:1254: void IteratePointersToFromSpace(HeapObject* target, int size, On 2015/10/27 18:20:43, Michael ...
5 years, 1 month ago (2015-10-27 18:22:42 UTC) #40
Hannes Payer (out of office)
On 2015/10/27 18:22:42, fedor.indutny wrote: > https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h > File src/heap/heap.h (right): > > https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h#newcode1254 > ...
5 years, 1 month ago (2015-10-28 08:37:59 UTC) #41
fedor.indutny
5 years, 1 month ago (2015-10-28 08:59:49 UTC) #42
Message was sent while issue was closed.
On 2015/10/28 08:37:59, Hannes Payer wrote:
> On 2015/10/27 18:22:42, fedor.indutny wrote:
> > https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h
> > File src/heap/heap.h (right):
> > 
> >
>
https://codereview.chromium.org/1406133003/diff/180001/src/heap/heap.h#newcod...
> > src/heap/heap.h:1254: void IteratePointersToFromSpace(HeapObject* target,
int
> > size,
> > On 2015/10/27 18:20:43, Michael Starzinger wrote:
> > > Really? Between the comment that talks about "object", "start" and "end"
and
> > the
> > > function with the signature containing arguments called "object", "start"
> and
> > > "end" seemed like the best place to put this?
> > 
> > Gosh, this was an awful place to put the function indeed, but I think it
> should
> > be around this place anyway.
> 
> Yes, we are going to merge it back to beta and stable. I will take care of
that.

Thanks!

Powered by Google App Engine
This is Rietveld 408576698