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

Issue 791608 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
Components:
EstimatedDays: 1
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug



Sign in to add a comment

[Canvas] Crash in SharedContextRateLimiter

Project Member Reported by junov@chromium.org, Dec 4 2017

Issue description

This CL has triggered failures on on the GPU.FYI waterfall:
https://chromium-review.googlesource.com/c/chromium/src/+/800750

Example failure:
https://logs.chromium.org/v/?s=chromium%2Fbb%2Fchromium.gpu.fyi%2FLinux_Release__Intel_HD_630_%2F1410%2F%2B%2Frecipes%2Fsteps%2Fwebgl_conformance_gl_passthrough_tests%2F0%2Fstdout

Stack trace:
#0 0x55669216ff2c base::debug::StackTrace::StackTrace()
#1 0x55669218faac logging::LogMessage::~LogMessage()
#2 0x5566935b17eb gpu::gles2::GLES2Implementation::DeleteQueriesEXT()
#3 0x556695885997 blink::SharedContextRateLimiter::Reset()
#4 0x5566958804f4 blink::Canvas2DLayerBridge::SkipQueuedDrawCommands()
#5 0x556696675cb1 blink::BaseRenderingContext2D::CheckOverdraw()
#6 0x55669667377c blink::BaseRenderingContext2D::fillRect()
#7 0x556696694635 blink::V8CanvasRenderingContext2D::fillRectMethodCallback()
#8 0x55669116c0c2 v8::internal::FunctionCallbackArguments::Call()
#9 0x556691250495 v8::internal::(anonymous namespace)::HandleApiCallHelper<>()
#10 0x55669124e589 v8::internal::Builtin_Impl_HandleApiCall()
#11 0x55669124dfcd v8::internal::Builtin_HandleApiCall()
#12 0x18d0f1984384 <unknown>

What seems to be happening is that the sync query extension is not supported with the pass through command buffer, and we're missing an extension check in SharedContextRateLimiter::Reset().  The pass_through command buffer is experimental, however, the bug could manifest itself in the wild on machines with older drivers that do not support GL fences.  These are configurations that are not covered by the GPU waterfall, unfortunately.  The regression happened just before the M-64 branch point, so we will have to merge the fix.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 4 2017

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

commit 980f38910ec3814489b5161d0325a6cbe748b3ee
Author: Justin Novosad <junov@chromium.org>
Date: Mon Dec 04 21:41:16 2017

Add missing GL extension check in SharedContextRateLimiter

This bug was unmasked by this CL that re-enabled overdraw
optimizations in GPU-accelerated 2D canvas:
https://chromium-review.googlesource.com/c/chromium/src/+/800750

Crash happens on configuration that do not support the sync query
extension.

BUG= 791608 

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0da7be2f305d61881ba57d999329de2864d68ca5
Reviewed-on: https://chromium-review.googlesource.com/806678
Reviewed-by: Olivia Lai <xlai@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521466}
[modify] https://crrev.com/980f38910ec3814489b5161d0325a6cbe748b3ee/third_party/WebKit/Source/platform/graphics/gpu/SharedContextRateLimiter.cpp

Please add affected OSs.

Comment 3 by junov@chromium.org, Dec 4 2017

Labels: OS-Linux OS-Mac OS-Windows
The affected bots were all linux, but in the wild this most likely affects all desktop platforms (speculating) because we have to support legacy GPU drivers.

Comment 4 by junov@chromium.org, Dec 6 2017

Cc: junov@chromium.org
 Issue 791187  has been merged into this issue.

Comment 5 by junov@chromium.org, Dec 6 2017

 Issue 782681  has been merged into this issue.

Comment 6 by junov@chromium.org, Dec 6 2017

Labels: Merge-Request-64
Project Member

Comment 7 by sheriffbot@chromium.org, Dec 7 2017

Labels: -Merge-Request-64 Hotlist-Merge-Approved Merge-Approved-64
Your change meets the bar and is auto-approved for M64. Please go ahead and merge the CL to branch 3282 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Friendly ping to get an update on this issue as it is marked as beta blocker.
Thanks..!

Comment 9 by xlai@chromium.org, Dec 11 2017

Isn't this already fixed by r521466?

Comment 10 by junov@chromium.org, Dec 11 2017

Status: Fixed (was: Started)
Merged as:

https://chromium.googlesource.com/chromium/src/+/1e1b284ee3f6c51d69eea06797ecfba66a281eb3

Closing bug.
Project Member

Comment 11 by bugdroid1@chromium.org, Dec 11 2017

Labels: -merge-approved-64 merge-merged-3282
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1e1b284ee3f6c51d69eea06797ecfba66a281eb3

commit 1e1b284ee3f6c51d69eea06797ecfba66a281eb3
Author: Justin Novosad <junov@chromium.org>
Date: Mon Dec 11 16:12:53 2017

Add missing GL extension check in SharedContextRateLimiter

This bug was unmasked by this CL that re-enabled overdraw
optimizations in GPU-accelerated 2D canvas:
https://chromium-review.googlesource.com/c/chromium/src/+/800750

Crash happens on configuration that do not support the sync query
extension.

BUG= 791608 
TBR=junov@chromium.org

(cherry picked from commit 980f38910ec3814489b5161d0325a6cbe748b3ee)

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I0da7be2f305d61881ba57d999329de2864d68ca5
Reviewed-on: https://chromium-review.googlesource.com/806678
Reviewed-by: Olivia Lai <xlai@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#521466}
Reviewed-on: https://chromium-review.googlesource.com/819712
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/branch-heads/3282@{#128}
Cr-Branched-From: 5fdc0fab22ce7efd32532ee989b223fa12f8171e-refs/heads/master@{#520840}
[modify] https://crrev.com/1e1b284ee3f6c51d69eea06797ecfba66a281eb3/third_party/WebKit/Source/platform/graphics/gpu/SharedContextRateLimiter.cpp

Sign in to add a comment