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

Issue 555163005: Deactivate IDBTransactions created within Microtasks (Closed)

Created:
6 years, 3 months ago by jsbell
Modified:
6 years, 3 months ago
CC:
aandrey+blink_chromium.org, apavlov+blink_chromium.org, blink-reviews, blink-reviews-dom_chromium.org, caseq+blink_chromium.org, cmumford, devtools-reviews_chromium.org, dglazkov+blink, dgrogan, eae+blinkwatch, eustas+blink_chromium.org, jsbell+idb_chromium.org, loislo+blink_chromium.org, lushnikov+blink_chromium.org, malch+blink_chromium.org, paulirish+reviews_chromium.org, pfeldman+blink_chromium.org, rwlbuis, sergeyv+blink_chromium.org, sof, vsevik+blink_chromium.org, yurys+blink_chromium.org
Project:
blink
Visibility:
Public.

Description

Deactivate IDBTransactions created within Microtasks When microtasks are run outside the event loop (i.e. they are resolved from C++ not from JS), wrap the execution in a V8RecursionScope to ensure that IDBTransactions are deactivated. R=adamk@chromium.org,haraken@chromium.org BUG=390704, 411532 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182468

Patch Set 1 #

Patch Set 2 : Plausible fix for shutdown tasks creating recursion scopes #

Patch Set 3 : Hack #

Patch Set 4 : Hack #2 #

Patch Set 5 : Refactored fix #

Total comments: 5

Patch Set 6 : Remove bogus line, clean up hideous conditional #

Unified diffs Side-by-side diffs Delta from patch set Stats (+94 lines, -4 lines) Patch
A LayoutTests/http/tests/inspector/indexeddb/transaction-promise-console.html View 1 chunk +41 lines, -0 lines 0 comments Download
A LayoutTests/http/tests/inspector/indexeddb/transaction-promise-console-expected.txt View 1 chunk +4 lines, -0 lines 0 comments Download
M LayoutTests/storage/indexeddb/microtasks.html View 1 chunk +24 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/V8PerIsolateData.h View 1 2 chunks +2 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/V8PerIsolateData.cpp View 1 2 chunks +5 lines, -1 line 0 comments Download
M Source/core/dom/Microtask.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/dom/Microtask.cpp View 1 2 3 4 5 2 chunks +12 lines, -2 lines 0 comments Download
M Source/core/inspector/AsyncCallStackTracker.cpp View 1 2 3 4 5 2 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 26 (7 generated)
jsbell
Prospective chain of patches is: 1. https://codereview.chromium.org/555633002 - ExecutionContext->ScriptState in IDBTransaction ctor 2. https://codereview.chromium.org/429453010 - ...
6 years, 3 months ago (2014-09-10 21:41:49 UTC) #2
haraken
On 2014/09/10 21:41:49, jsbell wrote: > Prospective chain of patches is: > > 1. https://codereview.chromium.org/555633002 ...
6 years, 3 months ago (2014-09-11 01:22:21 UTC) #3
adamk
lgtm
6 years, 3 months ago (2014-09-12 18:50:12 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/555163005/1
6 years, 3 months ago (2014-09-13 00:08:34 UTC) #6
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/24702)
6 years, 3 months ago (2014-09-13 00:48:52 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/555163005/1
6 years, 3 months ago (2014-09-13 04:19:12 UTC) #10
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/24725)
6 years, 3 months ago (2014-09-13 04:59:53 UTC) #12
jsbell
Bleah. The twiddling around with #2 exposed a shutdown ordering issue here and I didn't ...
6 years, 3 months ago (2014-09-15 17:57:57 UTC) #13
jsbell
@haraken - can you provide input on the most recent change/comment? (Sorry, I should have ...
6 years, 3 months ago (2014-09-16 17:09:04 UTC) #14
jsbell
Re: the async/debugger failures It looks like the introduction of a V8RecursionScope inside Microtask::performCheckpoint() bumps ...
6 years, 3 months ago (2014-09-16 22:58:07 UTC) #16
jsbell
Theory: we can simply do the "end-of-task-or-microtask" work towards the end of Microtask::performCheckpoint() without using ...
6 years, 3 months ago (2014-09-19 23:54:27 UTC) #17
jsbell
On 2014/09/19 23:54:27, jsbell wrote: > Theory: we can simply do the "end-of-task-or-microtask" work towards ...
6 years, 3 months ago (2014-09-22 02:31:15 UTC) #18
jsbell
On 2014/09/22 02:31:15, jsbell wrote: > I'll try (ie look at the code to see ...
6 years, 3 months ago (2014-09-22 17:24:12 UTC) #19
jsbell
https://codereview.chromium.org/555163005/diff/80001/Source/core/inspector/AsyncCallStackTracker.cpp File Source/core/inspector/AsyncCallStackTracker.cpp (right): https://codereview.chromium.org/555163005/diff/80001/Source/core/inspector/AsyncCallStackTracker.cpp#newcode421 Source/core/inspector/AsyncCallStackTracker.cpp:421: if (chain && (!V8RecursionScope::recursionLevel(toIsolate(context)) || (V8RecursionScope::recursionLevel(toIsolate(context)) == 1 && ...
6 years, 3 months ago (2014-09-22 17:26:29 UTC) #20
adamk
I'll leave it to aandrey/yurys to comment on whether it's reasonable for AsyncCallStackTracker to have ...
6 years, 3 months ago (2014-09-22 18:30:58 UTC) #21
jsbell
Thanks for catching that! https://codereview.chromium.org/555163005/diff/80001/Source/core/dom/Microtask.cpp File Source/core/dom/Microtask.cpp (right): https://codereview.chromium.org/555163005/diff/80001/Source/core/dom/Microtask.cpp#newcode55 Source/core/dom/Microtask.cpp:55: ModuleProxy::moduleProxy().didLeaveScriptContextForRecursionScope(isolate); On 2014/09/22 18:30:57, adamk ...
6 years, 3 months ago (2014-09-22 18:49:51 UTC) #22
aandrey
lgtm
6 years, 3 months ago (2014-09-23 05:47:21 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/555163005/100001
6 years, 3 months ago (2014-09-23 05:48:36 UTC) #25
commit-bot: I haz the power
6 years, 3 months ago (2014-09-23 06:12:04 UTC) #26
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as 182468

Powered by Google App Engine
This is Rietveld 408576698