New issue
Advanced search Search tips

Issue 662812 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Reloading a page using threaded worklets with DevTools open cannot finish

Project Member Reported by nhiroki@chromium.org, Nov 7 2016

Issue description

Environment:

- Chromium 56.0.2913.0 (Developer Build) (64-bit)
- Revision: ef99d7eed80406364245a2e3999fb8ab4a25b773-refs/heads/master@{#430226}
- OS: Linux 

How to repro:

(1) Load a following page:

  # index.html
  animationWorklet.import('worklet-script.js')
    .then(() => { console.log('imported'); });

  # worklet-script.js
  // empty

(2) Open a DevTools
(3) Reload a tab
(4) Crash with following logs:

chrome --type=renderer --enable-experimental-web-platform-features --enable-features=AutofillCreditCardSigninPromo<AutofillCreditCardSigninPromo,AutofillProfileCleanup<: tpp.c:62: __pthread_tpp_change_priority: Assertion `new_prio == -1 || (new_prio >= __sched_fifo_min_prio && new_prio <= __sched_fifo_max_prio)' failed.
Received signal 6
#0 0x7f02f2cf979e base::debug::StackTrace::StackTrace()
#1 0x7f02f2cf92df base::debug::(anonymous namespace)::StackDumpSignalHandler()
#2 0x7f02f3142330 <unknown>
#3 0x7f02dfc7fc37 gsignal
#4 0x7f02dfc83028 abort
#5 0x7f02dfc78bf6 <unknown>
#6 0x7f02dfc78ca2 __assert_fail
#7 0x7f02f3143076 __pthread_tpp_change_priority
#8 0x7f02f3137e9f __pthread_mutex_lock_full
#9 0x7f02dc012775 WTF::MutexBase::lock()
#10 0x7f02d90fb833 WTF::Locker<>::Locker()
#11 0x7f02d9e65b9d blink::InspectorTaskRunner::takeNextTask()
#12 0x7f02d9e65f26 blink::InspectorTaskRunner::runAllTasksDontWait()
#13 0x7f02d9e65ef3 blink::InspectorTaskRunner::v8InterruptCallback()
#14 0x7f02e8217e01 v8::internal::Isolate::InvokeApiInterruptCallbacks()
#15 0x7f02e80ec8af v8::internal::StackGuard::HandleInterrupts()
#16 0x7f02e83d602c v8::internal::__RT_impl_Runtime_StackGuard()
#17 0x7f02e83d5d1a v8::internal::Runtime_StackGuard()
#18 0x3626eda843a7 <unknown>
  r8: 00007f02cf86c5d0  r9: 00007f02dfd99a00 r10: 0000000000000008 r11: 0000000000000202
 r12: 00007f02f3144d50 r13: 00007f02f3144e20 r14: 00000000000000ca r15: 00007f02d9e65ec0
  di: 0000000000000001  si: 0000000000000003  bp: 00007f02dfdc93b8  bx: 00007f02f3567000
  dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp: 00007f02cf86c7b8
  ip: 00007f02dfc7fc37 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000
 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
[end of stack trace]
 
Blocking: 646559
Cc: flackr@chromium.org majidvp@chromium.org
I cannot reproduce this crash after [1] was landed. Instead, reloading a page in this situation is blocked at |globalScope()->scriptController()->initializeContextIfNeeded()| in WorkerThread::initializeOnWorkerThread. I'll take a closer look...

[1] https://codereview.chromium.org/2456733002/
Owner: nhiroki@chromium.org
Status: Assigned (was: Available)
Blocking: -646559
Status: Started (was: Assigned)
Summary: Reloading a page using threaded worklets with DevTools open cannot finish (was: Reloading a page using worklets with DevTools open causes a crash)

Sign in to add a comment