New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 590761 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

oortonline_tbm failure on chromium.perf Win7 at 378155

Project Member Reported by rbyers@chromium.org, Feb 29 2016

Issue description

Revision range first seen: 378155

Link to failing step log: https://build.chromium.org/p/chromium.perf/builders/Win%207%20ATI%20GPU%20Perf%20%282%29/builds/4512/steps/oortonline_tbm/logs/stdio

Began failing consistently on all Win7 bots as of this v8 roll: crrev.com/378155

(ERROR) 2016-02-28 09:09:04,915 tracing_controller_backend.StopAgentTracing:138  Error when deleting c:\users\chrome~1\appdata\local\temp\tmpqyfwod, will try again at exit.
Traceback (most recent call last):
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\platform\tracing_controller_backend.py", line 134, in StopAgentTracing
    os.remove(self._trace_log)
WindowsError: [Error 32] The process cannot access the file because it is being used by another process: 'c:\\users\\chrome~1\\appdata\\local\\temp\\tmpqyfwod'
Traceback (most recent call last):
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\story_runner.py", line 86, in _RunStoryAndProcessErrorIfNeeded
    test.Measure(state.platform, results)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\web_perf\timeline_based_measurement.py", line 281, in Measure
    trace_result = platform.tracing_controller.StopTracing()
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\core\tracing_controller.py", line 39, in StopTracing
    return self._tracing_controller_backend.StopTracing()
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\platform\tracing_controller_backend.py", line 105, in StopTracing
    '\n'.join(raised_exception_messages))
TracingControllerStoppedError: Exceptions raised when trying to stop tracing:
Traceback (most recent call last):
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\platform\tracing_controller_backend.py", line 94, in StopTracing
    agent.StopAgentTracing(trace_data_builder)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\platform\tracing_agent\chrome_tracing_agent.py", line 143, in StopAgentTracing
    '\n'.join(raised_execption_messages))
ChromeTracingStoppedError: Exceptions raised when trying to stop Chrome devtool tracing:
Error when trying to stop Chrome tracing on devtools at port 50489:
Traceback (most recent call last):
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\platform\tracing_agent\chrome_tracing_agent.py", line 128, in StopAgentTracing
    client.StopChromeTracing(trace_data_builder)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\backends\chrome_inspector\devtools_client_backend.py", line 354, in StopChromeTracing
    self._tracing_backend.StopTracing(trace_data_builder, timeout)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\backends\chrome_inspector\tracing_backend.py", line 140, in StopTracing
    self._CollectTracingData(timeout)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\backends\chrome_inspector\tracing_backend.py", line 200, in _CollectTracingData
    self._inspector_websocket.DispatchNotifications(timeout)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\backends\chrome_inspector\inspector_websocket.py", line 134, in DispatchNotifications
    self._Receive(timeout)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\telemetry\internal\backends\chrome_inspector\inspector_websocket.py", line 149, in _Receive
    data = self._socket.recv()
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\third_party\websocket-client\websocket.py", line 596, in recv
    opcode, data = self.recv_data()
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\third_party\websocket-client\websocket.py", line 606, in recv_data
    frame = self.recv_frame()
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\third_party\websocket-client\websocket.py", line 661, in recv_frame
    payload = self._recv_strict(self._frame_length)
  File "C:\b\build\slave\Win_7_ATI_GPU_Perf__2_\build\src\third_party\catapult\telemetry\third_party\websocket-client\websocket.py", line 749, in _recv_strict
    unified = "".join(self._recv_buffer)
MemoryError



 

Comment 1 by rbyers@chromium.org, Feb 29 2016

Cc: -u...@chromium.org bmeu...@chromium.org mvstan...@chromium.org rbyers@chromium.org hablich@chromium.org
Owner: u...@chromium.org
The only similar failure I see in the past is  issue 568120 , which suggests that a big increase in trace entries can perhaps cause these sorts of 'Memory Error' failures (and maybe the locked file error is a red-herring?).

There's nothing obviously related in the v8 changelog: https://chromium.googlesource.com/v8/v8/+log/1230ed3c..10de065e

I don't think the perf buildbots bisect down into v8 rolls, do they?

ulan: as the benchmark owner, can you please investigate?  Alternately https://github.com/v8/v8/wiki/Triaging%20issues says we can assign perf issues to bmeurer or mvstanton.

This is apparently affecting only a single test, so I think it's OK to take a day or two to investigate.  But if a solution isn't clear in the next couple days we should disable the test.

> I don't think the perf buildbots bisect down into v8 rolls, do they?

It does bisect into v8 rolls. Did you try kicking off a return_code bisect?

Comment 3 by u...@chromium.org, Feb 29 2016

Cc: jochen@chromium.org fmea...@chromium.org
This might be caused by https://chromium.googlesource.com/v8/v8/+/567e58390d86c54ebd527d1b95500c415f3caeb5

I think this increases the number of v8 events in the trace.

We'll try to find a fix tomorrow.

Comment 4 by rbyers@chromium.org, Feb 29 2016

> It does bisect into v8 rolls. Did you try kicking off a return_code bisect?

Oh, cool - thanks!  I didn't kick one off for this build since there was only this single chromium CL in the range.  Sounds like ulan has this issue in-hand, but I'm happy to kick off a bisect if that'll help.

Comment 5 by u...@chromium.org, Mar 1 2016

