Closed Bug 1812120 Opened 2 years ago Closed 2 years ago

Crash in [@ libaaudio_internal.so@0x1eb84] in [@ libaaudio_internal.so@0x1ea98]

Categories

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

Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox109 --- unaffected
firefox110 --- fixed
firefox111 --- fixed

People

(Reporter: dbaker, Assigned: padenot)

References

(Regression)

Details

(Keywords: crash, regression, topcrash)

Crash Data

Attachments

(1 file)

Crash report: https://crash-stats.mozilla.org/report/index/e175cffb-7d0c-417c-ba59-c4c070230122

Reason: SIGSEGV / SEGV_MAPERR

Top 10 frames of crashing thread:

0  libaaudio_internal.so  libaaudio_internal.so@0x1eb84  
1  ?  @0x0000006ee54016dc  
2  libaudioclient.so  libaudioclient.so@0xc6a58  
3  libaaudio_internal.so  libaaudio_internal.so@0x4a6a4  
4  libaudioclient.so  libaudioclient.so@0x57060  
5  libc.so  libc.so@0x45c80  
6  libutils.so  libutils.so@0x17b64  
7  libbinder.so  libbinder.so@0x7884c  
8  libaudioclient.so  libaudioclient.so@0xcda54  
9  libbinder.so  libbinder.so@0x4ac68  
Group: core-security
Summary: Crash in [@ libaaudio_internal.so@0x1eb84] → Crash in [@ libaaudio_internal.so@0x1eb84], [@ libaaudio_internal.so@0x1ea98]
Summary: Crash in [@ libaaudio_internal.so@0x1eb84], [@ libaaudio_internal.so@0x1ea98] → Crash in [@ libaaudio_internal.so@0x1eb84] in [@ libaaudio_internal.so@0x1ea98]
Crash Signature: [@ libaaudio_internal.so@0x1eb84] → [@ libaaudio_internal.so@0x1eb84],[@ libaaudio_internal.so@0x1ea98]

Why did you mark this as a security issue? A lot of the crashes seem to be on null, so I'm wondering what you are concerned about. Thanks.

Group: core-security → media-core-security
Flags: needinfo?(dbaker)
Crash Signature: [@ libaaudio_internal.so@0x1eb84],[@ libaaudio_internal.so@0x1ea98] → [@ libaaudio_internal.so@0x1eb84] [@ libaaudio_internal.so@0x1ea98]

Since not all the crashes are null, multiple crashes in libaaudio_internal.so starting around same time, and I am unsure of the code involved here I flagged the bug to be on the safe side. If this was incorrect we can remove the flag.

Flags: needinfo?(dbaker)
Group: media-core-security

The bug is linked to a topcrash signature, which matches the following criterion:

  • Top 10 AArch64 and ARM crashes on beta

:karlt, could you consider increasing the severity of this top-crash bug?

For more information, please visit auto_nag documentation.

Flags: needinfo?(karlt)
Keywords: topcrash

I'm going to disable on Android version <= 30.

Assignee: nobody → padenot
Flags: needinfo?(karlt)
Crash Signature: [@ libaaudio_internal.so@0x1eb84] [@ libaaudio_internal.so@0x1ea98] → [@ libaaudio_internal.so@]

So it's a bit more complicated, we don't have a lot of crashes in libaaudio in the grand scheme of things.

But we have lots of crashes in libwilhelm, which is the lib that backs OpenSL ES: https://mzl.la/3x2hQZk.

If we use AAudio on 31, 32, 33, and OpenSL ES on older versions, it seems that we can reduce the crash number, but it's hard to tell.

Crash Signature: [@ libaaudio_internal.so@] → [libaaudio_internal.so@]
Crash Signature: [libaaudio_internal.so@] → [ libaaudio_internal.so@ ]
Crash Signature: [ libaaudio_internal.so@ ] → [ @ libaaudio_internal.so ]
Crash Signature: [ @ libaaudio_internal.so ] → [ @ libaaudio_internal.so@ ]
Crash Signature: [ @ libaaudio_internal.so@ ] → [@ libaaudio_internal.so@]
Pushed by padenot@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6cc4ab05034a Disable the AAudio backend when running on Android <= 30. r=kinetik
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch

