New issue
Advanced search Search tips

Issue 754684 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

WebRtcVideoQualityBrowserTest.MANUAL_TestVideoQualityH264 flaky on Mac Tester

Project Member Reported by maxmorin@chromium.org, Aug 11 2017

Issue description

Recent failures: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/42016 https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Tester/builds/42011
Hbos: Could you take a look?
CC ccameron who added the DCHECK. Could this happen for some other reason than the bot running out of memory?

Probably relevant part of log:
[13143:25603:0811/050749.251093:ERROR:io_surface.cc(172)] Failed to allocate IOSurface of size 1280x720.
[13151:25859:0811/050749.251344:FATAL:resource_provider.cc(1991)] Check failed: resource->gpu_memory_buffer. 
0   Chromium Framework                  0x000000011a6ab1bc base::debug::StackTrace::StackTrace(unsigned long) + 28
1   Chromium Framework                  0x000000011a6cfe60 logging::LogMessage::~LogMessage() + 224
2   Chromium Framework                  0x000000011b77a5b1 cc::ResourceProvider::LazyCreateImage(cc::ResourceProvider::Resource*) + 417
3   Chromium Framework                  0x000000011b7789b6 cc::ResourceProvider::LazyAllocate(cc::ResourceProvider::Resource*) + 758
4   Chromium Framework                  0x000000011b7785c5 cc::ResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL(cc::ResourceProvider*, unsigned int, bool) + 213
5   Chromium Framework                  0x000000011b7841ac cc::VideoResourceUpdater::AllocateResource(gfx::Size const&, viz::ResourceFormat, gfx::ColorSpace const&, bool, bool) + 316
6   Chromium Framework                  0x000000011b783f56 cc::VideoResourceUpdater::RecycleOrAllocateResource(gfx::Size const&, viz::ResourceFormat, gfx::ColorSpace const&, bool, bool, int, int) + 326
7   Chromium Framework                  0x000000011b784fa1 cc::VideoResourceUpdater::CreateForSoftwarePlanes(scoped_refptr<media::VideoFrame>) + 737
8   Chromium Framework                  0x000000011b784495 cc::VideoResourceUpdater::CreateExternalResourcesFromVideoFrame(scoped_refptr<media::VideoFrame>) + 341
9   Chromium Framework                  0x000000011b735bab cc::VideoLayerImpl::WillDraw(cc::DrawMode, cc::ResourceProvider*) + 379
10  Chromium Framework                  0x000000011b7eabe9 cc::LayerTreeHostImpl::CalculateRenderPasses(cc::LayerTreeHostImpl::FrameData*) + 1977
11  Chromium Framework                  0x000000011b7ecbf6 cc::LayerTreeHostImpl::PrepareToDraw(cc::LayerTreeHostImpl::FrameData*) + 1670
12  Chromium Framework                  0x000000011b82dc1e cc::ProxyImpl::DrawInternal(bool) + 286
13  Chromium Framework                  0x000000011b82da2d cc::ProxyImpl::ScheduledActionDrawIfPossible() + 221
14  Chromium Framework                  0x000000011b790864 cc::Scheduler::DrawIfPossible() + 84
15  Chromium Framework                  0x000000011b78d5cb cc::Scheduler::ProcessScheduledActions() + 603
16  Chromium Framework                  0x000000011b78d1e2 cc::Scheduler::OnBeginImplFrameDeadline() + 210
17  Chromium Framework                  0x000000011b790e74 base::internal::Invoker<base::internal::BindState<void (cc::Scheduler::*)(), base::WeakPtr<cc::Scheduler> >, void ()>::Run(base::internal::BindStateBase*) + 180
18  Chromium Framework                  0x0000000117fc8a04 base::internal::Invoker<base::internal::BindState<void (base::CancelableCallback<void ()>::*)() const, base::WeakPtr<base::CancelableCallback<void ()> > >, void ()>::Run(base::internal::BindStateBase*) + 180
19  Chromium Framework                  0x000000011a6abafb base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 251
20  Chromium Framework                  0x0000000119ee6f10 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*, bool, blink::scheduler::LazyNow, base::TimeTicks*) + 1232
21  Chromium Framework                  0x0000000119ee4954 blink::scheduler::TaskQueueManager::DoWork(bool) + 804
22  Chromium Framework                  0x0000000119ee9159 base::internal::Invoker<base::internal::BindState<void (blink::scheduler::TaskQueueManager::*)(bool), base::WeakPtr<blink::scheduler::TaskQueueManager>, bool>, void ()>::Run(base::internal::BindStateBase*) + 185
23  Chromium Framework                  0x000000011a6abafb base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 251
24  Chromium Framework                  0x000000011a6e9659 base::MessageLoop::RunTask(base::PendingTask*) + 441
25  Chromium Framework                  0x000000011a6e99ae base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 206
26  Chromium Framework                  0x000000011a6e9d19 base::MessageLoop::DoWork() + 441
27  Chromium Framework                  0x000000011a6ee2ca base::MessagePumpCFRunLoopBase::RunWork() + 42
28  Chromium Framework                  0x000000011a6d20da base::mac::CallWithEHFrame(void () block_pointer) + 10
29  Chromium Framework                  0x000000011a6edbbf base::MessagePumpCFRunLoopBase::RunWorkSource(void*) + 63
30  CoreFoundation                      0x00007fffcbb523b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
31  CoreFoundation                      0x00007fffcbb3363c __CFRunLoopDoSources0 + 556
32  CoreFoundation                      0x00007fffcbb32b26 __CFRunLoopRun + 934
33  CoreFoundation                      0x00007fffcbb32524 CFRunLoopRunSpecific + 420
34  Chromium Framework                  0x000000011a6ee71f base::MessagePumpCFRunLoop::DoRun(base::MessagePump::Delegate*) + 79
35  Chromium Framework                  0x000000011a6ed3dc base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*) + 92
36  Chromium Framework                  0x000000011a6e90a2 base::MessageLoop::Run() + 146
37  Chromium Framework                  0x000000011a725128 base::RunLoop::Run() + 168
38  Chromium Framework                  0x000000011a76d80e base::Thread::Run(base::RunLoop*) + 206
39  Chromium Framework                  0x000000011a76ddcc base::Thread::ThreadMain() + 908
40  Chromium Framework                  0x000000011a7630df base::(anonymous namespace)::ThreadFunc(void*) + 95
41  libsystem_pthread.dylib             0x00007fffe18f29af _pthread_body + 180
42  libsystem_pthread.dylib             0x00007fffe18f28fb _pthread_body + 0
43  libsystem_pthread.dylib             0x00007fffe18f2101 thread_start + 13
 
