|
|
Chromium Code Reviews|
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). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
