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

Issue 774365 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug

Blocked on:
issue 792140

Blocking:
issue 774350
issue 791734



Sign in to add a comment

AudioWorkletGlobalScopeTest.Basic consistently fails on first run

Project Member Reported by dcheng@chromium.org, Oct 13 2017

Issue description

1. Run all webkit_unit_tests (i.e. just run out/Release/webkit_unit_tests with no options)
2. Observe the test crash.

Failing output:
[ RUN      ] AudioWorkletGlobalScopeTest.Basic     
[9854:9854:1012/211851.218672:21288556350:FATAL:WorkletThreadHolder.h(57)] Check failed: !thread_holder_instance_.              
#0 0x7efd11c73b67 base::debug::StackTrace::StackTrace()                                                
#1 0x7efd11c9bf31 logging::LogMessage::~LogMessage()                                                   
#2 0x7efd0a2b9f98 blink::WorkletThreadHolder<>::CreateForTest()                                        
#3 0x7efd0a2baa17 blink::AudioWorkletThread::CreateSharedBackingThreadForTest()                        
#4 0x000001766194 blink::AudioWorkletGlobalScopeTest::SetUp()                                          
#5 0x00000079e3be testing::Test::Run()             
#6 0x00000079ee90 testing::TestInfo::Run()         
#7 0x00000079f377 testing::TestCase::Run()         
#8 0x0000007a5897 testing::internal::UnitTestImpl::RunAllTests()                                       
#9 0x0000007a5523 testing::UnitTest::Run()         
#10 0x000001800068 base::TestSuite::Run()          
#11 0x0000006951e5 (anonymous namespace)::runHelper()                                                  
#12 0x0000018022be base::(anonymous namespace)::LaunchUnitTestsInternal()                              
#13 0x00000180213a base::LaunchUnitTests()         
#14 0x000000695171 main  
#15 0x7efd08cb02b1 __libc_start_main               
#16 0x000000695029 <unknown>                       

[4106/6925] AudioWorkletGlobalScopeTest.Basic (CRASHED) 

(This doesn't quite fit the component I used, but meh)

 
Components: -Blink>Media>Audio Blink>WebAudio
Hmm. I can't reproduce locally on OSX. I assume you're on linux?

Comment 3 by dcheng@chromium.org, Oct 13 2017

Labels: OS-Linux
Yes, I'm able to consistently reproduce this on Linux.
@dcheng FWIW, WorkletThreadHolder.h(57) is DCHECK. I assume you don't see this from the release build test.

The fix is on its way.

Comment 5 by pdr@chromium.org, Nov 22 2017

Labels: -Pri-3 Pri-2
This is still crashing for me (on OSX). Here's the output from my last test run:
[4190/7218] AudioContextTest.AudioContextOptions_WebAudioLatencyHint (5 ms)
[ RUN      ] AudioWorkletGlobalScopeTest.Basic
[93957:775:1122/111206.254186:333342247734986:FATAL:WorkletThreadHolder.h(57)] Check failed: !thread_holder_instance_. 
0   libbase.dylib          base::debug::StackTrace::StackTrace(unsigned long) + 174
1   libbase.dylib          base::debug::StackTrace::StackTrace(unsigned long) + 29
2   libbase.dylib          base::debug::StackTrace::StackTrace() + 28
3   libbase.dylib          logging::LogMessage::~LogMessage() + 479
4   libbase.dylib          logging::LogMessage::~LogMessage() + 21
5   libblink_modules.dylib blink::WorkletThreadHolder<blink::AudioWorkletThread>::CreateForTest(blink::WebThread*) + 201
6   libblink_modules.dylib blink::AudioWorkletThread::CreateSharedBackingThreadForTest() + 349
7   webkit_unit_tests      blink::AudioWorkletGlobalScopeTest::SetUp() + 51

Comment 6 by w...@chromium.org, Dec 4 2017

Labels: -Pri-2 M-65 Pri-1

Comment 7 by w...@chromium.org, Dec 4 2017

Blocking: 791734
kbr@

The failure at #8 is a different one:
AudioContextTest.AudioContextOptions_WebAudioLatencyHint.

I am investigating, but still not sure why this is happening. My suspicion is that AudioWorklet needs additional thread to run, but the testing platform was acting weird about it.

I'll prioritize this issue for the rest of this week.

nhiroki@

Would love to have your opinion on this as well. This seems to be related to Worklet thread being spawned inside of the testing infra.

Comment 10 by kbr@chromium.org, Dec 5 2017

Blockedon: 792140
Status: Started (was: Assigned)
This issue does not seem to happen anymore after landing the fix for the  issue 792140 .

Now the only unit test uses AudioWorkletThread is AudioWorkletGlobalScopeTest.cpp, so
there is no way for multiple tests to affect to each other.

Will monitor this issue for next 24 hours and will close it if the crash is gone.
Status: Fixed (was: Started)
The test now seems to be passing:
https://ci.chromium.org/buildbot/tryserver.chromium.linux/linux_chromium_tsan_rel_ng/211692

Sign in to add a comment