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

Issue 595951 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 576259
Owner:
Last visit > 30 days ago
Closed: Mar 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Conditional jump on Uninitialized value in skia/GrGLGpu

Project Member Reported by osh...@chromium.org, Mar 18 2016

Issue description

https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%284%29/builds/37534

It's probably this skia-roll

https://chromium.googlesource.com/chromium/src/+/862cf4ef5b23488264fe51e019f2ba203de297fc

reed@ / baslomon@, can you find the right owner?

### BEGIN MEMORY TOOL REPORT (error hash=#FB43B500DC69C149#)
Command: /mnt/data/b/build/slave/chromium-rel-chromeos-valgrind-tests-4/build/src/out/Release/compositor_unittests --gtest_print_time --single-process-tests --test-tiny-timeout=1000
UninitCondition
Conditional jump or move depends on uninitialised value(s)
  GrGLGpu::bindTexture(int, GrTextureParams const&, GrGLTexture*) (third_party/skia/src/gpu/gl/GrGLGpu.cpp:3415)
  GrGLGpu::flushGLState(GrPipeline const&, GrPrimitiveProcessor const&) (third_party/skia/src/gpu/gl/GrGLGpu.cpp:2105)
  GrGLGpu::onDraw(GrPipeline const&, GrPrimitiveProcessor const&, GrMesh const*, int) (third_party/skia/src/gpu/gl/GrGLGpu.cpp:2916)
  GrGpu::draw(GrPipeline const&, GrPrimitiveProcessor const&, GrMesh const*, int) (third_party/skia/src/gpu/GrGpu.cpp:501)
  GrVertexBatch::onDraw(GrBatchFlushState*) (third_party/skia/src/gpu/batches/GrVertexBatch.cpp:76)
  GrBatch::draw(GrBatchFlushState*) (/mnt/data/b/build/slave/chromium-rel-chromeos-valgrind-tests-4/build/src/out/Release/compositor_unittests)
  GrDrawTarget::drawBatches(GrBatchFlushState*) (third_party/skia/src/gpu/GrDrawTarget.cpp:226)
  GrDrawingManager::flush() (third_party/skia/src/gpu/GrDrawingManager.cpp:84)
  GrContext::flush(int) (third_party/skia/src/gpu/GrContext.cpp:218)
  GrContext::prepareSurfaceForExternalIO(GrSurface*) (third_party/skia/src/gpu/GrContext.cpp:514)
  GrSurface::prepareForExternalIO() (third_party/skia/src/gpu/GrSurface.cpp:164)
  SkGpuDevice::flush() (third_party/skia/src/gpu/SkGpuDevice.cpp:1763)
  SkCanvas::flush() (third_party/skia/src/core/SkCanvas.cpp:812)
  cc::ApplyImageFilter(std::unique_ptr<cc::GLRenderer::ScopedUseGrContext, std::default_delete<cc::GLRenderer::ScopedUseGrContext> >, cc::ResourceProvider*, gfx::RectF const&, gfx::RectF const&, gfx::Vector2dF const&, SkImageFilter*, cc::ScopedResource*) (cc/output/gl_renderer.cc:668)
  cc::GLRenderer::DrawRenderPassQuad(cc::DirectRenderer::DrawingFrame*, cc::RenderPassDrawQuad const*, gfx::QuadF const*) (cc/output/gl_renderer.cc:1041)
  cc::GLRenderer::DoDrawQuad(cc::DirectRenderer::DrawingFrame*, cc::DrawQuad const*, gfx::QuadF const*) (cc/output/gl_renderer.cc:535)
  cc::DirectRenderer::DrawRenderPass(cc::DirectRenderer::DrawingFrame*, cc::RenderPass const*) (cc/output/direct_renderer.cc:520)
  cc::DirectRenderer::DrawRenderPassAndExecuteCopyRequests(cc::DirectRenderer::DrawingFrame*, cc::RenderPass*) (cc/output/direct_renderer.cc:418)
  cc::DirectRenderer::DrawFrame(std::vector<std::unique_ptr<cc::RenderPass, std::default_delete<cc::RenderPass> >, std::allocator<std::unique_ptr<cc::RenderPass, std::default_delete<cc::RenderPass> > > >*, float, gfx::Rect const&, gfx::Rect const&, bool) (cc/output/direct_renderer.cc:272)
  cc::LayerTreeHostImpl::DrawLayers(cc::LayerTreeHostImpl::FrameData*) (cc/trees/layer_tree_host_impl.cc:1665)
  cc::SingleThreadProxy::DoComposite(cc::LayerTreeHostImpl::FrameData*) (cc/trees/single_thread_proxy.cc:644)
  cc::SingleThreadProxy::ScheduledActionDrawAndSwapIfPossible() (cc/trees/single_thread_proxy.cc:841)
  non-virtual thunk to cc::SingleThreadProxy::ScheduledActionDrawAndSwapIfPossible() (cc/trees/single_thread_proxy.cc:838)
  cc::Scheduler::DrawAndSwapIfPossible() (cc/scheduler/scheduler.cc:626)
  cc::Scheduler::ProcessScheduledActions() (cc/scheduler/scheduler.cc:706)
  cc::Scheduler::OnBeginImplFrameDeadline() (cc/scheduler/scheduler.cc:615)
