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

Issue 850892 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

error: Node with unknown id undefined at index

Project Member Reported by fhorschig@chromium.org, Jun 8 2018

Issue description

Recently, the test http/tests/devtools/tracing/timeline-time/timeline-usertiming.js has been flaking on a lot of platforms (and failed on most Mac bots).

Regression range: r565567 to r565571
https://chromium.googlesource.com/chromium/src/+log/a0d1989ee45f551651ad4f5f6189114da4c906b4%5E..172d8173353353e4966773b24944a4c02004a09d?pretty=fuller&n=
(At least that's when the flakiness started according to the flakiness dashboard: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=webkit_layout_tests&showAllRuns=true&tests=http%2Ftests%2Fdevtools%2Ftracing%2Ftimeline-time%2Ftimeline-usertiming.js)


Typical failure:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac10.13%20Tests/3333


The biggest update here was the new version of V8 (which somehow could be related to a timing test).
Or is there anyone of the CC'ed owners of CLs during that time familiar with the code and knows where we could look for the issue?
 
Labels: Pri-1 Type-Bug-Regression
Owner: kozyatinskiy@chromium.org
Could you please take a look?
DevTools tests are flaking and nothing in the range stands out.

Comment 6 by brat...@opera.com, Jun 8 2018

Seems to be something generic with tracing and timeline. I've done a couple of try runs and linux_chromium_rel_ng failed these (not all at the same time):

* http/tests/devtools/tracing/console-timeline.js x2
* http/tests/devtools/tracing/timeline-misc/timeline-event-causes.js
* http/tests/devtools/tracing/timeline-style/timeline-style-recalc-all-invalidator-types.js
* http/tests/devtools/tracing/timeline-time/timeline-timer-fired-from-eval-call-site.js
* http/tests/devtools/tracing/timeline-time/timeline-usertiming.js
* virtual/threaded/http/tests/devtools/tracing/console-timeline.js
* virtual/threaded/http/tests/devtools/tracing/timeline-layout/timeline-layout-with-invalidations.js
* virtual/threaded/http/tests/devtools/tracing/timeline-style/timeline-style-recalc-with-invalidations.js
* virtual/threaded/http/tests/devtools/tracing/timeline-time/timeline-usertiming.js

Comment 7 by brat...@opera.com, Jun 8 2018

All the fails are lines like the ones below appearing in the output, creating unexpected output from the tests.

error: Node with unknown id undefined at index 933
error: Node with unknown id undefined at index 777
error: Node with unknown id undefined at index 464
error: Node with unknown id undefined at index 657

Comment 8 by brat...@opera.com, Jun 8 2018

Cc: einbinder@chromium.org dgozman@chromium.org
The error message comes from the devtools frontend because something is missing in jsProfileModel, but I suspect that is not the root cause. Still adding random frontend developer to cc who can maybe help redirect this to a suitable location.
Project Member

Comment 9 by bugdroid1@chromium.org, Jun 8 2018

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

commit e54a23ecac14efd6f8f342099c847d646d888bd9
Author: Friedrich Horschig <fhorschig@chromium.org>
Date: Fri Jun 08 15:11:07 2018

Mark devtools/tracing tests flaky

Mark three tests as flaky:
http/tests/devtools/tracing/timeline-time/timeline-usertiming.js
http/tests/devtools/tracing/console-timeline.js
http/tests/devtools/tracing/timeline-style/timeline-style-recalc-all-invalidator-types.js

The underlying reason ist still unknown. More details and timeline in
the linked bug.

TBR=kozyatinskiy@chromium.org

Bug:  850892 
Change-Id: I7fba9de0c12fc124ca3dd84875e796de677f976b
Reviewed-on: https://chromium-review.googlesource.com/1092854
Commit-Queue: Friedrich Horschig <fhorschig@chromium.org>
Reviewed-by: Friedrich Horschig <fhorschig@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565634}
[modify] https://crrev.com/e54a23ecac14efd6f8f342099c847d646d888bd9/third_party/WebKit/LayoutTests/TestExpectations

Owner: alph@chromium.org
Cc: -thestig@chromium.org
I don't think it was my cleanup CL.

Comment 12 by alph@chromium.org, Jun 8 2018

Status: Started (was: Assigned)
Uh-oh, looks like corrupted CPU profiles. Looking into it.
Project Member

Comment 13 by bugdroid1@chromium.org, Jun 8 2018

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

