New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 806789 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Newsstand can cause mojo:edk::Core::ArmWatcher to be called repeatedly at 3ns intervals

Project Member Reported by tobiasjs@chromium.org, Jan 29 2018

Issue description

Chrome Version: 63.0.3239.111
OS: Android

What steps will reproduce the problem?
(1) start newsstand
(2) swipe through a few articles
(3) observe trace data

The ArmWatcher events seem to be immediately preceded by ServiceWorkerProviderHost::RemoveProviderHost


 
trace_newsstand3.json.gz
3.1 MB Download
Can also reproduce this on m64, but apparently not on m65
Owner: roc...@chromium.org
Ken, do you know what might have fixed this?
Cc: skyos...@chromium.org

Comment 4 by roc...@chromium.org, Jan 29 2018

Cc: kinuko@chromium.org falken@chromium.org
+CC some service worker folks.

For those folks: when I've seen this kind of thing before it's been caused by subtle misuse of the Watcher API, i.e. when notified by a Watcher, re-arming it without necessarily changing the watched handle's state. In that case it will notify again immediately and possibly forever.

Sounds like it's fixed though?
It looks like it might have been fixed bestween 65.0.3319.0 and 65.0.3320.0

Comment 6 by falken@chromium.org, Jan 30 2018

Cc: shimazu@chromium.org
shimazu@ fixed some bugs in the way service worker was using ArmWatcher recently.

A likely fix was https://crrev.com/108763a19bd710bbb78975a36c11df15e9996dec which landed in 65.0.3319.0.

Comment 7 by falken@chromium.org, Jan 30 2018

Cc: roc...@chromium.org
Components: Blink>ServiceWorker
Labels: M-65
Owner: shimazu@chromium.org
Status: Fixed (was: Untriaged)
Marking Fixed due to that.
verified the fix on Device: LG/V20/NRD90M on webview: 65.0.3325.53

Status: verfied (was: Fixed)
Status: Verified (was: verfied)
Owner: mek@chromium.org
Precisely, this problem seems the other issue around continuous ArmWatcher calls by MessagePort.
I think this has been fixed by https://crrev.com/323f3e4a1aa50e82dab2f79e5c2638e7ca590531 which also landed in 65.0.3319.0.


Comment 12 by mek@chromium.org, Feb 8 2018

Nice coincidence with the timing of fixes. Yeah, getting rid of MessagePort immediately re-arming itself on one thread but not actually reading messages until a task posted to another thread fired was one reason for that refactoring.

Sign in to add a comment