DevTools: step into `fetch` crashes tab |
||
Issue description
Repro:
Evaluate this in the console:
debug(window.fetch);
await fetch('https://api.github.com/search/repositories?q=user:developit');
When it's paused, click step into.
Renderer crashes.
You can also reproduce this when stepping into `fetch` method regularly debugging.
Stack trace:
[75668:775:0507/122444.716067:FATAL:v8_per_isolate_data.cc(52)] Check failed: !ScriptForbiddenScope::IsScriptForbidden().
0 libbase.dylib 0x00000001067726bc base::debug::StackTrace::StackTrace(unsigned long) + 28
1 libbase.dylib 0x0000000106794adf logging::LogMessage::~LogMessage() + 223
2 libblink_platform.dylib 0x000000011612b7c2 blink::BeforeCallEnteredCallback(v8::Isolate*) + 98
3 libv8.dylib 0x00000001051454a5 v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) + 341
4 libv8.dylib 0x00000001059482c9 v8_inspector::V8FunctionCall::callWithoutExceptionHandling() + 377
5 libv8.dylib 0x0000000105948123 v8_inspector::V8FunctionCall::call(bool&, bool) + 67
6 libv8.dylib 0x0000000105918cae v8_inspector::InjectedScript::wrapValue(v8::Local<v8::Value>, v8_inspector::String16 const&, bool, bool, v8::Local<v8::Value>*) const + 222
7 libv8.dylib 0x0000000105918a07 v8_inspector::InjectedScript::wrapObject(v8::Local<v8::Value>, v8_inspector::String16 const&, bool, bool, std::__1::unique_ptr<v8_inspector::protocol::Runtime::RemoteObject, std::__1::default_delete<v8_inspector::protocol::Runtime::RemoteObject> >*) const + 119
8 libv8.dylib 0x0000000105935ea2 v8_inspector::V8DebuggerAgentImpl::currentCallFrames(std::__1::unique_ptr<v8_inspector::protocol::Array<v8_inspector::protocol::Debugger::CallFrame>, std::__1::default_delete<v8_inspector::protocol::Array<v8_inspector::protocol::Debugger::CallFrame> > >*) + 850
9 libv8.dylib 0x0000000105931595 v8_inspector::V8DebuggerAgentImpl::didPause(int, v8::Local<v8::Value>, std::__1::vector<int, std::__1::allocator<int> > const&, bool, bool, bool, bool) + 1845
10 libv8.dylib 0x0000000105944f4e _ZNSt3__110__function6__funcIZN12v8_inspector10V8Debugger18handleProgramBreakEN2v85LocalINS4_7ContextEEENS5_INS4_5ValueEEERKNS_6vectorIiNS_9allocatorIiEEEEbbE3$_1NSB_ISG_EEFvPNS2_22V8InspectorSessionImplEEEclEOSJ_ + 110
11 libv8.dylib 0x000000010595003e v8_inspector::V8InspectorImpl::forEachSession(int, std::__1::function<void (v8_inspector::V8InspectorSessionImpl*)>) + 1198
12 libv8.dylib 0x00000001059401b0 v8_inspector::V8Debugger::handleProgramBreak(v8::Local<v8::Context>, v8::Local<v8::Value>, std::__1::vector<int, std::__1::allocator<int> > const&, bool, bool) + 816
13 libv8.dylib 0x00000001054536b0 v8::internal::Debug::OnDebugBreak(v8::internal::Handle<v8::internal::FixedArray>) + 784
14 libv8.dylib 0x00000001054597de v8::internal::Debug::HandleDebugBreak(v8::internal::IgnoreBreakMode) + 814
15 libv8.dylib 0x0000000105158659 v8::debug::BreakRightNow(v8::Isolate*) + 41
16 libv8.dylib 0x0000000105940dfe v8_inspector::V8Debugger::asyncTaskCandidateForStepping(void*, bool) + 254
17 libv8.dylib 0x0000000105943dc4 v8_inspector::V8Debugger::asyncTaskScheduled(v8_inspector::StringView const&, void*, bool) + 84
,
May 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/af27f53e066caf431f7999c9069aca1c4f374f62 commit af27f53e066caf431f7999c9069aca1c4f374f62 Author: Alexey Kozyatinskiy <kozyatinskiy@chromium.org> Date: Tue May 08 03:23:39 2018 [DevTools] fixed crash on stepIntoAsync fetch Network should not be intsrumented with JavaScript AsyncTask instrumentation since it does not trigger JS execution explicitly. R=pfeldman@chromium.org Bug: chromium:840502 Change-Id: I07a939b7f583b0330fa40afb0326a40e58918547 Reviewed-on: https://chromium-review.googlesource.com/1049107 Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Commit-Queue: Pavel Feldman <pfeldman@chromium.org> Reviewed-by: Pavel Feldman <pfeldman@chromium.org> Cr-Commit-Position: refs/heads/master@{#556673} [add] https://crrev.com/af27f53e066caf431f7999c9069aca1c4f374f62/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-console/step-into-async-fetch-expected.txt [add] https://crrev.com/af27f53e066caf431f7999c9069aca1c4f374f62/third_party/WebKit/LayoutTests/http/tests/devtools/sources/debugger-console/step-into-async-fetch.js [modify] https://crrev.com/af27f53e066caf431f7999c9069aca1c4f374f62/third_party/blink/renderer/core/inspector/inspector_trace_events.cc [modify] https://crrev.com/af27f53e066caf431f7999c9069aca1c4f374f62/third_party/blink/renderer/devtools/front_end/sources_test_runner/DebuggerTestRunner.js
,
May 8 2018
,
May 8 2018
hero. |
||
►
Sign in to add a comment |
||
Comment 1 by kozy@chromium.org
, May 7 2018Owner: kozy@chromium.org