gecko-dev/xpcom/base
Kris Maglione ed8cdf8a2f Bug 1563825: Don't assert on failure to decode message after OOM. r=mccr8
Ideally, we don't want to continue running a child process if it fails to
handle a message from the parent, since that could mean child and parent state
could get out of sync. But since this assertion is only a diagnostic assert,
it isn't guaranteeing that in release builds anyway. And since the vast
majority of the crashes we are seeing in builds with diagnostic asserts
enabled appear to be OOMs, we can't really use crash reports to diagnose other
issues.

Ideally (again), we'd determine if the failure was caused by an OOM based on
the failure code returned by the structured clone decode call. Unfortunately,
though, since the spec requires that we return a generic `DataCloneError` on
failure, the structured clone code intentionally hides the specifics of
failure from callers. Propagating out more specific failure reasons for use by
privileged callers is nontrivial. So this patch essentially does the same
thing as crash reports do, and checks whether an OOM was reported recently,
and hasn't been recovered from by a successful GC.

Differential Revision: https://phabricator.services.mozilla.com/D176288
2023-04-25 06:46:42 +00:00
..
AppShutdown.cpp Bug 1825917 - Have a ShutdownReason annotation and identify OS shutdown on Windows. r=xpcom-reviewers,gstoll,nika 2023-04-17 14:03:48 +00:00
AppShutdown.h Bug 1825917 - Have a ShutdownReason annotation and identify OS shutdown on Windows. r=xpcom-reviewers,gstoll,nika 2023-04-17 14:03:48 +00:00
AutoRestore.h
AvailableMemoryTracker.cpp Bug 1733308 - Fix non-unified builds errors in xpcom/base. r=xpcom-reviewers,mccr8 2021-10-01 01:49:16 +00:00
AvailableMemoryTracker.h
AvailableMemoryWatcher.cpp Bug 1532955 - Track available memory on linux. r=gsvelto,tkikuchi 2021-12-02 11:14:30 +00:00
AvailableMemoryWatcher.h Bug 1730066 - Enable tab unloading on macOS r=spohl 2021-10-21 04:43:35 +00:00
AvailableMemoryWatcherLinux.cpp Bug 1828010 - Add an nsINamed implementation on more nsITimer callbacks, r=Gijs. 2023-04-14 10:57:10 +00:00
AvailableMemoryWatcherMac.cpp Bug 1730066 - Enable tab unloading on macOS r=spohl 2021-10-21 04:43:35 +00:00
AvailableMemoryWatcherUtils.h Bug 1532955 - Track available memory on linux. r=gsvelto,tkikuchi 2021-12-02 11:14:30 +00:00
AvailableMemoryWatcherWin.cpp Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
ClearOnShutdown.cpp Bug 1768581 - Part 8: Exclude AppShutdownConfirmed from any Ns_ProcessPendingEvents. r=xpcom-reviewers,nika 2022-12-12 15:21:29 +00:00
ClearOnShutdown.h Bug 1768581 - Part 8: Exclude AppShutdownConfirmed from any Ns_ProcessPendingEvents. r=xpcom-reviewers,nika 2022-12-12 15:21:29 +00:00
CodeAddressService.h
components.conf Bug 1792574, part 4 - deCOM nsIMemory. r=xpcom-reviewers,nika 2022-09-28 15:17:47 +00:00
CountingAllocatorBase.h Bug 1776463 - Use C++17 inline variable for CountingAllocatorBase::sAmount. r=xpcom-reviewers,nika 2022-10-17 21:54:12 +00:00
CycleCollectedJSContext.cpp Bug 1813556 - Expose finalization registry callback objects to active JS r=sfink 2023-02-01 09:07:23 +00:00
CycleCollectedJSContext.h Bug 1802395, remove an unneeded member variable, r=edgar 2022-11-29 20:00:13 +00:00
CycleCollectedJSRuntime.cpp Bug 1563825: Don't assert on failure to decode message after OOM. r=mccr8 2023-04-25 06:46:42 +00:00
CycleCollectedJSRuntime.h Bug 1563825: Don't assert on failure to decode message after OOM. r=mccr8 2023-04-25 06:46:42 +00:00
Debug.cpp
Debug.h
DebuggerOnGCRunnable.cpp
DebuggerOnGCRunnable.h
DeferredFinalize.cpp
DeferredFinalize.h Bug 1733308 - Fix non-unified builds errors in xpcom/base. r=xpcom-reviewers,mccr8 2021-10-01 01:49:16 +00:00
EnumeratedArrayCycleCollection.h
ErrorList.py Bug 1819170 - part5 : add CDM specific errors in order to distinguish different error reasons. r=jolin 2023-03-03 00:05:02 +00:00
ErrorNames.cpp Bug 1740543 - Expose xpcom's GetErrorName() to JS. r=xpcom-reviewers,nika 2021-12-09 14:00:39 +00:00
ErrorNames.h
GkRustUtils.cpp Bug 1724152: Replace GkRustUtils::GenerateUUID with nsID::GenerateUUID. r=ckerschb 2021-11-04 08:55:46 +00:00
GkRustUtils.h Bug 1724152: Replace GkRustUtils::GenerateUUID with nsID::GenerateUUID. r=ckerschb 2021-11-04 08:55:46 +00:00
HoldDropJSObjects.cpp
HoldDropJSObjects.h
IntentionalCrash.h Bug 1779721 - Make sure utility process tests notifies test harness of SIGKILL r=mccr8 2023-03-24 16:37:25 +00:00
JSObjectHolder.cpp
JSObjectHolder.h
JSONStringWriteFuncs.h Bug 1784812 - Make all JSONWriteFunc-derived classes and their overriden methods final - r=canaltinova 2022-08-17 07:07:54 +00:00
LogCommandLineHandler.cpp
LogCommandLineHandler.h
Logging.cpp Bug 1803751 - Make some marker fields searchable and bump the profile version r=julienw 2022-12-13 14:19:07 +00:00
Logging.h Bug 1705019 - Always record LogMessage profiler markers for enabled log messages when the profiler is enabled and add a new 'profilerstacks' keyword to enable capturing stacks in these markers, r=mstange. 2022-09-13 13:26:24 +00:00
LogModulePrefWatcher.cpp Bug 1792574, part 3 - Don't include nsMemory where it isn't needed. r=xpcom-reviewers,necko-reviewers,valentin,nika 2022-09-28 15:17:46 +00:00
LogModulePrefWatcher.h
MacHelpers.h
MacHelpers.mm Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
MacStringHelpers.h Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
MacStringHelpers.mm Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
MemoryInfo.cpp
MemoryInfo.h
MemoryMapping.cpp
MemoryMapping.h
MemoryPressureLevelMac.h Bug 1730066 - Enable tab unloading on macOS r=spohl 2021-10-21 04:43:35 +00:00
MemoryReportingProcess.h
MemoryTelemetry.cpp Bug 1763625 - Refactor how we access child process handles. r=nika,media-playback-reviewers,karlt 2023-02-28 03:41:51 +00:00
MemoryTelemetry.h Bug 1794536 - Delete MemoryTelemetry::GetUniqueSetSize() and its decleration. r=pbone 2022-11-20 22:04:22 +00:00
moz.build Bug 1822451 - Add about:memory entries for PHC r=glandium 2023-03-29 11:08:17 +00:00
nsAlgorithm.h
nsAutoRef.h
nsClassInfoImpl.cpp
nsCom.h
nsCOMPtr.cpp
nsCOMPtr.h Bug 1607634 - Part 1: Improve the ergonomics of using NotNull with RefPtr and nsCOMPtr, r=glandium 2023-03-20 15:40:35 +00:00
nsConsoleMessage.cpp Bug 1483662 - Add microSecondTimeStamp to nsConsoleMessage, nsScriptError and ConsoleEvent. r=edgar. 2022-09-02 04:58:28 +00:00
nsConsoleMessage.h Bug 1483662 - Add microSecondTimeStamp to nsConsoleMessage, nsScriptError and ConsoleEvent. r=edgar. 2022-09-02 04:58:28 +00:00
nsConsoleService.cpp Bug 1780788 - Prevent logStringMessage(null) from crashing. 2022-07-25 23:23:45 +02:00
nsConsoleService.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nscore.h Bug 1746540 - Move --enable-logrefcnt to python configure. r=nika,firefox-build-system-reviewers,mhentges 2021-12-18 00:32:35 +00:00
nsCrashOnException.cpp
nsCrashOnException.h
nsCRTGlue.cpp Bug 1764262 - Redirect MOZ_LOG output to Nyx when fuzzing. r=xpcom-reviewers,nika 2022-04-25 19:12:23 +00:00
nsCRTGlue.h Bug 1746052, further restrict the characters that are allowed in filenames, as save as doesn't allow these, r=mccr8 2022-05-06 10:00:54 +00:00
nsCycleCollectionNoteChild.h
nsCycleCollectionNoteRootCallback.h
nsCycleCollectionParticipant.cpp
nsCycleCollectionParticipant.h Bug 1805931, part 1 - Declare Root and Unroot inline to save on boilerplate. r=smaug 2022-12-15 19:45:00 +00:00
nsCycleCollectionTraversalCallback.h Bug 1543537, part 1 - Add a NoteWeakMapping method to traversal callback. r=kmag 2022-09-24 23:24:31 +00:00
nsCycleCollector.cpp Bug 1828747 - Add a way to skip some shutdown CC logs. r=smaug 2023-04-18 22:46:15 +00:00
nsCycleCollector.h Bug 1732161 - Track CCReason for all cycle collections (replacing ccType) r=smaug 2021-10-14 18:15:40 +00:00
nsCycleCollectorTraceJSHelpers.cpp Bug 1733308 - Fix non-unified builds errors in xpcom/base. r=xpcom-reviewers,mccr8 2021-10-01 01:49:16 +00:00
nsDebug.h Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
nsDebugImpl.cpp Bug 1774864 - Cleanup xpcom/ includes r=sylvestre 2022-06-24 07:13:59 +00:00
nsDebugImpl.h Bug 1514936, part 2 - Drop the outer arguments from static components. r=xpcom-reviewers,nika 2022-05-17 20:24:19 +00:00
nsDumpUtils.cpp Backed out 3 changesets (bug 1658072) as they are related to previously backed out changeset CLOSED TREE 2022-08-11 02:01:04 +03:00
nsDumpUtils.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
nsError.h
nsGZFileWriter.cpp Bug 1792354, part 1 - DeCOM nsGZFileWriter. r=xpcom-reviewers,nika 2022-09-27 21:27:17 +00:00
nsGZFileWriter.h Bug 1792354, part 1 - DeCOM nsGZFileWriter. r=xpcom-reviewers,nika 2022-09-27 21:27:17 +00:00
nsIAvailableMemoryWatcherBase.idl Bug 1729911 - Define minInactiveDurationInMS not to unload fresh tabs. r=NeilDeakin 2021-10-20 23:22:57 +00:00
nsIClassInfoImpl.h
nsIConsoleListener.idl
nsIConsoleMessage.idl Bug 1483662 - Add microSecondTimeStamp to nsConsoleMessage, nsScriptError and ConsoleEvent. r=edgar. 2022-09-02 04:58:28 +00:00
nsIConsoleService.idl Bug 1802288 - remove trailing whitespaces in idl/webidl files r=credential-management-reviewers,webidl,smaug,sgalich 2022-12-28 09:52:44 +00:00
nsICycleCollectorListener.idl
nsID.cpp Backed out changeset 7d4b830c1cf6 (bug 1811934) for causing wpt failures on pointerevent_pointerrawupdate_in_pointerlock.html CLOSED TREE 2023-01-31 21:44:59 +02:00
nsID.h Backed out changeset 7d4b830c1cf6 (bug 1811934) for causing wpt failures on pointerevent_pointerrawupdate_in_pointerlock.html CLOSED TREE 2023-01-31 21:44:59 +02:00
nsIDebug2.idl Bug 1792355 - Mark some xpcom/base interfaces builtinclass or not scriptable. r=xpcom-reviewers,nika 2022-09-27 15:34:13 +00:00
nsIDUtils.h
nsIException.idl
nsIInterfaceRequestor.idl Bug 1802288 - remove trailing whitespaces in idl/webidl files r=credential-management-reviewers,webidl,smaug,sgalich 2022-12-28 09:52:44 +00:00
nsIInterfaceRequestorUtils.cpp
nsIInterfaceRequestorUtils.h
nsIMacPreferencesReader.idl Bug 1792355 - Mark some xpcom/base interfaces builtinclass or not scriptable. r=xpcom-reviewers,nika 2022-09-27 15:34:13 +00:00
nsIMemoryInfoDumper.idl
nsIMemoryReporter.idl
nsIMessageLoop.idl Bug 1792355 - Mark some xpcom/base interfaces builtinclass or not scriptable. r=xpcom-reviewers,nika 2022-09-27 15:34:13 +00:00
nsINIParser.cpp Bug 1787121: add support for formatting INI files to nsINIParser r=xpcom-reviewers,kmag 2022-09-28 13:17:41 +00:00
nsINIParser.h Bug 1787121: add support for formatting INI files to nsINIParser r=xpcom-reviewers,kmag 2022-09-28 13:17:41 +00:00
nsInterfaceRequestorAgg.cpp Bug 1809753 - Part 3: Replace all callers of GetCurrentEventTarget with GetCurrentSerialEventTarget, r=mccr8,necko-reviewers,valentin 2023-01-16 23:14:11 +00:00
nsInterfaceRequestorAgg.h
nsISecurityConsoleMessage.idl
nsISizeOf.h
nsISupports.idl Bug 1794811, part 2 - Use the automatically generated nsISupports.h. r=nika 2022-10-17 16:09:22 +00:00
nsISupportsImpl.cpp
nsISupportsImpl.h Bug 1824465 - Part 2: NS_INLINE_DECL_REFCOUNTING_INHERITED should always override, r=xpcom-reviewers,emilio,kmag 2023-04-19 22:10:07 +00:00
nsISupportsUtils.h Bug 1825324 - Make widget/* buildable outside of a unified build environment r=andi,geckoview-reviewers,m_kato 2023-04-01 08:31:12 +00:00
nsIUUIDGenerator.idl Bug 1792355 - Mark some xpcom/base interfaces builtinclass or not scriptable. r=xpcom-reviewers,nika 2022-09-27 15:34:13 +00:00
nsIVersionComparator.idl Bug 1802288 - remove trailing whitespaces in idl/webidl files r=credential-management-reviewers,webidl,smaug,sgalich 2022-12-28 09:52:44 +00:00
nsIWeakReference.idl Bug 1778211 - Reject xpidl CDATA containing 'virtual', r=xpcom-reviewers,necko-reviewers,mccr8,dragana 2022-07-06 14:53:06 +00:00
nsIWeakReferenceUtils.h
nsMacPreferencesReader.h
nsMacPreferencesReader.mm Bug 1784812 - Use common JSONWriteFuncs when writing to a string - r=canaltinova,media-playback-reviewers,alwu 2022-08-17 07:07:54 +00:00
nsMacUtilsImpl.cpp Bug 1822484 - Rename IsDevelopmentBuild. r=necko-reviewers,media-playback-reviewers,padenot,emilio 2023-03-21 21:54:27 +00:00
nsMacUtilsImpl.h Bug 1792567, part 2 - Turn nsMacUtilsImpl into a namespace. r=spohl 2022-10-14 14:34:30 +00:00
nsMaybeWeakPtr.h
nsMemory.h Bug 1792574, part 4 - deCOM nsIMemory. r=xpcom-reviewers,nika 2022-09-28 15:17:47 +00:00
nsMemoryImpl.cpp Bug 1792574, part 4 - deCOM nsIMemory. r=xpcom-reviewers,nika 2022-09-28 15:17:47 +00:00
nsMemoryInfoDumper.cpp Bug 1784812 - Make all JSONWriteFunc-derived classes and their overriden methods final - r=canaltinova 2022-08-17 07:07:54 +00:00
nsMemoryInfoDumper.h
nsMemoryReporterManager.cpp Bug 1806852 - Use nsThread::GetThreadName in the threads memory reporter. r=xpcom-reviewers,emilio 2023-04-21 22:00:55 +00:00
nsMemoryReporterManager.h Bug 1786860 - Use phys_footprint on MacOS to provide MEMORY_TOTAL r=kmag 2022-09-26 02:42:43 +00:00
nsMessageLoop.cpp Bug 1514936, part 2 - Drop the outer arguments from static components. r=xpcom-reviewers,nika 2022-05-17 20:24:19 +00:00
nsMessageLoop.h Bug 1514936, part 2 - Drop the outer arguments from static components. r=xpcom-reviewers,nika 2022-05-17 20:24:19 +00:00
nsObjCExceptions.h Bug 1519636 - Reformat recent changes to the Google coding style. r=glandium 2023-02-13 15:02:07 +00:00
nsObjCExceptions.mm
NSPRLogModulesParser.cpp
NSPRLogModulesParser.h
nsQueryObject.h
nsrootidl.idl Bug 1794811, part 2 - Use the automatically generated nsISupports.h. r=nika 2022-10-17 16:09:22 +00:00
nsSecurityConsoleMessage.cpp
nsSecurityConsoleMessage.h
nsSystemInfo.cpp Bug 1799503 - Update Firefox via APT (not balrog) in our .deb packages r=bytesized 2023-02-15 16:40:29 +00:00
nsSystemInfo.h Bug 1797587 - Make nsSystemInfo return the CPU model name, r=mhowell,chutten. 2022-11-01 20:22:23 +00:00
nsTraceRefcnt.cpp Bug 1818652: Unguard an include in nsTraceRefcnt.cpp, to address a non-unified-build compile error. r=mccr8 2023-03-01 21:41:44 +00:00
nsTraceRefcnt.h
nsUUIDGenerator.cpp Bug 1723674 - Move nsUUIDGenerator logic to new nsID::GenerateUUID() factory functions that use nsRandomGenerator. r=keeler 2021-10-14 03:28:49 +00:00
nsUUIDGenerator.h Bug 1723674 - Move nsUUIDGenerator logic to new nsID::GenerateUUID() factory functions that use nsRandomGenerator. r=keeler 2021-10-14 03:28:49 +00:00
nsVersionComparator.cpp
nsVersionComparator.h
nsVersionComparatorImpl.cpp
nsVersionComparatorImpl.h
nsWeakReference.cpp Bug 1790921 - Take advantage of infallible new in nsSupportsWeakReference::GetWeakReference(). r=xpcom-reviewers,nika 2022-09-15 15:18:58 +00:00
nsWeakReference.h
nsWindowsHelpers.h Bug 1793972: Enable an LPAC on the windows MF Media Engine utility process controlled by a pref. r=handyman 2023-03-08 16:04:46 +00:00
OwningNonNull.h Bug 1766768 - Fix move constructor of OwningNonNull(RefPtr<>&&) to actually move. r=mccr8 2022-04-29 11:32:07 +00:00
RLBoxSandboxPool.cpp Bug 1827704 - Migrate to the upstream wasm2c for RLBox sandboxing r=glandium 2023-04-21 01:31:35 +00:00
RLBoxSandboxPool.h Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato 2022-08-03 16:39:41 +00:00
RLBoxUtils.h Bug 1747514 - Fix some pointer arithmetic issues in RLBox. r=shravanrn 2021-12-25 06:00:25 +00:00
ShutdownPhase.h Bug 1766572: Part 1 - Remove obsolete ShutdownPhase::XPCOMShutdownLoaders. r=xpcom-reviewers,nika 2022-05-13 15:47:52 +00:00
SizeOfState.h
StaticLocalPtr.h
StaticMonitor.h Bug 1797354 - Allow specifying capability type in thread-safety macros, r=jesup,media-playback-reviewers,alwu 2022-10-28 19:55:30 +00:00
StaticMutex.h Bug 1797354 - Allow specifying capability type in thread-safety macros, r=jesup,media-playback-reviewers,alwu 2022-10-28 19:55:30 +00:00
StaticPtr.h Bug 1774158 - Use RefPtrTraits in StaticRefPtr. r=xpcom-reviewers,barret 2022-06-14 13:33:27 +00:00