commit a521d2e7554c8a0e74e6eccd7db645b2d8b51aae
Author: Mark Pearson <mpearson@chromium.org>
Date: Fri Jun 08 20:43:42 2018

Mark devtools/tracing tests disabled due to flakiness

Mark four tests as disabled:
virtual/threaded/http/tests/devtools/tracing/timeline-time/timeline-usertiming.js
virtual/threaded/http/tests/devtools/tracing/timeline-paint/timeline-paint-and-multiple-style-invalidations.js

http/tests/devtools/tracing/timeline-js/timeline-script-id.js
due to flake here:
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win7%20Tests%20%28dbg%29%281%29/69598

virtual/threaded/http/tests/devtools/tracing/timeline-misc/ imeline-event-causes.js
due to flake here:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Mac10.11%20%28dbg%29/16773

NOTRY=true
TBR=kozyatinskiy@chromium.org

Bug:  850892 
Change-Id: I6918161001cd3c4fd537476406d0ff66183096f4
Reviewed-on: https://chromium-review.googlesource.com/1093456
Commit-Queue: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565733}
[modify] https://crrev.com/a521d2e7554c8a0e74e6eccd7db645b2d8b51aae/third_party/WebKit/LayoutTests/TestExpectations

Labels: -Sheriff-Chromium
Removing from sheriff queue

Comment 15 by pdr@chromium.org, Jun 8 2018

These tests are also flaking on recent CQ runs of mine:
http/tests/devtools/tracing/timeline-layout/timeline-layout-with-invalidations.js
http/tests/devtools/tracing/timeline-paint/timeline-paint-image.js
http/tests/devtools/tracing/timeline-worker-events.js

The whole directory is likely flaky.
Labels: Sheriff-Chromium
And
http/tests/devtools/tracing/timeline-js/compile-script.js
is pretty troubling, especially on Windows.
https://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Fdevtools%2Ftracing%2Ftimeline-js%2Fcompile-script.js&testType=webkit_layout_tests

I will disable all of these recent flakes before the end of the day.  (Hopefully alph@ can disable them for me first!)
Other ones found from logs:

http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js
virtual/threaded/http/tests/devtools/tracing/timeline-paint/timeline-paint-with-layout-invalidations-on-deleted-node.js 
virtual/threaded/http/tests/devtools/tracing/timeline-style/timeline-style-recalc-with-invalidator-invalidations.js

I'm asusmin gthe "virtual/..." and "http/..." tests are distinct.


Comment 19 by alph@chromium.org, Jun 8 2018

The fix is in CQ
Project Member

Comment 20 by bugdroid1@chromium.org, Jun 8 2018

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

commit 995548dc9cc5d04dd62d56d6365f56a2af2c0e8a
Author: Samuel Huang <huangs@chromium.org>
Date: Fri Jun 08 22:36:22 2018

[Sheriff] Mark seven more devtools/tracing tests as flaky.

Tests:
* http/tests/devtools/tracing/timeline-layout/timeline-layout-with-invalidations.js
* http/tests/devtools/tracing/timeline-paint/paint-profiler-update.js
* http/tests/devtools/tracing/timeline-paint/timeline-paint-image.js
* http/tests/devtools/tracing/timeline-style/timeline-style-recalc-with-invalidator-invalidations.js
* http/tests/devtools/tracing/timeline-worker-events.js
* virtual/threaded/http/tests/devtools/tracing/timeline-paint/timeline-paint-with-layout-invalidations-on-deleted-node.js
* virtual/threaded/http/tests/devtools/tracing/timeline-style/timeline-style-recalc-with-invalidator-invalidations.js

Also sort to facilitate (likely) additions to the flaky list.

NOTRY=true
TBR=kozyatinskiy@chromium.org

Bug:  850892 
Change-Id: Id19047a051d47a579c0a3401f491ea95b77fa1ba
Reviewed-on: https://chromium-review.googlesource.com/1093725
Commit-Queue: Samuel Huang <huangs@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565761}
[modify] https://crrev.com/995548dc9cc5d04dd62d56d6365f56a2af2c0e8a/third_party/WebKit/LayoutTests/TestExpectations

Comment 21 by alph@chromium.org, Jun 8 2018

Cc: alph@chromium.org
 Issue 851106  has been merged into this issue.
Project Member

Comment 22 by bugdroid1@chromium.org, Jun 8 2018

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

commit 967dd0b45b61fccc69d77340e32f9242c280c45a
Author: Mark Pearson <mpearson@chromium.org>
Date: Fri Jun 08 23:01:19 2018

Disable Another Devtools Test

