New issue
Advanced search Search tips

Issue 752265 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Debug chrome on linux crashes when running dom-exceptions.html layout test

Project Member Reported by rtoy@chromium.org, Aug 3 2017

Issue description

OS: Linux

What steps will reproduce the problem?
(1) Start up a server to serve up the layout test directory
(2) out/Debug/chrome http://localhost:nnn/webaudio/dom-exceptions.html
(3)

What is the expected result?
Test passes

What happens instead?

Crashes with the following backtrace.  Not sure why this doesn't show up in the try bots because this test is a part of the normal layout tests.


[1:1:0803/133819.272143:FATAL:BaseAudioContext.cpp(719)] Check failed: IsAudioThread(). 
#0 0x7f8b31115a2d base::debug::StackTrace::StackTrace()
#1 0x7f8b31113dfc base::debug::StackTrace::StackTrace()
#2 0x7f8b311a451a logging::LogMessage::~LogMessage()
#3 0x7f8b1d29b2cd blink::BaseAudioContext::NotifySourceNodeFinishedProcessing()
#4 0x7f8b1d283f82 blink::AudioScheduledSourceHandler::FinishWithoutOnEnded()
#5 0x7f8b1d2407dd blink::AudioBufferSourceHandler::HandleStoppableSourceNode()
#6 0x7f8b1d29bf15 blink::BaseAudioContext::PerformCleanupOnMainThread()
#7 0x7f8b1d2a404f _ZN4base8internal13FunctorTraitsIMN5blink16BaseAudioContextEFvvEvE6InvokeIRKNS2_21CrossThreadPersistentIS3_EEJEEEvS5_OT_DpOT0_
#8 0x7f8b1d2a3fc4 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5blink16BaseAudioContextEFvvEJRKNS4_21CrossThreadPersistentIS5_EEEEEvOT_DpOT0_
#9 0x7f8b1d2a3f70 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink16BaseAudioContextEFvvEJNS3_21CrossThreadPersistentIS4_EEEEEFvvEE7RunImplIRKS6_RKNSt3__15tupleIJS8_EEEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#10 0x7f8b1d2a3ebc _ZN4base8internal7InvokerINS0_9BindStateIMN5blink16BaseAudioContextEFvvEJNS3_21CrossThreadPersistentIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE
#11 0x7f8b1db2f25d _ZNKR4base8CallbackIFvvELNS_8internal8CopyModeE1ELNS2_10RepeatModeE1EE3RunEv
#12 0x7f8b1db2f1f9 WTF::Function<>::operator()()
#13 0x7f8b1db2e449 blink::(anonymous namespace)::RunCrossThreadClosure()
#14 0x7f8b1db2f6b5 _ZN4base8internal13FunctorTraitsIPFvN3WTF8FunctionIFvvELNS2_22FunctionThreadAffinityE0EEEEvE6InvokeIJS6_EEEvS8_DpOT_
#15 0x7f8b1db2f660 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIPFvN3WTF8FunctionIFvvELNS4_22FunctionThreadAffinityE0EEEEJS8_EEEvOT_DpOT0_
#16 0x7f8b1db2f620 _ZN4base8internal7InvokerINS0_9BindStateIPFvN3WTF8FunctionIFvvELNS3_22FunctionThreadAffinityE0EEEEJS7_EEES5_E7RunImplIS9_NSt3__15tupleIJS7_EEEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#17 0x7f8b1db2f579 _ZN4base8internal7InvokerINS0_9BindStateIPFvN3WTF8FunctionIFvvELNS3_22FunctionThreadAffinityE0EEEEJS7_EEES5_E7RunOnceEPNS0_13BindStateBaseE
#18 0x7f8b310c10d1 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
#19 0x7f8b3111a677 base::debug::TaskAnnotator::RunTask()
#20 0x7f8b1e25a43a blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue()
#21 0x7f8b1e2555da blink::scheduler::TaskQueueManager::DoWork()
#22 0x7f8b1e2621b7 _ZN4base8internal13FunctorTraitsIMN5blink9scheduler16TaskQueueManagerEFvbEvE6InvokeIRKNS_7WeakPtrIS4_EEJRKbEEEvS6_OT_DpOT0_
#23 0x7f8b1e262115 _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5blink9scheduler16TaskQueueManagerEFvbERKNS_7WeakPtrIS6_EEJRKbEEEvOT_OT0_DpOT1_
#24 0x7f8b1e26208d _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE7RunImplIRKS7_RKNSt3__15tupleIJS9_bEEEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE
#25 0x7f8b1e261f9c _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE3RunEPNS0_13BindStateBaseE
#26 0x7f8b310c10d1 _ZNO4base8CallbackIFvvELNS_8internal8CopyModeE0ELNS2_10RepeatModeE0EE3RunEv
#27 0x7f8b3111a677 base::debug::TaskAnnotator::RunTask()
#28 0x7f8b311d311d base::MessageLoop::RunTask()
#29 0x7f8b311d33a7 base::MessageLoop::DeferOrRunPendingTask()
#30 0x7f8b311d412a base::MessageLoop::DoWork()
#31 0x7f8b311daa38 base::MessagePumpDefault::Run()
#32 0x7f8b311d2a04 base::MessageLoop::Run()
#33 0x7f8b3128830d base::RunLoop::Run()
#34 0x7f8b2c0da969 content::RendererMain()
#35 0x7f8b2c59d18c content::RunZygote()
#36 0x7f8b2c59de59 content::RunNamedProcessTypeMain()
#37 0x7f8b2c5a08ae content::ContentMainRunnerImpl::Run()
#38 0x7f8b2c59b76d content::ContentServiceManagerMainDelegate::RunEmbedderProcess()
#39 0x7f8b31a1a3b5 service_manager::Main()
#40 0x7f8b2c59cb2f content::ContentMain()
#41 0x563e62769bfe ChromeMain
#42 0x563e62769b12 main
#43 0x7f8b1b14df45 __libc_start_main
#44 0x563e627699f4 <unknown>



 

