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

Issue 709536 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 709521



Sign in to add a comment

ClangToTLinuxASan tester failing media_unittests with signal 11 SEGV_MAPERR 000000000000 in AudioSystemImplTest

Project Member Reported by inglorion@chromium.org, Apr 7 2017

Issue description

First failing build: https://build.chromium.org/p/chromium.fyi/builders/ClangToTLinuxASan%20tester/builds/1982

(Also has unit_tests memory leaks, which are being tracked in https://bugs.chromium.org/p/chromium/issues/detail?id=709095)

Logs: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.fyi%2FClangToTLinuxASan_tester%2F1982%2F%2B%2Frecipes%2Fsteps%2Fmedia_unittests%2F0%2Fstdout

22 tests crashed:
    AudioSystemImplTest.GetDefaultOutputStreamParameters/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetDefaultOutputStreamParameters/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputDeviceDescriptions/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputDeviceDescriptions/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputDeviceDescriptionsNoInputDevices/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputDeviceDescriptionsNoInputDevices/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputStreamParameters/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputStreamParameters/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputStreamParametersNoDevice/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetInputStreamParametersNoDevice/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetOutputDeviceDescriptions/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetOutputDeviceDescriptions/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetOutputDeviceDescriptionsNoInputDevices/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetOutputDeviceDescriptionsNoInputDevices/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetOutputStreamParametersNoDevice/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetOutputStreamParametersNoDevice/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetStreamParameters/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.GetStreamParameters/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.HasInputDevices/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.HasInputDevices/1 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.HasNoInputDevices/0 (../../media/audio/audio_system_impl_unittest.cc:143)
    AudioSystemImplTest.HasNoInputDevices/1 (../../media/audio/audio_system_impl_unittest.cc:143)
 
I reproduced this locally with Clang r299785.
Labels: clang
With Clang r299785 and Chromium a9cdd67d441f3dfd2ec334edd678ea1a011caa64 (last revision known to pass), the error still occurs. Switching Clang to r299647 (last revision known to pass) makes the problem go away. This looks like a Clang bug.
Looks like LLVM r299697 is what broke it (when I revert that change, the crashes stop and the tests pass).
Cc: h...@chromium.org

Comment 5 by h...@chromium.org, Apr 11 2017

Blocking: 709521
Cc: euge...@chromium.org
Status: Fixed (was: Available)
Looks like r299697 was reverted in r299879.

eugenis, not sure if this failure was related to the reason for your revert?

Marking this fixed for now anyway.
Interesting. I'll make sure to check this test before reapplying r299697.
Owner: euge...@chromium.org
Status: Assigned (was: Fixed)
I've reapplied r299697, and the test is failing again.

(gdb) info symbol 0x04245778
vtable for media::MockAudioManager + 16 in section .data.rel.ro of /code/chromium/src/out/asan/media_unittests
(gdb) x/16x 0x04245778
0x4245778 <_ZTVN5media16MockAudioManagerE+16>:	0x016094d0	0x00000000	0x016098a0	0x00000000
0x4245788 <_ZTVN5media16MockAudioManagerE+32>:	0x015be130	0x00000000	0x01609c20	0x00000000
0x4245798 <_ZTVN5media16MockAudioManagerE+48>:	0x015be150	0x00000000	0x015bead0	0x00000000
0x42457a8 <_ZTVN5media16MockAudioManagerE+64>:	0x015bf2d0	0x00000000	0x015bfbd0	0x00000000
(gdb) info symbol 0x016094d0
media::AudioManagerPulse::HasAudioOutputDevices() in section .text of /code/chromium/src/out/asan/media_unittests

Wow.


MockAudioManager and AudioManagerPulse somehow have identical, but distinct vtables
Project Member

Comment 11 by bugdroid1@chromium.org, May 10 2017

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

commit 97228865445e54c1dbdf9ea04f3ad4b900451af9
Author: eugenis <eugenis@chromium.org>
Date: Wed May 10 21:11:21 2017

Move one test in an anonymous namespace.

This avoids ODR violation on media::MockAudioManager.

BUG= 709536 
R=tommi@chromium.org,hans@chromium.org
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel

Review-Url: https://codereview.chromium.org/2858383002
Cr-Commit-Position: refs/heads/master@{#470708}

[modify] https://crrev.com/97228865445e54c1dbdf9ea04f3ad4b900451af9/media/audio/audio_low_latency_input_output_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment