New issue
Advanced search Search tips

Issue 761214 link

Starred by 3 users

Issue metadata

Status: Available
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 1
Type: Bug

Blocking:
issue 738275
issue 882906
issue 754861



Sign in to add a comment

RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest failed content_unittests

Project Member Reported by scottmg@chromium.org, Sep 1 2017

Issue description

00248.838] 02820.02882> [ RUN      ] RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest
[00248.839] 02820.02882> [3:1644232871:0901/013726.362674:244546414:ERROR:video_capture_device_factory.cc(61)] Not implemented reached in static media::VideoCaptureDeviceFactory *media::VideoCaptureDeviceFactory::CreateVideoCaptureDeviceFactory(scop
[00248.842] 02820.02882> ed_refptr<base::SingleThreadTaskRunner>, gpu::GpuMemoryBufferManager *)
[00248.842] 02820.02882>
[00248.842] 02820.02882> GMOCK WARNING:
[00248.844] 02820.02882> Uninteresting mock function call - taking default action specified at:
[00248.844] 02820.02882> ../../content/test/renderer_audio_output_stream_factory_context_impl_unittest.cc:101:
[00248.846] 02820.02882>     Function call: HasAudioOutputDevices()
[00248.846] 02820.02882>           Returns: true
[00248.846] 02820.02882> NOTE: You can safely ignore the above warning unless this call should not happen.  Do not suppress it by blindly adding an EXPECT_CALL() if you don't mean to enforce the call.  See https://github.com/google/googletest/blob/m
[00248.847] 02820.02882> aster/googlemock/docs/CookBook.md#knowing-when-to-expect for details.
[00248.847] 02820.02882> [3:1669924525:0901/013730.121141:248304869:WARNING:audio_sync_reader.cc(192)] AudioSyncReader::Read timed out, audio glitch count=1
[00248.847] 02820.02882> [3:1669924525:0901/013730.415025:248598745:FATAL:renderer_audio_output_stream_factory_context_impl_unittest.cc(180)] Check failed: cc::MathUtil::IsFloatNearlyTheSame( expected_buffer->channel(0)[frame], dest->channel(0)[fram
[00248.847] 02820.02882> e]). Got 0, expected 0.587785
#00: StackTrace at base/debug/stack_trace_fuchsia.cc:173
#01: std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::endl<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) at buildtools/third_party/libc++/trunk/include/ostream:1001
      (inlined by) std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >& (*)(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)) at buildtools/third_party/libc++/trunk/include/ostream:195
      (inlined by) ~LogMessage at base/logging.cc:561
#02: content::(anonymous namespace)::MockAudioOutputStream::ThreadMain() at content/test/renderer_audio_output_stream_factory_context_impl_unittest.cc:176
#03: base::(anonymous namespace)::ThreadFunc(void*) at base/threading/platform_thread_posix.cc:77
#04: pc 0x5c61c53634f6 (libc.so,0x194f6)
#05: pc 0x5c61c53dad7a (libc.so,0x90d7a)
[00248.852] 02820.02882>
[00248.853] 02820.02882> [3498/4542] RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest (CRASHED)

I tried to repro this earlier in the week and couldn't so re-enabled this test. A bit prematurely it seems.

https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.fyi%2FFuchsia%2F9113%2F%2B%2Frecipes%2Fsteps%2Fcontent_unittests%2F0%2Fstdout

https://build.chromium.org/p/chromium.fyi/builders/Fuchsia/builds/9113
 
Status: Started (was: Assigned)
OK, this one flaked 3 times overnight. :/ Looking now.
Blocking: 738275
Hmm, I can't repro this float diff, but in trying to do so I get a perhaps more concerning reliable failure via repeating the test a bunch:

out/fuch/bin/run_content_unittests --gtest_filter=RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest --gtest_repeat=-1 --gtest_break_on_failure

[00070.081] 02412.02459> [1/1] RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest (73 ms)
[00070.081] 02412.02459> SUCCESS: all tests passed.
[00070.414] 02412.02459> [1/1] RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest (93 ms)
[00070.414] 02412.02459> SUCCESS: all tests passed.
[00070.714] 02412.02459> [1/1] RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest (95 ms)
[00070.715] 02412.02459> SUCCESS: all tests passed.
[00071.070] 02412.02459> [1/1] RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest (90 ms)
[00071.070] 02412.02459> SUCCESS: all tests passed.
[00071.286] 51870.51901> WARNING: Could not allocate new port packet
[00071.286] 51870.51901> WARNING: Could not allocate new port packet
[00076.010] 02412.02459> WARNING: Could not allocate new port packet
[00076.010] 02412.02459> [3:2024840801:0901/164358.601389:76010152:ERROR:message_pump_fuchsia.cc(289)] mx_port_queue failed: -4 (port=2013830513)

and after that we're toast and continue to fail to allocate packets. This process does a setup of mojo/ipc/etc. so perhaps we're leaking something in there.

Comment 4 by w...@chromium.org, Sep 1 2017

Cc: w...@chromium.org
We don't currently have any flow-control on e.g. mx_channel_write, because the platform doesn't yet provide the necessary signal, so I wonder if we're exhausting system resources that way?
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 1 2017

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

commit 77dcd14773244dc6b8edcaa96b229fd7ea31dee7
Author: Scott Graham <scottmg@chromium.org>
Date: Fri Sep 01 20:14:05 2017

Roll Fuchsia SDK to d9ccb5f3ba70118dba419f8202ebd74613005c9c