I would like to confirm my theory, how can I kick off a return_code bisect?
ulan: it's a little confusing right now since bisect is set up for perf regressions by default, and the perf dashboard doesn't know the revision of the failed build because it failed and didn't upload any data. I'll kick one off but here are the  steps:

1) Go to the graph for the perf test. You can find it from the "Results Dashboard" link on the buildbot status page (https://build.chromium.org/p/chromium.perf/builders/Win%207%20ATI%20GPU%20Perf%20%282%29/builds/4538). The graph for this one is https://chromeperf.appspot.com/report?sid=3e438e03ef4d01a8e6020c55bc90e57b75ef56bfe12ad7bf7a89384e9069eace&rev=378420
2) Click the last data point (assuming the test hasn't been fixed/isn't sending new data) and click "Bisect" in the tooltip that comes up.
3) In the dialog, change:
  Bug ID: type the bug number you want the bisect to report back to, like 590761
  Earlier revision: Last revision with data. Because the bisect is set up to check for a perf regression at this point, it'll confusingly have this number in the "later revision" field. Move it to earlier revision (in this case, it should be 378154)
  Later revision: This should be the commit pos of the last revision in the first failed build (378155 in our case)
  Bisect mode: return_code

The bisect I kicked off is: https://chromeperf.appspot.com/buildbucket_job_status/9019382868324819216

Comment 7 by u...@chromium.org, Mar 1 2016

Thanks for the detailed instructions, Annie!

The bisect will be very helpful because manual run before and after the suspected V8 CL shows no difference in number of trace events.
Cc: u...@chromium.org
 Issue 591081  has been merged into this issue.
Cc: eakuefner@chromium.org
Note Ethan is disabling the test in https://codereview.chromium.org/1752613003/ until it can be fixed
Owner: fmea...@chromium.org

=== Auto-CCing suspected CL author fmeawad@chromium.org ===

Hi fmeawad@chromium.org, the bisect results pointed to your CL below as possibly
causing a regression. Please have a look at this info and see whether
your CL be related.


===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : Reland: Add Scoped Context Info (Isolate) to V8 Traces
Author  : fmeawad
Commit description:
  
This patch adds the newly added support for contexts in V8 Tracing, as well
as use it to mark all the entry points for a V8 Isolate.

Update for reland: The current tracing interface needs to be updated (AddTraceEvent),
but the embedders need to migrate to the new version before removing the old version.
(Reland of: https://codereview.chromium.org/1686233002)

The revert happened because the 2 signatures of the old and new AddTraceEvent where different
so it threw an overload-virtual error on cross arm debug. This issue is temporary, and to solve
it, I added an implementation of the old and new everywhere until the embedder implements the new.

BUG=v8:4565
LOG=N

R=jochen@chromium.org

Review URL: https://codereview.chromium.org/1704253002

Cr-Commit-Position: refs/heads/master@{#34332}
Commit  : 567e58390d86c54ebd527d1b95500c415f3caeb5
Date    : Fri Feb 26 17:25:30 2016


===== TESTED REVISIONS =====
Revision                Exit Code   Std. Dev.   Num Values  Good?
chromium@378154         0           N/A         5           good
chromium@378154,v8@6a7e8661340           N/A         5           good
chromium@378154,v8@a0fdb33f1c0           N/A         5           good
chromium@378154,v8@23cf65926e0           N/A         5           good
chromium@378154,v8@567e58390d1           N/A         5           bad
chromium@378154,v8@239ed8ffa81           N/A         5           bad
chromium@378155         1           N/A         5           bad

Bisect job ran on: winx64ati_perf_bisect
Bug ID: 590761

Test Command: python src/tools/perf/run_benchmark -v --browser=release_x64 --output-format=chartjson --also-run-disabled-tests oortonline_tbm
Test Metric: Running-frame_time_discrepancy/Running-frame_time_discrepancy
Relative Change: Zero to non-zero
Score: 99.9

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/winx64ati_perf_bisect/builds/1255
Job details: https://chromeperf.appspot.com/buildbucket_job_status/9019382868324819216


| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with label Cr-Tests-AutoBisect.  Thank you!
I have removed the offending portion of the CL in https://codereview.chromium.org/1807433002/, I will re-enable the benchmark after the v8 roll.
Project Member

Comment 12 by bugdroid1@chromium.org, Mar 16 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ce376a92665ed53ae2a75507c2daf9cf7d184be4

commit ce376a92665ed53ae2a75507c2daf9cf7d184be4
Author: fmeawad <fmeawad@chromium.org>
Date: Wed Mar 16 18:48:49 2016

Re-enable oortonline benchmark on windows

The crash was due to an excessive amount of trace events logged due to
direct calls from webgl into v8 primitives. The trace events on the
v8 primitives have been removed.

BUG= 590761 
CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:android_s5_perf_cq;tryserver.chromium.perf:winx64_10_perf_cq;tryserver.chromium.perf:mac_retina_perf_cq;tryserver.chromium.perf:linux_perf_cq

Review URL: https://codereview.chromium.org/1805403003

Cr-Commit-Position: refs/heads/master@{#381505}

[modify] https://crrev.com/ce376a92665ed53ae2a75507c2daf9cf7d184be4/tools/perf/benchmarks/oortonline.py

Status: Fixed (was: Assigned)

Sign in to add a comment