http/tests/devtools/tracing/timeline-js/compile-script.js

TBR=alph
NOTRY=true

Bug:  850892 
Change-Id: Ib1081326c307a911b641d796fdec3cc6f9bf8472
Reviewed-on: https://chromium-review.googlesource.com/1093879
Reviewed-by: Alexei Filippov <alph@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Commit-Queue: Mark Pearson <mpearson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565769}
[modify] https://crrev.com/967dd0b45b61fccc69d77340e32f9242c280c45a/third_party/WebKit/LayoutTests/TestExpectations

Labels: -Sheriff-Chromium
Optimistically removing from sheriff queue.  Hopefully that's the last of them...
Project Member

Comment 24 by bugdroid1@chromium.org, Jun 9 2018

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

commit fe5b5f754ea2c92750a8f9eb81118f3cfc96beee
Author: Alexei Filippov <alph@chromium.org>
Date: Sat Jun 09 00:57:56 2018

DevTools: Fix error: Node with unknown id undefined at index

There's an extra timestamp was added to the timestamps array so we can
easily calculate deltas from the timestamps.
However that happens before it performs CPUProfileDataModel._sortSamples
which once timestamps happen to be not sorted starts reordering both
timestamps and samples arrays. That sometimes causes last timestamp
item to be moved along with a missing value in samples array
somewhere in the middle effectively adding an extra 'undefined' item
to the samples array.

BUG= 850892 

Change-Id: Ie0706dadb031803698e3f8700bd4a08523201bef
Reviewed-on: https://chromium-review.googlesource.com/1093441
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565804}
[modify] https://crrev.com/fe5b5f754ea2c92750a8f9eb81118f3cfc96beee/third_party/WebKit/LayoutTests/http/tests/devtools/profiler/cpu-profiler-fix-missing-samples-expected.txt
[modify] https://crrev.com/fe5b5f754ea2c92750a8f9eb81118f3cfc96beee/third_party/WebKit/LayoutTests/http/tests/devtools/profiler/cpu-profiler-parsing-expected.txt
[add] https://crrev.com/fe5b5f754ea2c92750a8f9eb81118f3cfc96beee/third_party/WebKit/LayoutTests/http/tests/devtools/tracing/timeline-js/cpu-profile-unsorted-timestamps-expected.txt
[add] https://crrev.com/fe5b5f754ea2c92750a8f9eb81118f3cfc96beee/third_party/WebKit/LayoutTests/http/tests/devtools/tracing/timeline-js/cpu-profile-unsorted-timestamps.js
[modify] https://crrev.com/fe5b5f754ea2c92750a8f9eb81118f3cfc96beee/third_party/blink/renderer/devtools/front_end/sdk/CPUProfileDataModel.js

Comment 25 by alph@chromium.org, Jun 9 2018

Cc: creis@chromium.org
 Issue 849040  has been merged into this issue.
Project Member

Comment 26 by bugdroid1@chromium.org, Jun 10 2018

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

commit 01e1a9483c8227906a05b4793de98685385f1b68
Author: Alexei Filippov <alph@chromium.org>
Date: Sun Jun 10 00:04:34 2018