See also issue 574014
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 11 2017

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

commit 793d633d6a7ab6c03013913b54e0453fc558264b
Author: Max Morin <maxmorin@chromium.org>
Date: Fri Aug 11 13:56:07 2017

Disable flaky WebRTC TestVideoQualityH264 test.

Bug: 754684
Change-Id: Ia5cf815345be9fb9c8af7c55f003c2c3c7478448
TBR: hbos
Reviewed-on: https://chromium-review.googlesource.com/612087
Reviewed-by: Max Morin <maxmorin@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493717}
[modify] https://crrev.com/793d633d6a7ab6c03013913b54e0453fc558264b/chrome/browser/media/webrtc/webrtc_video_quality_browsertest.cc

Components: Tests>Disabled

Comment 4 by hbos@chromium.org, Aug 14 2017

Cc: hbos@chromium.org sprang@chromium.org
Owner: emir...@chromium.org
emircan can you take a look? Or sprang
Cc: dcasta...@chromium.org
dcastagna@ can this be related to https://chromium.googlesource.com/chromium/src/+/25ccb8d1e3c4aed71c2ec593c4941f9a7a0d1147?
Cc: -ccameron@chromium.org emir...@chromium.org
Owner: ccameron@chromium.org
I am not familiar with this resource allocation code. ccameron can you take a look? This is exactly one of the cases you added logs for in issue 574014.
Unfortunately IOSurface allocation sometimes fails flakily. We originally had CHECKs that it never failed, but that spectacularly was unsuccessful (as in the linked issue 574014).

From the log, the IOSurface that we tried to allocate didn't seem big or complicated
  [ERROR:io_surface.cc(172)] Failed to allocate IOSurface of size 640x360.

I wonder if we should just re-try the allocation twice if it fails. It would still flake, but less so.
Sounds good. If you think realloc twice is going to affect release build, we can put it inside a DCHECK_IS_ON(). But we should re-enable this end-to-end test as soon as we can so we are monitoring any other bugs.
Components: Tests>Disabled
Labels: Test-Disabled
Cc: linds...@chromium.org
Labels: Hotlist-DisableReview
@ccameron any updates on the retry you mention in comment 7?
Haven't attempted that.

Sign in to add a comment