Suppression (error hash=#FB43B500DC69C149#):
  For more info on using suppressions see http://dev.chromium.org/developers/tree-sheriffs/sheriff-details-chromium/memory-sheriff#TOC-Suppressing-memory-reports
{
   <insert_a_suppression_name_here>
   Memcheck:Uninitialized
   fun:_ZN7GrGLGpu11bindTextureEiRK15GrTextureParamsP11GrGLTexture
   fun:_ZN7GrGLGpu12flushGLStateERK10GrPipelineRK20GrPrimitiveProcessor
   fun:_ZN7GrGLGpu6onDrawERK10GrPipelineRK20GrPrimitiveProcessorPK6GrMeshi
   fun:_ZN5GrGpu4drawERK10GrPipelineRK20GrPrimitiveProcessorPK6GrMeshi
   fun:_ZN13GrVertexBatch6onDrawEP17GrBatchFlushState
   fun:_ZN7GrBatch4drawEP17GrBatchFlushState
   fun:_ZN12GrDrawTarget11drawBatchesEP17GrBatchFlushState
   fun:_ZN16GrDrawingManager5flushEv
   fun:_ZN9GrContext5flushEi
   fun:_ZN9GrContext27prepareSurfaceForExternalIOEP9GrSurface
   fun:_ZN9GrSurface20prepareForExternalIOEv
   fun:_ZN11SkGpuDevice5flushEv
   fun:_ZN8SkCanvas5flushEv
   fun:_ZN2ccL16ApplyImageFilterESt10unique_ptrINS_10GLRenderer18ScopedUseGrContextESt14default_deleteIS2_EEPNS_16ResourceProviderERKN3gfx5RectFESB_RKNS8_9Vector2dFEP13SkImageFilterPNS_14ScopedResourceE
   fun:_ZN2cc10GLRenderer18DrawRenderPassQuadEPNS_14DirectRenderer12DrawingFrameEPKNS_18RenderPassDrawQuadEPKN3gfx5QuadFE
   fun:_ZN2cc10GLRenderer10DoDrawQuadEPNS_14DirectRenderer12DrawingFrameEPKNS_8DrawQuadEPKN3gfx5QuadFE
   fun:_ZN2cc14DirectRenderer14DrawRenderPassEPNS0_12DrawingFrameEPKNS_10RenderPassE
   fun:_ZN2cc14DirectRenderer36DrawRenderPassAndExecuteCopyRequestsEPNS0_12DrawingFrameEPNS_10RenderPassE
   fun:_ZN2cc14DirectRenderer9DrawFrameEPSt6vectorISt10unique_ptrINS_10RenderPassESt14default_deleteIS3_EESaIS6_EEfRKN3gfx4RectESD_b
   fun:_ZN2cc17LayerTreeHostImpl10DrawLayersEPNS0_9FrameDataE
   fun:_ZN2cc17SingleThreadProxy11DoCompositeEPNS_17LayerTreeHostImpl9FrameDataE
   fun:_ZN2cc17SingleThreadProxy36ScheduledActionDrawAndSwapIfPossibleEv
}
 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 18 2016

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

commit 8746463795205ee316dfca554f8fa5ef7d1b7e32
Author: oshima <oshima@chromium.org>
Date: Fri Mar 18 03:03:07 2016

Suppress jump on uninitialized value in skia

BUG= 595951 
TBR=reed@chromium.org

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

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

[modify] https://crrev.com/8746463795205ee316dfca554f8fa5ef7d1b7e32/tools/valgrind/memcheck/suppressions.txt

Comment 2 by reed@google.com, Mar 18 2016

Cc: -bsalomon@chromium.org mtkl...@chormium.org reed@google.com
Owner: bsalomon@chromium.org

Comment 3 by bsalo...@google.com, Mar 18 2016

Cc: brianosman@chromium.org egdaniel@chromium.org
Here are the changes in the Skia roll:

2016-03-17 brianosman Revert of sRGB support in Ganesh. Several pieces: (patchset #12 id:220001 of https://codereview.chromium.org/1789663002/ )
2016-03-17 cdalton Add asRRect method to SkClipStack::Element
2016-03-17 mtklein DM: make --verbose send the vlog to stderr.
2016-03-17 brianosman sRGB support in Ganesh. Several pieces:
2016-03-17 jbroman Fix pointer aliasing bug in SkImageFilter::computeFastBounds.
2016-03-17 mtklein just write the verbose log file any time we have a --writePath
2016-03-17 egdaniel Update how we send draws to gpu backend to reduce state setting.


Here is the line that caused the error:

    if (this->glCaps().textureSwizzleSupport() &&
        (setAll || memcmp(newTexParams.fSwizzleRGBA,
                          oldTexParams.fSwizzleRGBA,
                          sizeof(newTexParams.fSwizzleRGBA)))) {



The most likely suspects are brianosman@'s change (though it was reverted in the same roll...) and egdaniel@'s change. Brian, I know some of your changes have been bouncing in and out, anything that could affect whether this has stuck.
Mergedinto: 576259
Status: Duplicate (was: Assigned)

Comment 5 by rmis...@google.com, Jun 13 2016

Cc: -mtkl...@chormium.org mtklein@chromium.org

Sign in to add a comment