Closed Bug 2054208 Opened 1 month ago Closed 1 month ago

crash at null in [@ mozilla::WebrtcAudioConduit::OnDtmfEvent]

Categories

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

defect

Tracking

()

VERIFIED FIXED
154 Branch
Tracking Status
firefox-esr140 --- unaffected
firefox-esr153 --- unaffected
firefox152 --- unaffected
firefox153 --- unaffected
firefox154 --- verified

People

(Reporter: tsmith, Assigned: philipp.hancke, NeedInfo)

References

(Blocks 1 open bug, Regression)

Details

(4 keywords, Whiteboard: [bugmon:bisected,confirmed])

Attachments

(2 files)

Attached file testcase.html

Found while fuzzing m-c 20260709-8edd37202070 (--enable-address-sanitizer --enable-fuzzing)

To reproduce via Grizzly Replay:

$ pip install fuzzfetch grizzly-framework --upgrade
$ python -m fuzzfetch -a --fuzzing -n firefox
$ python -m grizzly.replay.bugzilla ./firefox/firefox <bugid>
==50117==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7bffd9598366 bp 0x7bff9ffdecd0 sp 0x7bff9ffdecd0 T37)
==50117==The signal is caused by a READ memory access.
==50117==Hint: address points to the zero page.
    #0 0x7bffd9598366 in mozilla::WebrtcAudioConduit::OnDtmfEvent(mozilla::DtmfEvent const&) /builds/worker/workspace/obj-build/dom/media/webrtc/libwebrtcglue/./../../../../../../checkouts/gecko/dom/media/webrtc/libwebrtcglue/AudioConduit.cpp:265:16
    #1 0x7bffd95fc5ea in operator() /builds/worker/workspace/obj-build/dist/include/MediaEventSource.h:672:11
    #2 0x7bffd95fc5ea in void mozilla::detail::ListenerImpl<(mozilla::ListenerPolicy)2, mozilla::MediaEventListener mozilla::MediaEventSourceImpl<(mozilla::ListenerPolicy)2, mozilla::DtmfEvent>::Connect<mozilla::WebrtcAudioConduit, void (mozilla::WebrtcAudioConduit::*)(mozilla::DtmfEvent const&)>(nsIEventTarget*, mozilla::WebrtcAudioConduit*, void (mozilla::WebrtcAudioConduit::*)(mozilla::DtmfEvent const&))::'lambda'(mozilla::DtmfEvent const&), mozilla::DtmfEvent>::ApplyWithArgs<mozilla::DtmfEvent const&>(mozilla::DtmfEvent const&) /builds/worker/workspace/obj-build/dist/include/MediaEventSource.h:431:7
    #3 0x7bffd9432beb in operator()<const mozilla::DtmfEvent &> /builds/worker/checkouts/gecko/dom/media/MediaEventSource.h:149:25
    #4 0x7bffd9432beb in std::tuple<mozilla::DtmfEvent> const& std::__invoke_impl<void, void mozilla::detail::ListenerBatch<mozilla::detail::Listener<(mozilla::ListenerPolicy)2, mozilla::DtmfEvent>>::ApplyWithArgsTuple<std::tuple<mozilla::DtmfEvent> const&>(std::tuple<mozilla::DtmfEvent> const&)::'lambda'(auto&&...), mozilla::DtmfEvent const&>(std::__invoke_other, void mozilla::detail::ListenerBatch<mozilla::detail::Listener<(mozilla::ListenerPolicy)2, mozilla::DtmfEvent>>::ApplyWithArgsTuple<std::tuple<mozilla::DtmfEvent> const&>(std::tuple<mozilla::DtmfEvent> const&)::'lambda'(auto&&...)&&, mozilla::DtmfEvent const&) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14
    #5 0x7bffd94322eb in __invoke<(lambda at /builds/worker/checkouts/gecko/dom/media/MediaEventSource.h:146:9), const mozilla::DtmfEvent &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:95:14
    #6 0x7bffd94322eb in __apply_impl<(lambda at /builds/worker/checkouts/gecko/dom/media/MediaEventSource.h:146:9), const std::tuple<mozilla::DtmfEvent> &, 0UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1740:14
    #7 0x7bffd94322eb in apply<(lambda at /builds/worker/checkouts/gecko/dom/media/MediaEventSource.h:146:9), const std::tuple<mozilla::DtmfEvent> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1751:14
    #8 0x7bffd94322eb in ApplyWithArgsTuple<const std::tuple<mozilla::DtmfEvent> &> /builds/worker/checkouts/gecko/dom/media/MediaEventSource.h:145:5
    #9 0x7bffd94322eb in mozilla::detail::NotificationPolicy<(mozilla::ListenerPolicy)2, mozilla::detail::Listener<(mozilla::ListenerPolicy)2, mozilla::DtmfEvent>>::SharedArgs<mozilla::DtmfEvent>::ApplyWithArgs(mozilla::detail::ListenerBatch<mozilla::detail::Listener<(mozilla::ListenerPolicy)2, mozilla::DtmfEvent>>*) /builds/worker/checkouts/gecko/dom/media/MediaEventSource.h:290:15
    #10 0x7bffcff60407 in operator()<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1076:18
    #11 0x7bffcff60407 in __invoke_impl<nsresult, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1075:9), StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:60:14
    #12 0x7bffcff60407 in __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1075:9), StoreRefPtrPassByPtr<mozilla::net::ConnectionData> &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/invoke.h:95:14
    #13 0x7bffcff60407 in __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1075:9), std::tuple<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> > &, 0UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1740:14
    #14 0x7bffcff60407 in apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1075:9), std::tuple<StoreRefPtrPassByPtr<mozilla::net::ConnectionData> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/tuple:1751:14
    #15 0x7bffcff60407 in apply<mozilla::net::Dashboard, nsresult (Dashboard::*)(mozilla::net::ConnectionData *)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1074:12
    #16 0x7bffcff60407 in mozilla::detail::RunnableMethodImpl<mozilla::ChildProfilerController*, void (mozilla::ChildProfilerController::*)(mozilla::ProfileAndAdditionalInformation*), true, (mozilla::RunnableKind)0, mozilla::ProfileAndAdditionalInformation*>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1125:13
    #17 0x7bffd1563632 in mozilla::AutoTaskDispatcher::TaskGroupRunnable::Run() /builds/worker/workspace/obj-build/dist/include/mozilla/TaskDispatcher.h:232:35
    #18 0x7bffd157ccc5 in mozilla::TaskQueue::Runner::Run() /builds/worker/workspace/obj-build/xpcom/threads/./../../../../checkouts/gecko/xpcom/threads/TaskQueue.cpp:297:17
    #19 0x7bffd15a7d17 in nsThreadPool::Run() /builds/worker/workspace/obj-build/xpcom/threads/./../../../../checkouts/gecko/xpcom/threads/nsThreadPool.cpp:442:14
    #20 0x7bffd1599c8a in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/workspace/obj-build/xpcom/threads/./../../../../checkouts/gecko/xpcom/threads/nsThread.cpp:1173:16
    #21 0x7bffd15a3ed9 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/workspace/obj-build/xpcom/threads/./../../../../checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:472:10
    #22 0x7bffd17da041 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/workspace/obj-build/ipc/glue/./../../../../checkouts/gecko/ipc/glue/MessagePump.cpp:297:20
    #23 0x7bffd16b05c4 in RunInternal /builds/worker/workspace/obj-build/ipc/chromium/./../../../../checkouts/gecko/ipc/chromium/src/base/message_loop.cc:371:10
    #24 0x7bffd16b05c4 in RunHandler /builds/worker/workspace/obj-build/ipc/chromium/./../../../../checkouts/gecko/ipc/chromium/src/base/message_loop.cc:364:3
    #25 0x7bffd16b05c4 in MessageLoop::Run() /builds/worker/workspace/obj-build/ipc/chromium/./../../../../checkouts/gecko/ipc/chromium/src/base/message_loop.cc:346:3
    #26 0x7bffd1592270 in nsThread::ThreadFunc(void*) /builds/worker/workspace/obj-build/xpcom/threads/./../../../../checkouts/gecko/xpcom/threads/nsThread.cpp:374:10
    #27 0x7ffff73ebabf in _pt_root /builds/worker/workspace/obj-build/config/external/nspr/pr/./../../../../../../checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:190:3
    #28 0x5555556c1bd6 in asan_thread_start(void*) _asan_rtl_:28
Flags: in-testsuite?

Verified bug as reproducible on mozilla-central 20260710095230-ddbfac25ce6f.
The bug appears to have been introduced in the following build range:

Start: 74ce3636f0d3baa5b876cc22411d46b68202f5c5 (20260708160402)
End: 66750c0df77c31e9b434518330f52029d6a7e1f2 (20260708161624)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=74ce3636f0d3baa5b876cc22411d46b68202f5c5&tochange=66750c0df77c31e9b434518330f52029d6a7e1f2

Keywords: regression
Whiteboard: [bugmon:bisected,confirmed]
Regressed by: 1813848

Set release status flags based on info from the regressing bug 1813848

:philipp.hancke, since you are the author of the regressor, bug 1813848, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(philipp.hancke)

which sets the sendStream to null

Assignee: nobody → philipp.hancke
Attachment #9606975 - Attachment description: WIP: Bug 2054208: don't send DTMF on a disabled sender → Bug 2054208: don't send DTMF on a disabled sender
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch

Verified bug as fixed on rev mozilla-central 20260714035758-97985f89971d.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

Status: RESOLVED → VERIFIED
Keywords: bugmon

Set release status flags based on info from the regressing bug 1813848

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: