Issue metadata
Sign in to add a comment
|
CoreAudio hangs on browser main thread. |
||||||||||||||||||||||||
Issue description
Sample attached.
I just finished taking a hangouts call, and switched tabs. Everything froze.
main thread:
"""
+ 1847 media::AudioManagerMac::MaybeChangeBufferSize(unsigned int, ComponentInstanceRecord*, unsigned int, unsigned long, bool*, unsigned long*) (in Google Chrome Framework) load address 0x10e569000 + 0x1afdc1 [audio_manager_mac.cc:1119]
+ 1847 AUMethodSetProperty(void*, unsigned int, unsigned int, unsigned int, void const*, unsigned int) (in CoreAudio) + 110 [0x12b688e95]
+ 1847 AUBase::DispatchSetProperty(unsigned int, unsigned int, unsigned int, void const*, unsigned int) (in CoreAudio) + 1830 [0x12b682244]
+ 1847 AUHAL::SetProperty(unsigned int, unsigned int, unsigned int, void const*, unsigned int) (in CoreAudio) + 298 [0x12b57b29e]
+ 1847 AUConverterBase::SetMaxFramesPerSlice(unsigned int) (in CoreAudio) + 338 [0x12b575e78]
+ 1847 AUHAL::PropertyChanged(unsigned int, unsigned int, unsigned int) (in CoreAudio) + 375 [0x12b579f41]
+ 1847 CAMutex::Lock() (in CoreAudio) + 50 [0x12b693784]
+ 1847 _pthread_mutex_lock_wait (in libsystem_pthread.dylib) + 100 [0x7fffa23b5dfa]
+ 1847 __psynch_mutexwait (in libsystem_kernel.dylib) + 10
"""
another thread:
"""
1847 Thread_5351332 DispatchQueue_2037: com.apple.audio.CADispatchQueue.SerialQueue (serial)
+ 1847 start_wqthread (in libsystem_pthread.dylib) + 13 [0x7fffa23b507d]
+ 1847 _pthread_wqthread (in libsystem_pthread.dylib) + 1299 [0x7fffa23b55a2]
+ 1847 _dispatch_worker_thread3 (in libdispatch.dylib) + 99 [0x7fffa216848c]
+ 1847 _dispatch_root_queue_drain (in libdispatch.dylib) + 476 [0x7fffa21686b5]
+ 1847 _dispatch_queue_invoke (in libdispatch.dylib) + 1046 [0x7fffa216f306]
+ 1847 _dispatch_queue_serial_drain (in libdispatch.dylib) + 896 [0x7fffa217c9a0]
+ 1847 _dispatch_client_callout (in libdispatch.dylib) + 8 [0x7fffa21668fc]
+ 1847 _SendPropertiesChanged(void*) (in CoreAudio) + 43 [0x7fff8c56eb3d]
+ 1847 HALSystem::AudioObjectPropertiesChanged(AudioHardwarePlugInInterface**, unsigned int, unsigned int, AudioObjectPropertyAddress const*) (in CoreAudio) + 166 [0x7fff8c56ec1e]
+ 1847 HALDevice::PropertiesChanged(unsigned int, AudioObjectPropertyAddress const*) (in CoreAudio) + 460 [0x7fff8c55f6ec]
+ 1847 HALObject::PropertiesChanged(unsigned int, AudioObjectPropertyAddress const*) (in CoreAudio) + 838 [0x7fff8c55aa7c]
+ 1847 HALPropertyListener::Call(unsigned int, unsigned int, AudioObjectPropertyAddress const*) (in CoreAudio) + 338 [0x7fff8c56c5c6]
+ 1847 AUHAL::DeviceListener(unsigned int, unsigned int, AudioObjectPropertyAddress const*, void*) (in CoreAudio) + 482 [0x12b5776a0]
+ 1847 AUConverterBase::SetupAllConverters(bool, unsigned int) (in CoreAudio) + 123 [0x12b574c01]
+ 1847 AUHAL::SetupConverter(unsigned int, bool) (in CoreAudio) + 53 [0x12b57a02d]
+ 1847 AUHAL::SetStreamUsage(unsigned int) (in CoreAudio) + 587 [0x12b57a701]
+ 1847 AudioDeviceSetProperty (in CoreAudio) + 268 [0x7fff8c5843b3]
+ 1847 HALDevice::SetPropertyData(AudioObjectPropertyAddress const&, unsigned int, void const*, unsigned int, void const*, AudioTimeStamp const*) (in CoreAudio) + 570 [0x7fff8c570cc0]
+ 1847 HALObject::SetPropertyData(AudioObjectPropertyAddress const&, unsigned int, void const*, unsigned int, void const*, AudioTimeStamp const*) (in CoreAudio) + 202 [0x7fff8c56d9c6]
+ 1847 HALPlugIn::ObjectSetPropertyData(HALObject const&, AudioObjectPropertyAddress const&, unsigned int, void const*, unsigned int, void const*, AudioTimeStamp const*) (in CoreAudio) + 71 [0x7fff8c56a75b]
+ 1847 HAL_HardwarePlugIn_ObjectSetPropertyData(AudioHardwarePlugInInterface**, unsigned int, AudioObjectPropertyAddress const*, unsigned int, void const*, unsigned int, void const*) (in CoreAudio) + 214 [0x7fff8c56a9ea]
+ 1847 HALC_ShellObject::SetPropertyData(unsigned int, AudioObjectPropertyAddress const&, unsigned int, void const*, unsigned int, void const*) (in CoreAudio) + 931 [0x7fff8c56b065]
+ 1847 HALC_ProxyIOContext::SetPropertyData(AudioObjectPropertyAddress const&, unsigned int, void const*, unsigned int, void const*) (in CoreAudio) + 93 [0x7fff8c5716c1]
+ 1847 HALB_Mutex::Lock() (in CoreAudio) + 72 [0x7fff8c544f60]
+ 1847 _pthread_mutex_lock_wait (in libsystem_pthread.dylib) + 100 [0x7fffa23b5dfa]
"""
another thread:
"""
1847 Thread_5353075: com.apple.audio.IOThread.client
+ 1847 thread_start (in libsystem_pthread.dylib) + 13 [0x7fffa23b508d]
+ 1847 _pthread_start (in libsystem_pthread.dylib) + 286 [0x7fffa23b5887]
+ 1847 _pthread_body (in libsystem_pthread.dylib) + 180 [0x7fffa23b593b]
+ 1847 HALB_IOThread::Entry(void*) (in CoreAudio) + 75 [0x7fff8c57cfa3]
+ 1847 HALC_ProxyIOContext::IOThreadEntry(void*) (in CoreAudio) + 128 [0x7fff8c57d264]
+ 1847 HALC_ProxyIOContext::IOWorkLoop() (in CoreAudio) + 5290 [0x7fff8c57e8ce]
+ 1847 AUHAL::AUIOProc(unsigned int, AudioTimeStamp const*, AudioBufferList const*, AudioTimeStamp const*, AudioBufferList*, AudioTimeStamp const*, void*) (in CoreAudio) + 1814 [0x12b5792de]
+ 1847 AUBase::DoRender(unsigned int&, AudioTimeStamp const&, unsigned int, unsigned int, AudioBufferList&) (in CoreAudio) + 777 [0x12b682e95]
+ 1847 AUHAL::PropertyChanged(unsigned int, unsigned int, unsigned int) (in CoreAudio) + 405 [0x12b579f5f]
+ 1847 CAMutex::Lock() (in CoreAudio) + 50 [0x12b693784]
+ 1847 _pthread_mutex_lock_wait (in libsystem_pthread.dylib) + 100 [0x7fffa23b5dfa]
+ 1847 __psynch_mutexwait (in libsystem_kernel.dylib) + 10 [0x7fffa22cac22]
"""
,
Jan 17 2018
This looks like the same as issue 764502 . That ought to have been fixed in macOS 10.13.2. What OS and Chrome versions are you running?
,
Jan 17 2018
It's in the sample - 10.12.6 and 65.0.3322.3
,
Jan 17 2018
Ah, right you are! :) Unfortunately, this bug lies squarely in CoreAudio territory - the threads that deadlock are both created outside of our control. I'm closing this as a dupe. Unfortunately, the only way around it is to upgrade to 10.13.2 or later. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by dalecur...@chromium.org
, Jan 16 2018