Chrome tools message: {"id":16,"method":"Inspector.enable"}
Channel response: {"error":{"code":-32601,"message":"'Inspector.enable' wasn't found"},"id":16}
Chrome tools message: {"id":1,"method":"Network.enable","params":{"maxPostDataSize":65536}}
Channel response: {"error":{"code":-32601,"message":"'Network.enable' wasn't found"},"id":1}
Chrome tools message: {"id":2,"method":"Page.enable"}
Channel response: {"error":{"code":-32601,"message":"'Page.enable' wasn't found"},"id":2}
Chrome tools message: {"id":3,"method":"Page.getResourceTree"}
Chrome tools message: {"id":4,"method":"Profiler.enable"}
Channel response: {"error":{"code":-32601,"message":"'Page.getResourceTree' wasn't found"},"id":3}
Channel response: {"id":4,"result":{}}
Chrome tools message: {"id":5,"method":"Runtime.enable"}
Channel response: {"method":"Runtime.executionContextCreated","params":{"context":{"id":1,"origin":"","name":"PopEngineContextName"}}}
Channel response: {"id":5,"result":{}}
Chrome tools message: {"id":6,"method":"Debugger.enable"}
Channel response: {"method":"Debugger.scriptParsed","params":{"scriptId":"9","url":"","startLine":0,"startColumn":0,"endLine":1,"endColumn":0,"executionContextId":1,"hash":"2a70962568dbbde00fb323decd63c2ca137b304c","isLiveEdit":false,"sourceMapURL":"","hasSourceURL":false,"isModule":false,"length":17}}
Channel response: {"id":6,"result":{"debuggerId":"(6B1A58050CBFAE70E5B41C5556E5520D)"}}
Chrome tools message: {"id":7,"method":"Debugger.setPauseOnExceptions","params":{"state":"uncaught"}}
Channel response: {"id":7,"result":{}}
Chrome tools message: {"id":8,"method":"Debugger.setAsyncCallStackDepth","params":{"maxDepth":32}}
Channel response: {"id":8,"result":{}}
Chrome tools message: {"id":9,"method":"DOM.enable"}
Channel response: {"error":{"code":-32601,"message":"'DOM.enable' wasn't found"},"id":9}
Chrome tools message: {"id":10,"method":"CSS.enable"}
Channel response: {"error":{"code":-32601,"message":"'CSS.enable' wasn't found"},"id":10}
Chrome tools message: {"id":11,"method":"Overlay.enable"}
Channel response: {"error":{"code":-32601,"message":"'Overlay.enable' wasn't found"},"id":11}
Chrome tools message: {"id":12,"method":"Overlay.setShowViewportSizeOnResize","params":{"show":true}}
Channel response: {"error":{"code":-32601,"message":"'Overlay.setShowViewportSizeOnResize' wasn't found"},"id":12}
Chrome tools message: {"id":13,"method":"Log.enable"}
Channel response: {"error":{"code":-32601,"message":"'Log.enable' wasn't found"},"id":13}
Chrome tools message: {"id":14,"method":"Log.startViolationsReport","params":{"config":[{"name":"longTask","threshold":200},{"name":"longLayout","threshold":30},{"name":"blockedEvent","threshold":100},{"name":"blockedParser","threshold":-1},{"name":"handler","threshold":150},{"name":"recurringHandler","threshold":50},{"name":"discouragedAPIUse","threshold":-1}]}}
Channel response: {"error":{"code":-32601,"message":"'Log.startViolationsReport' wasn't found"},"id":14}
Chrome tools message: {"id":15,"method":"ServiceWorker.enable"}
Channel response: {"error":{"code":-32601,"message":"'ServiceWorker.enable' wasn't found"},"id":15}
Chrome tools message: {"id":16,"method":"Inspector.enable"}
Channel response: {"error":{"code":-32601,"message":"'Inspector.enable' wasn't found"},"id":16}
Chrome tools message: {"id":17,"method":"Target.setAutoAttach","params":{"autoAttach":true,"waitForDebuggerOnStart":true}}
Channel response: {"error":{"code":-32601,"message":"'Target.setAutoAttach' wasn't found"},"id":17}
Chrome tools message: {"id":18,"method":"Target.setDiscoverTargets","params":{"discover":true}}
Channel response: {"error":{"code":-32601,"message":"'Target.setDiscoverTargets' wasn't found"},"id":18}
Chrome tools message: {"id":19,"method":"Target.setRemoteLocations","params":{"locations":[{"host":"localhost","port":9229}]}}
Channel response: {"error":{"code":-32601,"message":"'Target.setRemoteLocations' wasn't found"},"id":19}
Chrome tools message: {"id":20,"method":"Debugger.setBlackboxPatterns","params":{"patterns":["/main\\.js\\b"]}}
Channel response: {"id":20,"result":{}}
Chrome tools message: {"id":21,"method":"Page.getNavigationHistory","params":{}}
Channel response: {"error":{"code":-32601,"message":"'Page.getNavigationHistory' wasn't found"},"id":21}
Message={"id":25,"method":"Runtime.evaluate","params":{"expression":"h","includeCommandLineAPI":true,"contextId":1,"generatePreview":true,"userGesture":true,"awaitPromise":false,"throwOnSideEffect":true,"timeout":500}}
void DefaultWorkerThreadsTaskRunner::PostDelayedTask(std::unique_ptr<Task> task,
double delay_in_seconds) {
base::LockGuard<base::Mutex> guard(&lock_);
if (terminated_) return;
if (delay_in_seconds == 0) {
queue_.Append(std::move(task));
return;
}
// There is no use case for this function with non zero delay_in_second on a
// worker thread at the moment, but it is still part of the interface.
UNIMPLEMENTED();
}
Stacktrace in case it's handy
#0 0x00000001007d5ff2 in v8::base::OS::Abort() at /Volumes/Code/v8build/v8/out.gn/x64.release/../../src/base/platform/platform-posix.cc:397
#1 0x00000001005f1a29 in v8::platform::DefaultWorkerThreadsTaskRunner::PostDelayedTask(std::__1::unique_ptr<v8::Task, std::__1::default_delete<v8::Task> >, double) at /Volumes/Code/v8build/v8/out.gn/x64.release/../../src/libplatform/default-worker-threads-task-runner.cc:49
#2 0x00000001005f0ce8 in v8::platform::DefaultPlatform::CallDelayedOnWorkerThread(std::__1::unique_ptr<v8::Task, std::__1::default_delete<v8::Task> >, double) at /Volumes/Code/v8build/v8/out.gn/x64.release/../../src/libplatform/default-platform.cc:204
#3 0x00000001007b3c10 in v8_inspector::V8InspectorImpl::EvaluateScope::setTimeout(double) at /Volumes/Code/v8build/v8/out.gn/x64.release/../../src/inspector/v8-inspector-impl.cc:423
#4 0x00000001007be1b4 in v8_inspector::V8RuntimeAgentImpl::evaluate(v8_inspector::String16 const&, v8_inspector::protocol::Maybe<v8_inspector::String16>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<int>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<bool>, v8_inspector::protocol::Maybe<double>, std::__1::unique_ptr<v8_inspector::protocol::Runtime::Backend::EvaluateCallback, std::__1::default_delete<v8_inspector::protocol::Runtime::Backend::EvaluateCallback> >) at /Volumes/Code/v8build/v8/out.gn/x64.release/../../src/inspector/v8-runtime-agent-impl.cc:266
#5 0x000000010076b221 in v8_inspector::protocol::Runtime::DispatcherImpl::evaluate(int, std::__1::unique_ptr<v8_inspector::protocol::DictionaryValue, std::__1::default_delete<v8_inspector::protocol::DictionaryValue> >, v8_inspector::protocol::ErrorSupport*) at /Volumes/Code/v8build/v8/out.gn/x64.release/gen/src/inspector/protocol/Runtime.cpp:1717
#6 0x00000001007691c4 in v8_inspector::protocol::Runtime::DispatcherImpl::dispatch(int, v8_inspector::String16 const&, std::__1::unique_ptr<v8_inspector::protocol::DictionaryValue, std::__1::default_delete<v8_inspector::protocol::DictionaryValue> >) at /Volumes/Code/v8build/v8/out.gn/x64.release/gen/src/inspector/protocol/Runtime.cpp:1372
#7 0x000000010073d7c2 in v8_inspector::protocol::UberDispatcher::dispatch(std::__1::unique_ptr<v8_inspector::protocol::Value, std::__1::default_delete<v8_inspector::protocol::Value> >, int*, v8_inspector::String16*) at /Volumes/Code/v8build/v8/out.gn/x64.release/gen/src/inspector/protocol/Protocol.cpp:822
#8 0x00000001007b6ecd in v8_inspector::V8InspectorSessionImpl::dispatchProtocolMessage(v8_inspector::StringView const&) at /Volumes/Code/v8build/v8/out.gn/x64.release/../../src/inspector/v8-inspector-session-impl.cc:316
void DefaultWorkerThreadsTaskRunner::PostDelayedTask(std::unique_ptr<Task> task,
double delay_in_seconds) {
base::LockGuard<base::Mutex> guard(&lock_);
if (terminated_) return;
if (delay_in_seconds == 0) {
queue_.Append(std::move(task));
return;
}
// There is no use case for this function with non zero delay_in_second on a
// worker thread at the moment, but it is still part of the interface.
UNIMPLEMENTED();
}
from
DefaultPlatform::CallDelayedOnWorkerThread(
protocol::Response V8InspectorImpl::EvaluateScope::setTimeout(double timeout) {
if (m_isolate->IsExecutionTerminating()) {
return protocol::Response::Error("Execution was terminated");
}
m_cancelToken.reset(new CancelToken());
v8::debug::GetCurrentPlatform()->CallDelayedOnWorkerThread(
v8::base::make_unique<TerminateTask>(m_isolate, m_cancelToken), timeout);
return protocol::Response::OK();
}
4544e18b0c3845a9fca422cf0903df4803343cf1)
void TV8Container::Yield(size_t SleepMilliseconds)
{
// gr: temporary unlock, but need to exit&enter too
{
mIsolate->Exit();
v8::Unlocker unlocker(mIsolate);
// isolate unlock for a moment, let another thread jump in and run stuff
auto ms = std::chrono::milliseconds(SleepMilliseconds);
std::this_thread::sleep_for( ms );
}
// re-enter after unlocker has gone out of scope
mIsolate->Enter();
}