Includes
https://fuchsia.googlesource.com/magenta/+/be89b326bedee758902868d7e5346862075abf6f
which fixes the behaviour seen in https://bugs.chromium.org/p/chromium/issues/detail?id=761214#c3.

Bug: 707030, 761214,  754861 
Change-Id: I53e708a66c0a51bba9b26ffb42d094d90fe2eae6
TBR: sergeyu@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/648220
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499272}
[modify] https://crrev.com/77dcd14773244dc6b8edcaa96b229fd7ea31dee7/DEPS

Cc: dalecur...@chromium.org
For the actual problem reported in #c0 (rather than the one that's more to do with --gtest_repeat, I think, and fixed by the Fuchsia SDK roll) it seems that it's due to an audio buffer underrun.

If I lower maximum_wait_time_ for AudioSyncReader
https://cs.chromium.org/chromium/src/content/browser/renderer_host/media/audio_sync_reader.cc?rcl=c794cf6057400281fad24cdb86a990ef224cfa25&l=64 then I can repro locally (to 5ms instead of 10ms), then I eventually get

[00132.318] 91167.91369> [3:1162109101:0901/210548.087012:132318032:WARNING:audio_sync_reader.cc(189)] AudioSyncReader::Read timed out, audio glitch count=1
[00132.319] 91167.91369> [3:1162109101:0901/210548.087329:132318334:FATAL:renderer_audio_output_stream_factory_context_impl_unittest.cc(180)] Check failed: cc::MathUtil::IsFloatNearlyTheSame( expected_buffer->channel(0)[frame], dest->channel(0)[fram
[00132.319] 91167.91369> e]). Got 0, expected 0.587785

So, I'm not sure if this failure is worth worrying about or not. Maybe the test need to check if the audio read timed out?
Test shouldn't time out, so it's expectations are correct, but for fuschia since it's in an emulator the timeout is probably too low. I'd either disable the test for now (too slow) or bump the timeout using an OS_FUSCIA block with a tracking bug,.
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 6 2017

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

commit f875ee8a31ed51d820ad6a088283e807f092ca17
Author: Sergey Ulanov <sergeyu@chromium.org>
Date: Wed Sep 06 04:49:53 2017

Disable content_unittests that fail on bots.

NOTRY=true

Bug: 761214,  762125 
Change-Id: Ibbc5d71b2a75ef5fa7bf55675e039fff139cdd9e
Reviewed-on: https://chromium-review.googlesource.com/651146
Commit-Queue: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: Scott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499880}
[modify] https://crrev.com/f875ee8a31ed51d820ad6a088283e807f092ca17/testing/buildbot/filters/fuchsia.content_unittests.filter

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 25 2017

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

commit f732be588c806b44eab63e1370a7914d61cc7705
Author: Scott Graham <scottmg@chromium.org>
Date: Wed Oct 25 05:24:05 2017

fuchsia: Disable some more tests to try to get content_unittests on to waterfall

Bug: 776424, 761214, 777916, 777917
Change-Id: I9906ff9ec53c3afd045ece861f0f9cdfd1a24727
Reviewed-on: https://chromium-review.googlesource.com/733955
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Scott Graham <scottmg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#511380}
[modify] https://crrev.com/f732be588c806b44eab63e1370a7914d61cc7705/testing/buildbot/filters/fuchsia.content_unittests.filter

Blocking: 882906
Cc: scottmg@chromium.org
Owner: ----
Status: Available (was: Started)
Labels: -Pri-3 OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows Pri-1
Owner: maxmorin@chromium.org
Summary: RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest failed content_unittests (was: RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest failed on Fuchsia content_unittests)
This is flaky on all platforms (win/mac/linux/android).

https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=content_unittests&tests=RendererAudioOutputStreamFactoryIntegrationTest
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 30

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

commit 3c464163eb71797e80d2833c9488d1371b9a2a81
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Tue Oct 30 04:53:44 2018

Disable RendererAudioOutputStreamFactoryIntegrationTest.StreamIntegrationTest

TBR=maxmorin@chromium.org

Bug: 761214
Change-Id: I73ba6ab6b92ed20349397aa8c6f9c55a5d95ca10
Reviewed-on: https://chromium-review.googlesource.com/c/1307021
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603789}
[modify] https://crrev.com/3c464163eb71797e80d2833c9488d1371b9a2a81/content/test/renderer_audio_output_stream_factory_context_impl_unittest.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Oct 31

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

commit e808baa39dcf75383dfdbec70d321139db6ecfde
Author: Max Morin <maxmorin@chromium.org>
Date: Wed Oct 31 12:41:16 2018

Deflake RendererAudioOutputStreamFactoryIntegrationTest

I reproduced the flake locally and found that the RenderCallback
was busy generating sine values, causing an underrun.

This CL increases the buffer duration by 10
(also increasing the timeout by 5), and decreases the sample
frequency (so that fewer values have to be generated).

Since the test was quite slow, kBuffers is also reduced a bit.

With these changes, the test ran 1M times with asan without any
flakes.

Bug: 761214
Change-Id: I0855a63edbd62e4c4f9afe4d9d1f68c2b61ff61c
Reviewed-on: https://chromium-review.googlesource.com/c/1309734
Reviewed-by: Oskar Sundbom <ossu@chromium.org>
Commit-Queue: Max Morin <maxmorin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604225}
[modify] https://crrev.com/e808baa39dcf75383dfdbec70d321139db6ecfde/content/test/renderer_audio_output_stream_factory_context_impl_unittest.cc

Sign in to add a comment