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

Issue 874725 link

Starred by 1 user

Issue metadata

Status: ExternalDependency
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug
M-X
Team-Accessibility



Sign in to add a comment

Chrome on Mac hangs under TtsMessageFilter::OnInitializeVoiceList() when selecting text

Project Member Reported by tapted@chromium.org, Aug 16

Issue description

Filing a new bug for the comment at  https://crbug.com/473850#c71 

Chrome Version       : 68.0.3440.106
OS Version: Mac OS X 10.13.6 (17G65)


seems +[NSSpeechSynthesizer availableVoices] is stuck waiting for an IPC reply from some other OS service. I doubt this is a bug in Chrome.

Call graph:
    2426 Thread_11308420   DispatchQueue_559: DefaultVoiceQueue  (serial)
    + 2426 start  (in libdyld.dylib) + 1  [0x7fff5152f015]
    +   2426 main  (in Google Chrome) + 405  [chrome_exe_main_mac.cc:169]
    +     2426 ChromeMain  (in Google Chrome Framework) + 179  [chrome_main.cc:0]
    +       2426 content::ContentMain(content::ContentMainParams const&)  (in Google Chrome Framework)  load address 0x105204000 + 0x1d46ba4  [content_main.cc:19]
    +         2426 service_manager::Main(service_manager::MainParams const&)  (in Google Chrome Framework)  load address 0x105204000 + 0x3599d44  [main.cc:459]
    +           2426 content::ContentMainRunnerImpl::Run()  (in Google Chrome Framework)  load address 0x105204000 + 0x1d47b27  [content_main_runner_impl.cc:620]
    +             2426 content::BrowserMain(content::MainFunctionParams const&, std::__1::unique_ptr<content::BrowserProcessSubThread, std::__1::default_delete<content::BrowserProcessSubThread> >)  (in Google Chrome Framework)  load address 0x105204000 + 0xa47a4b  [browser_main.cc:51]
    +               2426 content::BrowserMainRunnerImpl::Run()  (in Google Chrome Framework)  load address 0x105204000 + 0xa4d4d2  [memory:2603]
    +                 2426 content::BrowserMainLoop::RunMainMessageLoopParts()  (in Google Chrome Framework)  load address 0x105204000 + 0xa4af14  [browser_main_loop.cc:980]
    +                   2426 ChromeBrowserMainParts::MainMessageLoopRun(int*)  (in Google Chrome Framework)  load address 0x105204000 + 0x1d94049  [chrome_browser_main.cc:2157]
    +                     2426 <name omitted>  (in Google Chrome Framework)  load address 0x105204000 + 0x217b285  [run_loop.cc:108]
    +                       2426 base::MessagePumpCFRunLoopBase::Run(base::MessagePump::Delegate*)  (in Google Chrome Framework)  load address 0x105204000 + 0x2157ece  [message_pump_mac.mm:306]
    +                         2426 base::MessagePumpNSApplication::DoRun(base::MessagePump::Delegate*)  (in Google Chrome Framework)  load address 0x105204000 + 0x215936c  [message_pump_mac.mm:824]
    +                           2426 -[NSApplication run]  (in AppKit) + 764  [0x7fff26c82885]
    +                             2426 -[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]  (in Google Chrome Framework)  load address 0x105204000 + 0x1d8d384  [chrome_browser_application_mac.mm:238]
    +                               2426 base::mac::CallWithEHFrame(void () block_pointer)  (in Google Chrome Framework)  load address 0x105204000 + 0x214964a  []
    +                                 2426 __71-[BrowserCrApplication nextEventMatchingMask:untilDate:inMode:dequeue:]_block_invoke  (in Google Chrome Framework)  load address 0x105204000 + 0x1d8d450  [chrome_browser_application_mac.mm:233]
    +                                   2426 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:]  (in AppKit) + 3044  [0x7fff27423e34]
    +                                     2426 _DPSNextEvent  (in AppKit) + 2085  [0x7fff26c8da73]
    +                                       2426 _BlockUntilNextEventMatchingListInModeWithFilter  (in HIToolbox) + 64  [0x7fff289dc884]
    +                                         2426 ReceiveNextEventCommon  (in HIToolbox) + 613  [0x7fff289dcb06]
    +                                           2426 RunCurrentEventLoopInMode  (in HIToolbox) + 286  [0x7fff289dcd96]
    +                                             2426 CFRunLoopRunSpecific  (in CoreFoundation) + 483  [0x7fff296f2153]
    +                                               2426 __CFRunLoopRun  (in CoreFoundation) + 1293  [0x7fff296f28ed]
    +                                                 2426 __CFRunLoopDoSources0  (in CoreFoundation) + 208  [0x7fff296f3470]
    +                                                   2426 __CFRunLoopDoSource0  (in CoreFoundation) + 108  [0x7fff297ca42c]
    +                                                     2426 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__  (in CoreFoundation) + 17  [0x7fff29710a11]
    +                                                       2426 base::MessagePumpCFRunLoopBase::RunWorkSource(void*)  (in Google Chrome Framework)  load address 0x105204000 + 0x21583af  [message_pump_mac.mm:434]
    +                                                         2426 base::mac::CallWithEHFrame(void () block_pointer)  (in Google Chrome Framework)  load address 0x105204000 + 0x214964a  []
    +                                                           2426 base::MessagePumpCFRunLoopBase::RunWork()  (in Google Chrome Framework)  load address 0x105204000 + 0x2158a8a  [message_pump_mac.mm:455]
    +                                                             2426 base::MessageLoop::DoWork()  (in Google Chrome Framework)  load address 0x105204000 + 0x2156dc8  [message_loop.cc:373]
    +                                                               2426 base::MessageLoop::RunTask(base::PendingTask*)  (in Google Chrome Framework)  load address 0x105204000 + 0x21568f4  [vector:639]
    +                                                                 2426 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*)  (in Google Chrome Framework)  load address 0x105204000 + 0x2136957  [callback_forward.h:11]
    +                                                                   2426 TtsMessageFilter::OnMessageReceived(IPC::Message const&)  (in Google Chrome Framework)  load address 0x105204000 + 0x1f49aca  [tts_message_filter.cc:0]
    +                                                                     2426 bool IPC::MessageT<TtsHostMsg_InitializeVoiceList_Meta, std::__1::tuple<>, void>::Dispatch<TtsMessageFilter, TtsMessageFilter, void, void (TtsMessageFilter::*)()>(IPC::Message const*, TtsMessageFilter*, TtsMessageFilter*, void*, void (TtsMessageFilter::*)())  (in Google Chrome Framework)  load address 0x105204000 + 0x1f49bc6  [tuple.h:52]
    +                                                                       2426 TtsMessageFilter::OnInitializeVoiceList()  (in Google Chrome Framework)  load address 0x105204000 + 0x1f49d09  [vector:422]
    +                                                                         2426 TtsControllerImpl::GetVoices(content::BrowserContext*, std::__1::vector<VoiceData, std::__1::allocator<VoiceData> >*)  (in Google Chrome Framework)  load address 0x105204000 + 0x1f470b3  [tts_controller_impl.cc:395]
    +                                                                           2426 TtsPlatformImplMac::GetVoices(std::__1::vector<VoiceData, std::__1::allocator<VoiceData> >*)  (in Google Chrome Framework)  load address 0x105204000 + 0x1f48431  [tts_mac.mm:210]
    +                                                                             2426 +[NSSpeechSynthesizer availableVoices]  (in AppKit) + 58  [0x7fff27001122]
    +                                                                               2426 CountVoices  (in SpeechSynthesis) + 27  [0x7fff2803a520]
    +                                                                                 2426 BuildDefaultVoiceList(bool)  (in SpeechSynthesis) + 86  [0x7fff2803a5c1]
    +                                                                                   2426 _dispatch_queue_barrier_sync_invoke_and_complete  (in libdispatch.dylib) + 60  [0x7fff515091e1]
    +                                                                                     2426 _dispatch_client_callout  (in libdispatch.dylib) + 8  [0x7fff514f5db8]
    +                                                                                       2426 invocation function for block in BuildDefaultVoiceList(bool)  (in SpeechSynthesis) + 111  [0x7fff2803a667]
    +                                                                                         2426 SpeechChannelHandle::CopyVoices(void const*)  (in SpeechSynthesis) + 70  [0x7fff2803a780]
    +                                                                                           2426 SendSSDMessage(void*)  (in SpeechSynthesis) + 82  [0x7fff2803a958]
    +                                                                                             2426 dispatch_once_f  (in libdispatch.dylib) + 41  [0x7fff514f5d6b]
    +                                                                                               2426 _dispatch_client_callout  (in libdispatch.dylib) + 8  [0x7fff514f5db8]
    +                                                                                                 2426 invocation function for block in SpeechGlobals::Instance()  (in SpeechSynthesis) + 28  [0x7fff2803a97a]
    +                                                                                                   2426 SpeechGlobals::SpeechGlobals()  (in SpeechSynthesis) + 415  [0x7fff2803ab43]
    +                                                                                                     2426 xpc_connection_send_message_with_reply_sync  (in libxpc.dylib) + 164  [0x7fff51883d98]
    +                                                                                                       2426 dispatch_mach_send_with_result_and_wait_for_reply  (in libdispatch.dylib) + 53  [0x7fff51510fad]
    +                                                                                                         2426 _dispatch_mach_send_and_wait_for_reply  (in libdispatch.dylib) + 756  [0x7fff51510ac2]
    +                                                                                                           2426 mach_msg  (in libsystem_kernel.dylib) + 60  [0x7fff51675724]
    +                                                                                                             2426 mach_msg_trap  (in libsystem_kernel.dylib) + 10  [0x7fff5167620a]

 
full symbolized sample attached
Sampling process 44219 for 3 seconds with 1 millis
202 KB View Download
Cc: phanindra.mandapaka@chromium.org
Labels: Needs-Feedback Triaged-ET
Thanks for filling the issue...

@Reporter: Could you please provide manual steps to reproduce the issue from TE-end with actual and expected value/results.

Thanks...!
Owner: a...@chromium.org
Status: Assigned (was: Unconfirmed)
avi@, can you please repro this and file a radar? thanks :)
Labels: M-X
> repro this and file a radar

Filing a radar is easy, but this is a simple AppKit call, [NSSpeechSynthesizer availableVoices], that's hanging. I don't know under what conditions there's a hang here.
Status: ExternalDependency (was: Assigned)
rdar://44728848

Sign in to add a comment