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

Issue 351253002: [oilpan]: Don't sweep while in safepoint. (Closed)

Created:
6 years, 6 months ago by wibling-chromium
Modified:
6 years, 5 months ago
CC:
blink-reviews, kouhei+heap_chromium.org, Mads Ager (chromium)
Project:
blink
Visibility:
Public.

Description

[oilpan]: Don't sweep while in safepoint. Related to the test failures seen in the worker-data-view-test.html test I think this will fix the issue. Basically postpone the sweep until after we have left the safepoint. I am still testing/trying to reproduce. R=ager@chromium.org, erik.corry@gmail.com, haraken@chromium.org, oilpan-reviews@chromium.org, sof@opera.com, tkent@chromium.org, vegorov@chromium.org, zerny@chromium.org BUG= Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177124

Patch Set 1 #

Total comments: 4

Patch Set 2 : review feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1 line, -1 line) Patch
M Source/platform/heap/ThreadState.cpp View 1 2 chunks +1 line, -1 line 0 comments Download

Messages

Total messages: 10 (0 generated)
wibling-chromium
6 years, 6 months ago (2014-06-26 13:44:16 UTC) #1
haraken
https://codereview.chromium.org/351253002/diff/1/Source/platform/heap/ThreadState.cpp File Source/platform/heap/ThreadState.cpp (right): https://codereview.chromium.org/351253002/diff/1/Source/platform/heap/ThreadState.cpp#newcode201 Source/platform/heap/ThreadState.cpp:201: state->setSweepRequested(); Do we need to call this? I guess ...
6 years, 6 months ago (2014-06-26 13:52:11 UTC) #2
Mads Ager (chromium)
LGTM https://codereview.chromium.org/351253002/diff/1/Source/platform/heap/ThreadState.cpp File Source/platform/heap/ThreadState.cpp (right): https://codereview.chromium.org/351253002/diff/1/Source/platform/heap/ThreadState.cpp#newcode201 Source/platform/heap/ThreadState.cpp:201: state->setSweepRequested(); I don't think we need to actually ...
6 years, 6 months ago (2014-06-26 13:52:40 UTC) #3
haraken
LGTM2 with the comment.
6 years, 6 months ago (2014-06-26 13:53:32 UTC) #4
wibling-chromium
Thanks for the reviews! https://codereview.chromium.org/351253002/diff/1/Source/platform/heap/ThreadState.cpp File Source/platform/heap/ThreadState.cpp (right): https://codereview.chromium.org/351253002/diff/1/Source/platform/heap/ThreadState.cpp#newcode201 Source/platform/heap/ThreadState.cpp:201: state->setSweepRequested(); On 2014/06/26 13:52:11, haraken ...
6 years, 5 months ago (2014-06-27 10:07:48 UTC) #5
wibling-chromium
The CQ bit was checked by wibling@chromium.org
6 years, 5 months ago (2014-06-27 10:23:53 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wibling@chromium.org/351253002/20001
6 years, 5 months ago (2014-06-27 10:24:49 UTC) #7
commit-bot: I haz the power
Change committed as 177124
6 years, 5 months ago (2014-06-27 20:29:58 UTC) #8
tkent
On 2014/06/27 20:29:58, I haz the power (commit-bot) wrote: > Change committed as 177124 It ...
6 years, 5 months ago (2014-06-30 12:18:49 UTC) #9
wibling-chromium
6 years, 5 months ago (2014-06-30 12:54:51 UTC) #10
Message was sent while issue was closed.
On 2014/06/30 12:18:49, tkent wrote:
> On 2014/06/27 20:29:58, I haz the power (commit-bot) wrote:
> > Change committed as 177124
> 
> It seems this CL was fatal to Web Database.  
> 
>
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40...
> 
> A context thread waits for a database thread completion in SafePointScope.
> 
> void TaskSynchronizer::waitForTaskCompletion()
> {
>     if (ThreadState::current()) {
>         // Prevent the deadlock between park request by other threads and
> blocking
>         // by m_synchronousCondition.
>         ThreadState::SafePointScope scope(ThreadState::HeapPointersOnStack);
>         waitForTaskCompletionInternal();
>     } else {
>         // If this thread is already detached, we no longer need to enter a
safe
> point scope.
>         waitForTaskCompletionInternal();
>     }
> }

That's odd. I just removed the performPendingSweep out until we are not under
the m_safepoint bool. Do you have any idea why the database thread is not being
signaled?

Powered by Google App Engine
This is Rietveld 408576698