Closed Bug 1229384 Opened 9 years ago Closed 7 years ago

Out of memory crash in moz_abort | pages_commit

Categories

(Core :: Memory Allocator, defect)

All
Windows
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox42 --- wontfix
firefox43 + wontfix
firefox44 + wontfix
firefox45 - wontfix
firefox46 - wontfix
firefox47 --- wontfix
firefox48 --- wontfix
firefox49 --- wontfix
firefox-esr45 --- wontfix
firefox50 --- wontfix
firefox51 --- wontfix
firefox52 --- wontfix
firefox-esr52 --- wontfix
firefox53 --- wontfix
firefox54 --- wontfix
firefox55 --- wontfix
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- fixed

People

(Reporter: lizzard, Assigned: glandium)

References

Details

(Keywords: crash, nightly-community, topcrash, Whiteboard: [gfx-noted])

Crash Data

Attachments

(4 files)

This bug was filed from the Socorro interface and is report bp-1975793b-2f32-403f-b7e5-a7b212151128. ============================================================= This is currently a topcrash in beta 43, with 581 crashes in 43.0b7 in the last few days. Crashing thread: 0 mozglue.dll moz_abort memory/build/jemalloc_config.cpp 1 mozglue.dll pages_commit memory/mozjemalloc/jemalloc.c 2 mozglue.dll arena_run_split memory/mozjemalloc/jemalloc.c 3 mozglue.dll arena_malloc_large memory/mozjemalloc/jemalloc.c 4 mozglue.dll je_malloc memory/mozjemalloc/jemalloc.c 5 xul.dll gfxImageSurface::AllocateAndInit(long, int, bool) gfx/thebes/gfxImageSurface.cpp 6 xul.dll gfxImageSurface::gfxImageSurface(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, gfxImageFormat, bool) gfx/thebes/gfxImageSurface.cpp 7 xul.dll gfxWindowsPlatform::CreateOffscreenSurface(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, gfxImageFormat) gfx/thebes/gfxWindowsPlatform.cpp 8 xul.dll gfxPlatform::CreateDrawTargetForBackend(mozilla::gfx::BackendType, mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::SurfaceFormat) gfx/thebes/gfxPlatform.cpp 9 xul.dll mozilla::layers::PersistentBufferProviderBasic::PersistentBufferProviderBasic(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits>, mozilla::gfx::SurfaceFormat, mozilla::gfx::BackendType) gfx/layers/PersistentBufferProvider.cpp 10 xul.dll mozilla::layers::LayerManager::CreatePersistentBufferProvider(mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::SurfaceFormat) gfx/layers/Layers.cpp 11 xul.dll mozilla::dom::CanvasRenderingContext2D::EnsureTarget(mozilla::dom::CanvasRenderingContext2D::RenderingMode) dom/canvas/CanvasRenderingContext2D.cpp 12 xul.dll mozilla::dom::CanvasRenderingContext2D::Save() dom/canvas/CanvasRenderingContext2D.cpp 13 xul.dll mozilla::dom::CanvasRenderingContext2DBinding::save obj-firefox/dom/bindings/CanvasRenderingContext2DBinding.cpp
¡Hola Liz! Just crashed like this on Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Gecko/20100101 Firefox/46.0 ID:20151215030221 CSet: ae37fdb042c07c0cb9d0afcd41372a96454f4f4f : Report ID Date Submitted bp-88097bcf-4adb-4e6b-96f7-b7c002151215 12/15/2015 4:06 PM This happened right after a Windows 7 warning about low memory on the computer. Might be an OOM crash in disguise? ¡Gracias! This still heavy volume crash with ~11000 crashes in the past week per https://crash-stats.mozilla.com/report/list?product=Firefox&signature=moz_abort+%7C+pages_commit Crashing Thread Frame Module Signature Source 0 mozglue.dll moz_abort memory/build/jemalloc_config.cpp 1 mozglue.dll pages_commit memory/mozjemalloc/jemalloc.c 2 mozglue.dll arena_run_split memory/mozjemalloc/jemalloc.c 3 mozglue.dll arena_malloc_large memory/mozjemalloc/jemalloc.c 4 mozglue.dll malloc_impl memory/build/replace_malloc.c 5 xul.dll js::LifoAlloc::getOrCreateChunk(unsigned int) js/src/ds/LifoAlloc.cpp 6 xul.dll js::ObjectGroup::sweep(js::AutoClearTypeInferenceStateOnOOM*) js/src/vm/TypeInference.cpp 7 xul.dll SweepArenaList<js::ObjectGroup, js::AutoClearTypeInferenceStateOnOOM*> js/src/jsgc.cpp 8 xul.dll js::gc::GCRuntime::sweepPhase(js::SliceBudget&) js/src/jsgc.cpp 9 xul.dll js::gc::GCRuntime::incrementalCollectSlice(js::SliceBudget&, JS::gcreason::Reason) js/src/jsgc.cpp 10 xul.dll js::gc::GCRuntime::gcCycle(bool, js::SliceBudget&, JS::gcreason::Reason) js/src/jsgc.cpp 11 xul.dll js::gc::GCRuntime::collect(bool, js::SliceBudget, JS::gcreason::Reason) js/src/jsgc.cpp 12 xul.dll js::gc::GCRuntime::gc(JSGCInvocationKind, JS::gcreason::Reason) js/src/jsgc.cpp 13 xul.dll nsJSContext::GarbageCollectNow(JS::gcreason::Reason, nsJSContext::IsIncremental, nsJSContext::IsShrinking, __int64) dom/base/nsJSEnvironment.cpp 14 xul.dll nsJSEnvironmentObserver::Observe(nsISupports*, char const*, wchar_t const*) dom/base/nsJSEnvironment.cpp 15 xul.dll nsObserverList::NotifyObservers(nsISupports*, char const*, wchar_t const*) xpcom/ds/nsObserverList.cpp 16 xul.dll nsObserverService::NotifyObservers(nsISupports*, char const*, wchar_t const*) xpcom/ds/nsObserverService.cpp 17 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp 18 xul.dll mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp 19 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc 20 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc 21 xul.dll nsBaseAppShell::Run() widget/nsBaseAppShell.cpp 22 xul.dll nsAppShell::Run() widget/windows/nsAppShell.cpp 23 xul.dll nsAppStartup::Run() toolkit/components/startup/nsAppStartup.cpp 24 xul.dll XREMain::XRE_mainRun() toolkit/xre/nsAppRunner.cpp 25 xul.dll XREMain::XRE_main(int, char** const, nsXREAppData const*) toolkit/xre/nsAppRunner.cpp 26 xul.dll XRE_main toolkit/xre/nsAppRunner.cpp 27 firefox.exe do_main browser/app/nsBrowserApp.cpp 28 firefox.exe NS_internal_main(int, char**) browser/app/nsBrowserApp.cpp 29 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp 30 firefox.exe __tmainCRTStartup f:/dd/vctools/crt/crtw32/startup/crt0.c:255 31 kernel32.dll BaseThreadInitThunk 32 ntdll.dll __RtlUserThreadStart 33 ntdll.dll _RtlUserThreadStart
Flags: needinfo?(lhenry)
Version: unspecified → Trunk
Anecdotal evidence of memory usage: * 100% occur with <50% memory remaining * 88% occur with <30% memory remaining * 68% occur with <20% memory remaining * 34% occur with <10% memory remaining I'd say it's very likely that OOM is a factor here, at least in some instances.
Whiteboard: [gfx-noted]
#7 topcrash right now on release and still high volume in beta. But too late to fix for 43.
Flags: needinfo?(lhenry)
Wontfix for 44 as well. This is still a high volume crash on 43.0.4 and 44. It's the #9 topcrash on nightly. I'll try emailing crash-debug to see if someone can investigate.
This is only randomly sitting in graphics, the signature seems to be catching all sorts of OOM conditions, right? For example, out of the latest few in 46, these seems to be JS: https://crash-stats.mozilla.com/report/index/74a058cb-6793-4bb5-8e22-7a92e2160109 https://crash-stats.mozilla.com/report/index/146af7f4-ade9-4bbd-8aa3-12ad42160111 https://crash-stats.mozilla.com/report/index/93506df8-3a74-4db9-bb2d-453102160114 https://crash-stats.mozilla.com/report/index/473e44a4-be0a-4919-b095-b9cb72160110 https://crash-stats.mozilla.com/report/index/c6a13ae7-780c-4b73-8a59-4e3ac2160113 no idea what this is: https://crash-stats.mozilla.com/report/index/bfa794be-96bb-4a52-9b5e-a45a42160109 and then this one in graphics: https://crash-stats.mozilla.com/report/index/1273e521-c4f6-413f-88c6-4d34c2160112 If we want to make something out of this, we need to do something about the signatures, and not go off the moz_abort | pages_commit, but ignore the stack until the caller to malloc_impl.
Component: Graphics: Layers → General
Blocks: 1242925
These look like OOM crashes inside jemalloc. Perhaps these could be hooked into the OOM crash reporting.
Component: General → Memory Allocator
Copy/Paste from a mail thread that was likely about this bug: On Wed, Jan 13, 2016 at 03:58:31PM -0700, Aaron Klotz wrote: > +glandium to hear his $0.02 > > On 1/13/2016 3:55 PM, Kyle Huey wrote: > >At least in this case, we have the size right there. We're just calling > >C's abort() > > > >http://hg.mozilla.org/mozilla-central/annotate/ae37fdb042c0/memory/mozjemalloc/jemalloc.c#l2068 In this case we *don't* have the size. What we have there is the size of the address space that is being tried to be committed, which may or may not match the malloc size. And since the specific crash trace goes through arena_run_split, we're in a case where it doesn't match. It's one of those tricky cases where we have mapped more memory than the OS can give us, and subsequently fail to commit that memory. The allocation that triggered that may or may not even be directly involved. The proper thing to do here is to fix jemalloc to "gracefully" return a failed allocation instead of abort()ing. Jemalloc4 does that properly, btw. Mike
If we do that, then the normal mozalloc OOM machinery should apply, and these crashes would get bucketed properly as OOM crashes?
Summary: crash in moz_abort | pages_commit → Out of memory crash in moz_abort | pages_commit
Got this today at page load, https://crash-stats.mozilla.com/report/index/bff7634b-b4d3-4ac2-96da-8f8bc2160212, not deterministically reproducible.
Benjamin commented that upgrading to jemalloc 4 would help make this a fallible crash. glandium or njn, can you help here? Thanks.
Flags: needinfo?(n.nethercote)
Flags: needinfo?(mh+mozilla)
> Benjamin commented that upgrading to jemalloc 4 would help make this a > fallible crash. > glandium or njn, can you help here? Thanks. glandium has spent a heroic amount of effort over the past year trying to upgrade to jemalloc 4. Unfortunately there are still performance regressions that are preventing it from riding the trains.
Flags: needinfo?(n.nethercote)
OK! Thanks for the info and the heroic efforts. I see that work now hanging off bug 762449 and bug 1201802. Since this crash report isn't currently actionable, I'm going to untrack the bug.
It is possible to make pages_commit fallible in mozjemalloc, as per comment 9.
Flags: needinfo?(mh+mozilla)
also comments in the crash reports seem to indicate that memory use seems to be wildly out of control. With some analysis of the URLs we might also understand where we might have some recent leaks that contribute to getting to the condition where we have allocation mismatches. That would be another thing to investigate on this bug.
Some work on memory usage is going on in bug 1249739, for example - and AFAIK, MemShrink is still an ongoing initiative.
(In reply to chris hofmann from comment #16) > With some analysis of the URLs we might also > understand where we might have some recent leaks that contribute to getting > to the condition where we have allocation mismatches. That would be another > thing to investigate on this bug. Yes, having a list of URLs associated with this crash could be useful. Note, though, that out of control memory usage is not necessarily a Firefox bug. But if we have a webpage that uses a ton of memory in Firefox, it is easy enough to compare to memory usage in say Chrome to get a rough sense if the page is at fault or not.
Keywords: needURLs
That's the top URLs for this signature, it's pretty much the usual suspects, and Facebook to a very high degree. 1575 https://www.facebook.com/ 206 about:newtab 129 about:sessionrestore 125 about:blank 121 https://mail.google.com/mail/u/0/#inbox 103 about:home 99 https://www.youtube.com/ 57 https://www.facebook.com/?ref=tn_tnmn 50 http://ok.ru/ 41 https://web.whatsapp.com/ 27 https://mail.google.com/mail/u/0/?tab=wm#inbox 25 https://twitter.com/ 24 https://www.yahoo.com/ 21 http://www.netflix.com/browse 21 https://www.yandex.ru/
Keywords: needURLs
so one test case that's worth constructing and checking is some general facebook usage on this matrix. do we have some test case that mimic some common user behavior on facebook? browser to check memory consumed firefox 42 (pre spike in this signature) - firefox 43 (first notice of the spike) - firefox 44 (what we are shipping now) - firefox 45b9 (what's planned to go out next) - chrome latest -
I see this as one of the crashes. I don't have a STR yet. However, here the condition under which I get this crash: On Win10 64-bit + Nightly 32-bit e10s DISABLED, when I view a Flash Video with VLC, with Firefox in the background, the firefox.exe size in task manager starts ballooning and I sometimes get an OOM and firefox crashes. This is repeatable but the crashes are not the same. Some of the crashes are: https://crash-stats.mozilla.com/report/index/bp-ecf85e54-a5b0-4ae1-ba0b-e0baf2160318 https://crash-stats.mozilla.com/report/index/bp-ecd37cb0-3cd9-497b-bd1d-309f42160319 3e5803d3-978f-47e7-a33f-5d11fa521176 (not submitted to crash-stats?) https://crash-stats.mozilla.com/report/index/bp-eb34b0c4-61ff-4948-b487-3d33a2160319 On Win10 64-bit + Nightly 32-bit e10s ENABLED, when I view a Flash Video with VLC, with Firefox in the background, the plugin_container.exe size in task manager starts ballooning and I sometimes get an OOM and the PC crashes.
Blocks: e10s-oom
Currently not showing up in the 47.0b3 top 50 list.
No longer blocks: e10s-oom
Crash volume for signature 'moz_abort | pages_commit': - nightly (version 50): 83 crashes from 2016-06-06. - aurora (version 49): 147 crashes from 2016-06-07. - beta (version 48): 1709 crashes from 2016-06-06. - release (version 47): 8648 crashes from 2016-05-31. - esr (version 45): 4301 crashes from 2016-04-07. Crash volume on the last weeks: Week N-1 Week N-2 Week N-3 Week N-4 Week N-5 Week N-6 Week N-7 - nightly 15 9 10 10 9 8 16 - aurora 23 33 18 20 22 23 4 - beta 265 273 252 272 263 225 77 - release 1403 1405 1261 1260 1296 1220 421 - esr 563 569 453 469 539 460 295 Affected platform: Windows
Crash volume for signature 'moz_abort | pages_commit': - nightly (version 51): 41 crashes from 2016-08-01. - aurora (version 50): 69 crashes from 2016-08-01. - beta (version 49): 739 crashes from 2016-08-02. - release (version 48): 1158 crashes from 2016-07-25. - esr (version 45): 5926 crashes from 2016-05-02. Crash volume on the last weeks (Week N is from 08-22 to 08-28): W. N-1 W. N-2 W. N-3 - nightly 14 13 8 - aurora 21 37 4 - beta 247 242 88 - release 363 363 170 - esr 489 449 478 Affected platform: Windows Crash rank on the last 7 days: Browser Content Plugin - nightly #91 #85 - aurora #73 #103 - beta #58 #60 #1236 - release #47 #66 - esr #10
Crash volume for signature 'moz_abort | pages_commit': - nightly (version 52): 11 crashes from 2016-09-19. - aurora (version 51): 31 crashes from 2016-09-19. - beta (version 50): 236 crashes from 2016-09-20. - release (version 49): 1511 crashes from 2016-09-05. - esr (version 45): 8379 crashes from 2016-06-01. Crash volume on the last weeks (Week N is from 10-03 to 10-09): W. N-1 W. N-2 - nightly 5 6 - aurora 28 3 - beta 200 36 - release 1175 335 - esr 611 665 Affected platform: Windows Crash rank on the last 7 days: Browser Content Plugin - nightly #458 #201 - aurora #60 #97 - beta #78 #139 - release #45 #47 #3015 - esr #10
¡Hola Liz! FWIW This one jumped up 8 spots to top 44 crash in Nightly. ¡Gracias! Alex https://crash-stats.mozilla.com/report/index/31568b6d-1518-4896-a590-478d82161214 Crashing Thread (70) Frame Module Signature Source 0 mozglue.dll moz_abort memory/build/jemalloc_config.cpp:163 1 mozglue.dll pages_commit memory/mozjemalloc/jemalloc.c:2079 2 mozglue.dll chunk_recycle memory/mozjemalloc/jemalloc.c:2899 3 mozglue.dll chunk_alloc memory/mozjemalloc/jemalloc.c:2940 4 mozglue.dll arena_malloc_large memory/mozjemalloc/jemalloc.c:4279 5 mozglue.dll malloc_impl memory/build/replace_malloc.c:151 6 xul.dll PLDHashTable::Add(void const*, mozilla::fallible_t const&) xpcom/glue/PLDHashTable.cpp:540 7 xul.dll CCGraphBuilder::AddNode(void*, nsCycleCollectionParticipant*) xpcom/base/nsCycleCollector.cpp:2214 8 xul.dll CCGraphBuilder::NoteRoot(void*, nsCycleCollectionParticipant*) xpcom/base/nsCycleCollector.cpp:2143 9 xul.dll mozilla::CycleCollectedJSContext::TraverseNativeRoots(nsCycleCollectionNoteRootCallback&) xpcom/base/CycleCollectedJSContext.cpp:779 10 xul.dll mozilla::CycleCollectedJSContext::TraverseRoots(nsCycleCollectionNoteRootCallback&) xpcom/base/CycleCollectedJSContext.cpp:1213 11 xul.dll nsCycleCollector::BeginCollection(ccType, nsICycleCollectorListener*) xpcom/base/nsCycleCollector.cpp:3853 12 xul.dll nsCycleCollector::Collect(ccType, js::SliceBudget&, nsICycleCollectorListener*, bool) xpcom/base/nsCycleCollector.cpp:3651 13 xul.dll nsCycleCollector_collect(nsICycleCollectorListener*) xpcom/base/nsCycleCollector.cpp:4144 14 xul.dll `anonymous namespace'::WorkerJSContext::CustomGCCallback dom/workers/RuntimeService.cpp:1132 15 xul.dll js::gc::GCRuntime::callGCCallback(JSGCStatus) js/src/jsgc.cpp:1362 16 xul.dll `anonymous namespace'::AutoNotifyGCActivity::~AutoNotifyGCActivity js/src/jsgc.cpp:1393 17 xul.dll js::gc::GCRuntime::gcCycle(bool, js::SliceBudget&, JS::gcreason::Reason) js/src/jsgc.cpp:6200 18 xul.dll js::gc::GCRuntime::collect(bool, js::SliceBudget, JS::gcreason::Reason) js/src/jsgc.cpp:6337 19 xul.dll js::gc::GCRuntime::gc(JSGCInvocationKind, JS::gcreason::Reason) js/src/jsgc.cpp:6398 20 xul.dll mozilla::dom::workers::WorkerPrivate::GarbageCollectInternal(JSContext*, bool, bool) dom/workers/WorkerPrivate.cpp:6267 21 xul.dll `anonymous namespace'::GarbageCollectRunnable::WorkerRun dom/workers/WorkerPrivate.cpp:1394 22 xul.dll mozilla::dom::workers::WorkerRunnable::Run() dom/workers/WorkerRunnable.cpp:374 23 xul.dll mozilla::dom::workers::WorkerPrivate::ProcessAllControlRunnablesLocked() dom/workers/WorkerPrivate.cpp:5055 24 xul.dll mozilla::dom::workers::WorkerPrivate::DoRunLoop(JSContext*) dom/workers/WorkerPrivate.cpp:4576 25 xul.dll `anonymous namespace'::WorkerThreadPrimaryRunnable::Run dom/workers/RuntimeService.cpp:2871 26 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1213 27 xul.dll NS_ProcessNextEvent(nsIThread*, bool) xpcom/glue/nsThreadUtils.cpp:381 28 xul.dll mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:368 29 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc:225 30 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:205 31 xul.dll nsThread::ThreadFunc(void*) xpcom/threads/nsThread.cpp:467 32 nss3.dll PR_NativeRunThread nsprpub/pr/src/threads/combined/pruthr.c:397 33 nss3.dll pr_root nsprpub/pr/src/md/windows/w95thred.c:95 34 ucrtbase.dll o__realloc_base 35 kernel32.dll BaseThreadInitThunk 36 ntdll.dll RtlUserThreadStart
Crash volume for signature 'moz_abort | pages_commit': - nightly (version 54): 26 crashes from 2017-01-23. - aurora (version 53): 6 crashes from 2017-01-23. - beta (version 52): 200 crashes from 2017-01-23. - release (version 51): 775 crashes from 2017-01-16. - esr (version 45): 19698 crashes from 2016-08-03. Crash volume on the last weeks (Week N is from 01-30 to 02-05): W. N-1 W. N-2 W. N-3 W. N-4 W. N-5 W. N-6 W. N-7 - nightly 20 - aurora 6 - beta 121 - release 391 0 - esr 968 948 992 732 519 864 937 Affected platform: Windows Crash rank on the last 7 days: Browser Content Plugin - nightly #75 #34 - aurora #230 #56 - beta #53 #38 - release #40 #30 #756 - esr #14 #2 #766
Too late for firefox 52, mass-wontfix.
¡Hola! This is pestering me on Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0 ID:20170426030329 CSet: 0f5ba06c4c5959030a05cb852656d854065e2226 today. Updating flags per https://crash-stats.mozilla.com/signature/?product=Firefox&signature=moz_abort%20%7C%20pages_commit It looks like a content crash now as I get the "Tab crashed" UI but eventually Nightly as a whole crumbles... ¡Gracias! Alex Reportes de fallos enviados ID del reporte Fecha enviada bp-f2f4db2a-318c-444c-a7a7-347d00170426 26/04/2017 16:09 bp-477ce1b3-790e-45b2-b29c-5af270170426 26/04/2017 16:09 bp-2614c5d6-c0cc-4a7d-ad26-e4f010170426 26/04/2017 16:09 bp-9cff7bbb-a578-498b-b1c3-6d24c0170426 26/04/2017 16:09 bp-4f7ad05f-369f-4668-aec8-343ce0170426 26/04/2017 16:09 bp-19d1b690-1b75-4cab-8208-5ce3d0170426 26/04/2017 16:09 bp-618eef61-e82d-483d-933c-2d10f0170426 26/04/2017 16:09 bp-f63bc5bd-42b6-4f1c-902b-5cd4b0170426 26/04/2017 16:09 bp-bb73599c-2338-4cdc-99aa-7cbd40170426 26/04/2017 16:09 bp-206e526f-486f-4ce7-b363-d994a0170426 26/04/2017 16:09 bp-c0b5ead2-4592-4aa9-bd35-f826b0170426 26/04/2017 16:09 bp-2a2d472b-6579-445d-8732-1bd5a0170426 26/04/2017 16:09 bp-00b754a7-34fa-4af1-a228-796eb0170426 26/04/2017 16:09 bp-80e0599b-6148-4233-b0e4-e43ef0170426 26/04/2017 16:09 bp-fb5050bb-4046-48af-9d97-87f800170426 26/04/2017 16:09 bp-1822366d-9cd7-48a5-a096-4589a0170426 26/04/2017 16:09 bp-65073984-8179-4ed6-b40d-b8c3b0170426 26/04/2017 15:34
This is an out of memory crash. I thought you might be experiencing bug 1357872, but that should be fixed in the 4-25 Nightly. Can you please file a new bug and needinfo me? Though the crash report says your available page file is around 10MB, which sounds extremely low! Is your hard drive almost full or something? You have a ton of free memory but maybe the OS decided to page something out.
Flags: needinfo?(alex_mayorga)
(In reply to Andrew McCreight [:mccr8] from comment #32) > This is an out of memory crash. I thought you might be experiencing bug > 1357872, but that should be fixed in the 4-25 Nightly. Can you please file a > new bug and needinfo me? Though the crash report says your available page > file is around 10MB, which sounds extremely low! Is your hard drive almost > full or something? You have a ton of free memory but maybe the OS decided to > page something out. ¡Hola Andrew! Filed https://bugzilla.mozilla.org/show_bug.cgi?id=1360226 as requested. ¡Gracias! Alex
Flags: needinfo?(alex_mayorga)
The signature for this changed in 57 to [@ pages_commit].
Crash Signature: [@ moz_abort | pages_commit] → [@ moz_abort | pages_commit] [@ pages_commit]
This is the top crash, with about 68% of all crashes, for the 10-5 Nightly, which is an alarming increase. Nightly has about 8300 crashes, from 449 installations. So some people are hitting this quite frequently.
Sorry, I meant, 10-4 not 10-5. It is only around #7 for 10-5 so far so maybe it was just a fluke.
OS: Windows NT → Windows
Hardware: x86 → All
Hit this on my Win 10 Surface Pro today. I opened my machine, cnn.com tab was loaded. Browser crashed (content crash). The next thing I noticed is that I was getting Windows warnings that my machine was low on memory.
Comment on attachment 8922654 [details] Bug 1229384 - Reformat and apply Gecko style to a few functions. https://reviewboard.mozilla.org/r/193780/#review198996
Attachment #8922654 - Flags: review?(n.nethercote) → review+
Comment on attachment 8922655 [details] Bug 1229384 - Invert the meaning of the arena_ralloc_large and arena_t::RallocGrowLarge return type. https://reviewboard.mozilla.org/r/193782/#review198998
Attachment #8922655 - Flags: review?(n.nethercote) → review+
Comment on attachment 8922656 [details] Bug 1229384 - In SplitRun, adjust the set of available runs after committing pages. https://reviewboard.mozilla.org/r/193784/#review199200 Sorry, but I'm going to need a bit of explanation, e.g. in the log message, to understand what's being changed here.
Attachment #8922656 - Flags: review?(n.nethercote)
Comment on attachment 8922657 [details] Bug 1229384 - Make pages_commit fallible. https://reviewboard.mozilla.org/r/193786/#review199202 This is a good change. In fact I'm a bit surprised at the existing behaviour... uniformly returning nullptr on OOM seems much more sensible than mostly returning nullptr but occasionally aborting.
Attachment #8922657 - Flags: review?(n.nethercote) → review+
Comment on attachment 8922656 [details] Bug 1229384 - In SplitRun, adjust the set of available runs after committing pages. https://reviewboard.mozilla.org/r/193784/#review199256 Much clearer, thank you. ::: memory/build/mozjemalloc.cpp:2471 (Diff revision 2) > + > + mRunsAvail.Remove(&chunk->map[run_ind]); > > + /* Keep track of trailing unused pages for later use. */ > + if (rem_pages > 0) { > + chunk->map[run_ind+need_pages].bits = (rem_pages << Spaces around '+'.
Attachment #8922656 - Flags: review?(n.nethercote) → review+
(In reply to Nicholas Nethercote [:njn] from comment #51) > Spaces around '+'. I'll leave it as-is, because it's fixed in bug 1412221.
Assignee: nobody → mh+mozilla
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/ebf19b9491fe Reformat and apply Gecko style to a few functions. r=njn https://hg.mozilla.org/integration/autoland/rev/470e491047b7 Invert the meaning of the arena_ralloc_large and arena_t::RallocGrowLarge return type. r=njn https://hg.mozilla.org/integration/autoland/rev/fa4a07b91fc2 In SplitRun, adjust the set of available runs after committing pages. r=njn https://hg.mozilla.org/integration/autoland/rev/83980ff3d5e5 Make pages_commit fallible. r=njn
This frequency of this crash on Beta/Release is high enough to give me pause about whether or not we should consider it for uplift this late in the cycle, but on the other hand, these patches don't exactly look like the kind of small low-risk ones we'd want to be taking at this point either. What are your thoughts, Mike?
Flags: needinfo?(mh+mozilla)
Those patches probably don't apply on beta, because of all the changes that have happened to that file in the past few weeks. So it wouldn't be a straightforward uplift. Moreover, the patch doesn't change much. Practically speaking, it will replace one kind of OOM crash with another, shifting from pages_commit-rooted crashes to more "standard" OOM crashes. Although there's a small chance that in some cases we might hit a caller that handles failure in an appropriate way, but that just delays the OOM crash to the next allocation that fails.
Flags: needinfo?(mh+mozilla)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: