New issue
Advanced search Search tips

Issue 902249 link

Starred by 1 user

Issue metadata

Status: Unconfirmed
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Compat



Sign in to add a comment

Crash when resume ScriptedIdleTaskController instance

Reported by manjian2...@gmail.com, Nov 6

Issue description

Example URL:

Steps to reproduce the problem:
No idea, monkey test reports that.

What is the expected behavior?

What went wrong?
according to the crash backtrace
00 pc 00f0b272 blink::V8ScriptRunner::CallFunction(v8::Local<v8::Function>, blink::ExecutionContext*, v8::Local<v8::Value>, int, v8::Local<v8::Value>*, v8::Isolate*) LINE: v8_script_runner.cc:412
    01 pc 00f32fa5 blink::V8IdleRequestCallback::Invoke(blink::ScriptWrappable*, blink::IdleDeadline*) LINE: v8_idle_request_callback.cc:85
    02 pc 00f3305f blink::V8IdleRequestCallback::InvokeAndReportException(blink::ScriptWrappable*, blink::IdleDeadline*) LINE: v8_idle_request_callback.cc:107
    03 pc 0119ea71 blink::ScriptedIdleTaskController::RunCallback(int, base::TimeTicks, blink::IdleDeadline::CallbackType) LINE: scripted_idle_task_controller.cc:232
    04 pc 0119eb7f blink::ScriptedIdleTaskController::Unpause() LINE: scripted_idle_task_controller.cc:256
    05 pc 01165ce1 blink::ContextLifecycleNotifier::NotifyResumingPausableObjects()::$_0::operator()(blink::ContextLifecycleObserver*) const LINE: context_lifecycle_notifier.cc:45
      (inlined by) void blink::LifecycleNotifier<blink::ExecutionContext, blink::ContextLifecycleObserver>::ForEachObserver<blink::ContextLifecycleNotifier::NotifyResumingPausableObjects()::$_0>(blink::ContextLifecycleNotifier::NotifyResumingPausableObjects()::$_0 const&) const LINE: lifecycle_notifier.h:80
      (inlined by) blink::ContextLifecycleNotifier::NotifyResumingPausableObjects() LINE: context_lifecycle_notifier.cc:36
    06 pc 011f7c4f blink::ExecutionContext::UnpauseScheduledTasks() LINE: execution_context.cc:100
    07 pc 013ce813 blink::FrameLoader::SetDefersLoading(bool) LINE: frame_loader.cc:254
    08 pc 013ead0b blink::Page::SetPaused(bool) LINE: page.cc:383
    09 pc 013ef02f blink::ScopedPagePauser::SetPaused(bool) LINE: scoped_page_pauser.cc:63
    10 pc 013ef057 blink::ScopedPagePauser::~ScopedPagePauser() LINE: scoped_page_pauser.cc:53
    11 pc 013e3523 bool blink::OpenJavaScriptDialog<blink::ChromeClient::OpenJavaScriptAlert(blink::LocalFrame*, WTF::String const&)::$_1>(blink::LocalFrame*, WTF::String const&, blink::ChromeClient::DialogType, blink::ChromeClient::OpenJavaScriptAlert(blink::LocalFrame*, WTF::String const&)::$_1 const&) LINE: chrome_client.cc:119
      (inlined by) blink::ChromeClient::OpenJavaScriptAlert(blink::LocalFrame*, WTF::String const&) LINE: chrome_client.cc:137
    12 pc 0122f8c5 blink::LocalDOMWindow::alert(blink::ScriptState*, WTF::String const&) LINE: local_dom_window.cc:767

The iteration starts from 
  template <typename ForEachCallable>
  void ForEachObserver(const ForEachCallable& callable) const {
    base::AutoReset<IterationState> scope(&iteration_state_, kAllowingNone);
    for (LifecycleObserverBase* observer_base : observers_) {
      Observer* observer = static_cast<Observer*>(observer_base);
      callable(observer);
    }
  }
and set iteration_state_ to kAllowingNone. But check on
  CHECK(!context->IsIteratingOverObservers());
conflicts.

Does it occur on multiple sites: N/A

Is it a problem with a plugin? N/A 

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 69.0.3497.76  Channel: stable
OS Version: 6
Flash Version:
 
Components: Blink>Scheduling

Sign in to add a comment