Assertion failure: aDest.Length() >= aSource.Length() / aSourceChannelCount - aCopyToSpec.mFrameOffset, at /dom/media/webcodecs/AudioData.cpp:465
Categories
(Core :: Audio/Video: Web Codecs, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox-esr128 | --- | disabled |
| firefox128 | --- | disabled |
| firefox129 | --- | disabled |
| firefox130 | --- | verified |
People
(Reporter: jkratzer, Assigned: padenot)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression, testcase, Whiteboard: [bugmon:bisected,confirmed])
Attachments
(2 files)
Testcase found while fuzzing mozilla-central rev 2ed6b77c66d3 (built with: --enable-debug --enable-fuzzing).
Testcase can be reproduced using the following commands:
$ pip install fuzzfetch grizzly-framework --upgrade
$ python -m fuzzfetch --build 2ed6b77c66d3 --debug --fuzzing -n firefox
$ python -m grizzly.replay.bugzilla ./firefox/firefox <bugid>
Assertion failure: aDest.Length() >= aSource.Length() / aSourceChannelCount - aCopyToSpec.mFrameOffset, at /dom/media/webcodecs/AudioData.cpp:465
==248340==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7b6460957b89 bp 0x7b640bffc610 sp 0x7b640bffc5f0 T248405)
==248340==The signal is caused by a WRITE memory access.
==248340==Hint: address points to the zero page.
#0 0x7b6460957b89 in void mozilla::dom::CopySamples<unsigned char, int>(mozilla::Span<unsigned char, 18446744073709551615ul>, mozilla::Span<int, 18446744073709551615ul>, unsigned int, mozilla::dom::AudioSampleFormat, mozilla::dom::CopyToSpec const&) /dom/media/webcodecs/AudioData.cpp:464:5
#1 0x7b6460913d6c in operator()<mozilla::Span<int, 18446744073709551615UL> > /dom/media/webcodecs/AudioData.cpp:527:7
#2 0x7b6460913d6c in match<(lambda at /dom/media/webcodecs/AudioData.cpp:526:17), mozilla::Variant<mozilla::Span<unsigned char, 18446744073709551615UL>, mozilla::Span<short, 18446744073709551615UL>, mozilla::Span<int, 18446744073709551615UL>, mozilla::Span<float, 18446744073709551615UL> > &> /builds/worker/workspace/obj-build/dist/include/mozilla/Variant.h:266:16
#3 0x7b6460913d6c in match<(lambda at /dom/media/webcodecs/AudioData.cpp:526:17), mozilla::Variant<mozilla::Span<unsigned char, 18446744073709551615UL>, mozilla::Span<short, 18446744073709551615UL>, mozilla::Span<int, 18446744073709551615UL>, mozilla::Span<float, 18446744073709551615UL> > &> /builds/worker/workspace/obj-build/dist/include/mozilla/Variant.h:279:14
#4 0x7b6460913d6c in match<(lambda at /dom/media/webcodecs/AudioData.cpp:526:17), mozilla::Variant<mozilla::Span<unsigned char, 18446744073709551615UL>, mozilla::Span<short, 18446744073709551615UL>, mozilla::Span<int, 18446744073709551615UL>, mozilla::Span<float, 18446744073709551615UL> > &> /builds/worker/workspace/obj-build/dist/include/mozilla/Variant.h:279:14
#5 0x7b6460913d6c in match<(lambda at /dom/media/webcodecs/AudioData.cpp:526:17)> /builds/worker/workspace/obj-build/dist/include/mozilla/Variant.h:852:12
#6 0x7b6460913d6c in operator()<mozilla::Span<unsigned char, 18446744073709551615UL> > /dom/media/webcodecs/AudioData.cpp:526:11
#7 0x7b6460913d6c in match<(lambda at /dom/media/webcodecs/AudioData.cpp:525:17), mozilla::Variant<mozilla::Span<unsigned char, 18446744073709551615UL>, mozilla::Span<short, 18446744073709551615UL>, mozilla::Span<int, 18446744073709551615UL>, mozilla::Span<float, 18446744073709551615UL> > &> /builds/worker/workspace/obj-build/dist/include/mozilla/Variant.h:266:16
#8 0x7b6460913d6c in match<(lambda at /dom/media/webcodecs/AudioData.cpp:525:17)> /builds/worker/workspace/obj-build/dist/include/mozilla/Variant.h:852:12
#9 0x7b6460913d6c in mozilla::dom::CopySamples(mozilla::Variant<mozilla::Span<unsigned char, 18446744073709551615ul>, mozilla::Span<short, 18446744073709551615ul>, mozilla::Span<int, 18446744073709551615ul>, mozilla::Span<float, 18446744073709551615ul>>&, mozilla::Variant<mozilla::Span<unsigned char, 18446744073709551615ul>, mozilla::Span<short, 18446744073709551615ul>, mozilla::Span<int, 18446744073709551615ul>, mozilla::Span<float, 18446744073709551615ul>>&, unsigned int, mozilla::dom::AudioSampleFormat, mozilla::dom::CopyToSpec const&) /dom/media/webcodecs/AudioData.cpp:525:11
#10 0x7b64609140b3 in mozilla::dom::DoCopy(mozilla::Span<unsigned char, 18446744073709551615ul>, mozilla::Span<unsigned char, 18446744073709551615ul>, unsigned int, mozilla::dom::AudioSampleFormat, mozilla::dom::CopyToSpec const&) /dom/media/webcodecs/AudioData.cpp:538:3
#11 0x7b6460914a47 in operator() /dom/media/webcodecs/AudioData.cpp:596:5
#12 0x7b6460914a47 in CallProcessor<(lambda at /dom/media/webcodecs/AudioData.cpp:595:41)> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:579:12
#13 0x7b6460914a47 in ProcessFixedData<(lambda at /dom/media/webcodecs/AudioData.cpp:595:41)> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:685:12
#14 0x7b6460914a47 in operator()<mozilla::dom::TypedArray<JS::ArrayBuffer> > /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:1023:28
#15 0x7b6460914a47 in Apply<(lambda at /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:1022:15)> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:939:1
#16 0x7b6460914a47 in Apply<(lambda at /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:1022:15)> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:952:19
#17 0x7b6460914a47 in Apply<(lambda at /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:1022:15)> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:960:16
#18 0x7b6460914a47 in ApplyToTypedArrays<mozilla::dom::MaybeSharedArrayBufferViewOrMaybeSharedArrayBuffer, (lambda at /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:1022:15)> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:972:7
#19 0x7b6460914a47 in ProcessTypedArraysFixed<mozilla::dom::MaybeSharedArrayBufferViewOrMaybeSharedArrayBuffer, (lambda at /dom/media/webcodecs/AudioData.cpp:595:41), 0> /builds/worker/workspace/obj-build/dist/include/mozilla/dom/TypedArray.h:1021:10
#20 0x7b6460914a47 in mozilla::dom::AudioData::CopyTo(mozilla::dom::MaybeSharedArrayBufferViewOrMaybeSharedArrayBuffer const&, mozilla::dom::AudioDataCopyToOptions const&, mozilla::ErrorResult&) /dom/media/webcodecs/AudioData.cpp:595:3
#21 0x7b645e9584cd in mozilla::dom::AudioData_Binding::copyTo(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./AudioDataBinding.cpp:745:24
#22 0x7b645f843e57 in bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /dom/bindings/BindingUtils.cpp:3268:13
#23 0x7b6462bca064 in CallJSNative(JSContext*, bool (*)(JSContext*, unsigned int, JS::Value*), js::CallReason, JS::CallArgs const&) /js/src/vm/Interpreter.cpp:491:13
#24 0x7b6462bc984f in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /js/src/vm/Interpreter.cpp:585:12
#25 0x7b6463689146 in js::jit::DoCallFallback(JSContext*, js::jit::BaselineFrame*, js::jit::ICFallbackStub*, unsigned int, JS::Value*, JS::MutableHandle<JS::Value>) /js/src/jit/BaselineIC.cpp:1670:10
#26 0x3e9027e04a5e ([anon:js-executable-memory]+0x4ba5e)
UndefinedBehaviorSanitizer can not provide additional info.
SUMMARY: UndefinedBehaviorSanitizer: SEGV /dom/media/webcodecs/AudioData.cpp:464:5 in void mozilla::dom::CopySamples<unsigned char, int>(mozilla::Span<unsigned char, 18446744073709551615ul>, mozilla::Span<int, 18446744073709551615ul>, unsigned int, mozilla::dom::AudioSampleFormat, mozilla::dom::CopyToSpec const&)
==248340==ABORTING
| Reporter | ||
Comment 1•2 years ago
|
||
Comment 2•2 years ago
|
||
Verified bug as reproducible on mozilla-central 20240716214815-41f5f11a27e6.
The bug appears to have been introduced in the following build range:
Start: 143c3925806ed35200c2a71e650e7e74f58520a7 (20240306140028)
End: 80c146334cd815908f83c30a8b660e50cb63e210 (20240306161516)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=143c3925806ed35200c2a71e650e7e74f58520a7&tochange=80c146334cd815908f83c30a8b660e50cb63e210
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 3•2 years ago
|
||
Updated•2 years ago
|
Comment 4•2 years ago
|
||
Based on comment #2, this bug contains a bisection range found by bugmon. However, the Regressed by field is still not filled.
:padenot, if possible, could you fill the Regressed by field and investigate this regression?
For more information, please visit BugBot documentation.
Comment 5•2 years ago
|
||
Set release status flags based on info from the regressing bug 1858958
Comment 7•2 years ago
|
||
Backed out for causing bustage on AudioData.cpp and whitespace lint failure on 1908231.html
Updated•2 years ago
|
Comment 9•2 years ago
|
||
| bugherder | ||
Comment 10•2 years ago
|
||
Verified bug as fixed on rev mozilla-central 20240726152430-e2a8e98f367a.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.
| Assignee | ||
Updated•2 years ago
|
Description
•