The patch landed in nightly and beta is affected.
:padenot, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox110 to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(padenot)

Comment on attachment 9316164 [details]
Bug 1812120 - Disable the AAudio backend when running on Android <= 30. r?kinetik

Beta/Release Uplift Approval Request

  • User impact if declined: Some crashes on Android version <= 30.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Medium
  • Why is the change risky/not risky? (and alternatives if risky): This patch restores using OpenSL ES for Android <= 30, and uses AAudio for Android > 30. This means we're fixing lots of crashes we have with OpenSL ES (originating in libwilhelm at the system level), and crashes in libaaudio at the same time:

Crashes in libwilhem, by android version: https://crash-stats.mozilla.org/search/?signature=~wilhelm&date=%3E%3D2023-01-30T17%3A14%3A00.000Z&date=%3C2023-02-06T17%3A14%3A00.000Z&_facets=signature&_facets=android_version&_sort=android_version&_sort=-date&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform&_columns=android_version#facet-android_version

Crashes in libaaudio, by android version: https://crash-stats.mozilla.org/search/?signature=~aaudio&date=%3E%3D2022-08-08T12%3A16%3A00.000Z&date=%3C2023-02-08T12%3A16%3A00.000Z&_facets=signature&_facets=android_version&_sort=android_version&_sort=-date&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform&_columns=android_version#facet-android_version

  • String changes made/needed:
  • Is Android affected?: No
Flags: needinfo?(padenot)
Attachment #9316164 - Flags: approval-mozilla-beta?

Comment on attachment 9316164 [details]
Bug 1812120 - Disable the AAudio backend when running on Android <= 30. r?kinetik

I am morphing it into a release uplift request as we are in RC week and already built our Release Candidate. We can evaluate it for the planned dot release, thanks.

Attachment #9316164 - Flags: approval-mozilla-beta? → approval-mozilla-release?

Comment on attachment 9316164 [details]
Bug 1812120 - Disable the AAudio backend when running on Android <= 30. r?kinetik

Crash fix was effective on 111 beta, uplift approved for 110.0.1, thanks.

Attachment #9316164 - Flags: approval-mozilla-release? → approval-mozilla-release+
No longer blocks: CVE-2023-25747
Regressions: CVE-2023-25747
No longer regressions: CVE-2023-25747
Keywords: regression
Regressed by: 1809185

I think this cubeb crash signature is related to this libaaudio crash on Android <= 30.

Crash report: https://crash-stats.mozilla.org/report/index/04644843-67f7-49c1-830d-7dd2d0230227

Reason: SIGSEGV / SEGV_MAPERR

Top 10 frames of crashing thread:

0  libxul.so  cubeb_resampler_fill  media/libcubeb/src/cubeb_resampler.cpp:359
0  libxul.so  aaudio_output_data_cb  media/libcubeb/src/cubeb_aaudio.cpp:719
1  libaaudio.so  libaaudio.so@0x13afd  
2  AudioFlinger::Client(7706) (deleted)  AudioFlinger::Client@0x16de  
3  libaaudio.so  libaaudio.so@0x14eb1  
4  libaudioclient.so  libaudioclient.so@0x5c026  
5  libaudioclient.so  libaudioclient.so@0x446f7  
6  libart.so  libart.so@0x2ab8fb  
7  libaudioclient.so  libaudioclient.so@0x5c026  
8  AudioFlinger::Client(7706) (deleted)  AudioFlinger::Client@0x16de  
Crash Signature: [@ libaaudio_internal.so@] → [@ libaaudio_internal.so@] [@ cubeb_resampler_fill ]
Crash Signature: [@ libaaudio_internal.so@] [@ cubeb_resampler_fill ] → [@ libaaudio_internal.so@0x1ea98] [@ libaaudio_internal.so@0x1eb84] [@ libaaudio_internal.so@0x1eab0] [@ libaaudio_internal.so@0x1ea7c] [@ libaaudio_internal.so@0x15a80] [@ libaaudio_internal.so@0x1fc18] [@ cubeb_resampler_fill ]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: