Bug 274266
Summary: | REGRESSION (278815@main): [ MacOS iOS Debug ] TestWebKitAPI.AdvancedPrivacyProtections.AddNoiseToWebAudioAPIs is a consistent failure | ||
---|---|---|---|
Product: | WebKit | Reporter: | Jay Stfleur <j_stfleur> |
Component: | Web Audio | Assignee: | Wenson Hsieh <wenson_hsieh> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | cdumez, charliew, webkit-bot-watchers-bugzilla, webkit-bug-importer, wenson_hsieh |
Priority: | P2 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Jay Stfleur
Description:
TestWebKitAPI.AdvancedPrivacyProtections.AddNoiseToWebAudioAPIs
Is a consistent failure o n Ventura+ and iOS after changes one 278817@main
Buildbot URL:
https://build.webkit.org/#/builders/949/builds/2901/steps/19/logs/stdio
History:
https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.AdvancedPrivacyProtections.AddNoiseToWebAudioAPIs&style=debug
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/128209071>
Diego Pino
According to:
https://results.webkit.org/?suite=api-tests&test=TestWebKitAPI.AdvancedPrivacyProtections.AddNoiseToWebAudioAPIs&style=debug
The test passed in 278812@main, but failed in 278817@main. The chart doesn't show test results for the interval: [278813@main, 278816@main]. Exploring that range, the changeset 278815@main seems more related to this test regression.
https://github.com/WebKit/WebKit/commit/775bac300c8b006803ba1d5c2f7bf28a0f77bc69
Wenson Hsieh
Oh, I see — this is hitting a debug-only assertion that we shouldn't be fast-mallocing, seemingly because:
1. The noise injection mechanism now allocates some amount of memory in the process of mapping all equal values to the same noisy value.
2. There's some logic in web audio code that uses `ForbidMallocUseForCurrentThreadScope` to enforce no allocations, for performance reasons.
Since this codepath is only triggered for private browsing and we already take a slight performance hit for noise injection before these mitigations, I think it's safe to deploy a `DisableMallocRestrictionsForCurrentThreadScope` here to suppress the debug assertion.
Wenson Hsieh
Oh, I see — this is hitting a debug-only assertion that we shouldn't be fast-mallocing, seemingly because:
1. The noise injection mechanism now allocates some amount of memory in the process of mapping all equal values to the same noisy value.
2. There's some logic in web audio code that uses `ForbidMallocUseForCurrentThreadScope` to enforce no allocations, for performance reasons.
Since this codepath is only triggered for private browsing and we already take a slight performance hit for noise injection before these mitigations, I think it's safe to deploy a `DisableMallocRestrictionsForCurrentThreadScope` here to suppress the debug assertion.
Wenson Hsieh
Pull request: https://github.com/WebKit/WebKit/pull/28715
Wenson Hsieh
Pull request: https://github.com/WebKit/WebKit/pull/28741
EWS
Committed 278945@main (1e5a82de122e): <https://commits.webkit.org/278945@main>
Reviewed commits have been landed. Closing PR #28715 and removing active labels.