Hit MOZ_CRASH(OOM) at /builds/worker/checkouts/gecko/xpcom/base/nsDebugImpl.cpp:611
Categories
(Core :: DOM: Device Interfaces, defect, P2)
Tracking
()
People
(Reporter: jkratzer, Assigned: cmartin)
References
(Blocks 2 open bugs)
Details
(Keywords: crash, testcase, Whiteboard: [bugmon:bisected,confirmed])
Attachments
(3 files, 1 obsolete file)
Testcase found while fuzzing mozilla-central db74cdf9afe7 (built with --enable-debug).
rax = 0x00007fbcecf91b53 rdx = 0x0000000000000000
rcx = 0x000055cc99901a58 rbx = 0x000055cc9be7d2a8
rsi = 0x00007fbcff37b8b0 rdi = 0x00007fbcff37a680
rbp = 0x00007ffcaf2234c0 rsp = 0x00007ffcaf2234c0
r8 = 0x00007fbcff37b8b0 r9 = 0x00007fbd004e1780
r10 = 0x0000000000000002 r11 = 0x0000000000000000
r12 = 0x00000000fffffffd r13 = 0x000055cc9be7d240
r14 = 0x000055cc9be7d2a8 r15 = 0x0000000000000008
rip = 0x00007fbce54428b5
OS|Linux|0.0.0 Linux 5.3.0-51-generic #44~18.04.2-Ubuntu SMP Thu Apr 23 14:27:18 UTC 2020 x86_64
CPU|amd64|family 6 model 94 stepping 3|8
GPU|||
Crash|SIGSEGV|0x0|0
0|0|libxul.so|NS_ABORT_OOM(unsigned long)|hg:hg.mozilla.org/mozilla-central:xpcom/base/nsDebugImpl.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|611|0x16
0|1|libxul.so|nsTArrayInfallibleAllocator::ResultTypeProxy nsTArray_base<nsTArrayInfallibleAllocator, nsTArray_RelocateUsingMemutils>::EnsureCapacity<nsTArrayInfallibleAllocator>(unsigned long, unsigned long)|hg:hg.mozilla.org/mozilla-central:xpcom/ds/nsTArray-inl.h:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|154|0x8
0|2|libxul.so|mozilla::dom::Gamepad::Gamepad(nsISupports*, nsTSubstring<char16_t> const&, int, unsigned int, mozilla::dom::GamepadMappingType, mozilla::dom::GamepadHand, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)|hg:hg.mozilla.org/mozilla-central:dom/gamepad/Gamepad.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|54|0x37
0|3|libxul.so|mozilla::dom::GamepadManager::AddGamepad(unsigned int, nsTSubstring<char16_t> const&, mozilla::dom::GamepadMappingType, mozilla::dom::GamepadHand, mozilla::dom::GamepadServiceType, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)|hg:hg.mozilla.org/mozilla-central:dom/gamepad/GamepadManager.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|230|0x41
0|4|libxul.so|mozilla::dom::GamepadManager::Update(mozilla::dom::GamepadChangeEvent const&)|hg:hg.mozilla.org/mozilla-central:dom/gamepad/GamepadManager.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|465|0x25
0|5|libxul.so|mozilla::dom::(anonymous namespace)::GamepadUpdateRunnable::Run()|hg:hg.mozilla.org/mozilla-central:dom/gamepad/ipc/GamepadEventChannelChild.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|21|0x17
0|6|libxul.so|nsThread::ProcessNextEvent(bool, bool*)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThread.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|1234|0xe
0|7|libxul.so|NS_ProcessNextEvent(nsIThread*, bool)|hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|501|0xc
0|8|libxul.so|mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|87|0x7
0|9|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|315|0x17
0|10|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|290|0x8
0|11|libxul.so|nsBaseAppShell::Run()|hg:hg.mozilla.org/mozilla-central:widget/nsBaseAppShell.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|137|0xd
0|12|libxul.so|XRE_RunAppShell()|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|913|0xe
0|13|libxul.so|mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)|hg:hg.mozilla.org/mozilla-central:ipc/glue/MessagePump.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|237|0x5
0|14|libxul.so|MessageLoop::RunInternal()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|315|0x17
0|15|libxul.so|MessageLoop::Run()|hg:hg.mozilla.org/mozilla-central:ipc/chromium/src/base/message_loop.cc:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|290|0x8
0|16|libxul.so|XRE_InitChildProcess(int, char**, XREChildData const*)|hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|744|0x5
0|17|firefox-bin|content_process_main(mozilla::Bootstrap*, int, char**)|hg:hg.mozilla.org/mozilla-central:ipc/contentproc/plugin-container.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|56|0x11
0|18|firefox-bin|main|hg:hg.mozilla.org/mozilla-central:browser/app/nsBrowserApp.cpp:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|303|0x20
0|19|libc.so.6||||0x21b97
0|20|firefox-bin|<name omitted>|hg:hg.mozilla.org/mozilla-central:mfbt/UniquePtr.h:db74cdf9afe797ced554aaf7e79b9bdc3e86f719|253|0x17
Reporter | ||
Comment 1•5 years ago
|
||
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Comment 2•5 years ago
|
||
Updated•5 years ago
|
Comment 4•4 years ago
|
||
It indeed will cause OOM because 103029415, 4294967293, 206161005, 4294967293, 1082616057 are not the numbers that making sense to set when creating a gamepad. We will not set this kinds of amounts to our button, axis, and so on. I would prefer to do some check in our GamepadServiceTest.
Comment 5•4 years ago
|
||
Updated•4 years ago
|
Assignee | ||
Updated•4 years ago
|
Comment 6•4 years ago
|
||
There's a r+ patch which didn't land and no activity in this bug for 2 weeks.
:cmartin, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee | ||
Comment 7•4 years ago
|
||
This patch needs to be slightly revised. Will likely have time to get to it in the next couple of weeks.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•2 years ago
|
Comment 20•2 years ago
|
||
Testcase crashes using the initial build (mozilla-central 20211225092802-95ced5795758) but not with tip (mozilla-central 20221223212957-abd20d4e1d24.)
The bug appears to have been fixed in the following build range:
Start: 516d1e04fe91d8c56d50fb41ffb92f27e4965f9a (20221213184420)
End: 5d94fded02d5748f214bc2f2494f6dc39d17af4e (20221213184459)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=516d1e04fe91d8c56d50fb41ffb92f27e4965f9a&tochange=5d94fded02d5748f214bc2f2494f6dc39d17af4e
cmartin, can you confirm that the above bisection range is responsible for fixing this issue?
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.
Assignee | ||
Comment 21•2 years ago
|
||
Confirmed -- The issue was very likely fixed by that changeset
Updated•2 years ago
|
Updated•2 years ago
|
Comment 22•2 years ago
|
||
My patch isn't really a fix, I just broke fuzzing involving the fake gamepad test service. Is it still important that it be tested? I can put together a patch that will disable this bypass in fuzzing builds. If it isn't important, maybe it would be good to talk to the fuzzing people about not bothering to flip dom.gamepad.test.enable to true.
Assignee | ||
Comment 23•2 years ago
|
||
Hmm -- Perhaps it would be best to continue fuzzing it then... This may subtly remind me that someday I should probably used a ranged type for those arrays. Upon reflection, I guess even for these testing APIs it's probably still wise to not have memory safety issues.
Assignee | ||
Updated•2 years ago
|
Comment 24•2 years ago
|
||
I put a patch in bug 1809697 to make fuzz testing of the gamepad test service work again, thereby breaking this test case again. I'll reopen this bug when it lands.
Updated•2 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Updated•1 year ago
|
Assignee | ||
Comment 30•1 year ago
|
||
Updated•1 year ago
|
Comment 31•1 year ago
|
||
Comment 32•1 year ago
|
||
bugherder |
Updated•1 year ago
|
Description
•