Closed Bug 1855828 Opened 1 year ago Closed 9 months ago

parent process hang on M1 Mac in ContentParent::RecvCreateAudioIPCConnection

Categories

(Core :: Audio/Video: cubeb, defect, P2)

Firefox 118
Desktop
macOS
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bugzilla831, Assigned: kinetik)

Details

(Whiteboard: [qf])

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/118.0

Steps to reproduce:

Normal usage of Firefox, usually when opening websites, but might be more regular if websites with video content are opened.

MacBook Air M1 2020, 16GB, macOS 13.4.1

Actual results:

Firefox goes into not responding status and hangs. When the bug happens if I force quit firefox and then open the website again, it was very likely to crash again until I reboot the computer.

I've been dealing with this on a daily basis, for several months, always on the latest version.

I've been trying to figure out whats going on, but nothing has had an effect. Finally, I managed to catch the hang with the Profiler set to Firefox profiler setting. Hoping this will be useful.

https://profiler.firefox.com/public/myvdab4g33xann8amzkg23vptfnsk0fv5ds0jg0

There's not much information to go about to attempt reproduction, except the recorded profile.
Could you answer some questions that mighty help the investigation?

  1. Could you determine whether the issue reproduces while the browser is in safe-mode? (info)
  2. Does it reproduce somewhat more constantly when opening specific websites? If yes, which ones?

Thank you for your contribution!

Component: Untriaged → Performance
OS: Unspecified → macOS
Product: Firefox → Core
Hardware: Unspecified → Desktop

Mike, Could you have a look at this performance profile? Thank you!

Flags: needinfo?(mconley)
Whiteboard: [qf]

Looks like it is hanging in the parent process under mozilla::dom::ContentParent::RecvCreateAudioIPCConnection

This bug was moved into the Performance component.

:bugzilla831, could you make sure the following information is on this bug?

  • For slowness or high CPU usage, capture a profile with http://profiler.firefox.com/, upload it and share the link here.
  • For memory usage issues, capture a memory dump from about:memory and attach it to this bug.
  • Troubleshooting information: Go to about:support, click "Copy raw data to clipboard", paste it into a file, save it, and attach the file here.

If the requested information is already in the bug, please confirm it is recent.

Thank you.

Flags: needinfo?(bugzilla831)

tnikkel is correct - we're blocked on that RecvCreateAudioIPCConnection message, waiting on a semaphore to bind to some kind of local Audio IPC server (via CubebUtils).

Component: Performance → Audio/Video: cubeb
Flags: needinfo?(mconley)

Sounds AudioIPC related.

Flags: needinfo?(kinetik)

Thanks for reporting this and including the profile. Unfortunately the current profile does not include the audio threads, so it's difficult to guess why the audio server is hanging when adding new clients. If you're able to capture a new profile using the "Media" setting in the profiler, that'd be very helpful in investigating this further.

I'll investigate further in the mean time, and also work on moving the audio server connection setup off of the main thread.

Assignee: nobody → kinetik
Severity: -- → S2
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(kinetik)
Flags: needinfo?(bugzilla831)
Priority: -- → P2

I'll do my best to reproduce it and catch this profile.

Summary: Hang on M1 Mac __psynch_cvwait → parent process hang on M1 Mac in ContentParent::RecvCreateAudioIPCConnection

I managed to reproduce it again, and capture it with the Media profiler, but the upload was hanging with out of memory exception. Submitted separate issue for that.

Severity: S2 → S3

This hasn't really been happening for the past month or so.

Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.