Angle doesn't like tracing handles that are zero |
||||
Issue descriptionAngle's AddTraceEvent function in event_tracer.cpp asserts that the handle is zero, which fails sometimes when Perfetto tracing is enabled with --enable-features=TracingPerfettoBackend (after a few more changes are landed to enable this on Windows). It's not clear whether this is an incorrect assumption in Angle or a bug in Perfetto. Either Perfetto needs to stop producing tracing handles where all components are zero, or Angle needs to accept zero as a valid value.
,
May 24 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/89d0b86de2e6a79a8ddcf04a5c1393ca876705bd commit 89d0b86de2e6a79a8ddcf04a5c1393ca876705bd Author: Oystein Eftevaag <oysteine@chromium.org> Date: Thu May 24 18:22:36 2018 Adjust gn and ifdefs to make Perfetto available Chrome has seven #ifdefs that decide whether Perfetto tracing is available or not. This change consolidates those into two and then enables Perfetto on Windows. This change also updates two .gn files to enable Perfetto. This change makes no difference unless the command-line option --enable-features=TracingPerfettoBackend is specified. Note that this change will fail to run unless the Assert in Angle's AddTraceEvent function in event_tracer.cpp is removed. This is being investigated. Bug: 844421 Change-Id: Ia978eb69bed77bda68202fdbec7a306fdb9886bc Reviewed-on: https://chromium-review.googlesource.com/1064371 Commit-Queue: oysteine <oysteine@chromium.org> Reviewed-by: oysteine <oysteine@chromium.org> Reviewed-by: Primiano Tucci <primiano@chromium.org> Cr-Commit-Position: refs/heads/master@{#561556} [modify] https://crrev.com/89d0b86de2e6a79a8ddcf04a5c1393ca876705bd/services/tracing/BUILD.gn [modify] https://crrev.com/89d0b86de2e6a79a8ddcf04a5c1393ca876705bd/services/tracing/public/cpp/BUILD.gn [modify] https://crrev.com/89d0b86de2e6a79a8ddcf04a5c1393ca876705bd/services/tracing/public/cpp/trace_event_agent.cc [modify] https://crrev.com/89d0b86de2e6a79a8ddcf04a5c1393ca876705bd/services/tracing/tracing_service.cc [modify] https://crrev.com/89d0b86de2e6a79a8ddcf04a5c1393ca876705bd/services/tracing/tracing_service.h
,
May 24 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f85585b37189469ba6c9b53dfea57d88f1a9fe0f commit f85585b37189469ba6c9b53dfea57d88f1a9fe0f Author: Thomas Anderson <thomasanderson@chromium.org> Date: Thu May 24 19:10:06 2018 Revert "Adjust gn and ifdefs to make Perfetto available" This reverts commit 89d0b86de2e6a79a8ddcf04a5c1393ca876705bd. Reason for revert: Suspected cause of Win x64 build failure: https://ci.chromium.org/buildbot/chromium/Win%20x64/22844 Original change's description: > Adjust gn and ifdefs to make Perfetto available > > Chrome has seven #ifdefs that decide whether Perfetto tracing is > available or not. This change consolidates those into two and then > enables Perfetto on Windows. > > This change also updates two .gn files to enable Perfetto. > > This change makes no difference unless the command-line option > --enable-features=TracingPerfettoBackend is specified. > > Note that this change will fail to run unless the Assert in Angle's > AddTraceEvent function in event_tracer.cpp is removed. This is > being investigated. > > Bug: 844421 > Change-Id: Ia978eb69bed77bda68202fdbec7a306fdb9886bc > Reviewed-on: https://chromium-review.googlesource.com/1064371 > Commit-Queue: oysteine <oysteine@chromium.org> > Reviewed-by: oysteine <oysteine@chromium.org> > Reviewed-by: Primiano Tucci <primiano@chromium.org> > Cr-Commit-Position: refs/heads/master@{#561556} TBR=primiano@chromium.org,oysteine@chromium.org,brucedawson@chromium.org Change-Id: Ia94b6d81d56af41dd010adcc436f11882887864f No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 844421 Reviewed-on: https://chromium-review.googlesource.com/1072327 Reviewed-by: Thomas Anderson <thomasanderson@chromium.org> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org> Cr-Commit-Position: refs/heads/master@{#561580} [modify] https://crrev.com/f85585b37189469ba6c9b53dfea57d88f1a9fe0f/services/tracing/BUILD.gn [modify] https://crrev.com/f85585b37189469ba6c9b53dfea57d88f1a9fe0f/services/tracing/public/cpp/BUILD.gn [modify] https://crrev.com/f85585b37189469ba6c9b53dfea57d88f1a9fe0f/services/tracing/public/cpp/trace_event_agent.cc [modify] https://crrev.com/f85585b37189469ba6c9b53dfea57d88f1a9fe0f/services/tracing/tracing_service.cc [modify] https://crrev.com/f85585b37189469ba6c9b53dfea57d88f1a9fe0f/services/tracing/tracing_service.h
,
Jun 7 2018
Assigning this. It's easy enough to remove the assert but we need to be sure that the handles that are zero don't represent a bug.
,
Jun 8 2018
Moving to Oystein
,
Jun 29 2018
Put up a CL to remove the assert: There are several codepaths where this is the expected result: * Other threads disabling the category in question. * The TraceBuffer being fill and no new chunks available. * Perfetto being active as the tracing backend. In all cases, the single use of a handle to a TraceEvent is TraceLog::UpdateTraceEventDuration which handles the above cases correctly.
,
Jun 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/angle/angle/+/33e72d994c749bf66e860f4f8308fa51335a7e0c commit 33e72d994c749bf66e860f4f8308fa51335a7e0c Author: Oystein Eftevaag <oysteine@google.com> Date: Fri Jun 29 21:21:48 2018 Removed an assert about addTraceEvent not returning empty handles. There are several codepaths where this is the expected result: * Other threads disabling the category in question. * The TraceBuffer being fill and no new chunks available. * Perfetto being active as the tracing backend. In all cases, the single use of a handle to a TraceEvent is TraceLog::UpdateTraceEventDuration which handles the above cases correctly. BUG= 844421 Change-Id: Ieaf3aa5c913cee8c51cfea637907d5bc3b560ceb Reviewed-on: https://chromium-review.googlesource.com/1120841 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> [modify] https://crrev.com/33e72d994c749bf66e860f4f8308fa51335a7e0c/src/common/event_tracer.cpp
,
Jun 30 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/24c1706f967cd956c83dc63ef565a59b539f90bf commit 24c1706f967cd956c83dc63ef565a59b539f90bf Author: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Sat Jun 30 02:32:48 2018 Roll src/third_party/angle 6ef24d7824d2..a72f400c5ff3 (3 commits) https://chromium.googlesource.com/angle/angle.git/+log/6ef24d7824d2..a72f400c5ff3 git log 6ef24d7824d2..a72f400c5ff3 --date=short --no-merges --format='%ad %ae %s' 2018-06-29 jmadill@chromium.org run_code_generation: Compare hashes instead of mtime. 2018-06-29 oysteine@google.com Removed an assert about addTraceEvent not returning empty handles. 2018-06-29 jmadill@chromium.org Vulkan: Add Features class. Created with: gclient setdep -r src/third_party/angle@a72f400c5ff3 The AutoRoll server is located here: https://angle-chromium-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel BUG= chromium:844421 TBR=ynovikov@chromium.org Change-Id: I652601668a8cba23e34ecd78158fb1b70628e6c6 Reviewed-on: https://chromium-review.googlesource.com/1121260 Reviewed-by: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#571743} [modify] https://crrev.com/24c1706f967cd956c83dc63ef565a59b539f90bf/DEPS
,
Jul 2
Can this be marked as fixed?
,
Jul 3
,
Jul 19
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d9ef9da999d3bc199c848754e648e8fec912556f commit d9ef9da999d3bc199c848754e648e8fec912556f Author: Bruce Dawson <brucedawson@chromium.org> Date: Thu Jul 19 19:39:39 2018 Adjust gn and ifdefs to make Perfetto available This change adjusts some ifdefs and also updates two .gn files to enable Perfetto on Windows in Chromium. This change makes no difference unless the command-line option --enable-features=TracingPerfettoBackend is specified, which can be tested with: chrome.exe --trace-startup= --trace-startup-file=test.json ^ --trace-startup-duration=7 --enable-features=TracingPerfettoBackend This was originally landed in crrev.com/c/1064371 Bug: 844421 , 844379 Change-Id: I2f4049b8623003d6c64ae942f0c334b1fc83875d Reviewed-on: https://chromium-review.googlesource.com/1090756 Commit-Queue: oysteine <oysteine@chromium.org> Reviewed-by: oysteine <oysteine@chromium.org> Cr-Commit-Position: refs/heads/master@{#576590} [modify] https://crrev.com/d9ef9da999d3bc199c848754e648e8fec912556f/services/tracing/BUILD.gn [modify] https://crrev.com/d9ef9da999d3bc199c848754e648e8fec912556f/services/tracing/public/cpp/BUILD.gn [modify] https://crrev.com/d9ef9da999d3bc199c848754e648e8fec912556f/services/tracing/public/cpp/trace_event_agent.cc [modify] https://crrev.com/d9ef9da999d3bc199c848754e648e8fec912556f/services/tracing/tracing_service.h |
||||
►
Sign in to add a comment |
||||
Comment 1 by jmad...@chromium.org
, May 18 2018