Debug chrome on linux crashes when running dom-exceptions.html layout test |
|||
Issue descriptionOS: 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>
,
Aug 8 2017
,
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
,
Aug 10 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by rtoy@chromium.org
, Aug 3 2017