Note: Google Test filter = MixerInputConnectionPoc.NegativePlaybackRateHeapOOBRead [==========] Running 1 test from 1 test suite. [----------] Global test environment set-up. [----------] 1 test from MixerInputConnectionPoc [ RUN ] MixerInputConnectionPoc.NegativePlaybackRateHeapOOBRead [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:264] StreamMixer [27345:27345:WARNING:chromecast/media/cma/backend/mixer/post_processing_pipeline_parser.cc:90] No post-processor config found. [27345:27345:WARNING:chromecast/media/cma/backend/mixer/post_processing_pipeline_parser.cc:178] No post-processor description found for "mix" in . Using passthrough. [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_pipeline.cc:91] 2 input channels to 'mix' group [27345:27345:INFO:chromecast/media/cma/backend/mixer/post_processing_pipeline_impl.cc:59] Create pipeline for 2 input channels [27345:27345:INFO:chromecast/media/cma/backend/mixer/post_processing_pipeline_impl.cc:119] Created pipeline with 2 output channels [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:69] Done creating postrender pipeline for mix [27345:27345:WARNING:chromecast/media/cma/backend/mixer/post_processing_pipeline_parser.cc:178] No post-processor description found for "linearize" in . Using passthrough. [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_pipeline.cc:112] 2 input channels to 'linearize' group [27345:27345:INFO:chromecast/media/cma/backend/mixer/post_processing_pipeline_impl.cc:59] Create pipeline for 2 input channels [27345:27345:INFO:chromecast/media/cma/backend/mixer/post_processing_pipeline_impl.cc:119] Created pipeline with 2 output channels [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:69] Done creating postrender pipeline for linearize [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:426] ResetPostProcessorsForTest disregard previous PostProcessor messages. [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_pipeline.cc:66] 2 input channels to 'default' group [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:69] Done creating postrender pipeline for default [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_pipeline.cc:91] 2 input channels to 'mix' group [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:69] Done creating postrender pipeline for mix [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_pipeline.cc:112] 2 input channels to 'linearize' group [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:69] Done creating postrender pipeline for linearize [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input_connection.cc:411] Create 0x7ce59f7e1280 (default), content type: MEDIA, focus type: MEDIA, fill size: 480, algorithm fill size: 240, channel count: 1, input sample rate: 48000, start threshold: 0, max queue size: 8192, pts_is_timestamp: 1 [27345:27345:INFO:chromecast/media/audio/net/audio_socket_service_uds.cc:61] Using endpoint /tmp/mixer-service [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:352] [STREAM]default: 2ch@48000hz -> [GROUP]default -> 2ch@48000hz [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:352] [GROUP]default: 2ch@48000hz -> [GROUP]mix -> 2ch@48000hz [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:352] [GROUP]mix: 2ch@48000hz -> [GROUP]linearize -> 2ch@48000hz [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:78] Creating prerender pipeline for default [27345:27345:INFO:chromecast/media/cma/backend/mixer/filter_group.cc:87] Done creating prerender pipeline for default [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:690] Input source channel count = 1 [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:693] Dynamic channel count not enabled; using stereo [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:690] Input source channel count = 1 [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:693] Dynamic channel count not enabled; using stereo [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:494] Start with 0 active inputs [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:547] Output 2 channels at 48000 samples per second [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:565] Using 2 loopback channels [27345:27345:INFO:chromecast/media/cma/backend/mixer/stream_mixer.cc:721] Add input 0x7ce59f7e1288 to default @ 48000 samples per second. Is primary source? = 1 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input_connection.cc:896] 0x7ce59f7e1280 Mixer read size: 128 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input_connection.cc:909] 0x7ce59f7e1280 Updated start threshold: 516 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input.cc:458] default(0x7ce59f7e1288): set volume limits to [0, 1] [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input.cc:443] default(0x7ce59f7e1288): type volume = 0, effective multiplier = 0 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input.cc:492] default(0x7ce59f7e1288): mute volume = 1, effective multiplier = 0 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input.cc:471] default(0x7ce59f7e1288): output limit = 1, effective multiplier = 0 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input_connection.cc:943] Start 0x7ce59f7e1280 [27345:27345:INFO:chromecast/media/cma/backend/mixer/mixer_input_connection.cc:640] 0x7ce59f7e1280 SetMediaPlaybackRate rate=-1 AddressSanitizer:DEADLYSIGNAL ================================================================= ==27345==ERROR: AddressSanitizer: SEGV on unknown address 0x7d559f7b5900 (pc 0x7f85a08709c9 bp 0x7ffcd789e1e0 sp 0x7ffcd789d998 T0) ==27345==The signal is caused by a READ memory access. #0 0x7f85a08709c9 (/lib/x86_64-linux-gnu/libc.so.6+0x1529c9) (BuildId: 6196744a316dbd57c0fd8968df1680aac482cec4) #1 0x55ba273b59d7 in chromecast::media::MixerInputConnection::FillFromQueue(int, float* const*, int) gen/third_party/libc++/src/include/__string/constexpr_c_functions.h:227:5 #2 0x55ba273b5334 in chromecast::media::MixerInputConnection::FillTimestampedAudio(int, long, float* const*, bool) chromecast/media/cma/backend/mixer/mixer_input_connection.cc:1259:13 #3 0x55ba273a9570 in chromecast::media::MixerInputConnection::TimestampedFader::FillFramesForFader(int, long, float* const*) chromecast/media/cma/backend/mixer/mixer_input_connection.cc:322:32 #4 0x55ba27b9b434 in chromecast::media::AudioFader::FillFrames(int, long, float* const*) chromecast/media/audio/audio_fader.cc:100:20 #5 0x55ba273b7aef in chromecast::media::MixerInputConnection::TimestampedFader::FillFrames(int, long, float* const*) chromecast/media/cma/backend/mixer/mixer_input_connection.cc:275:26 #6 0x55ba27b99a1f in chromecast::media::PlaybackRateShifter::FillFrames(int, long, float* const*) chromecast/media/audio/playback_rate_shifter.cc:110:33 #7 0x55ba273b3c15 in chromecast::media::MixerInputConnection::FillAudioPlaybackFrames(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay, media::AudioBus*) chromecast/media/cma/backend/mixer/mixer_input_connection.cc:1083:29 #8 0x55ba273a3669 in chromecast::media::MixerInput::ResamplerReadCallback(int, media::AudioBus*) chromecast/media/cma/backend/mixer/mixer_input.cc:396:25 #9 0x55ba273a7dd1 in void base::internal::Invoker, base::internal::BindState>, void (int, media::AudioBus*)>::RunImpl> const&, 0ul>(void (chromecast::media::MixerInput::* const&)(int, media::AudioBus*), std::__Cr::tuple> const&, std::__Cr::integer_sequence, int&&, media::AudioBus*&&) base/functional/bind_internal.h:1069:14 #10 0x55ba273a7c73 in base::internal::Invoker, base::internal::BindState>, void (int, media::AudioBus*)>::Run(base::internal::BindStateBase*, int, media::AudioBus*) base/functional/bind_internal.h:989:12 #11 0x55ba274e058b in base::RepeatingCallback::Run(int, media::AudioBus*) const & base/functional/callback.h:346:12 #12 0x55ba2752ff01 in void base::internal::InvokeHelper, void, 0ul, 1ul>::MakeItSo, int> const&, int, float*>(void (media::MultiChannelResampler::* const&)(int, int, float*), std::__Cr::tuple, int> const&, int&&, float*&&) base/functional/bind_internal.h:932:12 #13 0x55ba2752fe19 in void base::internal::Invoker, base::internal::BindState, int>, void (int, float*)>::RunImpl, int> const&, 0ul, 1ul>(void (media::MultiChannelResampler::* const&)(int, int, float*), std::__Cr::tuple, int> const&, std::__Cr::integer_sequence, int&&, float*&&) base/functional/bind_internal.h:1069:14 #14 0x55ba2752fcab in base::internal::Invoker, base::internal::BindState, int>, void (int, float*)>::Run(base::internal::BindStateBase*, int, float*) base/functional/bind_internal.h:989:12 #15 0x55ba2756991f in base::RepeatingCallback::Run(int, float*) const & base/functional/callback.h:346:12 #16 0x55ba27569553 in media::SincResampler::Resample(base::span) media/base/sinc_resampler.cc:355:14 #17 0x55ba2752e900 in media::MultiChannelResampler::Resample(int, media::AudioBus*) media/base/multi_channel_resampler.cc:56:21 #18 0x55ba273a66d7 in chromecast::media::MixerInput::FillBuffer(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay, media::AudioBus*) chromecast/media/cma/backend/mixer/mixer_input.cc:359:17 #19 0x55ba273a5ad0 in chromecast::media::MixerInput::FillAudioData(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay, media::AudioBus*) chromecast/media/cma/backend/mixer/mixer_input.cc:303:16 #20 0x55ba273a5440 in chromecast::media::MixerInput::Render(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay) chromecast/media/cma/backend/mixer/mixer_input.cc:232:7 #21 0x55ba2739ddca in chromecast::media::FilterGroup::MixAndFilter(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay) chromecast/media/cma/backend/mixer/filter_group.cc:204:16 #22 0x55ba2739dc86 in chromecast::media::FilterGroup::MixAndFilter(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay) chromecast/media/cma/backend/mixer/filter_group.cc:195:51 #23 0x55ba2739dc86 in chromecast::media::FilterGroup::MixAndFilter(int, chromecast::media::MediaPipelineBackend::AudioDecoder::RenderingDelay) chromecast/media/cma/backend/mixer/filter_group.cc:195:51 #24 0x55ba273d6332 in chromecast::media::StreamMixer::WriteOneBuffer() chromecast/media/cma/backend/mixer/stream_mixer.cc:895:20 #25 0x55ba273d5dd1 in chromecast::media::StreamMixer::PlaybackLoop() chromecast/media/cma/backend/mixer/stream_mixer.cc:881:3 #26 0x55ba273dd77c in void base::internal::Invoker const&>, base::internal::BindState>, void ()>::RunImpl> const&, 0ul>(void (chromecast::media::StreamMixer::* const&)(), std::__Cr::tuple> const&, std::__Cr::integer_sequence) base/functional/bind_internal.h:1069:14 #27 0x55ba27ce9446 in base::TaskAnnotator::RunTaskImpl(base::PendingTask&) base/functional/callback.h:155:12 #28 0x55ba27d5ce99 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWorkImpl(base::LazyNow*) base/task/common/task_annotator.h:112:5 #29 0x55ba27d5bd0a in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::DoWork() base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:340:40 #30 0x55ba27eb96f6 in base::MessagePumpEpoll::Run(base::MessagePump::Delegate*) base/message_loop/message_pump_epoll.cc:224:55 #31 0x55ba27d5e5a7 in base::sequence_manager::internal::ThreadControllerWithMessagePumpImpl::Run(bool, base::TimeDelta) base/task/sequence_manager/thread_controller_with_message_pump_impl.cc:644:12 #32 0x55ba27cb1de0 in base::RunLoop::Run(base::Location const&) base/run_loop.cc:135:14 #33 0x55ba25924560 in chromecast::media::MixerInputConnectionPoc_NegativePlaybackRateHeapOOBRead_Test::TestBody() chromecast/media/cma/backend/mixer/mixer_input_connection_poc_test.cc:209:10 #34 0x55ba2600b0f5 in testing::Test::Run() third_party/googletest/src/googletest/src/gtest.cc:2746:5 #35 0x55ba2600c0be in testing::TestInfo::Run() third_party/googletest/src/googletest/src/gtest.cc:2892:11 #36 0x55ba2600d41f in testing::TestSuite::Run() third_party/googletest/src/googletest/src/gtest.cc:3070:30 #37 0x55ba2602032e in testing::internal::UnitTestImpl::RunAllTests() third_party/googletest/src/googletest/src/gtest.cc:6062:44 #38 0x55ba2601f8ce in testing::UnitTest::Run() third_party/googletest/src/googletest/src/gtest.cc #39 0x55ba27f261ea in base::TestSuite::Run() base/test/test_suite.cc:440:16 #40 0x55ba27efba93 in base::internal::Invoker, base::internal::BindState>, int ()>::RunOnce(base::internal::BindStateBase*) base/functional/bind_internal.h:740:12 #41 0x55ba261b0858 in base::OnceCallback::Run() && base/functional/callback.h:155:12 #42 0x55ba27f31d49 in base::(anonymous namespace)::LaunchUnitTestsInternal(base::OnceCallback, unsigned long, int, unsigned long, bool, base::RepeatingCallback, base::OnceCallback) base/test/launcher/unit_test_launcher.cc:189:38 #43 0x55ba27f3174e in base::LaunchUnitTests(int, char**, base::OnceCallback, unsigned long) base/test/launcher/unit_test_launcher.cc:337:10 #44 0x55ba27efb79f in main base/test/run_all_unittests.cc:79:10 #45 0x7f85a0745249 (/lib/x86_64-linux-gnu/libc.so.6+0x27249) (BuildId: 6196744a316dbd57c0fd8968df1680aac482cec4) ==27345==Register values: rax = 0x00007d159f7e1e80 rbx = 0x00007d159f7e1e80 rcx = 0x00000fa333ef4448 rdx = 0x00000000000003c0 rdi = 0x00007d159f7e1e80 rsi = 0x00007d559f7b5900 rbp = 0x00007ffcd789e1e0 rsp = 0x00007ffcd789d998 r8 = 0x00000fa333ef4448 r9 = 0x000000000000000f r10 = 0x000000000000000c r11 = 0x0000000000000001 r12 = 0x00007d559f7b5900 r13 = 0x000000000000037f r14 = 0x00000000000003c0 r15 = 0x00007d559f7b5900 AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x1529c9) (BuildId: 6196744a316dbd57c0fd8968df1680aac482cec4) ==27345==ADDITIONAL INFO ==27345==Note: Please include this section with the ASan report. Task trace: #0 0x55ba273d5e1c in chromecast::media::StreamMixer::PlaybackLoop() chromecast/media/cma/backend/mixer/stream_mixer.cc:884:32 #1 0x55ba273d5e1c in chromecast::media::StreamMixer::PlaybackLoop() chromecast/media/cma/backend/mixer/stream_mixer.cc:884:32 #2 0x55ba273d55a9 in chromecast::media::StreamMixer::Start() chromecast/media/cma/backend/mixer/stream_mixer.cc:620:32 #3 0x55ba273d7297 in chromecast::media::StreamMixer::AddInput(chromecast::media::MixerInput::Source*) chromecast/media/cma/backend/mixer/stream_mixer.cc:711:3 ==27345==END OF ADDITIONAL INFO ==27345==ABORTING