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

Issue 1663193003: Fix crash in SafeStackFrameIterator related to native frames entry/exit (Closed)

Created:
4 years, 10 months ago by alph
Modified:
4 years, 8 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 crash in SafeStackFrameIterator related to native frames entry/exit There might be several ExternalCallbackScope's created during the native callback. Remove the assert that is not aligned with that. Moreover this iterator must work for any kind of stacks including corrupted ones. BUG=v8:4705 LOG=N Committed: https://crrev.com/271f68ba026d252753ca9b2c947f4807b473cd08 Cr-Commit-Position: refs/heads/master@{#33751}

Patch Set 1 #

Patch Set 2 : Mark the test as failing under --ignition #

Unified diffs Side-by-side diffs Delta from patch set Stats (+88 lines, -26 lines) Patch
M src/frames.cc View 2 chunks +17 lines, -18 lines 0 comments Download
M test/cctest/cctest.status View 1 1 chunk +3 lines, -4 lines 0 comments Download
M test/cctest/test-cpu-profiler.cc View 4 chunks +68 lines, -4 lines 0 comments Download

Messages

Total messages: 23 (10 generated)
alph
ptal
4 years, 10 months ago (2016-02-03 22:25:20 UTC) #2
Benedikt Meurer
Thanks, I ran into this issue with C++ builtins recently, but I wasn't sure what ...
4 years, 10 months ago (2016-02-04 04:55:42 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1663193003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1663193003/1
4 years, 10 months ago (2016-02-04 04:55:55 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_arm64_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel/builds/14833)
4 years, 10 months ago (2016-02-04 05:13:02 UTC) #8
titzer
lgtm
4 years, 10 months ago (2016-02-04 09:24:27 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1663193003/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1663193003/1
4 years, 10 months ago (2016-02-04 18:55:07 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_nodcheck_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel/builds/11810)
4 years, 10 months ago (2016-02-04 19:13:14 UTC) #13
alph
Looks like --ignition flags breaks most of cpu profiler tests. :-( Unfortunately they happen to ...
4 years, 10 months ago (2016-02-04 19:21:29 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1663193003/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1663193003/20001
4 years, 10 months ago (2016-02-04 19:40:03 UTC) #17
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 10 months ago (2016-02-04 20:00:33 UTC) #19
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/271f68ba026d252753ca9b2c947f4807b473cd08 Cr-Commit-Position: refs/heads/master@{#33751}
4 years, 10 months ago (2016-02-04 20:00:57 UTC) #21
louderspace
I was able to integrate the latest v8 and verify the fix on the mac. ...
4 years, 9 months ago (2016-03-25 20:31:09 UTC) #22
titzer
4 years, 8 months ago (2016-03-29 08:37:20 UTC) #23
Message was sent while issue was closed.
On 2016/03/25 20:31:09, louderspace wrote:
> I was able to integrate the latest v8 and verify the fix on the mac.  But, I'm
> getting a crash on windows :(
> 
> >	v8.dll!v8::internal::ExitFrame::ComputeStackPointer(unsigned char * fp) Line
> 614	C++
>  	v8.dll!v8::internal::ExitFrame::GetStateForFramePointer(unsigned char * fp,
> v8::internal::StackFrame::State * state) Line 606	C++
> 
>
	v8.dll!v8::internal::EntryFrame::GetCallerState(v8::internal::StackFrame::State
> * state) Line 554	C++
> 
>
	v8.dll!v8::internal::EntryFrame::ComputeCallerState(v8::internal::StackFrame::State
> * state) Line 541	C++
> 
>
	v8.dll!v8::internal::SafeStackFrameIterator::IsValidCaller(v8::internal::StackFrame
> * frame) Line 304	C++
>  	v8.dll!v8::internal::SafeStackFrameIterator::AdvanceOneFrame() Line 256	C++
>  	v8.dll!v8::internal::SafeStackFrameIterator::Advance() Line 321	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
> 766	C++
>  	v8.dll!v8::internal::TickSample::Init(v8::internal::Isolate * isolate, const
> v8::RegisterState & regs, v8::internal::TickSample::RecordCEntryFrame
> record_c_entry_frame, bool update_stats) Line 724	C++
>  	v8.dll!v8::internal::Sampler::SampleStack(const v8::RegisterState & state)
> Line 838	C++
>  	v8.dll!v8::internal::Sampler::DoSample() Line 891	C++
> 
> As for this function:
> 
> Address ExitFrame::ComputeStackPointer(Address fp) {
>   return Memory::Address_at(fp + ExitFrameConstants::kSPOffset);
> }
> 
>  0xC0000005: Access violation reading location 0x00000016CBCFFFF0.
> 
> fp = 0x00000016cbd00000
> 
> Should I create a new bug, or should this be re-opened?  Any thoughts on why
> windows would be have differently?
> 
> I'm using 5.1.215.  Thanks.  -Jim

Please create a new bug and reference this issue. Thanks!

Powered by Google App Engine
This is Rietveld 408576698