New issue
Advanced search Search tips

Issue 707842 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

App freezes after a few minutes of use

Project Member Reported by eugene...@chromium.org, Apr 3 2017

Issue description

Chrome Version: 57.0.2987.98
OS: macOS 10.11.6

What steps will reproduce the problem?

I don't have steps, but I got my app into a state where it freezes after a few minutes of use. I sampled the app with ActivityMonitor and attached the report. 

I decided not to reinstall Chrome and keep it in this state, so I can help Mac team to debug the problem. So I did not clear cookies, did not try signing out and did not try deleting my profile directory.
 
Sample of Google Chrome.txt
151 KB View Download
Cc: rsesek@chromium.org
Labels: Stability-Hang
Thanks for the attached Sample.
Components: -Internals Internals>Media>Audio
UI thread is blocked in CoreMedia/AVFoundation:

 2063 media::VideoCaptureDeviceFactory::EnumerateDeviceDescriptors(base::Callback<void (std::__1::unique_ptr<std::__1::vector<media::VideoCaptureDeviceDescriptor, std::__1::allocator<media::VideoCaptureDeviceDescriptor> >, std::__1::default_delete<std::__1::vector<media::VideoCaptureDeviceDescriptor, std::__1::allocator<media::VideoCaptureDeviceDescriptor> > > >), (base::internal::CopyMode)1, (base::internal::RepeatMode)1> const&)  (in Google Chrome Framework)  load address 0x10b0ff000 + 0x2b8a070  [memory:2217]
   2063 media::VideoCaptureDeviceFactoryMac::GetDeviceDescriptors(std::__1::vector<media::VideoCaptureDeviceDescriptor, std::__1::allocator<media::VideoCaptureDeviceDescriptor> >*)  (in Google Chrome Framework)  load address 0x10b0ff000 + 0x2b85796  [video_capture_device_factory_mac.mm:81]
     2063 +[VideoCaptureDeviceAVFoundation deviceNames]  (in Google Chrome Framework)  load address 0x10b0ff000 + 0x2b81f12  [video_capture_device_avfoundation_mac.mm:165]
       2063 +[VideoCaptureDeviceAVFoundation getDeviceNames:]  (in Google Chrome Framework)  load address 0x10b0ff000 + 0x2b81a50  [video_capture_device_avfoundation_mac.mm:142]
         2063 +[AVCaptureDevice devices]  (in AVFoundation) + 333  [0x7fff960f95e3]
           2063 +[AVCaptureDALDevice devices]  (in AVFoundation) + 29  [0x7fff960fbb4b]
             2063 +[AVCaptureDALDevice _refreshDevices]  (in AVFoundation) + 180  [0x7fff960fbc6f]
               2063 CMIOObjectGetPropertyDataSize  (in CoreMediaIO) + 158  [0x7fff8c489470]
                 2063 CMIO::DAL::System::CheckOutInstance()  (in CoreMediaIO) + 398  [0x7fff8c463ae2]
                   2063 CMIO::DAL::System::InitializeDevices()  (in CoreMediaIO) + 9  [0x7fff8c46386d]
                     2063 CMIO::DAL::PlugInManagement::Initialize()  (in CoreMediaIO) + 441  [0x7fff8c45fcd5]
                       2063 CMIO::DAL::PlugInManagement::CreateOrLazyLoadPlugIns(std::__1::vector<CMIO::DAL::CFPlugIn*, std::__1::allocator<CMIO::DAL::CFPlugIn*> >*, std::__1::vector<CMIO::DAL::PlugIn*, std::__1::allocator<CMIO::DAL::PlugIn*> >*, std::__1::vector<CMIO::DAL::PlugInManagement::MatchingInfo*, std::__1::allocator<CMIO::DAL::PlugInManagement::MatchingInfo*> >*, void (*)(void*, unsigned int))  (in CoreMediaIO) + 84  [0x7fff8c46005e]
                         2063 CMIO::DAL::PlugInManagement::CreatePlugIn(CMIO::DAL::CFPlugIn const*)  (in CoreMediaIO) + 806  [0x7fff8c461b98]

Cc: dalecur...@chromium.org
Components: -Internals>Media>Audio Internals>Media>Capture
Status: Available (was: Untriaged)
Dale, as per c#2, this hang is at media::VideoCaptureDeviceFactory::EnumerateDeviceDescriptors
who owns Video>Capture component? can you assign appropriately?
Owner: emir...@chromium.org
Status: Assigned (was: Available)
=>emircan for triage.
Cc: emir...@chromium.org
Owner: chfremer@chromium.org
Cc: mcasas@chromium.org
I am not too familiar with the Mac specifics here. Does the stack from #2 indicate that it hangs while trying to initialize some CoreMedia plugin?

When searching the web for "CMIO::DAL::PlugInManagement", it shows similar issues happening even outside of Chrome. 

A similar stack trace came up in an older Chromium  issue 413104 , and I am wondering if this could be related.

Adding mcasas@ for additional input.
Status: WontFix (was: Assigned)
Without any additional information or reports, I am inclined to mark this as WontFix and reopen if it increases in frequency.

It looks like the general issue is that on Mac OS we run interactions with the video capture devices on the UI thread, and those interactions sometimes lead to crashes or hangs that we are unable to avoid or fix. 

With M61 the situation should improve, since we are moving these interactions into a separate process running the video capture service.
Which additional information do you think would be helpful?
re #8: It would be helpful if we could find answers to the following questions:
* How frequently does this happen? 
* Do other developers agree or disagree with my assessment that this may be caused by a CoreMedia plugin?

>> How frequently does this happen? 
I've put Chrome in a state where issue would happened after a few minutes of use. After  reinstalling Chrome, I've never seen the problem again.
Thanks. Glad to hear this did not happen again after you reinstalled. 

Sign in to add a comment