Unmark http/tests/devtools/tracing/* as flaky.

All the tests look stable after the fix has landed.

TBR=dgozman
NOTRY=true
BUG= 850892 

Change-Id: I23ac26e12847243544603a8abdd8346bf2157fb8
Reviewed-on: https://chromium-review.googlesource.com/1094554
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/heads/master@{#565896}
[modify] https://crrev.com/01e1a9483c8227906a05b4793de98685385f1b68/third_party/WebKit/LayoutTests/TestExpectations

Cc: hua...@chromium.org tschumann@google.com
Issue 851497 has been merged into this issue.
Still timing out on WebKit Linux Trusty MSAN:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty%20MSAN/
Project Member

Comment 29 by bugdroid1@chromium.org, Jun 11 2018

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

commit 8f5c116d94a8b46be5b320752331b5e656163e51
Author: Tim Schumann <tschumann@chromium.org>
Date: Mon Jun 11 17:18:13 2018

Mark http/tests/devtools/tracing/timeline-style/timeline-style-recalc-all-invalidator-types.js as flaky.

It's timing out on chromium.webkit/WebKit Linux Trusty MSAN.

TBR=alph@chromium.org

Bug:  850892 
Change-Id: I7d926e1fbcc62f4426fcb2e5faeec865c0182204
Reviewed-on: https://chromium-review.googlesource.com/1095104
Reviewed-by: Tim Schumann <tschumann@chromium.org>
Reviewed-by: Samuel Huang <huangs@chromium.org>
Commit-Queue: Tim Schumann <tschumann@chromium.org>
Cr-Commit-Position: refs/heads/master@{#566038}
[modify] https://crrev.com/8f5c116d94a8b46be5b320752331b5e656163e51/third_party/WebKit/LayoutTests/TestExpectations

Comment 30 by alph@chromium.org, Jun 11 2018

Status: Fixed (was: Started)
Massive flakiness caused by error message "error: Node with unknown id undefined at index" is fixed. Please do not merge other not related flakiness into this bug. Thanks.

Comment 31 by alph@chromium.org, Jun 11 2018

Components: Platform>DevTools>Performance
Labels: M-68 Merge-Request-68 OS-Linux OS-Mac OS-Windows

Comment 32 by alph@chromium.org, Jun 11 2018

Summary: error: Node with unknown id undefined at index (was: timeline-usertiming.js test very flaky on most platforms)
lots of CLs. Can you please identify which CLs need to be merged and why? Why is this critical for M68?

Comment 34 by alph@chromium.org, Jun 11 2018

Oops, sorry. It's about the one in comment #24 https://bugs.chromium.org/p/chromium/issues/detail?id=850892#c24

Comment 35 by alph@chromium.org, Jun 11 2018

Labels: ReleaseBlock-Stable
I need the merge because the CPU profiles are corrupted with a quite high probability because of this bug. 
Project Member

Comment 36 by sheriffbot@chromium.org, Jun 12 2018

Labels: -Merge-Request-68 Hotlist-Merge-Review Merge-Review-68
This bug requires manual review: M68 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), kariahda@(iOS), bhthompson@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-68 Merge-Approved-68
Approving merge for M68. Branch:3440
Project Member

Comment 38 by bugdroid1@chromium.org, Jun 12 2018

Labels: -merge-approved-68 merge-merged-3440
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/30d9fa5f0fade97822ada71aab7aad3c9072516c

commit 30d9fa5f0fade97822ada71aab7aad3c9072516c
Author: Alexei Filippov <alph@chromium.org>
Date: Tue Jun 12 19:01:02 2018

DevTools: Fix error: Node with unknown id undefined at index

There's an extra timestamp was added to the timestamps array so we can
easily calculate deltas from the timestamps.
However that happens before it performs CPUProfileDataModel._sortSamples
which once timestamps happen to be not sorted starts reordering both
timestamps and samples arrays. That sometimes causes last timestamp
item to be moved along with a missing value in samples array
somewhere in the middle effectively adding an extra 'undefined' item
to the samples array.

BUG= 850892 
TBR=alph@chromium.org

(cherry picked from commit fe5b5f754ea2c92750a8f9eb81118f3cfc96beee)

Change-Id: Ie0706dadb031803698e3f8700bd4a08523201bef
Reviewed-on: https://chromium-review.googlesource.com/1093441
Commit-Queue: Alexei Filippov <alph@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#565804}
Reviewed-on: https://chromium-review.googlesource.com/1097702
Reviewed-by: Alexei Filippov <alph@chromium.org>
Cr-Commit-Position: refs/branch-heads/3440@{#306}
Cr-Branched-From: 010ddcfda246975d194964ccf20038ebbdec6084-refs/heads/master@{#561733}
[modify] https://crrev.com/30d9fa5f0fade97822ada71aab7aad3c9072516c/third_party/WebKit/LayoutTests/http/tests/devtools/profiler/cpu-profiler-fix-missing-samples-expected.txt
[modify] https://crrev.com/30d9fa5f0fade97822ada71aab7aad3c9072516c/third_party/WebKit/LayoutTests/http/tests/devtools/profiler/cpu-profiler-parsing-expected.txt
[add] https://crrev.com/30d9fa5f0fade97822ada71aab7aad3c9072516c/third_party/WebKit/LayoutTests/http/tests/devtools/tracing/timeline-js/cpu-profile-unsorted-timestamps-expected.txt
[add] https://crrev.com/30d9fa5f0fade97822ada71aab7aad3c9072516c/third_party/WebKit/LayoutTests/http/tests/devtools/tracing/timeline-js/cpu-profile-unsorted-timestamps.js
[modify] https://crrev.com/30d9fa5f0fade97822ada71aab7aad3c9072516c/third_party/blink/renderer/devtools/front_end/sdk/CPUProfileDataModel.js

Sign in to add a comment