|
|
Created:
6 years, 7 months ago by bajones Modified:
6 years, 7 months ago Reviewers:
Ken Russell (switch to Gerrit) CC:
chromium-reviews, piman+watch_chromium.org, jam, darin-cc_chromium.org Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionAdded test to ensure context restoration due to GC doesn't crash (Take 2)
Original commit here: https://codereview.chromium.org/251443006/. Was reverted because it wasn't triggering GC agressively enough, causing timeouts on the GPU bots.
BUG=365747
R=kbr@chromium.org
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=267927
Patch Set 1 #Patch Set 2 : Rebase #
Messages
Total messages: 25 (0 generated)
PTAL. Tested more thoroughly on Mac and Windows this time through. The core problem is simply that triggering GC is unreliable. :P While this version feels messy to me, at least it's been pretty consistent about triggering a GC within a few seconds on all my test runs.
Let's see how the GPU try runs go. Unfortunately there's an active outage of linux_gpu at the moment. Let's hold off committing until we can get a clean run on it.
On 2014/04/29 22:01:52, Ken Russell wrote: > Let's see how the GPU try runs go. > > Unfortunately there's an active outage of linux_gpu at the moment. Let's hold > off committing until we can get a clean run on it. SGTM
GPU runs came back green. Any feedback before landing?
On 2014/04/29 23:43:53, bajones wrote: > GPU runs came back green. Any feedback before landing? Actually, I take that back. Not sure what happened to win_gpu_triggered_tests.
On 2014/04/29 23:44:43, bajones wrote: > On 2014/04/29 23:43:53, bajones wrote: > > GPU runs came back green. Any feedback before landing? > > Actually, I take that back. Not sure what happened to win_gpu_triggered_tests. What did happen? Was there a failure and did you retry it? The runs look good. LGTM
On 2014/04/30 00:28:15, Ken Russell wrote: > What did happen? Was there a failure and did you retry it? I'm still not sure. I was looking into it for a bit but then the result just magically appeared in the trybot results list. No idea what happened.
The CQ bit was checked by bajones@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bajones@chromium.org/263523002/1
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel on tryserver.chromium
On 2014/04/30 01:26:45, I haz the power (commit-bot) wrote: > Try jobs failed on following builders: > win_chromium_rel on tryserver.chromium FYI, this test was just disabled in https://codereview.chromium.org/264433003 .
The CQ bit was checked by bajones@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bajones@chromium.org/263523002/1
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_chromium_chromeos_rel on tryserver.chromium
The CQ bit was checked by bajones@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bajones@chromium.org/263523002/1
The CQ bit was unchecked by commit-bot@chromium.org
Failed to apply patch for content/test/gpu/gpu_tests/context_lost.py: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file content/test/gpu/gpu_tests/context_lost.py Hunk #1 succeeded at 136 with fuzz 2 (offset 36 lines). Hunk #2 FAILED at 145. Hunk #3 FAILED at 155. 2 out of 3 hunks FAILED -- saving rejects to file content/test/gpu/gpu_tests/context_lost.py.rej Patch: content/test/gpu/gpu_tests/context_lost.py Index: content/test/gpu/gpu_tests/context_lost.py diff --git a/content/test/gpu/gpu_tests/context_lost.py b/content/test/gpu/gpu_tests/context_lost.py index d920e9b9931dbc1a95a26e2c28af388a4b8de88f..4c3508d1a9d05fc3bfa61143ca01870fa03a5d99 100644 --- a/content/test/gpu/gpu_tests/context_lost.py +++ b/content/test/gpu/gpu_tests/context_lost.py @@ -100,6 +100,28 @@ class _ContextLostValidator(page_test.PageTest): raise page_test.Failure( 'Test failed (context not restored properly?)') + elif page.force_garbage_collection: + # Try to corce GC to clean up any contexts not attached to the page. + # This method seem unreliable, so the page will also attempt to force + # GC through excessive allocations. + tab.CollectGarbage() + completed = False + try: + print "Waiting for page to finish." + util.WaitFor(lambda: tab.EvaluateJavaScript( + 'window.domAutomationController._finished'), wait_timeout) + completed = True + except util.TimeoutException: + pass + + if not completed: + raise page_test.Failure( + 'Test didn\'t complete (no context restored event?)') + if not tab.EvaluateJavaScript( + 'window.domAutomationController._succeeded'): + raise page_test.Failure( + 'Test failed (context not restored properly?)') + class ContextLost(test_module.Test): enabled = True test = _ContextLostValidator @@ -123,6 +145,7 @@ class ContextLost(test_module.Test): ], 'kill_gpu_process': True, 'number_of_gpu_process_kills': 1, + 'force_garbage_collection': False }, { 'name': 'ContextLost.WebGLContextLostFromLoseContextExtension', @@ -133,7 +156,20 @@ class ContextLost(test_module.Test): { 'action': 'wait', 'javascript': 'window.domAutomationController._finished' } ], - 'kill_gpu_process': False + 'kill_gpu_process': False, + 'force_garbage_collection': False + }, + { + 'name': 'ContextLost.WebGLContextLostFromQuantity', + 'url': 'file://webgl.html?query=forced_quantity_loss', + 'script_to_evaluate_on_commit': harness_script, + 'navigate_steps': [ + { 'action': 'navigate' }, + { 'action': 'wait', + 'javascript': 'window.domAutomationController._loaded' } + ], + 'kill_gpu_process': False, + 'force_garbage_collection': True }, ] }
The CQ bit was checked by bajones@chromium.org
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/bajones@chromium.org/263523002/20001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_rel on tryserver.chromium
Message was sent while issue was closed.
Committed patchset #2 manually as r267927 (presubmit successful). |