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

Issue 631323 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

ServiceWorkerVersionBrowserTests are failing on TSan bots

Project Member Reported by benwells@chromium.org, Jul 26 2016

Issue description

It seems like a recent change to the IPC / Mojo implementation has uncovered a race in these test. See  issue 631311  for more details.

falken, assigning to you cos they're SW.
 
Cc: kinuko@chromium.org
+kinuko as falken might be away.
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 26 2016

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

commit d62b8c75b100ac27584a6ee8aa67e0fdb63f5a2e
Author: benwells <benwells@chromium.org>
Date: Tue Jul 26 07:16:34 2016

Disable some tests with errors under TSan

TBR=kinuko, clamy
BUG= 631322 ,  631323 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2179353002
Cr-Commit-Position: refs/heads/master@{#407730}

[modify] https://crrev.com/d62b8c75b100ac27584a6ee8aa67e0fdb63f5a2e/content/browser/frame_host/interstitial_page_impl_browsertest.cc
[modify] https://crrev.com/d62b8c75b100ac27584a6ee8aa67e0fdb63f5a2e/content/browser/service_worker/service_worker_browsertest.cc

Comment 3 by falken@chromium.org, Jul 29 2016

Components: Blink>ServiceWorker
Cc: falken@chromium.org
Owner: shimazu@chromium.org
Status: Assigned (was: Untriaged)
shimazu-san, can you take a look at this?
Status: Started (was: Assigned)
I could reproduce the failure on my workstation now.
The failure seems coming from a race condition at ConsoleListener:
https://cs.chromium.org/chromium/src/content/browser/service_worker/service_worker_browsertest.cc?q=ConsoleListener&sq=package:chromium&l=379&dr=CSs

In ConsoleListener, |messages_| is shared between UI thread and IO thread without locks.
I'm still not sure why there was no error before the change of mojo, so I'll continue to take a look at the detail.

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 8 2016

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

commit 45268ac16ef424a359dbc5d130a2225dd7f13368
Author: shimazu <shimazu@chromium.org>
Date: Mon Aug 08 04:48:14 2016

ServiceWorker: Run functions in the browsertest on appropriate thread

This patch fixes some race conditions which are exposed by fixes of mojo;
previously some variables (|quit_| and |messages_|) were shared among IO thread
and UI thread in race condition, and
EmbeddedWorkerInstance::AddListener/RemoveListener was called on UI thread.
TSan failures caused by these problems will be cleared by this patch.

BUG= 631323 ,  631311 
TEST=/out/tsan/content_browsertests --no-sandbox --gtest_filter="ServiceWorkerVersionBrowserTest.*"

Review-Url: https://codereview.chromium.org/2204873002
Cr-Commit-Position: refs/heads/master@{#410300}

[modify] https://crrev.com/45268ac16ef424a359dbc5d130a2225dd7f13368/content/browser/service_worker/service_worker_browsertest.cc

Status: Fixed (was: Started)

Sign in to add a comment