Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(138)

Issue 1988293002: [BlobAsync] Fixed race between IPC messages and IO task queue (Closed)

Created:
4 years, 7 months ago by dmurph
Modified:
4 years, 7 months ago
Reviewers:
michaeln
CC:
chromium-reviews, darin-cc_chromium.org, jam
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

[BlobAsync] Fixed race between IPC messages and IO task queue The message responses to our blob start message are dispatched on the IO thread but they're not added to the task queue. So a race can happen where OnMemoryRequest is called before we store the consolidation in our map. I moved the StartBuildingBlob message - which signals the browser to start requesting memory from the renderer - to our IO task which stores our blob data. This eliminates the race case with a small sacrifice of construction speed. In the future, I'd like to be able to still dispatch both IPC messages right away to keep the fast path, and correctly handle the race case. BUG=612358 Committed: https://crrev.com/65a8fb95a8c71a7be8515f5e1c8125b04a477716 Cr-Commit-Position: refs/heads/master@{#394549}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+20 lines, -17 lines) Patch
M content/child/blob_storage/blob_transport_controller.h View 1 chunk +2 lines, -1 line 0 comments Download
M content/child/blob_storage/blob_transport_controller.cc View 2 chunks +15 lines, -13 lines 0 comments Download
M content/child/blob_storage/blob_transport_controller_unittest.cc View 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
dmurph
Hey, can you PTAL? This is killing docs.
4 years, 7 months ago (2016-05-18 19:56:26 UTC) #2
michaeln
lgtm!
4 years, 7 months ago (2016-05-18 20:00:15 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1988293002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1988293002/1
4 years, 7 months ago (2016-05-18 20:06:03 UTC) #5
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 7 months ago (2016-05-18 21:14:08 UTC) #6
commit-bot: I haz the power
Patchset 1 (id:??) landed as https://crrev.com/65a8fb95a8c71a7be8515f5e1c8125b04a477716 Cr-Commit-Position: refs/heads/master@{#394549}
4 years, 7 months ago (2016-05-18 21:16:23 UTC) #8
Sami
4 years, 7 months ago (2016-05-19 11:40:47 UTC) #9
Message was sent while issue was closed.
A revert of this CL (patchset #1 id:1) has been created in
https://codereview.chromium.org/1997623002/ by skyostil@chromium.org.

The reason for reverting is: The oortonline benchmark started failing to load
blobs around the time this landed, so I'll do a speculative revert. Failure log:

https://build.chromium.org/p/chromium.perf/builders/Mac%20Retina%20Perf%20%28....

Powered by Google App Engine
This is Rietveld 408576698