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

Issue 869706 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Aug 2
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 860394



Sign in to add a comment

potential event id conflicts in service worker context client

Project Member Reported by shimazu@chromium.org, Aug 1

Issue description

|s_next_event_id| kept in ServiceWorkerTimeoutTimer seems to be shared among multiple service worker threads living in the same process.
We need to use thread local variable, or have it in each instance.
 
Description: Show this description
Cc: -momohatt@google.com
Owner: momohatt@google.com
Status: Started (was: Available)
Blocking: 860394
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f6dea74c25d30bc02224355882cd56039fd5764

commit 7f6dea74c25d30bc02224355882cd56039fd5764
Author: momohatt <momohatt@google.com>
Date: Wed Aug 01 10:31:29 2018

ServiceWorker: Make NextEventId() thread-safe

NextEventId(), which is used in ServiceWorkerTimeoutTimer is not thread-safe.
I fixed this problem by using AtomicSequenceNumber.
This ensures event ids dispatched to service workers in a process are unique in the process.

Bug:  869706 
Change-Id: Ia19aa180007479387463d3d0725dae052da17632
Reviewed-on: https://chromium-review.googlesource.com/1158092
Commit-Queue: Momoko Hattori <momohatt@google.com>
Reviewed-by: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579749}
[modify] https://crrev.com/7f6dea74c25d30bc02224355882cd56039fd5764/content/renderer/service_worker/service_worker_timeout_timer.cc
[modify] https://crrev.com/7f6dea74c25d30bc02224355882cd56039fd5764/content/renderer/service_worker/service_worker_timeout_timer.h

Status: Fixed (was: Started)

Sign in to add a comment