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

Issue 1633323002: Fix possible crash in SafeStackFrameIterator (Closed)

Created:
4 years, 11 months ago by alph
Modified:
4 years, 10 months ago
CC:
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

Fix possible crash in SafeStackFrameIterator Safe stack iterator is supposed to work even when the stack is in an inconsistent state. E.g. during cpu profile sample recording. This patch eliminates a crash if the frame marker is found to be bogus. BUG=v8:4705 LOG=N Committed: https://crrev.com/d11b44ec69c718a9b3b11872e7638c5675abd02c Cr-Commit-Position: refs/heads/master@{#33558}

Patch Set 1 #

Total comments: 5
Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -5 lines) Patch
M src/frames.cc View 3 chunks +9 lines, -5 lines 5 comments Download

Messages

Total messages: 19 (5 generated)
alph
ptal
4 years, 11 months ago (2016-01-26 23:50:11 UTC) #2
yurys
lgtm https://codereview.chromium.org/1633323002/diff/1/src/frames.cc File src/frames.cc (right): https://codereview.chromium.org/1633323002/diff/1/src/frames.cc#newcode275 src/frames.cc:275: if (SingletonFor(type) == NULL) { Maybe if (type ...
4 years, 11 months ago (2016-01-26 23:55:57 UTC) #3
alph
https://codereview.chromium.org/1633323002/diff/1/src/frames.cc File src/frames.cc (right): https://codereview.chromium.org/1633323002/diff/1/src/frames.cc#newcode275 src/frames.cc:275: if (SingletonFor(type) == NULL) { On 2016/01/26 23:55:57, yurys ...
4 years, 11 months ago (2016-01-27 00:19:36 UTC) #4
yurys
https://codereview.chromium.org/1633323002/diff/1/src/frames.cc File src/frames.cc (right): https://codereview.chromium.org/1633323002/diff/1/src/frames.cc#newcode275 src/frames.cc:275: if (SingletonFor(type) == NULL) { On 2016/01/27 00:19:36, alph ...
4 years, 11 months ago (2016-01-27 00:22:14 UTC) #5
jochen (gone - plz use gerrit)
lgtm
4 years, 11 months ago (2016-01-27 07:34:05 UTC) #6
titzer
https://codereview.chromium.org/1633323002/diff/1/src/frames.cc File src/frames.cc (right): https://codereview.chromium.org/1633323002/diff/1/src/frames.cc#newcode237 src/frames.cc:237: DCHECK(frame_); Did you run this through the trybots yet? ...
4 years, 11 months ago (2016-01-27 08:29:00 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1633323002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1633323002/1
4 years, 11 months ago (2016-01-27 17:13:32 UTC) #9
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 11 months ago (2016-01-27 17:34:10 UTC) #11
alph
https://codereview.chromium.org/1633323002/diff/1/src/frames.cc File src/frames.cc (right): https://codereview.chromium.org/1633323002/diff/1/src/frames.cc#newcode237 src/frames.cc:237: DCHECK(frame_); On 2016/01/27 08:29:00, titzer wrote: > Did you ...
4 years, 11 months ago (2016-01-27 17:37:14 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1633323002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1633323002/1
4 years, 11 months ago (2016-01-27 17:37:28 UTC) #14
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 11 months ago (2016-01-27 17:40:43 UTC) #15
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/d11b44ec69c718a9b3b11872e7638c5675abd02c Cr-Commit-Position: refs/heads/master@{#33558}
4 years, 11 months ago (2016-01-27 17:41:10 UTC) #17
louderspace
On 2016/01/27 17:41:10, commit-bot: I haz the power wrote: > Patchset 1 (id:??) landed as ...
4 years, 10 months ago (2016-01-27 19:59:06 UTC) #18
alph
4 years, 10 months ago (2016-01-27 20:19:53 UTC) #19
Message was sent while issue was closed.
On 2016/01/27 19:59:06, louderspace wrote:
> On 2016/01/27 17:41:10, commit-bot: I haz the power wrote:
> > Patchset 1 (id:??) landed as
> > https://crrev.com/d11b44ec69c718a9b3b11872e7638c5675abd02c
> > Cr-Commit-Position: refs/heads/master@{#33558}
> 
> This helps, but after 2 seconds, it crashes here:
> 
> >	v8.dll!v8::internal::StandardFrame::IsArgumentsAdaptorFrame(unsigned char *
> fp) Line 142	C++
>  	v8.dll!v8::internal::StackFrame::ComputeType(const
> v8::internal::StackFrameIteratorBase * iterator,
v8::internal::StackFrame::State
> * state) Line 419	C++
> 
>
	v8.dll!v8::internal::StackFrame::GetCallerState(v8::internal::StackFrame::State
> * state) Line 452	C++
> 
>
	v8.dll!v8::internal::SafeStackFrameIterator::IsValidCaller(v8::internal::StackFrame
> * frame) Line 319	C++
>  	v8.dll!v8::internal::SafeStackFrameIterator::AdvanceOneFrame() Line 271	C++
>  	v8.dll!v8::internal::SafeStackFrameIterator::Advance() Line 339	C++
>  	v8.dll!v8::internal::TickSample::GetStackSample(v8::internal::Isolate *
> isolate, const v8::RegisterState & regs,
> v8::internal::TickSample::RecordCEntryFrame record_c_entry_frame, void * *
> frames, unsigned __int64 frames_limit, v8::SampleInfo * sample_info) Line
> 644	C++
>  	v8.dll!v8::internal::TickSample::Init(v8::internal::Isolate * isolate, const
> v8::RegisterState & regs, v8::internal::TickSample::RecordCEntryFrame
> record_c_entry_frame) Line 619	C++
>  	v8.dll!v8::internal::Sampler::SampleStack(const v8::RegisterState & state)
> Line 718	C++
>  	v8.dll!v8::internal::Sampler::DoSample() Line 772	C++
>  	v8.dll!v8::internal::ProfilerEventsProcessor::Run() Line 152	C++
>  	v8.dll!v8::base::Thread::NotifyStartedAndRun() Line 459	C++
>  	v8.dll!v8::base::ThreadEntry(void * arg) Line 1304	C++
>  	[External Code]

Yes, there are more places to fix. Could you please post the stack trace to the
bug, not here. Thank you.

Powered by Google App Engine
This is Rietveld 408576698