Comment 1 by rtoy@chromium.org, Aug 3 2017

run-webkit-tests --debug on all the webaudio tests doesn't crash.  This only happens when running dom-exceptions.html as reported.

Comment 2 by rtoy@chromium.org, Aug 8 2017

Owner: rtoy@chromium.org
Status: Started (was: Available)
Project Member

Comment 3 by bugdroid1@chromium.org, Aug 9 2017

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

commit 4d397a9cd38e6b78fa42acc27c9e08b40336b181
Author: Raymond Toy <rtoy@chromium.org>
Date: Wed Aug 09 20:09:54 2017

NotifySourceNodeFinishedProcessing can be called from a graph owner

NotifySourceNodeFinishedProcessing can be called from either the audio
thread or the main thread.  The audio thread calls this when the
source node has finished processing.  The main thread can call this
from AudioBufferSourceHandler::HandleStoppableSourceNode for a source
node that hasn't started but can be stopped.

The existing mutex that protects access to finished_source_handlers_
keeps access safe between the two threads.

Layout tests don't seem to trigger this, but manually running
just dom-exceptions.html with this fix no longer crashes with DCHECK
error.

Bug:  752265 
Test: dom-exceptions.html doesn't crash
Change-Id: Ib0582129d538a8e1bdaedf2f6b0c899f1439fc5e
Reviewed-on: https://chromium-review.googlesource.com/601094
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493118}
[modify] https://crrev.com/4d397a9cd38e6b78fa42acc27c9e08b40336b181/third_party/WebKit/Source/modules/webaudio/BaseAudioContext.cpp

Comment 4 by rtoy@chromium.org, Aug 10 2017

Status: Fixed (was: Started)

Sign in to add a comment