Bug Summary

File:var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp
Warning:line 20061, column 39
Moved-from object 'previousKey' is moved

Annotated Source Code

Press '?' to see keyboard shortcuts

clang -cc1 -cc1 -triple x86_64-pc-linux-gnu -analyze -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name ActorsParent.cpp -analyzer-checker=core -analyzer-checker=apiModeling -analyzer-checker=unix -analyzer-checker=deadcode -analyzer-checker=cplusplus -analyzer-checker=security.insecureAPI.UncheckedReturn -analyzer-checker=security.insecureAPI.getpw -analyzer-checker=security.insecureAPI.gets -analyzer-checker=security.insecureAPI.mktemp -analyzer-checker=security.insecureAPI.mkstemp -analyzer-checker=security.insecureAPI.vfork -analyzer-checker=nullability.NullPassedToNonnull -analyzer-checker=nullability.NullReturnedFromNonnull -analyzer-output plist -w -setup-static-analyzer -analyzer-config-compatibility-mode=true -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -relaxed-aliasing -ffp-contract=off -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dom/indexedDB -fcoverage-compilation-dir=/var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dom/indexedDB -resource-dir /usr/lib/llvm-20/lib/clang/20 -include /var/lib/jenkins/workspace/firefox-scan-build/config/gcc_hidden.h -include /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/mozilla-config.h -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dist/stl_wrappers -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dist/system_wrappers -U _FORTIFY_SOURCE -D _FORTIFY_SOURCE=2 -D _GLIBCXX_ASSERTIONS -D DEBUG=1 -D MOZ_HAS_MOZGLUE -D MOZILLA_INTERNAL_API -D IMPL_LIBXUL -D MOZ_SUPPORT_LEAKCHECKING -D STATIC_EXPORTABLE_JS_API -I /var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dom/indexedDB -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/ipc/ipdl/_ipdlheaders -I /var/lib/jenkins/workspace/firefox-scan-build/ipc/chromium/src -I /var/lib/jenkins/workspace/firefox-scan-build/dom/base -I /var/lib/jenkins/workspace/firefox-scan-build/dom/storage -I /var/lib/jenkins/workspace/firefox-scan-build/ipc/glue -I /var/lib/jenkins/workspace/firefox-scan-build/third_party/sqlite3/src -I /var/lib/jenkins/workspace/firefox-scan-build/xpcom/build -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dist/include -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dist/include/nspr -I /var/lib/jenkins/workspace/firefox-scan-build/obj-x86_64-pc-linux-gnu/dist/include/nss -D MOZILLA_CLIENT -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/x86_64-linux-gnu/c++/14 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/14/../../../../include/c++/14/backward -internal-isystem /usr/lib/llvm-20/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/14/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -Wno-error=tautological-type-limit-compare -Wno-invalid-offsetof -Wno-range-loop-analysis -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wno-psabi -Wno-error=builtin-macro-redefined -Wno-vla-cxx-extension -Wno-unknown-warning-option -fdeprecated-macro -ferror-limit 19 -fstrict-flex-arrays=1 -stack-protector 2 -fstack-clash-protection -ftrivial-auto-var-init=pattern -fno-rtti -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fno-sized-deallocation -fno-aligned-allocation -vectorize-loops -vectorize-slp -analyzer-checker optin.performance.Padding -analyzer-output=html -analyzer-config stable-report-filename=true -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/scan-build-2025-01-20-090804-167946-1 -x c++ /var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp
1/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3/* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7#include "ActorsParent.h"
8
9#include <inttypes.h>
10#include <math.h>
11#include <stdlib.h>
12#include <string.h>
13#include <algorithm>
14#include <cstdint>
15#include <functional>
16#include <iterator>
17#include <new>
18#include <numeric>
19#include <tuple>
20#include <type_traits>
21#include <utility>
22#include "ActorsParentCommon.h"
23#include "CrashAnnotations.h"
24#include "DatabaseFileInfo.h"
25#include "DatabaseFileManager.h"
26#include "DatabaseFileManagerImpl.h"
27#include "DBSchema.h"
28#include "ErrorList.h"
29#include "IDBCursorType.h"
30#include "IDBObjectStore.h"
31#include "IDBTransaction.h"
32#include "IndexedDBCommon.h"
33#include "IndexedDatabaseInlines.h"
34#include "IndexedDatabaseManager.h"
35#include "IndexedDBCipherKeyManager.h"
36#include "KeyPath.h"
37#include "MainThreadUtils.h"
38#include "ProfilerHelpers.h"
39#include "ReportInternalError.h"
40#include "SafeRefPtr.h"
41#include "SchemaUpgrades.h"
42#include "chrome/common/ipc_channel.h"
43#include "ipc/IPCMessageUtils.h"
44#include "js/RootingAPI.h"
45#include "js/StructuredClone.h"
46#include "js/Value.h"
47#include "jsapi.h"
48#include "mozIStorageAsyncConnection.h"
49#include "mozIStorageConnection.h"
50#include "mozIStorageFunction.h"
51#include "mozIStorageProgressHandler.h"
52#include "mozIStorageService.h"
53#include "mozIStorageStatement.h"
54#include "mozIStorageValueArray.h"
55#include "mozStorageCID.h"
56#include "mozStorageHelper.h"
57#include "mozilla/Algorithm.h"
58#include "mozilla/ArrayAlgorithm.h"
59#include "mozilla/ArrayIterator.h"
60#include "mozilla/Assertions.h"
61#include "mozilla/Atomics.h"
62#include "mozilla/Attributes.h"
63#include "mozilla/Casting.h"
64#include "mozilla/CondVar.h"
65#include "mozilla/DebugOnly.h"
66#include "mozilla/EndianUtils.h"
67#include "mozilla/ErrorNames.h"
68#include "mozilla/ErrorResult.h"
69#include "mozilla/InitializedOnce.h"
70#include "mozilla/Logging.h"
71#include "mozilla/MacroForEach.h"
72#include "mozilla/Maybe.h"
73#include "mozilla/Monitor.h"
74#include "mozilla/Mutex.h"
75#include "mozilla/NotNull.h"
76#include "mozilla/Preferences.h"
77#include "mozilla/ProfilerLabels.h"
78#include "mozilla/RefCountType.h"
79#include "mozilla/RefCounted.h"
80#include "mozilla/RemoteLazyInputStreamParent.h"
81#include "mozilla/RemoteLazyInputStreamStorage.h"
82#include "mozilla/Result.h"
83#include "mozilla/ResultExtensions.h"
84#include "mozilla/SchedulerGroup.h"
85#include "mozilla/SnappyCompressOutputStream.h"
86#include "mozilla/SpinEventLoopUntil.h"
87#include "mozilla/StaticPtr.h"
88#include "mozilla/TimeStamp.h"
89#include "mozilla/UniquePtr.h"
90#include "mozilla/Unused.h"
91#include "mozilla/Variant.h"
92#include "mozilla/dom/BlobImpl.h"
93#include "mozilla/dom/ContentParent.h"
94#include "mozilla/dom/FileBlobImpl.h"
95#include "mozilla/dom/FlippedOnce.h"
96#include "mozilla/dom/IDBCursorBinding.h"
97#include "mozilla/dom/IDBFactory.h"
98#include "mozilla/dom/IPCBlob.h"
99#include "mozilla/dom/IPCBlobUtils.h"
100#include "mozilla/dom/IndexedDatabase.h"
101#include "mozilla/dom/Nullable.h"
102#include "mozilla/dom/PContentParent.h"
103#include "mozilla/dom/ScriptSettings.h"
104#include "mozilla/dom/indexedDB/IDBResult.h"
105#include "mozilla/dom/indexedDB/Key.h"
106#include "mozilla/dom/indexedDB/PBackgroundIDBCursor.h"
107#include "mozilla/dom/indexedDB/PBackgroundIDBCursorParent.h"
108#include "mozilla/dom/indexedDB/PBackgroundIDBDatabase.h"
109#include "mozilla/dom/indexedDB/PBackgroundIDBDatabaseFileParent.h"
110#include "mozilla/dom/indexedDB/PBackgroundIDBDatabaseParent.h"
111#include "mozilla/dom/indexedDB/PBackgroundIDBFactory.h"
112#include "mozilla/dom/indexedDB/PBackgroundIDBFactoryParent.h"
113#include "mozilla/dom/indexedDB/PBackgroundIDBFactoryRequestParent.h"
114#include "mozilla/dom/indexedDB/PBackgroundIDBRequest.h"
115#include "mozilla/dom/indexedDB/PBackgroundIDBRequestParent.h"
116#include "mozilla/dom/indexedDB/PBackgroundIDBSharedTypes.h"
117#include "mozilla/dom/indexedDB/PBackgroundIDBTransactionParent.h"
118#include "mozilla/dom/indexedDB/PBackgroundIDBVersionChangeTransactionParent.h"
119#include "mozilla/dom/indexedDB/PBackgroundIndexedDBUtilsParent.h"
120#include "mozilla/dom/ipc/IdType.h"
121#include "mozilla/dom/quota/Assertions.h"
122#include "mozilla/dom/quota/CachingDatabaseConnection.h"
123#include "mozilla/dom/quota/CheckedUnsafePtr.h"
124#include "mozilla/dom/quota/Client.h"
125#include "mozilla/dom/quota/ClientDirectoryLock.h"
126#include "mozilla/dom/quota/ClientImpl.h"
127#include "mozilla/dom/quota/DebugOnlyMacro.h"
128#include "mozilla/dom/quota/DirectoryLock.h"
129#include "mozilla/dom/quota/DirectoryLockInlines.h"
130#include "mozilla/dom/quota/DecryptingInputStream_impl.h"
131#include "mozilla/dom/quota/EncryptingOutputStream_impl.h"
132#include "mozilla/dom/quota/ErrorHandling.h"
133#include "mozilla/dom/quota/FileStreams.h"
134#include "mozilla/dom/quota/OriginScope.h"
135#include "mozilla/dom/quota/PersistenceScope.h"
136#include "mozilla/dom/quota/PersistenceType.h"
137#include "mozilla/dom/quota/PrincipalUtils.h"
138#include "mozilla/dom/quota/QuotaCommon.h"
139#include "mozilla/dom/quota/QuotaManager.h"
140#include "mozilla/dom/quota/QuotaObject.h"
141#include "mozilla/dom/quota/ResultExtensions.h"
142#include "mozilla/dom/quota/ThreadUtils.h"
143#include "mozilla/dom/quota/UniversalDirectoryLock.h"
144#include "mozilla/dom/quota/UsageInfo.h"
145#include "mozilla/fallible.h"
146#include "mozilla/ipc/BackgroundParent.h"
147#include "mozilla/ipc/BackgroundUtils.h"
148#include "mozilla/ipc/InputStreamParams.h"
149#include "mozilla/ipc/PBackgroundParent.h"
150#include "mozilla/ipc/PBackgroundSharedTypes.h"
151#include "mozilla/ipc/ProtocolUtils.h"
152#include "mozilla/mozalloc.h"
153#include "mozilla/storage/Variant.h"
154#include "NotifyUtils.h"
155#include "nsBaseHashtable.h"
156#include "nsCOMPtr.h"
157#include "nsClassHashtable.h"
158#include "nsContentUtils.h"
159#include "nsTHashMap.h"
160#include "nsDebug.h"
161#include "nsError.h"
162#include "nsEscape.h"
163#include "nsHashKeys.h"
164#include "nsIAsyncInputStream.h"
165#include "nsID.h"
166#include "nsIDUtils.h"
167#include "nsIDirectoryEnumerator.h"
168#include "nsIEventTarget.h"
169#include "nsIFile.h"
170#include "nsIFileProtocolHandler.h"
171#include "nsIFileStreams.h"
172#include "nsIFileURL.h"
173#include "nsIInputStream.h"
174#include "nsIOutputStream.h"
175#include "nsIProtocolHandler.h"
176#include "nsIRunnable.h"
177#include "nsISupports.h"
178#include "nsISupportsPriority.h"
179#include "nsISupportsUtils.h"
180#include "nsIThread.h"
181#include "nsIThreadInternal.h"
182#include "nsITimer.h"
183#include "nsIURIMutator.h"
184#include "nsIVariant.h"
185#include "nsLiteralString.h"
186#include "nsNetCID.h"
187#include "nsPrintfCString.h"
188#include "nsProxyRelease.h"
189#include "nsServiceManagerUtils.h"
190#include "nsStreamUtils.h"
191#include "nsString.h"
192#include "nsStringFlags.h"
193#include "nsStringFwd.h"
194#include "nsTArray.h"
195#include "nsTHashSet.h"
196#include "nsTHashtable.h"
197#include "nsTLiteralString.h"
198#include "nsTStringRepr.h"
199#include "nsThreadPool.h"
200#include "nsThreadUtils.h"
201#include "nscore.h"
202#include "prinrval.h"
203#include "prio.h"
204#include "prsystem.h"
205#include "prthread.h"
206#include "prtime.h"
207#include "prtypes.h"
208#include "snappy/snappy.h"
209
210struct JSContext;
211class JSObject;
212template <class T>
213class nsPtrHashKey;
214
215#define IDB_DEBUG_LOG(_args) \
216 MOZ_LOG(IndexedDatabaseManager::GetLoggingModule(), LogLevel::Debug, _args)do { const ::mozilla::LogModule* moz_real_module = IndexedDatabaseManager
::GetLoggingModule(); if ((__builtin_expect(!!(mozilla::detail
::log_test(moz_real_module, LogLevel::Debug)), 0))) { mozilla
::detail::log_print(moz_real_module, LogLevel::Debug, MOZ_LOG_EXPAND_ARGS
_args); } } while (0)
217
218#if defined(MOZ_WIDGET_ANDROID)
219# define IDB_MOBILE
220#endif
221
222// Helper macros to reduce assertion verbosity
223// AUUF == ASSERT_UNREACHABLE_UNLESS_FUZZING
224#ifdef DEBUG1
225# ifdef FUZZING
226# define NS_AUUF_OR_WARN(...)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" ... ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 226); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
... ")"); do { *((volatile int*)__null) = 226; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false)
NS_WARNING(__VA_ARGS__)NS_DebugBreak(NS_DEBUG_WARNING, __VA_ARGS__, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 226)
227# else
228# define NS_AUUF_OR_WARN(...)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" ... ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 228); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
... ")"); do { *((volatile int*)__null) = 228; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false)
MOZ_ASSERT(false, __VA_ARGS__)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" __VA_ARGS__ ")"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 228); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
__VA_ARGS__ ")"); do { *((volatile int*)__null) = 228; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false)
229# endif
230# define NS_AUUF_OR_WARN_IF(cond)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "cond" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 230); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"cond" ")"); do { *((volatile int*)__null) = 230; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((cond))
\
231 [](bool aCond) { \
232 if (MOZ_UNLIKELY(aCond)(__builtin_expect(!!(aCond), 0))) { \
233 NS_AUUF_OR_WARN(#cond)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" #cond ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 233); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
#cond ")"); do { *((volatile int*)__null) = 233; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false)
; \
234 } \
235 return aCond; \
236 }((cond))
237#else
238# define NS_AUUF_OR_WARN(...)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" ... ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 238); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
... ")"); do { *((volatile int*)__null) = 238; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false)
\
239 do { \
240 } while (false)
241# define NS_AUUF_OR_WARN_IF(cond)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "cond" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 241); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"cond" ")"); do { *((volatile int*)__null) = 241; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((cond))
static_cast<bool>(cond)
242#endif
243
244namespace mozilla {
245
246namespace dom::indexedDB {
247
248using namespace mozilla::dom::quota;
249using namespace mozilla::ipc;
250using mozilla::dom::quota::Client;
251
252namespace {
253
254class ConnectionPool;
255class Database;
256struct DatabaseActorInfo;
257class DatabaseFile;
258class DatabaseLoggingInfo;
259class DatabaseMaintenance;
260class Factory;
261class Maintenance;
262class OpenDatabaseOp;
263class TransactionBase;
264class TransactionDatabaseOperationBase;
265class VersionChangeTransaction;
266template <bool StatementHasIndexKeyBindings>
267struct ValuePopulateResponseHelper;
268
269/*******************************************************************************
270 * Constants
271 ******************************************************************************/
272
273const int32_t kStorageProgressGranularity = 1000;
274
275// Changing the value here will override the page size of new databases only.
276// A journal mode change and VACUUM are needed to change existing databases, so
277// the best way to do that is to use the schema version upgrade mechanism.
278const uint32_t kSQLitePageSizeOverride =
279#ifdef IDB_MOBILE
280 2048;
281#else
282 4096;
283#endif
284
285static_assert(kSQLitePageSizeOverride == /* mozStorage default */ 0 ||
286 (kSQLitePageSizeOverride % 2 == 0 &&
287 kSQLitePageSizeOverride >= 512 &&
288 kSQLitePageSizeOverride <= 65536),
289 "Must be 0 (disabled) or a power of 2 between 512 and 65536!");
290
291// Set to -1 to use SQLite's default, 0 to disable, or some positive number to
292// enforce a custom limit.
293const int32_t kMaxWALPages = 5000; // 20MB on desktop, 10MB on mobile.
294
295// Set to some multiple of the page size to grow the database in larger chunks.
296const uint32_t kSQLiteGrowthIncrement = kSQLitePageSizeOverride * 2;
297
298static_assert(kSQLiteGrowthIncrement >= 0 &&
299 kSQLiteGrowthIncrement % kSQLitePageSizeOverride == 0 &&
300 kSQLiteGrowthIncrement < uint32_t(INT32_MAX(2147483647)),
301 "Must be 0 (disabled) or a positive multiple of the page size!");
302
303// The maximum number of threads that can be used for database activity at a
304// single time. Please keep in sync with the constants in
305// test_connection_idle_maintenance*.js tests
306const uint32_t kMaxConnectionThreadCount = 20;
307
308static_assert(kMaxConnectionThreadCount, "Must have at least one thread!");
309
310// The maximum number of threads to keep when idle. Until we switch to the STS
311// pool, we can reduce the number of idle threads kept around thanks to the
312// grace timeout.
313const uint32_t kMaxIdleConnectionThreadCount = 1;
314
315static_assert(kMaxConnectionThreadCount >= kMaxIdleConnectionThreadCount,
316 "Idle thread limit must be less than total thread limit!");
317
318// The length of time that wanted idle threads will stay alive before being shut
319// down.
320const uint32_t kConnectionThreadMaxIdleMS = 30 * 1000; // 30 seconds
321
322// The length of time that excess idle threads will stay alive before being shut
323// down.
324const uint32_t kConnectionThreadGraceIdleMS = 500; // 0.5 seconds
325
326// The length of time that database connections will be held open after all
327// transactions have completed before doing idle maintenance. Please keep in
328// sync with the timeouts in test_connection_idle_maintenance*.js tests
329const uint32_t kConnectionIdleMaintenanceMS = 2 * 1000; // 2 seconds
330
331// The length of time that database connections will be held open after all
332// transactions and maintenance have completed.
333const uint32_t kConnectionIdleCloseMS = 10 * 1000; // 10 seconds
334
335#define SAVEPOINT_CLAUSE"SAVEPOINT sp;"_ns "SAVEPOINT sp;"_ns
336
337// For efficiency reasons, kEncryptedStreamBlockSize must be a multiple of large
338// 4k disk sectors.
339static_assert(kEncryptedStreamBlockSize % 4096 == 0);
340// Similarly, the file copy buffer size must be a multiple of the encrypted
341// block size.
342static_assert(kFileCopyBufferSize % kEncryptedStreamBlockSize == 0);
343
344constexpr auto kFileManagerDirectoryNameSuffix = u".files"_ns;
345constexpr auto kSQLiteSuffix = u".sqlite"_ns;
346constexpr auto kSQLiteJournalSuffix = u".sqlite-journal"_ns;
347constexpr auto kSQLiteSHMSuffix = u".sqlite-shm"_ns;
348constexpr auto kSQLiteWALSuffix = u".sqlite-wal"_ns;
349
350// The following constants define all names of binding parameters in statements,
351// where they are bound by name. This should include all parameter names which
352// are bound by name. Binding may be done by index when the statement definition
353// and binding are done in the same local scope, and no other reasons prevent
354// using the indexes (e.g. multiple statement variants with differing number or
355// order of parameters). Neither the styles of specifying parameter names
356// (literally vs. via these constants) nor the binding styles (by index vs. by
357// name) should not be mixed for the same statement. The decision must be made
358// for each statement based on the proximity of statement and binding calls.
359constexpr auto kStmtParamNameCurrentKey = "current_key"_ns;
360constexpr auto kStmtParamNameRangeBound = "range_bound"_ns;
361constexpr auto kStmtParamNameObjectStorePosition = "object_store_position"_ns;
362constexpr auto kStmtParamNameLowerKey = "lower_key"_ns;
363constexpr auto kStmtParamNameUpperKey = "upper_key"_ns;
364constexpr auto kStmtParamNameKey = "key"_ns;
365constexpr auto kStmtParamNameObjectStoreId = "object_store_id"_ns;
366constexpr auto kStmtParamNameIndexId = "index_id"_ns;
367// TODO: Maybe the uses of kStmtParamNameId should be replaced by more
368// specific constants such as kStmtParamNameObjectStoreId.
369constexpr auto kStmtParamNameId = "id"_ns;
370constexpr auto kStmtParamNameValue = "value"_ns;
371constexpr auto kStmtParamNameObjectDataKey = "object_data_key"_ns;
372constexpr auto kStmtParamNameIndexDataValues = "index_data_values"_ns;
373constexpr auto kStmtParamNameData = "data"_ns;
374constexpr auto kStmtParamNameFileIds = "file_ids"_ns;
375constexpr auto kStmtParamNameValueLocale = "value_locale"_ns;
376constexpr auto kStmtParamNameLimit = "limit"_ns;
377
378// The following constants define some names of columns in tables, which are
379// referred to in remote locations, e.g. in calls to
380// GetBindingClauseForKeyRange.
381constexpr auto kColumnNameKey = "key"_ns;
382constexpr auto kColumnNameValue = "value"_ns;
383constexpr auto kColumnNameAliasSortKey = "sort_column"_ns;
384
385// SQL fragments used at multiple locations.
386constexpr auto kOpenLimit = " LIMIT "_ns;
387
388// The deletion marker file is created before RemoveDatabaseFilesAndDirectory
389// begins deleting a database. It is removed as the last step of deletion. If a
390// deletion marker file is found when initializing the origin, the deletion
391// routine is run again to ensure that the database and all of its related files
392// are removed. The primary goal of this mechanism is to avoid situations where
393// a database has been partially deleted, leading to inconsistent state for the
394// origin.
395constexpr auto kIdbDeletionMarkerFilePrefix = u"idb-deleting-"_ns;
396
397const uint32_t kDeleteTimeoutMs = 1000;
398
399#ifdef DEBUG1
400
401const int32_t kDEBUGThreadPriority = nsISupportsPriority::PRIORITY_NORMAL;
402const uint32_t kDEBUGThreadSleepMS = 0;
403
404// Set to a non-zero number to enable debugging of transaction event targets.
405// It will cause sleeping after every transaction runnable!
406//
407// This can be useful for discovering race conditions related to switching to
408// another thread. Such races are usually avoided by using MozPromise or
409// RunAfterProcessingCurrentEvent. Chaos mode doesn't always help with
410// uncovering these issues, and only a precisely targeted sleep call can
411// simulate the problem.
412const uint32_t kDEBUGTransactionThreadSleepMS = 0;
413
414// Make sure that we notice if we ever accidentally check in a non-zero value.
415# ifdef MOZILLA_OFFICIAL
416static_assert(kDEBUGTransactionThreadSleepMS == 0);
417# endif
418
419#endif
420
421/*******************************************************************************
422 * Metadata classes
423 ******************************************************************************/
424
425// Can be instantiated either on the QuotaManager IO thread or on a
426// versionchange transaction thread. These threads can never race so this is
427// totally safe.
428struct FullIndexMetadata {
429 IndexMetadata mCommonMetadata = {0, nsString(), KeyPath(0), nsCString(),
430 false, false, false};
431
432 FlippedOnce<false> mDeleted;
433
434 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FullIndexMetadata)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<FullIndexMetadata>, "Reference-counted class "
"FullIndexMetadata" " should not have a public destructor. "
"Make this class's destructor non-public"); do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 434); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
434; __attribute__((nomerge)) ::abort(); } while (false); } }
while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("FullIndexMetadata"), (uint32_t)(sizeof(*this)))
; return (nsrefcnt)count; } MozExternalRefCountType Release(void
) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 434); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 434
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("FullIndexMetadata")); if (count == 0) { delete (this
); return 0; } return count; } using HasThreadSafeRefCnt = std
::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt
; public:
435
436 private:
437 ~FullIndexMetadata() = default;
438};
439
440using IndexTable = nsTHashMap<nsUint64HashKey, SafeRefPtr<FullIndexMetadata>>;
441
442// Can be instantiated either on the QuotaManager IO thread or on a
443// versionchange transaction thread. These threads can never race so this is
444// totally safe.
445struct FullObjectStoreMetadata {
446 ObjectStoreMetadata mCommonMetadata;
447 IndexTable mIndexes;
448
449 // The auto increment ids are touched on both the background thread and the
450 // transaction I/O thread, and they must be kept in sync, so we need a mutex
451 // to protect them.
452 struct AutoIncrementIds {
453 int64_t next;
454 int64_t committed;
455 };
456 DataMutex<AutoIncrementIds> mAutoIncrementIds;
457
458 FlippedOnce<false> mDeleted;
459
460 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(FullObjectStoreMetadata)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<FullObjectStoreMetadata>, "Reference-counted class "
"FullObjectStoreMetadata" " should not have a public destructor. "
"Make this class's destructor non-public"); do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 460); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
460; __attribute__((nomerge)) ::abort(); } while (false); } }
while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("FullObjectStoreMetadata"), (uint32_t)(sizeof(*this
))); return (nsrefcnt)count; } MozExternalRefCountType Release
(void) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 460); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 460
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("FullObjectStoreMetadata")); if (count == 0) { delete
(this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
;
461
462 bool HasLiveIndexes() const;
463
464 FullObjectStoreMetadata(ObjectStoreMetadata aCommonMetadata,
465 const AutoIncrementIds& aAutoIncrementIds)
466 : mCommonMetadata{std::move(aCommonMetadata)},
467 mAutoIncrementIds{AutoIncrementIds{aAutoIncrementIds},
468 "FullObjectStoreMetadata"} {}
469
470 private:
471 ~FullObjectStoreMetadata() = default;
472};
473
474using ObjectStoreTable =
475 nsTHashMap<nsUint64HashKey, SafeRefPtr<FullObjectStoreMetadata>>;
476
477static_assert(
478 std::is_same_v<IndexOrObjectStoreId,
479 std::remove_cv_t<std::remove_reference_t<
480 decltype(std::declval<const ObjectStoreGetParams&>()
481 .objectStoreId())>>>);
482static_assert(
483 std::is_same_v<
484 IndexOrObjectStoreId,
485 std::remove_cv_t<std::remove_reference_t<
486 decltype(std::declval<const IndexGetParams&>().objectStoreId())>>>);
487
488struct FullDatabaseMetadata final : AtomicSafeRefCounted<FullDatabaseMetadata> {
489 DatabaseMetadata mCommonMetadata;
490 nsCString mDatabaseId;
491 nsString mFilePath;
492 ObjectStoreTable mObjectStores;
493
494 IndexOrObjectStoreId mNextObjectStoreId = 0;
495 IndexOrObjectStoreId mNextIndexId = 0;
496
497 public:
498 explicit FullDatabaseMetadata(const DatabaseMetadata& aCommonMetadata)
499 : mCommonMetadata(aCommonMetadata) {
500 AssertIsOnBackgroundThread();
501 }
502
503 [[nodiscard]] SafeRefPtr<FullDatabaseMetadata> Duplicate() const;
504
505 MOZ_DECLARE_REFCOUNTED_TYPENAME(FullDatabaseMetadata)const char* typeName() const { return "FullDatabaseMetadata";
} size_t typeSize() const { return sizeof(*this); }
506};
507
508template <class Enumerable>
509auto MatchMetadataNameOrId(const Enumerable& aEnumerable,
510 IndexOrObjectStoreId aId,
511 Maybe<const nsAString&> aName = Nothing()) {
512 AssertIsOnBackgroundThread();
513 MOZ_ASSERT(aId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aId)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(aId))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("aId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 513); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aId" ")"); do
{ *((volatile int*)__null) = 513; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false)
;
514
515 const auto it = std::find_if(
516 aEnumerable.cbegin(), aEnumerable.cend(),
517 [aId, aName](const auto& entry) {
518 MOZ_ASSERT(entry.GetKey() != 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(entry.GetKey() != 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(entry.GetKey() != 0))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("entry.GetKey() != 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 518); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey() != 0"
")"); do { *((volatile int*)__null) = 518; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
519
520 const auto& value = entry.GetData();
521 MOZ_ASSERT(value)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(value)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(value))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("value", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 521); AnnotateMozCrashReason("MOZ_ASSERT" "(" "value" ")");
do { *((volatile int*)__null) = 521; __attribute__((nomerge)
) ::abort(); } while (false); } } while (false)
;
522
523 return !value->mDeleted &&
524 (aId == value->mCommonMetadata.id() ||
525 (aName && *aName == value->mCommonMetadata.name()));
526 });
527
528 return ToMaybeRef(it != aEnumerable.cend() ? it->GetData().unsafeGetRawPtr()
529 : nullptr);
530}
531
532/*******************************************************************************
533 * SQLite functions
534 ******************************************************************************/
535
536// WARNING: the hash function used for the database name must not change.
537// That's why this function exists separately from mozilla::HashString(), even
538// though it is (at the time of writing) equivalent. See bug 780408 and bug
539// 940315 for details.
540uint32_t HashName(const nsAString& aName) {
541 struct Helper {
542 static uint32_t RotateBitsLeft32(uint32_t aValue, uint8_t aBits) {
543 MOZ_ASSERT(aBits < 32)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aBits < 32)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aBits < 32))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aBits < 32",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 543); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aBits < 32"
")"); do { *((volatile int*)__null) = 543; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
544 return (aValue << aBits) | (aValue >> (32 - aBits));
545 }
546 };
547
548 static const uint32_t kGoldenRatioU32 = 0x9e3779b9u;
549
550 return std::accumulate(aName.BeginReading(), aName.EndReading(), uint32_t(0),
551 [](uint32_t hash, char16_t ch) {
552 return kGoldenRatioU32 *
553 (Helper::RotateBitsLeft32(hash, 5) ^ ch);
554 });
555}
556
557nsresult ClampResultCode(nsresult aResultCode) {
558 if (NS_SUCCEEDED(aResultCode)((bool)(__builtin_expect(!!(!NS_FAILED_impl(aResultCode)), 1)
))
||
559 NS_ERROR_GET_MODULE(aResultCode) == NS_ERROR_MODULE_DOM_INDEXEDDB33) {
560 return aResultCode;
561 }
562
563 switch (aResultCode) {
564 case NS_ERROR_FILE_NO_DEVICE_SPACE:
565 return NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR;
566 case NS_ERROR_STORAGE_CONSTRAINT:
567 return NS_ERROR_DOM_INDEXEDDB_CONSTRAINT_ERR;
568 default:
569#ifdef DEBUG1
570 nsPrintfCString message("Converting non-IndexedDB error code (0x%" PRIX32"X"
571 ") to "
572 "NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR",
573 static_cast<uint32_t>(aResultCode));
574 NS_WARNING(message.get())NS_DebugBreak(NS_DEBUG_WARNING, message.get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 574)
;
575#else
576 ;
577#endif
578 }
579
580 IDB_REPORT_INTERNAL_ERR()mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 580, "UnknownErr")
;
581 return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
582}
583
584Result<nsCOMPtr<nsIFileURL>, nsresult> GetDatabaseFileURL(
585 nsIFile& aDatabaseFile, const int64_t aDirectoryLockId,
586 const Maybe<CipherKey>& aMaybeKey) {
587 MOZ_ASSERT(aDirectoryLockId >= -1)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectoryLockId >= -1)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectoryLockId >= -1)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("aDirectoryLockId >= -1"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 587); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectoryLockId >= -1"
")"); do { *((volatile int*)__null) = 587; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
588
589 QM_TRY_INSPECT(auto tryResult782 = (::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/network/protocol;1?name=" "file")); if ((__builtin_expect
(!!(tryResult782.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/network/protocol;1?name=\" \"file\")"
, tryResult782.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 593, mozilla::dom::quota::Severity::Error); return tryResult782
.propagateErr(); } const auto& protocolHandler = tryResult782
.inspect();
590 const auto& protocolHandler,auto tryResult782 = (::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/network/protocol;1?name=" "file")); if ((__builtin_expect
(!!(tryResult782.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/network/protocol;1?name=\" \"file\")"
, tryResult782.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 593, mozilla::dom::quota::Severity::Error); return tryResult782
.propagateErr(); } const auto& protocolHandler = tryResult782
.inspect();
591 MOZ_TO_RESULT_GET_TYPED(nsCOMPtr<nsIProtocolHandler>,auto tryResult782 = (::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/network/protocol;1?name=" "file")); if ((__builtin_expect
(!!(tryResult782.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/network/protocol;1?name=\" \"file\")"
, tryResult782.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 593, mozilla::dom::quota::Severity::Error); return tryResult782
.propagateErr(); } const auto& protocolHandler = tryResult782
.inspect();
592 MOZ_SELECT_OVERLOAD(do_GetService),auto tryResult782 = (::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/network/protocol;1?name=" "file")); if ((__builtin_expect
(!!(tryResult782.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/network/protocol;1?name=\" \"file\")"
, tryResult782.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 593, mozilla::dom::quota::Severity::Error); return tryResult782
.propagateErr(); } const auto& protocolHandler = tryResult782
.inspect();
593 NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "file"))auto tryResult782 = (::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/network/protocol;1?name=" "file")); if ((__builtin_expect
(!!(tryResult782.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<nsIProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/network/protocol;1?name=\" \"file\")"
, tryResult782.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 593, mozilla::dom::quota::Severity::Error); return tryResult782
.propagateErr(); } const auto& protocolHandler = tryResult782
.inspect();
;
594
595 QM_TRY_INSPECT(const auto& fileHandler,auto tryResult783 = (::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)
...); }, protocolHandler)); if ((__builtin_expect(!!(tryResult783
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)...); }, protocolHandler)"
, tryResult783.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 598, mozilla::dom::quota::Severity::Error); return tryResult783
.propagateErr(); } const auto& fileHandler = tryResult783
.inspect();
596 MOZ_TO_RESULT_GET_TYPED(nsCOMPtr<nsIFileProtocolHandler>,auto tryResult783 = (::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)
...); }, protocolHandler)); if ((__builtin_expect(!!(tryResult783
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)...); }, protocolHandler)"
, tryResult783.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 598, mozilla::dom::quota::Severity::Error); return tryResult783
.propagateErr(); } const auto& fileHandler = tryResult783
.inspect();
597 MOZ_SELECT_OVERLOAD(do_QueryInterface),auto tryResult783 = (::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)
...); }, protocolHandler)); if ((__builtin_expect(!!(tryResult783
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)...); }, protocolHandler)"
, tryResult783.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 598, mozilla::dom::quota::Severity::Error); return tryResult783
.propagateErr(); } const auto& fileHandler = tryResult783
.inspect();
598 protocolHandler))auto tryResult783 = (::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler
> >([](auto&&... aArgs) -> decltype(auto) { return
do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)
...); }, protocolHandler)); if ((__builtin_expect(!!(tryResult783
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultGet< nsCOMPtr<nsIFileProtocolHandler>>([](auto&&... aArgs) -> decltype(auto) { return do_QueryInterface(std::forward<decltype(aArgs)>(aArgs)...); }, protocolHandler)"
, tryResult783.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 598, mozilla::dom::quota::Severity::Error); return tryResult783
.propagateErr(); } const auto& fileHandler = tryResult783
.inspect();
;
599
600 QM_TRY_INSPECT(const auto& mutator, MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult784 = (::mozilla::ToResultInvoke< nsCOMPtr<
nsIURIMutator> >( ::std::mem_fn( &::mozilla::detail
::DerefedType<decltype(fileHandler)>::NewFileURIMutator
), (fileHandler), &aDatabaseFile)); if ((__builtin_expect
(!!(tryResult784.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<nsIURIMutator>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(fileHandler)>::NewFileURIMutator), (fileHandler), &aDatabaseFile)"
, tryResult784.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 602, mozilla::dom::quota::Severity::Error); return tryResult784
.propagateErr(); } const auto& mutator = tryResult784.inspect
();
601 nsCOMPtr<nsIURIMutator>, fileHandler,auto tryResult784 = (::mozilla::ToResultInvoke< nsCOMPtr<
nsIURIMutator> >( ::std::mem_fn( &::mozilla::detail
::DerefedType<decltype(fileHandler)>::NewFileURIMutator
), (fileHandler), &aDatabaseFile)); if ((__builtin_expect
(!!(tryResult784.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<nsIURIMutator>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(fileHandler)>::NewFileURIMutator), (fileHandler), &aDatabaseFile)"
, tryResult784.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 602, mozilla::dom::quota::Severity::Error); return tryResult784
.propagateErr(); } const auto& mutator = tryResult784.inspect
();
602 NewFileURIMutator, &aDatabaseFile))auto tryResult784 = (::mozilla::ToResultInvoke< nsCOMPtr<
nsIURIMutator> >( ::std::mem_fn( &::mozilla::detail
::DerefedType<decltype(fileHandler)>::NewFileURIMutator
), (fileHandler), &aDatabaseFile)); if ((__builtin_expect
(!!(tryResult784.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<nsIURIMutator>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(fileHandler)>::NewFileURIMutator), (fileHandler), &aDatabaseFile)"
, tryResult784.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 602, mozilla::dom::quota::Severity::Error); return tryResult784
.propagateErr(); } const auto& mutator = tryResult784.inspect
();
;
603
604 // aDirectoryLockId should only be -1 when we are called
605 // - from DatabaseFileManager::InitDirectory when the temporary storage
606 // hasn't been initialized yet. At that time, the in-memory objects (e.g.
607 // OriginInfo) are only being created so it doesn't make sense to tunnel
608 // quota information to QuotaVFS to get corresponding QuotaObject instances
609 // for SQLite files.
610 // - from DeleteDatabaseOp::LoadPreviousVersion, since this might require
611 // temporarily exceeding the quota limit before the database can be
612 // deleted.
613 const nsCString directoryLockIdClause =
614 "&directoryLockId="_ns + IntToCString(aDirectoryLockId);
615
616 const auto keyClause = [&aMaybeKey] {
617 nsAutoCString keyClause;
618 if (aMaybeKey) {
619 keyClause.AssignLiteral("&key=");
620 for (uint8_t byte : IndexedDBCipherStrategy::SerializeKey(*aMaybeKey)) {
621 keyClause.AppendPrintf("%02x", byte);
622 }
623 }
624 return keyClause;
625 }();
626
627 QM_TRY_UNWRAP(auto result, ([&mutator, &directoryLockIdClause, &keyClause] {auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
628 nsCOMPtr<nsIFileURL> result;auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
629 nsresult rv = NS_MutateURI(mutator)auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
630 .SetQuery("cache=private"_ns +auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
631 directoryLockIdClause + keyClause)auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
632 .Finalize(result);auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
633 return NS_SUCCEEDED(rv)auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
634 ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result}auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
635 : Err(rv);auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
636 }()))auto tryResult785 = (([&mutator, &directoryLockIdClause
, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult
rv = NS_MutateURI(mutator) .SetQuery("cache=private"_ns + directoryLockIdClause
+ keyClause) .Finalize(result); return ((bool)(__builtin_expect
(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL
>, nsresult>{result} : Err(rv); }())); if ((__builtin_expect
(!!(tryResult785.isErr()), 0))) { mozilla::dom::quota::HandleError
("([&mutator, &directoryLockIdClause, &keyClause] { nsCOMPtr<nsIFileURL> result; nsresult rv = NS_MutateURI(mutator) .SetQuery(\"cache=private\"_ns + directoryLockIdClause + keyClause) .Finalize(result); return ((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1))) ? Result<nsCOMPtr<nsIFileURL>, nsresult>{result} : Err(rv); }())"
, tryResult785.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 636, mozilla::dom::quota::Severity::Error); return tryResult785
.propagateErr(); } auto result = tryResult785.unwrap();
;
637
638 return result;
639}
640
641nsLiteralCString GetDefaultSynchronousMode() {
642 return IndexedDatabaseManager::FullSynchronous() ? "FULL"_ns : "NORMAL"_ns;
643}
644
645nsresult SetDefaultPragmas(mozIStorageConnection& aConnection) {
646 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 646); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 646; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
647
648 static constexpr auto kBuiltInPragmas =
649 // We use foreign keys in DEBUG builds only because there is a performance
650 // cost to using them.
651 "PRAGMA foreign_keys = "
652#ifdef DEBUG1
653 "ON"
654#else
655 "OFF"
656#endif
657 ";"
658
659 // The "INSERT OR REPLACE" statement doesn't fire the update trigger,
660 // instead it fires only the insert trigger. This confuses the update
661 // refcount function. This behavior changes with enabled recursive
662 // triggers, so the statement fires the delete trigger first and then the
663 // insert trigger.
664 "PRAGMA recursive_triggers = ON;"
665
666 // We aggressively truncate the database file when idle so don't bother
667 // overwriting the WAL with 0 during active periods.
668 "PRAGMA secure_delete = OFF;"_ns;
669
670 QM_TRY(MOZ_TO_RESULT(aConnection.ExecuteSimpleSQL(kBuiltInPragmas))){auto tryResult786 = (ToResult(aConnection.ExecuteSimpleSQL(kBuiltInPragmas
))); static_assert(std::is_empty_v<typename decltype(tryResult786
)::ok_type>); if ((__builtin_expect(!!(tryResult786.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(aConnection.ExecuteSimpleSQL(kBuiltInPragmas))"
, tryResult786.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 670, mozilla::dom::quota::Severity::Error); return tryResult786
.propagateErr(); }}
;
671
672 QM_TRY(MOZ_TO_RESULT(aConnection.ExecuteSimpleSQL(nsAutoCString{{auto tryResult787 = (ToResult(aConnection.ExecuteSimpleSQL(nsAutoCString
{ "PRAGMA synchronous = "_ns + GetDefaultSynchronousMode() + ";"_ns
}))); static_assert(std::is_empty_v<typename decltype(tryResult787
)::ok_type>); if ((__builtin_expect(!!(tryResult787.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(aConnection.ExecuteSimpleSQL(nsAutoCString{ \"PRAGMA synchronous = \"_ns + GetDefaultSynchronousMode() + \";\"_ns}))"
, tryResult787.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 673, mozilla::dom::quota::Severity::Error); return tryResult787
.propagateErr(); }}
673 "PRAGMA synchronous = "_ns + GetDefaultSynchronousMode() + ";"_ns}))){auto tryResult787 = (ToResult(aConnection.ExecuteSimpleSQL(nsAutoCString
{ "PRAGMA synchronous = "_ns + GetDefaultSynchronousMode() + ";"_ns
}))); static_assert(std::is_empty_v<typename decltype(tryResult787
)::ok_type>); if ((__builtin_expect(!!(tryResult787.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(aConnection.ExecuteSimpleSQL(nsAutoCString{ \"PRAGMA synchronous = \"_ns + GetDefaultSynchronousMode() + \";\"_ns}))"
, tryResult787.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 673, mozilla::dom::quota::Severity::Error); return tryResult787
.propagateErr(); }}
;
674
675#ifndef IDB_MOBILE
676 if (kSQLiteGrowthIncrement) {
677 // This is just an optimization so ignore the failure if the disk is
678 // currently too full.
679 QM_TRY(QM_OR_ELSE_WARN_IF({auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
680 // Expression.{auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
681 MOZ_TO_RESULT({auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
682 aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns)),{auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
683 // Predicate.{auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
684 IsSpecificError<NS_ERROR_FILE_TOO_BIG>,{auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
685 // Fallback.{auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
686 ErrToDefaultOk<>)){auto tryResult788 = (mozilla::dom::quota::OrElseIf( (ToResult
(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, ""_ns
))), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::
HandleError("\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\"\\\"_ns))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult788)::ok_type>); if ((__builtin_expect(!!(tryResult788
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \"\"_ns))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_TOO_BIG>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aConnection.SetGrowthIncrement(kSQLiteGrowthIncrement, \\\\\\\"\\\\\\\"_ns))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 686, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult788.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 686, mozilla::dom::quota::Severity::Error); return tryResult788
.propagateErr(); }}
;
687 }
688#endif // IDB_MOBILE
689
690 return NS_OK;
691}
692
693nsresult SetJournalMode(mozIStorageConnection& aConnection) {
694 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 694); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 694; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
695
696 // Try enabling WAL mode. This can fail in various circumstances so we have to
697 // check the results here.
698 constexpr auto journalModeQueryStart = "PRAGMA journal_mode = "_ns;
699 constexpr auto journalModeWAL = "wal"_ns;
700
701 QM_TRY_INSPECT(const auto& stmt,auto tryResult789 = (CreateAndExecuteSingleStepStatement( aConnection
, journalModeQueryStart + journalModeWAL)); if ((__builtin_expect
(!!(tryResult789.isErr()), 0))) { mozilla::dom::quota::HandleError
("CreateAndExecuteSingleStepStatement( aConnection, journalModeQueryStart + journalModeWAL)"
, tryResult789.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 703, mozilla::dom::quota::Severity::Error); return tryResult789
.propagateErr(); } const auto& stmt = tryResult789.inspect
();
702 CreateAndExecuteSingleStepStatement(auto tryResult789 = (CreateAndExecuteSingleStepStatement( aConnection
, journalModeQueryStart + journalModeWAL)); if ((__builtin_expect
(!!(tryResult789.isErr()), 0))) { mozilla::dom::quota::HandleError
("CreateAndExecuteSingleStepStatement( aConnection, journalModeQueryStart + journalModeWAL)"
, tryResult789.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 703, mozilla::dom::quota::Severity::Error); return tryResult789
.propagateErr(); } const auto& stmt = tryResult789.inspect
();
703 aConnection, journalModeQueryStart + journalModeWAL))auto tryResult789 = (CreateAndExecuteSingleStepStatement( aConnection
, journalModeQueryStart + journalModeWAL)); if ((__builtin_expect
(!!(tryResult789.isErr()), 0))) { mozilla::dom::quota::HandleError
("CreateAndExecuteSingleStepStatement( aConnection, journalModeQueryStart + journalModeWAL)"
, tryResult789.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 703, mozilla::dom::quota::Severity::Error); return tryResult789
.propagateErr(); } const auto& stmt = tryResult789.inspect
();
;
704
705 QM_TRY_INSPECT(auto tryResult790 = (::mozilla::ToResultInvoke< nsCString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(*stmt)>::GetUTF8String), (*stmt), 0)); if ((__builtin_expect
(!!(tryResult790.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*stmt)>::GetUTF8String), (*stmt), 0)"
, tryResult790.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 707, mozilla::dom::quota::Severity::Error); return tryResult790
.propagateErr(); } const auto& journalMode = tryResult790
.inspect();
706 const auto& journalMode,auto tryResult790 = (::mozilla::ToResultInvoke< nsCString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(*stmt)>::GetUTF8String), (*stmt), 0)); if ((__builtin_expect
(!!(tryResult790.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*stmt)>::GetUTF8String), (*stmt), 0)"
, tryResult790.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 707, mozilla::dom::quota::Severity::Error); return tryResult790
.propagateErr(); } const auto& journalMode = tryResult790
.inspect();
707 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(nsCString, *stmt, GetUTF8String, 0))auto tryResult790 = (::mozilla::ToResultInvoke< nsCString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(*stmt)>::GetUTF8String), (*stmt), 0)); if ((__builtin_expect
(!!(tryResult790.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*stmt)>::GetUTF8String), (*stmt), 0)"
, tryResult790.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 707, mozilla::dom::quota::Severity::Error); return tryResult790
.propagateErr(); } const auto& journalMode = tryResult790
.inspect();
;
708
709 if (journalMode.Equals(journalModeWAL)) {
710 // WAL mode successfully enabled. Maybe set limits on its size here.
711 if (kMaxWALPages >= 0) {
712 QM_TRY(MOZ_TO_RESULT(aConnection.ExecuteSimpleSQL({auto tryResult791 = (ToResult(aConnection.ExecuteSimpleSQL( "PRAGMA wal_autocheckpoint = "_ns
+ IntToCString(kMaxWALPages)))); static_assert(std::is_empty_v
<typename decltype(tryResult791)::ok_type>); if ((__builtin_expect
(!!(tryResult791.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aConnection.ExecuteSimpleSQL( \"PRAGMA wal_autocheckpoint = \"_ns + IntToCString(kMaxWALPages)))"
, tryResult791.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 713, mozilla::dom::quota::Severity::Error); return tryResult791
.propagateErr(); }}
713 "PRAGMA wal_autocheckpoint = "_ns + IntToCString(kMaxWALPages)))){auto tryResult791 = (ToResult(aConnection.ExecuteSimpleSQL( "PRAGMA wal_autocheckpoint = "_ns
+ IntToCString(kMaxWALPages)))); static_assert(std::is_empty_v
<typename decltype(tryResult791)::ok_type>); if ((__builtin_expect
(!!(tryResult791.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aConnection.ExecuteSimpleSQL( \"PRAGMA wal_autocheckpoint = \"_ns + IntToCString(kMaxWALPages)))"
, tryResult791.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 713, mozilla::dom::quota::Severity::Error); return tryResult791
.propagateErr(); }}
;
714 }
715 } else {
716 NS_WARNING("Failed to set WAL mode, falling back to normal journal mode.")NS_DebugBreak(NS_DEBUG_WARNING, "Failed to set WAL mode, falling back to normal journal mode."
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 716)
;
717#ifdef IDB_MOBILE
718 QM_TRY(MOZ_TO_RESULT({auto tryResult792 = (ToResult(aConnection.ExecuteSimpleSQL(journalModeQueryStart
+ "truncate"_ns))); static_assert(std::is_empty_v<typename
decltype(tryResult792)::ok_type>); if ((__builtin_expect(
!!(tryResult792.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aConnection.ExecuteSimpleSQL(journalModeQueryStart + \"truncate\"_ns))"
, tryResult792.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 719, mozilla::dom::quota::Severity::Error); return tryResult792
.propagateErr(); }}
719 aConnection.ExecuteSimpleSQL(journalModeQueryStart + "truncate"_ns))){auto tryResult792 = (ToResult(aConnection.ExecuteSimpleSQL(journalModeQueryStart
+ "truncate"_ns))); static_assert(std::is_empty_v<typename
decltype(tryResult792)::ok_type>); if ((__builtin_expect(
!!(tryResult792.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aConnection.ExecuteSimpleSQL(journalModeQueryStart + \"truncate\"_ns))"
, tryResult792.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 719, mozilla::dom::quota::Severity::Error); return tryResult792
.propagateErr(); }}
;
720#endif
721 }
722
723 return NS_OK;
724}
725
726Result<MovingNotNull<nsCOMPtr<mozIStorageConnection>>, nsresult> OpenDatabase(
727 mozIStorageService& aStorageService, nsIFileURL& aFileURL,
728 const uint32_t aTelemetryId = 0) {
729 const nsAutoCString telemetryFilename =
730 aTelemetryId ? "indexedDB-"_ns + IntToCString(aTelemetryId) +
731 NS_ConvertUTF16toUTF8(kSQLiteSuffix)
732 : nsAutoCString();
733
734 QM_TRY_UNWRAP(auto connection,auto tryResult793 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageConnection> >( ::std::mem_fn( &::mozilla
::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL
), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService
::CONNECTION_INTERRUPTIBLE)); if ((__builtin_expect(!!(tryResult793
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageConnection>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService::CONNECTION_INTERRUPTIBLE)"
, tryResult793.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 738, mozilla::dom::quota::Severity::Error); return tryResult793
.propagateErr(); } auto connection = tryResult793.unwrap();
735 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult793 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageConnection> >( ::std::mem_fn( &::mozilla
::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL
), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService
::CONNECTION_INTERRUPTIBLE)); if ((__builtin_expect(!!(tryResult793
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageConnection>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService::CONNECTION_INTERRUPTIBLE)"
, tryResult793.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 738, mozilla::dom::quota::Severity::Error); return tryResult793
.propagateErr(); } auto connection = tryResult793.unwrap();
736 nsCOMPtr<mozIStorageConnection>, aStorageService,auto tryResult793 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageConnection> >( ::std::mem_fn( &::mozilla
::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL
), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService
::CONNECTION_INTERRUPTIBLE)); if ((__builtin_expect(!!(tryResult793
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageConnection>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService::CONNECTION_INTERRUPTIBLE)"
, tryResult793.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 738, mozilla::dom::quota::Severity::Error); return tryResult793
.propagateErr(); } auto connection = tryResult793.unwrap();
737 OpenDatabaseWithFileURL, &aFileURL, telemetryFilename,auto tryResult793 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageConnection> >( ::std::mem_fn( &::mozilla
::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL
), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService
::CONNECTION_INTERRUPTIBLE)); if ((__builtin_expect(!!(tryResult793
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageConnection>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService::CONNECTION_INTERRUPTIBLE)"
, tryResult793.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 738, mozilla::dom::quota::Severity::Error); return tryResult793
.propagateErr(); } auto connection = tryResult793.unwrap();
738 mozIStorageService::CONNECTION_INTERRUPTIBLE))auto tryResult793 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageConnection> >( ::std::mem_fn( &::mozilla
::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL
), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService
::CONNECTION_INTERRUPTIBLE)); if ((__builtin_expect(!!(tryResult793
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageConnection>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aStorageService)>::OpenDatabaseWithFileURL), (aStorageService), &aFileURL, telemetryFilename, mozIStorageService::CONNECTION_INTERRUPTIBLE)"
, tryResult793.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 738, mozilla::dom::quota::Severity::Error); return tryResult793
.propagateErr(); } auto connection = tryResult793.unwrap();
;
739
740 return WrapMovingNotNull(std::move(connection));
741}
742
743Result<MovingNotNull<nsCOMPtr<mozIStorageConnection>>, nsresult>
744OpenDatabaseAndHandleBusy(mozIStorageService& aStorageService,
745 nsIFileURL& aFileURL,
746 const uint32_t aTelemetryId = 0) {
747 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 747); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 747; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
748 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 748); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 748; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
749
750 using ConnectionType = Maybe<MovingNotNull<nsCOMPtr<mozIStorageConnection>>>;
751
752 QM_TRY_UNWRAP(auto connection,auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
753 QM_OR_ELSE_WARN_IF(auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
754 // Expressionauto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
755 OpenDatabase(aStorageService, aFileURL, aTelemetryId)auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
756 .map([](auto connection) -> ConnectionType {auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
757 return Some(std::move(connection));auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
758 }),auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
759 // Predicate.auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
760 IsSpecificError<NS_ERROR_STORAGE_BUSY>,auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
761 // Fallback.auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
762 ErrToDefaultOk<ConnectionType>))auto tryResult794 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = IsSpecificError
<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::
HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult794
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 762, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult794.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 762, mozilla::dom::quota::Severity::Error); return tryResult794
.propagateErr(); } auto connection = tryResult794.unwrap();
;
763
764 if (connection.isNothing()) {
765#ifdef DEBUG1
766 {
767 nsCString path;
768 MOZ_ALWAYS_SUCCEEDS(aFileURL.GetFileName(path))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aFileURL.GetFileName(path))), 1)))), 1))) { } else { do { do
{ } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(aFileURL.GetFileName(path))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 768); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aFileURL.GetFileName(path))"
")"); do { *((volatile int*)__null) = 768; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
769
770 nsPrintfCString message(
771 "Received NS_ERROR_STORAGE_BUSY when attempting to open database "
772 "'%s', retrying for up to 10 seconds",
773 path.get());
774 NS_WARNING(message.get())NS_DebugBreak(NS_DEBUG_WARNING, message.get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 774)
;
775 }
776#endif
777
778 // Another thread must be checkpointing the WAL. Wait up to 10 seconds for
779 // that to complete.
780 const TimeStamp start = TimeStamp::NowLoRes();
781
782 do {
783 PR_Sleep(PR_MillisecondsToInterval(100));
784
785 QM_TRY_UNWRAP(connection,auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
786 QM_OR_ELSE_WARN_IF(auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
787 // Expression.auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
788 OpenDatabase(aStorageService, aFileURL, aTelemetryId)auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
789 .map([](auto connection) -> ConnectionType {auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
790 return Some(std::move(connection));auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
791 }),auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
792 // Predicate.auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
793 ([&start](nsresult aValue) {auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
794 return aValue == NS_ERROR_STORAGE_BUSY &&auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
795 TimeStamp::NowLoRes() - start <=auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
796 TimeDuration::FromSeconds(10);auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
797 }),auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
798 // Fallback.auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
799 ErrToDefaultOk<ConnectionType>))auto tryResult795 = (mozilla::dom::quota::OrElseIf( (OpenDatabase
(aStorageService, aFileURL, aTelemetryId) .map([](auto connection
) -> ConnectionType { return Some(std::move(connection)); }
)), [&](const auto& firstRes) { bool res = ([&start
](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY &&
TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds
(10); })(firstRes); mozilla::dom::quota::HandleError("\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<ConnectionType>)); if ((__builtin_expect(!!(tryResult795
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })), [&](const auto& firstRes) { bool res = ([&start](nsresult aValue) { return aValue == NS_ERROR_STORAGE_BUSY && TimeStamp::NowLoRes() - start <= TimeDuration::FromSeconds(10); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabase(aStorageService, aFileURL, aTelemetryId) .map([](auto connection) -> ConnectionType { return Some(std::move(connection)); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 799, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<ConnectionType>)"
, tryResult795.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 799, mozilla::dom::quota::Severity::Error); return tryResult795
.propagateErr(); } connection = tryResult795.unwrap();
;
800 } while (connection.isNothing());
801 }
802
803 return connection.extract();
804}
805
806// Returns true if a given nsIFile exists and is a directory. Returns false if
807// it doesn't exist. Returns an error if it exists, but is not a directory, or
808// any other error occurs.
809Result<bool, nsresult> ExistsAsDirectory(nsIFile& aDirectory) {
810 QM_TRY_INSPECT(const bool& exists,auto tryResult796 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult796.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::Exists)"
, tryResult796.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 811, mozilla::dom::quota::Severity::Error); return tryResult796
.propagateErr(); } const bool& exists = tryResult796.inspect
();
811 MOZ_TO_RESULT_INVOKE_MEMBER(aDirectory, Exists))auto tryResult796 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult796.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::Exists)"
, tryResult796.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 811, mozilla::dom::quota::Severity::Error); return tryResult796
.propagateErr(); } const bool& exists = tryResult796.inspect
();
;
812
813 if (exists) {
814 QM_TRY_INSPECT(const bool& isDirectory,auto tryResult797 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult797.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::IsDirectory)"
, tryResult797.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 815, mozilla::dom::quota::Severity::Error); return tryResult797
.propagateErr(); } const bool& isDirectory = tryResult797
.inspect();
815 MOZ_TO_RESULT_INVOKE_MEMBER(aDirectory, IsDirectory))auto tryResult797 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult797.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::IsDirectory)"
, tryResult797.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 815, mozilla::dom::quota::Severity::Error); return tryResult797
.propagateErr(); } const bool& isDirectory = tryResult797
.inspect();
;
816
817 QM_TRY(OkIf(isDirectory), Err(NS_ERROR_FAILURE)){auto tryResult798 = (OkIf(isDirectory)); static_assert(std::
is_empty_v<typename decltype(tryResult798)::ok_type>); if
((__builtin_expect(!!(tryResult798.isErr()), 0))) { auto tryTempError
__attribute__((__unused__)) = tryResult798.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(isDirectory)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 817, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(isDirectory)"
, tryTempError, Err(NS_ERROR_FAILURE)); }}
;
818 }
819
820 return exists;
821}
822
823constexpr nsresult mapNoDeviceSpaceError(nsresult aRv) {
824 if (aRv == NS_ERROR_FILE_NO_DEVICE_SPACE) {
825 // mozstorage translates SQLITE_FULL to
826 // NS_ERROR_FILE_NO_DEVICE_SPACE, which we know better as
827 // NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR.
828 return NS_ERROR_DOM_INDEXEDDB_QUOTA_ERR;
829 }
830 return aRv;
831}
832
833Result<MovingNotNull<nsCOMPtr<mozIStorageConnection>>, nsresult>
834CreateStorageConnection(nsIFile& aDBFile, nsIFile& aFMDirectory,
835 const nsAString& aName, const nsACString& aOrigin,
836 const int64_t aDirectoryLockId,
837 const uint32_t aTelemetryId,
838 const Maybe<CipherKey>& aMaybeKey) {
839 AssertIsOnIOThread();
840 MOZ_ASSERT(aDirectoryLockId >= -1)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectoryLockId >= -1)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectoryLockId >= -1)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("aDirectoryLockId >= -1"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 840); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectoryLockId >= -1"
")"); do { *((volatile int*)__null) = 840; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
841
842 AUTO_PROFILER_LABEL("CreateStorageConnection", DOM)mozilla::AutoProfilerLabel raiiObject842( "CreateStorageConnection"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
843
844 QM_TRY_INSPECT(const auto& dbFileUrl,auto tryResult799 = (GetDatabaseFileURL(aDBFile, aDirectoryLockId
, aMaybeKey)); if ((__builtin_expect(!!(tryResult799.isErr())
, 0))) { mozilla::dom::quota::HandleError("GetDatabaseFileURL(aDBFile, aDirectoryLockId, aMaybeKey)"
, tryResult799.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 845, mozilla::dom::quota::Severity::Error); return tryResult799
.propagateErr(); } const auto& dbFileUrl = tryResult799.inspect
();
845 GetDatabaseFileURL(aDBFile, aDirectoryLockId, aMaybeKey))auto tryResult799 = (GetDatabaseFileURL(aDBFile, aDirectoryLockId
, aMaybeKey)); if ((__builtin_expect(!!(tryResult799.isErr())
, 0))) { mozilla::dom::quota::HandleError("GetDatabaseFileURL(aDBFile, aDirectoryLockId, aMaybeKey)"
, tryResult799.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 845, mozilla::dom::quota::Severity::Error); return tryResult799
.propagateErr(); } const auto& dbFileUrl = tryResult799.inspect
();
;
846
847 QM_TRY_INSPECT(const auto& storageService,auto tryResult800 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult800.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult800.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 850, mozilla::dom::quota::Severity::Error); return tryResult800
.propagateErr(); } const auto& storageService = tryResult800
.inspect();
848 MOZ_TO_RESULT_GET_TYPED(nsCOMPtr<mozIStorageService>,auto tryResult800 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult800.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult800.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 850, mozilla::dom::quota::Severity::Error); return tryResult800
.propagateErr(); } const auto& storageService = tryResult800
.inspect();
849 MOZ_SELECT_OVERLOAD(do_GetService),auto tryResult800 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult800.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult800.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 850, mozilla::dom::quota::Severity::Error); return tryResult800
.propagateErr(); } const auto& storageService = tryResult800
.inspect();
850 MOZ_STORAGE_SERVICE_CONTRACTID))auto tryResult800 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult800.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult800.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 850, mozilla::dom::quota::Severity::Error); return tryResult800
.propagateErr(); } const auto& storageService = tryResult800
.inspect();
;
851
852 QM_TRY_UNWRAP(auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
853 auto connection,auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
854 QM_OR_ELSE_WARN_IF(auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
855 // Expression.auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
856 OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId)auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
857 .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> {auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
858 return std::move(connection).unwrapBasePtr();auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
859 }),auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
860 // Predicate.auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
861 ([&aName](nsresult aValue) {auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
862 // If we're just opening the database during origin initialization,auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
863 // then we don't want to erase any files. The failure here will failauto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
864 // origin initialization too.auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
865 return IsDatabaseCorruptionError(aValue) && !aName.IsVoid();auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
866 }),auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
867 // Fallback.auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
868 ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>))auto tryResult801 = (mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy
(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection
) -> nsCOMPtr<mozIStorageConnection> { return std::move
(connection).unwrapBasePtr(); })), [&](const auto& firstRes
) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError
(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom
::quota::HandleError("\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<nsCOMPtr<mozIStorageConnection>>)); if ((__builtin_expect
(!!(tryResult801.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })), [&](const auto& firstRes) { bool res = ([&aName](nsresult aValue) { return IsDatabaseCorruptionError(aValue) && !aName.IsVoid(); })(firstRes); mozilla::dom::quota::HandleError(\"\\\"OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId) .map([](auto connection) -> nsCOMPtr<mozIStorageConnection> { return std::move(connection).unwrapBasePtr(); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 868, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<nsCOMPtr<mozIStorageConnection>>)"
, tryResult801.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 868, mozilla::dom::quota::Severity::Error); return tryResult801
.propagateErr(); } auto connection = tryResult801.unwrap();
;
869
870 if (!connection) {
871 // XXX Shouldn't we also update quota usage?
872
873 // Nuke the database file.
874 QM_TRY(MOZ_TO_RESULT(aDBFile.Remove(false))){auto tryResult802 = (ToResult(aDBFile.Remove(false))); static_assert
(std::is_empty_v<typename decltype(tryResult802)::ok_type>
); if ((__builtin_expect(!!(tryResult802.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(aDBFile.Remove(false))", tryResult802
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 874, mozilla::dom::quota::Severity::Error); return tryResult802
.propagateErr(); }}
;
875 QM_TRY_INSPECT(const bool& existsAsDirectory,auto tryResult803 = (ExistsAsDirectory(aFMDirectory)); if ((__builtin_expect
(!!(tryResult803.isErr()), 0))) { mozilla::dom::quota::HandleError
("ExistsAsDirectory(aFMDirectory)", tryResult803.inspectErr()
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 876, mozilla::dom::quota::Severity::Error); return tryResult803
.propagateErr(); } const bool& existsAsDirectory = tryResult803
.inspect();
876 ExistsAsDirectory(aFMDirectory))auto tryResult803 = (ExistsAsDirectory(aFMDirectory)); if ((__builtin_expect
(!!(tryResult803.isErr()), 0))) { mozilla::dom::quota::HandleError
("ExistsAsDirectory(aFMDirectory)", tryResult803.inspectErr()
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 876, mozilla::dom::quota::Severity::Error); return tryResult803
.propagateErr(); } const bool& existsAsDirectory = tryResult803
.inspect();
;
877
878 if (existsAsDirectory) {
879 QM_TRY(MOZ_TO_RESULT(aFMDirectory.Remove(true))){auto tryResult804 = (ToResult(aFMDirectory.Remove(true))); static_assert
(std::is_empty_v<typename decltype(tryResult804)::ok_type>
); if ((__builtin_expect(!!(tryResult804.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(aFMDirectory.Remove(true))"
, tryResult804.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 879, mozilla::dom::quota::Severity::Error); return tryResult804
.propagateErr(); }}
;
880 }
881
882 QM_TRY_UNWRAP(connection, OpenDatabaseAndHandleBusy(auto tryResult805 = (OpenDatabaseAndHandleBusy( *storageService
, *dbFileUrl, aTelemetryId)); if ((__builtin_expect(!!(tryResult805
.isErr()), 0))) { mozilla::dom::quota::HandleError("OpenDatabaseAndHandleBusy( *storageService, *dbFileUrl, aTelemetryId)"
, tryResult805.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 883, mozilla::dom::quota::Severity::Error); return tryResult805
.propagateErr(); } connection = tryResult805.unwrap();
883 *storageService, *dbFileUrl, aTelemetryId))auto tryResult805 = (OpenDatabaseAndHandleBusy( *storageService
, *dbFileUrl, aTelemetryId)); if ((__builtin_expect(!!(tryResult805
.isErr()), 0))) { mozilla::dom::quota::HandleError("OpenDatabaseAndHandleBusy( *storageService, *dbFileUrl, aTelemetryId)"
, tryResult805.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 883, mozilla::dom::quota::Severity::Error); return tryResult805
.propagateErr(); } connection = tryResult805.unwrap();
;
884 }
885
886 QM_TRY(MOZ_TO_RESULT(SetDefaultPragmas(*connection))){auto tryResult806 = (ToResult(SetDefaultPragmas(*connection)
)); static_assert(std::is_empty_v<typename decltype(tryResult806
)::ok_type>); if ((__builtin_expect(!!(tryResult806.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(SetDefaultPragmas(*connection))"
, tryResult806.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 886, mozilla::dom::quota::Severity::Error); return tryResult806
.propagateErr(); }}
;
887 QM_TRY(MOZ_TO_RESULT(connection->EnableModule("filesystem"_ns))){auto tryResult807 = (ToResult(connection->EnableModule("filesystem"_ns
))); static_assert(std::is_empty_v<typename decltype(tryResult807
)::ok_type>); if ((__builtin_expect(!!(tryResult807.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->EnableModule(\"filesystem\"_ns))"
, tryResult807.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 887, mozilla::dom::quota::Severity::Error); return tryResult807
.propagateErr(); }}
;
888
889 // Check to make sure that the database schema is correct.
890 QM_TRY_INSPECT(const int32_t& schemaVersion,auto tryResult808 = (::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::GetSchemaVersion)); if ((__builtin_expect(!!(tryResult808
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryResult808.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 891, mozilla::dom::quota::Severity::Error); return tryResult808
.propagateErr(); } const int32_t& schemaVersion = tryResult808
.inspect();
891 MOZ_TO_RESULT_INVOKE_MEMBER(connection, GetSchemaVersion))auto tryResult808 = (::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::GetSchemaVersion)); if ((__builtin_expect(!!(tryResult808
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryResult808.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 891, mozilla::dom::quota::Severity::Error); return tryResult808
.propagateErr(); } const int32_t& schemaVersion = tryResult808
.inspect();
;
892
893 // Unknown schema will fail origin initialization too.
894 QM_TRY(OkIf(schemaVersion || !aName.IsVoid()),{auto tryResult809 = (OkIf(schemaVersion || !aName.IsVoid()))
; static_assert(std::is_empty_v<typename decltype(tryResult809
)::ok_type>); if ((__builtin_expect(!!(tryResult809.isErr(
)), 0))) { auto tryTempError = tryResult809.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 897, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is not set!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
895 Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR), [](const auto&) {{auto tryResult809 = (OkIf(schemaVersion || !aName.IsVoid()))
; static_assert(std::is_empty_v<typename decltype(tryResult809
)::ok_type>); if ((__builtin_expect(!!(tryResult809.isErr(
)), 0))) { auto tryTempError = tryResult809.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 897, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is not set!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
896 IDB_WARNING("Unable to open IndexedDB database, schema is not set!");{auto tryResult809 = (OkIf(schemaVersion || !aName.IsVoid()))
; static_assert(std::is_empty_v<typename decltype(tryResult809
)::ok_type>); if ((__builtin_expect(!!(tryResult809.isErr(
)), 0))) { auto tryTempError = tryResult809.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 897, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is not set!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
897 }){auto tryResult809 = (OkIf(schemaVersion || !aName.IsVoid()))
; static_assert(std::is_empty_v<typename decltype(tryResult809
)::ok_type>); if ((__builtin_expect(!!(tryResult809.isErr(
)), 0))) { auto tryTempError = tryResult809.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 897, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is not set!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 896); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion || !aName.IsVoid())"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
;
898
899 QM_TRY({auto tryResult810 = (OkIf(schemaVersion <= kSQLiteSchemaVersion
)); static_assert(std::is_empty_v<typename decltype(tryResult810
)::ok_type>); if ((__builtin_expect(!!(tryResult810.isErr(
)), 0))) { auto tryTempError = tryResult810.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 903, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is too high!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
900 OkIf(schemaVersion <= kSQLiteSchemaVersion),{auto tryResult810 = (OkIf(schemaVersion <= kSQLiteSchemaVersion
)); static_assert(std::is_empty_v<typename decltype(tryResult810
)::ok_type>); if ((__builtin_expect(!!(tryResult810.isErr(
)), 0))) { auto tryTempError = tryResult810.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 903, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is too high!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
901 Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR), [](const auto&) {{auto tryResult810 = (OkIf(schemaVersion <= kSQLiteSchemaVersion
)); static_assert(std::is_empty_v<typename decltype(tryResult810
)::ok_type>); if ((__builtin_expect(!!(tryResult810.isErr(
)), 0))) { auto tryTempError = tryResult810.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 903, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is too high!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
902 IDB_WARNING("Unable to open IndexedDB database, schema is too high!");{auto tryResult810 = (OkIf(schemaVersion <= kSQLiteSchemaVersion
)); static_assert(std::is_empty_v<typename decltype(tryResult810
)::ok_type>); if ((__builtin_expect(!!(tryResult810.isErr(
)), 0))) { auto tryTempError = tryResult810.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 903, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is too high!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
903 }){auto tryResult810 = (OkIf(schemaVersion <= kSQLiteSchemaVersion
)); static_assert(std::is_empty_v<typename decltype(tryResult810
)::ok_type>); if ((__builtin_expect(!!(tryResult810.isErr(
)), 0))) { auto tryTempError = tryResult810.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 903, mozilla::dom::quota::Severity::Error); [](const auto&
) { do { nsPrintfCString s("Unable to open IndexedDB database, schema is too high!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 902); } while (0); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(schemaVersion <= kSQLiteSchemaVersion)"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
;
904
905 bool journalModeSet = false;
906
907 if (schemaVersion != kSQLiteSchemaVersion) {
908 const bool newDatabase = !schemaVersion;
909
910 if (newDatabase) {
911 // Set the page size first.
912 const auto sqlitePageSizeOverride =
913 aMaybeKey ? 8192 : kSQLitePageSizeOverride;
914 if (sqlitePageSizeOverride) {
915 QM_TRY(MOZ_TO_RESULT(connection->ExecuteSimpleSQL(nsPrintfCString({auto tryResult811 = (ToResult(connection->ExecuteSimpleSQL
(nsPrintfCString( "PRAGMA page_size = %" "u" ";", sqlitePageSizeOverride
)))); static_assert(std::is_empty_v<typename decltype(tryResult811
)::ok_type>); if ((__builtin_expect(!!(tryResult811.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL(nsPrintfCString( \"PRAGMA page_size = %\" \"u\" \";\", sqlitePageSizeOverride)))"
, tryResult811.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 916, mozilla::dom::quota::Severity::Error); return tryResult811
.propagateErr(); }}
916 "PRAGMA page_size = %" PRIu32 ";", sqlitePageSizeOverride)))){auto tryResult811 = (ToResult(connection->ExecuteSimpleSQL
(nsPrintfCString( "PRAGMA page_size = %" "u" ";", sqlitePageSizeOverride
)))); static_assert(std::is_empty_v<typename decltype(tryResult811
)::ok_type>); if ((__builtin_expect(!!(tryResult811.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL(nsPrintfCString( \"PRAGMA page_size = %\" \"u\" \";\", sqlitePageSizeOverride)))"
, tryResult811.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 916, mozilla::dom::quota::Severity::Error); return tryResult811
.propagateErr(); }}
;
917 }
918
919 // We have to set the auto_vacuum mode before opening a transaction.
920 QM_TRY((MOZ_TO_RESULT_INVOKE_MEMBER({auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
921 connection, ExecuteSimpleSQL,{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
922#ifdef IDB_MOBILE{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
923 // Turn on full auto_vacuum mode to reclaim disk space on{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
924 // mobile devices (at the cost of some COMMIT speed).{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
925 "PRAGMA auto_vacuum = FULL;"_ns{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
926#else{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
927 // Turn on incremental auto_vacuum mode on desktop builds.{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
928 "PRAGMA auto_vacuum = INCREMENTAL;"_ns{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
929#endif{auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
930 ){auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
931 .mapErr(mapNoDeviceSpaceError))){auto tryResult812 = ((::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::ExecuteSimpleSQL,ifdef IDB_MOBILE "PRAGMA auto_vacuum = FULL;"_ns
else "PRAGMA auto_vacuum = INCREMENTAL;"_ns endif) .mapErr(mapNoDeviceSpaceError
))); static_assert(std::is_empty_v<typename decltype(tryResult812
)::ok_type>); if ((__builtin_expect(!!(tryResult812.isErr(
)), 0))) { mozilla::dom::quota::HandleError("(::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::ExecuteSimpleSQL,ifdef IDB_MOBILE \"PRAGMA auto_vacuum = FULL;\"_nselse \"PRAGMA auto_vacuum = INCREMENTAL;\"_nsendif) .mapErr(mapNoDeviceSpaceError))"
, tryResult812.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 931, mozilla::dom::quota::Severity::Error); return tryResult812
.propagateErr(); }}
;
932
933 QM_TRY(MOZ_TO_RESULT(SetJournalMode(*connection))){auto tryResult813 = (ToResult(SetJournalMode(*connection)));
static_assert(std::is_empty_v<typename decltype(tryResult813
)::ok_type>); if ((__builtin_expect(!!(tryResult813.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(SetJournalMode(*connection))"
, tryResult813.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 933, mozilla::dom::quota::Severity::Error); return tryResult813
.propagateErr(); }}
;
934
935 journalModeSet = true;
936 } else {
937#ifdef DEBUG1
938 // Disable foreign key support while upgrading. This has to be done before
939 // starting a transaction.
940 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(connection->ExecuteSimpleSQL("PRAGMA foreign_keys = OFF;"_ns
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 941); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
")"); do { *((volatile int*)__null) = 941; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
941 connection->ExecuteSimpleSQL("PRAGMA foreign_keys = OFF;"_ns))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(connection->ExecuteSimpleSQL("PRAGMA foreign_keys = OFF;"_ns
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 941); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
")"); do { *((volatile int*)__null) = 941; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
942#endif
943 }
944
945 bool vacuumNeeded = false;
946
947 mozStorageTransaction transaction(
948 connection.get(), false, mozIStorageConnection::TRANSACTION_IMMEDIATE);
949
950 QM_TRY(MOZ_TO_RESULT(transaction.Start())){auto tryResult814 = (ToResult(transaction.Start())); static_assert
(std::is_empty_v<typename decltype(tryResult814)::ok_type>
); if ((__builtin_expect(!!(tryResult814.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(transaction.Start())", tryResult814
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 950, mozilla::dom::quota::Severity::Error); return tryResult814
.propagateErr(); }}
;
951
952 if (newDatabase) {
953 QM_TRY(MOZ_TO_RESULT(CreateTables(*connection))){auto tryResult815 = (ToResult(CreateTables(*connection))); static_assert
(std::is_empty_v<typename decltype(tryResult815)::ok_type>
); if ((__builtin_expect(!!(tryResult815.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(CreateTables(*connection))"
, tryResult815.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 953, mozilla::dom::quota::Severity::Error); return tryResult815
.propagateErr(); }}
;
954
955#ifdef DEBUG1
956 {
957 QM_TRY_INSPECT(auto tryResult816 = (::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::GetSchemaVersion)); if ((__builtin_expect(!!(tryResult816
.isErr()), 0))) { auto tryTempError __attribute__((__unused__
)) = tryResult816.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 960; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& schemaVersion = tryResult816.inspect();
958 const int32_t& schemaVersion,auto tryResult816 = (::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::GetSchemaVersion)); if ((__builtin_expect(!!(tryResult816
.isErr()), 0))) { auto tryTempError __attribute__((__unused__
)) = tryResult816.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 960; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& schemaVersion = tryResult816.inspect();
959 MOZ_TO_RESULT_INVOKE_MEMBER(connection, GetSchemaVersion),auto tryResult816 = (::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::GetSchemaVersion)); if ((__builtin_expect(!!(tryResult816
.isErr()), 0))) { auto tryTempError __attribute__((__unused__
)) = tryResult816.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 960; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& schemaVersion = tryResult816.inspect();
960 QM_ASSERT_UNREACHABLE)auto tryResult816 = (::mozilla::ToResultInvokeMember( (connection
), &::mozilla::detail::DerefedType<decltype(connection
)>::GetSchemaVersion)); if ((__builtin_expect(!!(tryResult816
.isErr()), 0))) { auto tryTempError __attribute__((__unused__
)) = tryResult816.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (connection), &::mozilla::detail::DerefedType<decltype(connection)>::GetSchemaVersion)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 960); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 960; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& schemaVersion = tryResult816.inspect();
;
961 MOZ_ASSERT(schemaVersion == kSQLiteSchemaVersion)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(schemaVersion == kSQLiteSchemaVersion)>::isValid,
"invalid assertion condition"); if ((__builtin_expect(!!(!(!
!(schemaVersion == kSQLiteSchemaVersion))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("schemaVersion == kSQLiteSchemaVersion"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 961); AnnotateMozCrashReason("MOZ_ASSERT" "(" "schemaVersion == kSQLiteSchemaVersion"
")"); do { *((volatile int*)__null) = 961; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
962 }
963#endif
964
965 // The parameter names are not used, parameters are bound by index only
966 // locally in the same function.
967 QM_TRY_INSPECT(auto tryResult817 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "INSERT INTO database (name, origin) " "VALUES (:name, :origin)"_ns
)); if ((__builtin_expect(!!(tryResult817.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"INSERT INTO database (name, origin) \" \"VALUES (:name, :origin)\"_ns)"
, tryResult817.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 972, mozilla::dom::quota::Severity::Error); return tryResult817
.propagateErr(); } const auto& stmt = tryResult817.inspect
();
968 const auto& stmt,auto tryResult817 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "INSERT INTO database (name, origin) " "VALUES (:name, :origin)"_ns
)); if ((__builtin_expect(!!(tryResult817.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"INSERT INTO database (name, origin) \" \"VALUES (:name, :origin)\"_ns)"
, tryResult817.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 972, mozilla::dom::quota::Severity::Error); return tryResult817
.propagateErr(); } const auto& stmt = tryResult817.inspect
();
969 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult817 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "INSERT INTO database (name, origin) " "VALUES (:name, :origin)"_ns
)); if ((__builtin_expect(!!(tryResult817.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"INSERT INTO database (name, origin) \" \"VALUES (:name, :origin)\"_ns)"
, tryResult817.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 972, mozilla::dom::quota::Severity::Error); return tryResult817
.propagateErr(); } const auto& stmt = tryResult817.inspect
();
970 nsCOMPtr<mozIStorageStatement>, connection, CreateStatement,auto tryResult817 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "INSERT INTO database (name, origin) " "VALUES (:name, :origin)"_ns
)); if ((__builtin_expect(!!(tryResult817.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"INSERT INTO database (name, origin) \" \"VALUES (:name, :origin)\"_ns)"
, tryResult817.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 972, mozilla::dom::quota::Severity::Error); return tryResult817
.propagateErr(); } const auto& stmt = tryResult817.inspect
();
971 "INSERT INTO database (name, origin) "auto tryResult817 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "INSERT INTO database (name, origin) " "VALUES (:name, :origin)"_ns
)); if ((__builtin_expect(!!(tryResult817.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"INSERT INTO database (name, origin) \" \"VALUES (:name, :origin)\"_ns)"
, tryResult817.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 972, mozilla::dom::quota::Severity::Error); return tryResult817
.propagateErr(); } const auto& stmt = tryResult817.inspect
();
972 "VALUES (:name, :origin)"_ns))auto tryResult817 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "INSERT INTO database (name, origin) " "VALUES (:name, :origin)"_ns
)); if ((__builtin_expect(!!(tryResult817.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"INSERT INTO database (name, origin) \" \"VALUES (:name, :origin)\"_ns)"
, tryResult817.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 972, mozilla::dom::quota::Severity::Error); return tryResult817
.propagateErr(); } const auto& stmt = tryResult817.inspect
();
;
973
974 QM_TRY(MOZ_TO_RESULT(stmt->BindStringByIndex(0, aName))){auto tryResult818 = (ToResult(stmt->BindStringByIndex(0, aName
))); static_assert(std::is_empty_v<typename decltype(tryResult818
)::ok_type>); if ((__builtin_expect(!!(tryResult818.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt->BindStringByIndex(0, aName))"
, tryResult818.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 974, mozilla::dom::quota::Severity::Error); return tryResult818
.propagateErr(); }}
;
975 QM_TRY(MOZ_TO_RESULT(stmt->BindUTF8StringByIndex(1, aOrigin))){auto tryResult819 = (ToResult(stmt->BindUTF8StringByIndex
(1, aOrigin))); static_assert(std::is_empty_v<typename decltype
(tryResult819)::ok_type>); if ((__builtin_expect(!!(tryResult819
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt->BindUTF8StringByIndex(1, aOrigin))"
, tryResult819.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 975, mozilla::dom::quota::Severity::Error); return tryResult819
.propagateErr(); }}
;
976 QM_TRY(MOZ_TO_RESULT(stmt->Execute())){auto tryResult820 = (ToResult(stmt->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult820)::ok_type>
); if ((__builtin_expect(!!(tryResult820.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt->Execute())", tryResult820
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 976, mozilla::dom::quota::Severity::Error); return tryResult820
.propagateErr(); }}
;
977 } else {
978 QM_TRY_UNWRAP(vacuumNeeded, MaybeUpgradeSchema(*connection, schemaVersion,auto tryResult821 = (MaybeUpgradeSchema(*connection, schemaVersion
, aFMDirectory, aOrigin)); if ((__builtin_expect(!!(tryResult821
.isErr()), 0))) { mozilla::dom::quota::HandleError("MaybeUpgradeSchema(*connection, schemaVersion, aFMDirectory, aOrigin)"
, tryResult821.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 979, mozilla::dom::quota::Severity::Error); return tryResult821
.propagateErr(); } vacuumNeeded = tryResult821.unwrap();
979 aFMDirectory, aOrigin))auto tryResult821 = (MaybeUpgradeSchema(*connection, schemaVersion
, aFMDirectory, aOrigin)); if ((__builtin_expect(!!(tryResult821
.isErr()), 0))) { mozilla::dom::quota::HandleError("MaybeUpgradeSchema(*connection, schemaVersion, aFMDirectory, aOrigin)"
, tryResult821.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 979, mozilla::dom::quota::Severity::Error); return tryResult821
.propagateErr(); } vacuumNeeded = tryResult821.unwrap();
;
980 }
981
982 QM_TRY(MOZ_TO_RESULT_INVOKE_MEMBER(transaction, Commit){auto tryResult822 = (::mozilla::ToResultInvokeMember( (transaction
), &::mozilla::detail::DerefedType<decltype(transaction
)>::Commit) .mapErr(mapNoDeviceSpaceError)); static_assert
(std::is_empty_v<typename decltype(tryResult822)::ok_type>
); if ((__builtin_expect(!!(tryResult822.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (transaction), &::mozilla::detail::DerefedType<decltype(transaction)>::Commit) .mapErr(mapNoDeviceSpaceError)"
, tryResult822.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 983, mozilla::dom::quota::Severity::Error); return tryResult822
.propagateErr(); }}
983 .mapErr(mapNoDeviceSpaceError)){auto tryResult822 = (::mozilla::ToResultInvokeMember( (transaction
), &::mozilla::detail::DerefedType<decltype(transaction
)>::Commit) .mapErr(mapNoDeviceSpaceError)); static_assert
(std::is_empty_v<typename decltype(tryResult822)::ok_type>
); if ((__builtin_expect(!!(tryResult822.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (transaction), &::mozilla::detail::DerefedType<decltype(transaction)>::Commit) .mapErr(mapNoDeviceSpaceError)"
, tryResult822.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 983, mozilla::dom::quota::Severity::Error); return tryResult822
.propagateErr(); }}
;
984
985#ifdef DEBUG1
986 if (!newDatabase) {
987 // Re-enable foreign key support after doing a foreign key check.
988 QM_TRY_INSPECT(const bool& foreignKeyError,auto tryResult823 = (CreateAndExecuteSingleStepStatement< SingleStepResult
::ReturnNullIfNoResult>( *connection, "PRAGMA foreign_key_check;"_ns
)); if ((__builtin_expect(!!(tryResult823.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult823.unwrapErr
(); mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 992; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const bool
& foreignKeyError = tryResult823.inspect();
989 CreateAndExecuteSingleStepStatement<auto tryResult823 = (CreateAndExecuteSingleStepStatement< SingleStepResult
::ReturnNullIfNoResult>( *connection, "PRAGMA foreign_key_check;"_ns
)); if ((__builtin_expect(!!(tryResult823.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult823.unwrapErr
(); mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 992; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const bool
& foreignKeyError = tryResult823.inspect();
990 SingleStepResult::ReturnNullIfNoResult>(auto tryResult823 = (CreateAndExecuteSingleStepStatement< SingleStepResult
::ReturnNullIfNoResult>( *connection, "PRAGMA foreign_key_check;"_ns
)); if ((__builtin_expect(!!(tryResult823.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult823.unwrapErr
(); mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 992; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const bool
& foreignKeyError = tryResult823.inspect();
991 *connection, "PRAGMA foreign_key_check;"_ns),auto tryResult823 = (CreateAndExecuteSingleStepStatement< SingleStepResult
::ReturnNullIfNoResult>( *connection, "PRAGMA foreign_key_check;"_ns
)); if ((__builtin_expect(!!(tryResult823.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult823.unwrapErr
(); mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 992; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const bool
& foreignKeyError = tryResult823.inspect();
992 QM_ASSERT_UNREACHABLE)auto tryResult823 = (CreateAndExecuteSingleStepStatement< SingleStepResult
::ReturnNullIfNoResult>( *connection, "PRAGMA foreign_key_check;"_ns
)); if ((__builtin_expect(!!(tryResult823.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult823.unwrapErr
(); mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "CreateAndExecuteSingleStepStatement< SingleStepResult::ReturnNullIfNoResult>( *connection, \"PRAGMA foreign_key_check;\"_ns)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 992); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 992; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const bool
& foreignKeyError = tryResult823.inspect();
;
993
994 MOZ_ASSERT(!foreignKeyError, "Database has inconsisistent foreign keys!")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!foreignKeyError)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!foreignKeyError))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!foreignKeyError"
" (" "Database has inconsisistent foreign keys!" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 994); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!foreignKeyError"
") (" "Database has inconsisistent foreign keys!" ")"); do {
*((volatile int*)__null) = 994; __attribute__((nomerge)) ::abort
(); } while (false); } } while (false)
;
995
996 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(connection->ExecuteSimpleSQL("PRAGMA foreign_keys = OFF;"_ns
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 997); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
")"); do { *((volatile int*)__null) = 997; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
997 connection->ExecuteSimpleSQL("PRAGMA foreign_keys = OFF;"_ns))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(connection->ExecuteSimpleSQL("PRAGMA foreign_keys = OFF;"_ns
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 997); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(connection->ExecuteSimpleSQL(\"PRAGMA foreign_keys = OFF;\"_ns))"
")"); do { *((volatile int*)__null) = 997; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
998 }
999#endif
1000
1001 if (kSQLitePageSizeOverride && !newDatabase) {
1002 QM_TRY_INSPECT(const auto& stmt,auto tryResult824 = (CreateAndExecuteSingleStepStatement( *connection
, "PRAGMA page_size;"_ns)); if ((__builtin_expect(!!(tryResult824
.isErr()), 0))) { mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement( *connection, \"PRAGMA page_size;\"_ns)"
, tryResult824.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1004, mozilla::dom::quota::Severity::Error); return tryResult824
.propagateErr(); } const auto& stmt = tryResult824.inspect
();
1003 CreateAndExecuteSingleStepStatement(auto tryResult824 = (CreateAndExecuteSingleStepStatement( *connection
, "PRAGMA page_size;"_ns)); if ((__builtin_expect(!!(tryResult824
.isErr()), 0))) { mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement( *connection, \"PRAGMA page_size;\"_ns)"
, tryResult824.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1004, mozilla::dom::quota::Severity::Error); return tryResult824
.propagateErr(); } const auto& stmt = tryResult824.inspect
();
1004 *connection, "PRAGMA page_size;"_ns))auto tryResult824 = (CreateAndExecuteSingleStepStatement( *connection
, "PRAGMA page_size;"_ns)); if ((__builtin_expect(!!(tryResult824
.isErr()), 0))) { mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement( *connection, \"PRAGMA page_size;\"_ns)"
, tryResult824.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1004, mozilla::dom::quota::Severity::Error); return tryResult824
.propagateErr(); } const auto& stmt = tryResult824.inspect
();
;
1005
1006 QM_TRY_INSPECT(const int32_t& pageSize,auto tryResult825 = (::mozilla::ToResultInvokeMember( (*stmt)
, &::mozilla::detail::DerefedType<decltype(*stmt)>::
GetInt32, 0)); if ((__builtin_expect(!!(tryResult825.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (*stmt), &::mozilla::detail::DerefedType<decltype(*stmt)>::GetInt32, 0)"
, tryResult825.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1007, mozilla::dom::quota::Severity::Error); return tryResult825
.propagateErr(); } const int32_t& pageSize = tryResult825
.inspect();
1007 MOZ_TO_RESULT_INVOKE_MEMBER(*stmt, GetInt32, 0))auto tryResult825 = (::mozilla::ToResultInvokeMember( (*stmt)
, &::mozilla::detail::DerefedType<decltype(*stmt)>::
GetInt32, 0)); if ((__builtin_expect(!!(tryResult825.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (*stmt), &::mozilla::detail::DerefedType<decltype(*stmt)>::GetInt32, 0)"
, tryResult825.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1007, mozilla::dom::quota::Severity::Error); return tryResult825
.propagateErr(); } const int32_t& pageSize = tryResult825
.inspect();
;
1008 MOZ_ASSERT(pageSize >= 512 && pageSize <= 65536)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(pageSize >= 512 && pageSize <= 65536)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(pageSize >= 512 && pageSize <= 65536))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("pageSize >= 512 && pageSize <= 65536"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1008); AnnotateMozCrashReason("MOZ_ASSERT" "(" "pageSize >= 512 && pageSize <= 65536"
")"); do { *((volatile int*)__null) = 1008; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1009
1010 if (kSQLitePageSizeOverride != uint32_t(pageSize)) {
1011 // We must not be in WAL journal mode to change the page size.
1012 QM_TRY(MOZ_TO_RESULT({auto tryResult826 = (ToResult(connection->ExecuteSimpleSQL
("PRAGMA journal_mode = DELETE;"_ns))); static_assert(std::is_empty_v
<typename decltype(tryResult826)::ok_type>); if ((__builtin_expect
(!!(tryResult826.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(connection->ExecuteSimpleSQL(\"PRAGMA journal_mode = DELETE;\"_ns))"
, tryResult826.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1013, mozilla::dom::quota::Severity::Error); return tryResult826
.propagateErr(); }}
1013 connection->ExecuteSimpleSQL("PRAGMA journal_mode = DELETE;"_ns))){auto tryResult826 = (ToResult(connection->ExecuteSimpleSQL
("PRAGMA journal_mode = DELETE;"_ns))); static_assert(std::is_empty_v
<typename decltype(tryResult826)::ok_type>); if ((__builtin_expect
(!!(tryResult826.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(connection->ExecuteSimpleSQL(\"PRAGMA journal_mode = DELETE;\"_ns))"
, tryResult826.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1013, mozilla::dom::quota::Severity::Error); return tryResult826
.propagateErr(); }}
;
1014
1015 QM_TRY_INSPECT(const auto& stmt,auto tryResult827 = (CreateAndExecuteSingleStepStatement( *connection
, "PRAGMA journal_mode;"_ns)); if ((__builtin_expect(!!(tryResult827
.isErr()), 0))) { mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement( *connection, \"PRAGMA journal_mode;\"_ns)"
, tryResult827.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1017, mozilla::dom::quota::Severity::Error); return tryResult827
.propagateErr(); } const auto& stmt = tryResult827.inspect
();
1016 CreateAndExecuteSingleStepStatement(auto tryResult827 = (CreateAndExecuteSingleStepStatement( *connection
, "PRAGMA journal_mode;"_ns)); if ((__builtin_expect(!!(tryResult827
.isErr()), 0))) { mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement( *connection, \"PRAGMA journal_mode;\"_ns)"
, tryResult827.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1017, mozilla::dom::quota::Severity::Error); return tryResult827
.propagateErr(); } const auto& stmt = tryResult827.inspect
();
1017 *connection, "PRAGMA journal_mode;"_ns))auto tryResult827 = (CreateAndExecuteSingleStepStatement( *connection
, "PRAGMA journal_mode;"_ns)); if ((__builtin_expect(!!(tryResult827
.isErr()), 0))) { mozilla::dom::quota::HandleError("CreateAndExecuteSingleStepStatement( *connection, \"PRAGMA journal_mode;\"_ns)"
, tryResult827.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1017, mozilla::dom::quota::Severity::Error); return tryResult827
.propagateErr(); } const auto& stmt = tryResult827.inspect
();
;
1018
1019 QM_TRY_INSPECT(const auto& journalMode,auto tryResult828 = (::mozilla::ToResultInvoke< nsCString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(*stmt)>::GetUTF8String), (*stmt), 0)); if ((__builtin_expect
(!!(tryResult828.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*stmt)>::GetUTF8String), (*stmt), 0)"
, tryResult828.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1021, mozilla::dom::quota::Severity::Error); return tryResult828
.propagateErr(); } const auto& journalMode = tryResult828
.inspect();
1020 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(nsCString, *stmt,auto tryResult828 = (::mozilla::ToResultInvoke< nsCString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(*stmt)>::GetUTF8String), (*stmt), 0)); if ((__builtin_expect
(!!(tryResult828.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*stmt)>::GetUTF8String), (*stmt), 0)"
, tryResult828.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1021, mozilla::dom::quota::Severity::Error); return tryResult828
.propagateErr(); } const auto& journalMode = tryResult828
.inspect();
1021 GetUTF8String, 0))auto tryResult828 = (::mozilla::ToResultInvoke< nsCString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(*stmt)>::GetUTF8String), (*stmt), 0)); if ((__builtin_expect
(!!(tryResult828.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*stmt)>::GetUTF8String), (*stmt), 0)"
, tryResult828.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1021, mozilla::dom::quota::Severity::Error); return tryResult828
.propagateErr(); } const auto& journalMode = tryResult828
.inspect();
;
1022
1023 if (journalMode.EqualsLiteral("delete")) {
1024 // Successfully set to rollback journal mode so changing the page size
1025 // is possible with a VACUUM.
1026 QM_TRY(MOZ_TO_RESULT(connection->ExecuteSimpleSQL(nsPrintfCString({auto tryResult829 = (ToResult(connection->ExecuteSimpleSQL
(nsPrintfCString( "PRAGMA page_size = %" "u" ";", kSQLitePageSizeOverride
)))); static_assert(std::is_empty_v<typename decltype(tryResult829
)::ok_type>); if ((__builtin_expect(!!(tryResult829.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL(nsPrintfCString( \"PRAGMA page_size = %\" \"u\" \";\", kSQLitePageSizeOverride)))"
, tryResult829.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1027, mozilla::dom::quota::Severity::Error); return tryResult829
.propagateErr(); }}
1027 "PRAGMA page_size = %" PRIu32 ";", kSQLitePageSizeOverride)))){auto tryResult829 = (ToResult(connection->ExecuteSimpleSQL
(nsPrintfCString( "PRAGMA page_size = %" "u" ";", kSQLitePageSizeOverride
)))); static_assert(std::is_empty_v<typename decltype(tryResult829
)::ok_type>); if ((__builtin_expect(!!(tryResult829.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL(nsPrintfCString( \"PRAGMA page_size = %\" \"u\" \";\", kSQLitePageSizeOverride)))"
, tryResult829.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1027, mozilla::dom::quota::Severity::Error); return tryResult829
.propagateErr(); }}
;
1028
1029 // We will need to VACUUM in order to change the page size.
1030 vacuumNeeded = true;
1031 } else {
1032 NS_WARNING(NS_DebugBreak(NS_DEBUG_WARNING, "Failed to set journal_mode for database, unable to "
"change the page size!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1034)
1033 "Failed to set journal_mode for database, unable to "NS_DebugBreak(NS_DEBUG_WARNING, "Failed to set journal_mode for database, unable to "
"change the page size!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1034)
1034 "change the page size!")NS_DebugBreak(NS_DEBUG_WARNING, "Failed to set journal_mode for database, unable to "
"change the page size!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1034)
;
1035 }
1036 }
1037 }
1038
1039 if (vacuumNeeded) {
1040 QM_TRY(MOZ_TO_RESULT(connection->ExecuteSimpleSQL("VACUUM;"_ns))){auto tryResult830 = (ToResult(connection->ExecuteSimpleSQL
("VACUUM;"_ns))); static_assert(std::is_empty_v<typename decltype
(tryResult830)::ok_type>); if ((__builtin_expect(!!(tryResult830
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL(\"VACUUM;\"_ns))"
, tryResult830.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1040, mozilla::dom::quota::Severity::Error); return tryResult830
.propagateErr(); }}
;
1041 }
1042
1043 if (newDatabase || vacuumNeeded) {
1044 if (journalModeSet) {
1045 // Make sure we checkpoint to get an accurate file size.
1046 QM_TRY(MOZ_TO_RESULT({auto tryResult831 = (ToResult(connection->ExecuteSimpleSQL
("PRAGMA wal_checkpoint(FULL);"_ns))); static_assert(std::is_empty_v
<typename decltype(tryResult831)::ok_type>); if ((__builtin_expect
(!!(tryResult831.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(connection->ExecuteSimpleSQL(\"PRAGMA wal_checkpoint(FULL);\"_ns))"
, tryResult831.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1047, mozilla::dom::quota::Severity::Error); return tryResult831
.propagateErr(); }}
1047 connection->ExecuteSimpleSQL("PRAGMA wal_checkpoint(FULL);"_ns))){auto tryResult831 = (ToResult(connection->ExecuteSimpleSQL
("PRAGMA wal_checkpoint(FULL);"_ns))); static_assert(std::is_empty_v
<typename decltype(tryResult831)::ok_type>); if ((__builtin_expect
(!!(tryResult831.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(connection->ExecuteSimpleSQL(\"PRAGMA wal_checkpoint(FULL);\"_ns))"
, tryResult831.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1047, mozilla::dom::quota::Severity::Error); return tryResult831
.propagateErr(); }}
;
1048 }
1049
1050 QM_TRY_INSPECT(const int64_t& fileSize,auto tryResult832 = (::mozilla::ToResultInvokeMember( (aDBFile
), &::mozilla::detail::DerefedType<decltype(aDBFile)>
::GetFileSize)); if ((__builtin_expect(!!(tryResult832.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDBFile), &::mozilla::detail::DerefedType<decltype(aDBFile)>::GetFileSize)"
, tryResult832.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1051, mozilla::dom::quota::Severity::Error); return tryResult832
.propagateErr(); } const int64_t& fileSize = tryResult832
.inspect();
1051 MOZ_TO_RESULT_INVOKE_MEMBER(aDBFile, GetFileSize))auto tryResult832 = (::mozilla::ToResultInvokeMember( (aDBFile
), &::mozilla::detail::DerefedType<decltype(aDBFile)>
::GetFileSize)); if ((__builtin_expect(!!(tryResult832.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDBFile), &::mozilla::detail::DerefedType<decltype(aDBFile)>::GetFileSize)"
, tryResult832.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1051, mozilla::dom::quota::Severity::Error); return tryResult832
.propagateErr(); } const int64_t& fileSize = tryResult832
.inspect();
;
1052 MOZ_ASSERT(fileSize > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileSize > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileSize > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("fileSize > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1052); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileSize > 0"
")"); do { *((volatile int*)__null) = 1052; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1053
1054 PRTime vacuumTime = PR_Now();
1055 MOZ_ASSERT(vacuumTime)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(vacuumTime)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(vacuumTime))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("vacuumTime", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1055); AnnotateMozCrashReason("MOZ_ASSERT" "(" "vacuumTime"
")"); do { *((volatile int*)__null) = 1055; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1056
1057 // The parameter names are not used, parameters are bound by index only
1058 // locally in the same function.
1059 QM_TRY_INSPECT(auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
1060 const auto& vacuumTimeStmt,auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
1061 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(nsCOMPtr<mozIStorageStatement>,auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
1062 connection, CreateStatement,auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
1063 "UPDATE database "auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
1064 "SET last_vacuum_time = :time"auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
1065 ", last_vacuum_size = :size;"_ns))auto tryResult833 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(connection)>::CreateStatement
), (connection), "UPDATE database " "SET last_vacuum_time = :time"
", last_vacuum_size = :size;"_ns)); if ((__builtin_expect(!!
(tryResult833.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(connection)>::CreateStatement), (connection), \"UPDATE database \" \"SET last_vacuum_time = :time\" \", last_vacuum_size = :size;\"_ns)"
, tryResult833.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1065, mozilla::dom::quota::Severity::Error); return tryResult833
.propagateErr(); } const auto& vacuumTimeStmt = tryResult833
.inspect();
;
1066
1067 QM_TRY(MOZ_TO_RESULT(vacuumTimeStmt->BindInt64ByIndex(0, vacuumTime))){auto tryResult834 = (ToResult(vacuumTimeStmt->BindInt64ByIndex
(0, vacuumTime))); static_assert(std::is_empty_v<typename decltype
(tryResult834)::ok_type>); if ((__builtin_expect(!!(tryResult834
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(vacuumTimeStmt->BindInt64ByIndex(0, vacuumTime))"
, tryResult834.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1067, mozilla::dom::quota::Severity::Error); return tryResult834
.propagateErr(); }}
;
1068 QM_TRY(MOZ_TO_RESULT(vacuumTimeStmt->BindInt64ByIndex(1, fileSize))){auto tryResult835 = (ToResult(vacuumTimeStmt->BindInt64ByIndex
(1, fileSize))); static_assert(std::is_empty_v<typename decltype
(tryResult835)::ok_type>); if ((__builtin_expect(!!(tryResult835
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(vacuumTimeStmt->BindInt64ByIndex(1, fileSize))"
, tryResult835.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1068, mozilla::dom::quota::Severity::Error); return tryResult835
.propagateErr(); }}
;
1069 QM_TRY(MOZ_TO_RESULT(vacuumTimeStmt->Execute())){auto tryResult836 = (ToResult(vacuumTimeStmt->Execute()))
; static_assert(std::is_empty_v<typename decltype(tryResult836
)::ok_type>); if ((__builtin_expect(!!(tryResult836.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(vacuumTimeStmt->Execute())"
, tryResult836.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1069, mozilla::dom::quota::Severity::Error); return tryResult836
.propagateErr(); }}
;
1070 }
1071 }
1072
1073 if (!journalModeSet) {
1074 QM_TRY(MOZ_TO_RESULT(SetJournalMode(*connection))){auto tryResult837 = (ToResult(SetJournalMode(*connection)));
static_assert(std::is_empty_v<typename decltype(tryResult837
)::ok_type>); if ((__builtin_expect(!!(tryResult837.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(SetJournalMode(*connection))"
, tryResult837.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1074, mozilla::dom::quota::Severity::Error); return tryResult837
.propagateErr(); }}
;
1075 }
1076
1077 return WrapMovingNotNullUnchecked(std::move(connection));
1078}
1079
1080nsCOMPtr<nsIFile> GetFileForPath(const nsAString& aPath) {
1081 MOZ_ASSERT(!aPath.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aPath.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aPath.IsEmpty()))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!aPath.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1081); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aPath.IsEmpty()"
")"); do { *((volatile int*)__null) = 1081; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1082
1083 QM_TRY_RETURN(QM_NewLocalFile(aPath), nullptr){auto tryResult838 = (QM_NewLocalFile(aPath)); if ((__builtin_expect
(!!(tryResult838.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult838.unwrapErr(); mozilla::dom::quota
::HandleError("QM_NewLocalFile(aPath)", tryResult838.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1083, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "QM_NewLocalFile(aPath)"
, tryTempError, nullptr); } return tryResult838.unwrap();}
;
1084}
1085
1086Result<MovingNotNull<nsCOMPtr<mozIStorageConnection>>, nsresult>
1087GetStorageConnection(nsIFile& aDatabaseFile, const int64_t aDirectoryLockId,
1088 const uint32_t aTelemetryId,
1089 const Maybe<CipherKey>& aMaybeKey) {
1090 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1090); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 1090; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1091 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1091); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 1091; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1092 MOZ_ASSERT(aDirectoryLockId >= 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectoryLockId >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectoryLockId >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("aDirectoryLockId >= 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1092); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectoryLockId >= 0"
")"); do { *((volatile int*)__null) = 1092; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1093
1094 AUTO_PROFILER_LABEL("GetStorageConnection", DOM)mozilla::AutoProfilerLabel raiiObject1094( "GetStorageConnection"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
1095
1096 QM_TRY_INSPECT(const bool& exists,auto tryResult839 = (::mozilla::ToResultInvokeMember( (aDatabaseFile
), &::mozilla::detail::DerefedType<decltype(aDatabaseFile
)>::Exists)); if ((__builtin_expect(!!(tryResult839.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDatabaseFile), &::mozilla::detail::DerefedType<decltype(aDatabaseFile)>::Exists)"
, tryResult839.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1097, mozilla::dom::quota::Severity::Error); return tryResult839
.propagateErr(); } const bool& exists = tryResult839.inspect
();
1097 MOZ_TO_RESULT_INVOKE_MEMBER(aDatabaseFile, Exists))auto tryResult839 = (::mozilla::ToResultInvokeMember( (aDatabaseFile
), &::mozilla::detail::DerefedType<decltype(aDatabaseFile
)>::Exists)); if ((__builtin_expect(!!(tryResult839.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDatabaseFile), &::mozilla::detail::DerefedType<decltype(aDatabaseFile)>::Exists)"
, tryResult839.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1097, mozilla::dom::quota::Severity::Error); return tryResult839
.propagateErr(); } const bool& exists = tryResult839.inspect
();
;
1098
1099 QM_TRY(OkIf(exists), Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR),{auto tryResult840 = (OkIf(exists)); static_assert(std::is_empty_v
<typename decltype(tryResult840)::ok_type>); if ((__builtin_expect
(!!(tryResult840.isErr()), 0))) { auto tryTempError = tryResult840
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(exists)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1100, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1100, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(exists)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
1100 IDB_REPORT_INTERNAL_ERR_LAMBDA){auto tryResult840 = (OkIf(exists)); static_assert(std::is_empty_v
<typename decltype(tryResult840)::ok_type>); if ((__builtin_expect
(!!(tryResult840.isErr()), 0))) { auto tryTempError = tryResult840
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(exists)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1100, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1100, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(exists)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
;
1101
1102 QM_TRY_INSPECT(auto tryResult841 = (GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId
, aMaybeKey)); if ((__builtin_expect(!!(tryResult841.isErr())
, 0))) { mozilla::dom::quota::HandleError("GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId, aMaybeKey)"
, tryResult841.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1104, mozilla::dom::quota::Severity::Error); return tryResult841
.propagateErr(); } const auto& dbFileUrl = tryResult841.inspect
();
1103 const auto& dbFileUrl,auto tryResult841 = (GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId
, aMaybeKey)); if ((__builtin_expect(!!(tryResult841.isErr())
, 0))) { mozilla::dom::quota::HandleError("GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId, aMaybeKey)"
, tryResult841.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1104, mozilla::dom::quota::Severity::Error); return tryResult841
.propagateErr(); } const auto& dbFileUrl = tryResult841.inspect
();
1104 GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId, aMaybeKey))auto tryResult841 = (GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId
, aMaybeKey)); if ((__builtin_expect(!!(tryResult841.isErr())
, 0))) { mozilla::dom::quota::HandleError("GetDatabaseFileURL(aDatabaseFile, aDirectoryLockId, aMaybeKey)"
, tryResult841.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1104, mozilla::dom::quota::Severity::Error); return tryResult841
.propagateErr(); } const auto& dbFileUrl = tryResult841.inspect
();
;
1105
1106 QM_TRY_INSPECT(const auto& storageService,auto tryResult842 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult842.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult842.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1109, mozilla::dom::quota::Severity::Error); return tryResult842
.propagateErr(); } const auto& storageService = tryResult842
.inspect();
1107 MOZ_TO_RESULT_GET_TYPED(nsCOMPtr<mozIStorageService>,auto tryResult842 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult842.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult842.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1109, mozilla::dom::quota::Severity::Error); return tryResult842
.propagateErr(); } const auto& storageService = tryResult842
.inspect();
1108 MOZ_SELECT_OVERLOAD(do_GetService),auto tryResult842 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult842.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult842.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1109, mozilla::dom::quota::Severity::Error); return tryResult842
.propagateErr(); } const auto& storageService = tryResult842
.inspect();
1109 MOZ_STORAGE_SERVICE_CONTRACTID))auto tryResult842 = (::mozilla::ToResultGet< nsCOMPtr<mozIStorageService
> >([](auto&&... aArgs) -> decltype(auto) { return
do_GetService(std::forward<decltype(aArgs)>(aArgs)...)
; }, "@mozilla.org/storage" "/service;1")); if ((__builtin_expect
(!!(tryResult842.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultGet< nsCOMPtr<mozIStorageService>>([](auto&&... aArgs) -> decltype(auto) { return do_GetService(std::forward<decltype(aArgs)>(aArgs)...); }, \"@mozilla.org/storage\" \"/service;1\")"
, tryResult842.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1109, mozilla::dom::quota::Severity::Error); return tryResult842
.propagateErr(); } const auto& storageService = tryResult842
.inspect();
;
1110
1111 QM_TRY_UNWRAP(auto tryResult843 = (OpenDatabaseAndHandleBusy(*storageService
, *dbFileUrl, aTelemetryId)); if ((__builtin_expect(!!(tryResult843
.isErr()), 0))) { mozilla::dom::quota::HandleError("OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId)"
, tryResult843.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1113, mozilla::dom::quota::Severity::Error); return tryResult843
.propagateErr(); } nsCOMPtr<mozIStorageConnection> connection
= tryResult843.unwrap();
1112 nsCOMPtr<mozIStorageConnection> connection,auto tryResult843 = (OpenDatabaseAndHandleBusy(*storageService
, *dbFileUrl, aTelemetryId)); if ((__builtin_expect(!!(tryResult843
.isErr()), 0))) { mozilla::dom::quota::HandleError("OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId)"
, tryResult843.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1113, mozilla::dom::quota::Severity::Error); return tryResult843
.propagateErr(); } nsCOMPtr<mozIStorageConnection> connection
= tryResult843.unwrap();
1113 OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId))auto tryResult843 = (OpenDatabaseAndHandleBusy(*storageService
, *dbFileUrl, aTelemetryId)); if ((__builtin_expect(!!(tryResult843
.isErr()), 0))) { mozilla::dom::quota::HandleError("OpenDatabaseAndHandleBusy(*storageService, *dbFileUrl, aTelemetryId)"
, tryResult843.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1113, mozilla::dom::quota::Severity::Error); return tryResult843
.propagateErr(); } nsCOMPtr<mozIStorageConnection> connection
= tryResult843.unwrap();
;
1114
1115 QM_TRY(MOZ_TO_RESULT(SetDefaultPragmas(*connection))){auto tryResult844 = (ToResult(SetDefaultPragmas(*connection)
)); static_assert(std::is_empty_v<typename decltype(tryResult844
)::ok_type>); if ((__builtin_expect(!!(tryResult844.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(SetDefaultPragmas(*connection))"
, tryResult844.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1115, mozilla::dom::quota::Severity::Error); return tryResult844
.propagateErr(); }}
;
1116
1117 QM_TRY(MOZ_TO_RESULT(SetJournalMode(*connection))){auto tryResult845 = (ToResult(SetJournalMode(*connection)));
static_assert(std::is_empty_v<typename decltype(tryResult845
)::ok_type>); if ((__builtin_expect(!!(tryResult845.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(SetJournalMode(*connection))"
, tryResult845.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1117, mozilla::dom::quota::Severity::Error); return tryResult845
.propagateErr(); }}
;
1118
1119 return WrapMovingNotNullUnchecked(std::move(connection));
1120}
1121
1122Result<MovingNotNull<nsCOMPtr<mozIStorageConnection>>, nsresult>
1123GetStorageConnection(const nsAString& aDatabaseFilePath,
1124 const int64_t aDirectoryLockId,
1125 const uint32_t aTelemetryId,
1126 const Maybe<CipherKey>& aMaybeKey) {
1127 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1127); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 1127; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1128 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1128); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 1128; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1129 MOZ_ASSERT(!aDatabaseFilePath.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseFilePath.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseFilePath.IsEmpty()
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"!aDatabaseFilePath.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1129); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseFilePath.IsEmpty()"
")"); do { *((volatile int*)__null) = 1129; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1130 MOZ_ASSERT(StringEndsWith(aDatabaseFilePath, kSQLiteSuffix))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(StringEndsWith(aDatabaseFilePath, kSQLiteSuffix))>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(StringEndsWith(aDatabaseFilePath, kSQLiteSuffix)))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("StringEndsWith(aDatabaseFilePath, kSQLiteSuffix)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1130); AnnotateMozCrashReason("MOZ_ASSERT" "(" "StringEndsWith(aDatabaseFilePath, kSQLiteSuffix)"
")"); do { *((volatile int*)__null) = 1130; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1131 MOZ_ASSERT(aDirectoryLockId >= 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectoryLockId >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectoryLockId >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("aDirectoryLockId >= 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1131); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectoryLockId >= 0"
")"); do { *((volatile int*)__null) = 1131; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1132
1133 nsCOMPtr<nsIFile> dbFile = GetFileForPath(aDatabaseFilePath);
1134
1135 QM_TRY(OkIf(dbFile), Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR),{auto tryResult846 = (OkIf(dbFile)); static_assert(std::is_empty_v
<typename decltype(tryResult846)::ok_type>); if ((__builtin_expect
(!!(tryResult846.isErr()), 0))) { auto tryTempError = tryResult846
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(dbFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1136, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1136, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(dbFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
1136 IDB_REPORT_INTERNAL_ERR_LAMBDA){auto tryResult846 = (OkIf(dbFile)); static_assert(std::is_empty_v
<typename decltype(tryResult846)::ok_type>); if ((__builtin_expect
(!!(tryResult846.isErr()), 0))) { auto tryTempError = tryResult846
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(dbFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1136, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1136, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(dbFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
;
1137
1138 return GetStorageConnection(*dbFile, aDirectoryLockId, aTelemetryId,
1139 aMaybeKey);
1140}
1141
1142/*******************************************************************************
1143 * ConnectionPool declarations
1144 ******************************************************************************/
1145
1146class DatabaseConnection final : public CachingDatabaseConnection {
1147 friend class ConnectionPool;
1148
1149 enum class CheckpointMode { Full, Restart, Truncate };
1150
1151 public:
1152 class AutoSavepoint;
1153 class UpdateRefcountFunction;
1154
1155 private:
1156 InitializedOnce<const NotNull<SafeRefPtr<DatabaseFileManager>>> mFileManager;
1157 RefPtr<UpdateRefcountFunction> mUpdateRefcountFunction;
1158 RefPtr<QuotaObject> mQuotaObject;
1159 RefPtr<QuotaObject> mJournalQuotaObject;
1160 IDBTransaction::Durability mLastDurability;
1161 bool mInReadTransaction;
1162 bool mInWriteTransaction;
1163
1164#ifdef DEBUG1
1165 uint32_t mDEBUGSavepointCount;
1166#endif
1167
1168 public:
1169 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(DatabaseConnection)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<DatabaseConnection>, "Reference-counted class "
"DatabaseConnection" " should not have a public destructor. "
"Make this class's destructor non-public"); do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1169); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
1169; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("DatabaseConnection"), (uint32_t)(sizeof(*this))
); return (nsrefcnt)count; } MozExternalRefCountType Release(
void) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1169); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 1169
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("DatabaseConnection")); if (count == 0) { delete (this
); return 0; } return count; } using HasThreadSafeRefCnt = std
::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt mRefCnt
; public:
1170
1171 UpdateRefcountFunction* GetUpdateRefcountFunction() const {
1172 AssertIsOnConnectionThread();
1173
1174 return mUpdateRefcountFunction;
1175 }
1176
1177 nsresult BeginWriteTransaction(const IDBTransaction::Durability aDurability);
1178
1179 nsresult CommitWriteTransaction();
1180
1181 void RollbackWriteTransaction();
1182
1183 void FinishWriteTransaction();
1184
1185 nsresult StartSavepoint();
1186
1187 nsresult ReleaseSavepoint();
1188
1189 nsresult RollbackSavepoint();
1190
1191 nsresult Checkpoint() {
1192 AssertIsOnConnectionThread();
1193
1194 return CheckpointInternal(CheckpointMode::Full);
1195 }
1196
1197 void DoIdleProcessing(bool aNeedsCheckpoint,
1198 const Atomic<bool>& aInterrupted);
1199
1200 void Close();
1201
1202 nsresult DisableQuotaChecks();
1203
1204 void EnableQuotaChecks();
1205
1206 private:
1207 DatabaseConnection(
1208 MovingNotNull<nsCOMPtr<mozIStorageConnection>> aStorageConnection,
1209 MovingNotNull<SafeRefPtr<DatabaseFileManager>> aFileManager);
1210
1211 ~DatabaseConnection();
1212
1213 nsresult Init();
1214
1215 nsresult CheckpointInternal(CheckpointMode aMode);
1216
1217 Result<uint32_t, nsresult> GetFreelistCount(
1218 CachedStatement& aCachedStatement);
1219
1220 /**
1221 * On success, returns whether some pages were freed.
1222 */
1223 Result<bool, nsresult> ReclaimFreePagesWhileIdle(
1224 CachedStatement& aFreelistStatement, CachedStatement& aRollbackStatement,
1225 uint32_t aFreelistCount, bool aNeedsCheckpoint,
1226 const Atomic<bool>& aInterrupted);
1227
1228 Result<int64_t, nsresult> GetFileSize(const nsAString& aPath);
1229};
1230
1231class MOZ_STACK_CLASS DatabaseConnection::AutoSavepoint final {
1232 DatabaseConnection* mConnection;
1233#ifdef DEBUG1
1234 const TransactionBase* mDEBUGTransaction;
1235#endif
1236
1237 public:
1238 AutoSavepoint();
1239 ~AutoSavepoint();
1240
1241 nsresult Start(const TransactionBase& aTransaction);
1242
1243 nsresult Commit();
1244};
1245
1246class DatabaseConnection::UpdateRefcountFunction final
1247 : public mozIStorageFunction {
1248 class FileInfoEntry;
1249
1250 enum class UpdateType { Increment, Decrement };
1251
1252 DatabaseConnection* const mConnection;
1253 DatabaseFileManager& mFileManager;
1254 nsClassHashtable<nsUint64HashKey, FileInfoEntry> mFileInfoEntries;
1255 nsTHashMap<nsUint64HashKey, NotNull<FileInfoEntry*>> mSavepointEntriesIndex;
1256
1257 nsTArray<int64_t> mJournalsToCreateBeforeCommit;
1258 nsTArray<int64_t> mJournalsToRemoveAfterCommit;
1259 nsTArray<int64_t> mJournalsToRemoveAfterAbort;
1260
1261 bool mInSavepoint;
1262
1263 public:
1264 NS_DECL_ISUPPORTS_ONEVENTTARGETpublic: virtual nsresult QueryInterface(const nsIID& aIID
, void** aInstancePtr) override; virtual MozExternalRefCountType
AddRef(void) override; virtual MozExternalRefCountType Release
(void) override; using HasThreadSafeRefCnt = std::false_type;
protected: nsAutoRefCnt mRefCnt; nsAutoOwningEventTarget _mOwningThread
; public:
1265 NS_DECL_MOZISTORAGEFUNCTIONvirtual nsresult OnFunctionCall(mozIStorageValueArray *aFunctionArguments
, nsIVariant **_retval) override;
1266
1267 UpdateRefcountFunction(DatabaseConnection* aConnection,
1268 DatabaseFileManager& aFileManager);
1269
1270 nsresult WillCommit();
1271
1272 void DidCommit();
1273
1274 void DidAbort();
1275
1276 void StartSavepoint();
1277
1278 void ReleaseSavepoint();
1279
1280 void RollbackSavepoint();
1281
1282 void Reset();
1283
1284 private:
1285 ~UpdateRefcountFunction() = default;
1286
1287 nsresult ProcessValue(mozIStorageValueArray* aValues, int32_t aIndex,
1288 UpdateType aUpdateType);
1289
1290 nsresult CreateJournals();
1291
1292 nsresult RemoveJournals(const nsTArray<int64_t>& aJournals);
1293};
1294
1295class DatabaseConnection::UpdateRefcountFunction::FileInfoEntry final {
1296 SafeRefPtr<DatabaseFileInfo> mFileInfo;
1297 int32_t mDelta;
1298 int32_t mSavepointDelta;
1299
1300 public:
1301 explicit FileInfoEntry(SafeRefPtr<DatabaseFileInfo> aFileInfo)
1302 : mFileInfo(std::move(aFileInfo)), mDelta(0), mSavepointDelta(0) {
1303 MOZ_COUNT_CTOR(DatabaseConnection::UpdateRefcountFunction::FileInfoEntry)do { static_assert(std::is_class_v<DatabaseConnection::UpdateRefcountFunction
::FileInfoEntry>, "Token '" "DatabaseConnection::UpdateRefcountFunction::FileInfoEntry"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, DatabaseConnection::UpdateRefcountFunction::FileInfoEntry
>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "DatabaseConnection::UpdateRefcountFunction::FileInfoEntry"
, sizeof(*this)); } while (0)
;
1304 }
1305
1306 void IncDeltas(bool aUpdateSavepointDelta) {
1307 ++mDelta;
1308 if (aUpdateSavepointDelta) {
1309 ++mSavepointDelta;
1310 }
1311 }
1312 void DecDeltas(bool aUpdateSavepointDelta) {
1313 --mDelta;
1314 if (aUpdateSavepointDelta) {
1315 --mSavepointDelta;
1316 }
1317 }
1318 void DecBySavepointDelta() { mDelta -= mSavepointDelta; }
1319 SafeRefPtr<DatabaseFileInfo> ReleaseFileInfo() {
1320 return std::move(mFileInfo);
1321 }
1322 void MaybeUpdateDBRefs() {
1323 if (mDelta) {
1324 mFileInfo->UpdateDBRefs(mDelta);
1325 }
1326 }
1327
1328 int32_t Delta() const { return mDelta; }
1329 int32_t SavepointDelta() const { return mSavepointDelta; }
1330
1331 ~FileInfoEntry() {
1332 MOZ_COUNT_DTOR(DatabaseConnection::UpdateRefcountFunction::FileInfoEntry)do { static_assert(std::is_class_v<DatabaseConnection::UpdateRefcountFunction
::FileInfoEntry>, "Token '" "DatabaseConnection::UpdateRefcountFunction::FileInfoEntry"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, DatabaseConnection::UpdateRefcountFunction::FileInfoEntry
>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "DatabaseConnection::UpdateRefcountFunction::FileInfoEntry"
, sizeof(*this)); } while (0)
;
1333 }
1334};
1335
1336class ConnectionPool final {
1337 public:
1338 class FinishCallback;
1339
1340 private:
1341 class ConnectionRunnable;
1342 class CloseConnectionRunnable;
1343 struct DatabaseInfo;
1344 struct DatabaseCompleteCallback;
1345 class FinishCallbackWrapper;
1346 class IdleConnectionRunnable;
1347
1348#ifdef DEBUG1
1349 class TransactionRunnable;
1350#endif
1351 class TransactionInfo;
1352 struct TransactionInfoPair;
1353
1354 struct IdleResource {
1355 TimeStamp mIdleTime;
1356
1357 IdleResource(const IdleResource& aOther) = delete;
1358 IdleResource(IdleResource&& aOther) noexcept
1359 : IdleResource(aOther.mIdleTime) {}
1360 IdleResource& operator=(const IdleResource& aOther) = delete;
1361 IdleResource& operator=(IdleResource&& aOther) = delete;
1362
1363 protected:
1364 explicit IdleResource(const TimeStamp& aIdleTime);
1365
1366 ~IdleResource();
1367 };
1368
1369 struct IdleDatabaseInfo final : public IdleResource {
1370 InitializedOnce<const NotNull<DatabaseInfo*>> mDatabaseInfo;
1371
1372 public:
1373 explicit IdleDatabaseInfo(DatabaseInfo& aDatabaseInfo);
1374
1375 IdleDatabaseInfo(const IdleDatabaseInfo& aOther) = delete;
1376 IdleDatabaseInfo(IdleDatabaseInfo&& aOther) noexcept
1377 : IdleResource(std::move(aOther)),
1378 mDatabaseInfo{std::move(aOther.mDatabaseInfo)} {
1379 MOZ_ASSERT(mDatabaseInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabaseInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabaseInfo))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mDatabaseInfo",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1379); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabaseInfo"
")"); do { *((volatile int*)__null) = 1379; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1380
1381 MOZ_COUNT_CTOR(ConnectionPool::IdleDatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::IdleDatabaseInfo
>, "Token '" "ConnectionPool::IdleDatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::IdleDatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::IdleDatabaseInfo"
, sizeof(*this)); } while (0)
;
1382 }
1383 IdleDatabaseInfo& operator=(const IdleDatabaseInfo& aOther) = delete;
1384 IdleDatabaseInfo& operator=(IdleDatabaseInfo&& aOther) = delete;
1385
1386 ~IdleDatabaseInfo();
1387
1388 bool operator==(const IdleDatabaseInfo& aOther) const {
1389 return *mDatabaseInfo == *aOther.mDatabaseInfo;
1390 }
1391
1392 bool operator==(const DatabaseInfo* aDatabaseInfo) const {
1393 return *mDatabaseInfo == aDatabaseInfo;
1394 }
1395
1396 bool operator<(const IdleDatabaseInfo& aOther) const {
1397 return mIdleTime < aOther.mIdleTime;
1398 }
1399 };
1400
1401 struct PerformingIdleMaintenanceDatabaseInfo {
1402 const NotNull<DatabaseInfo*> mDatabaseInfo;
1403 RefPtr<IdleConnectionRunnable> mIdleConnectionRunnable;
1404
1405 PerformingIdleMaintenanceDatabaseInfo(
1406 DatabaseInfo& aDatabaseInfo,
1407 RefPtr<IdleConnectionRunnable> aIdleConnectionRunnable);
1408
1409 PerformingIdleMaintenanceDatabaseInfo(
1410 const PerformingIdleMaintenanceDatabaseInfo& aOther) = delete;
1411 PerformingIdleMaintenanceDatabaseInfo(
1412 PerformingIdleMaintenanceDatabaseInfo&& aOther) noexcept
1413 : mDatabaseInfo{aOther.mDatabaseInfo},
1414 mIdleConnectionRunnable{std::move(aOther.mIdleConnectionRunnable)} {
1415 MOZ_COUNT_CTOR(ConnectionPool::PerformingIdleMaintenanceDatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::PerformingIdleMaintenanceDatabaseInfo
>, "Token '" "ConnectionPool::PerformingIdleMaintenanceDatabaseInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ConnectionPool::PerformingIdleMaintenanceDatabaseInfo
>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::PerformingIdleMaintenanceDatabaseInfo"
, sizeof(*this)); } while (0)
;
1416 }
1417 PerformingIdleMaintenanceDatabaseInfo& operator=(
1418 const PerformingIdleMaintenanceDatabaseInfo& aOther) = delete;
1419 PerformingIdleMaintenanceDatabaseInfo& operator=(
1420 PerformingIdleMaintenanceDatabaseInfo&& aOther) = delete;
1421
1422 ~PerformingIdleMaintenanceDatabaseInfo();
1423
1424 bool operator==(const DatabaseInfo* aDatabaseInfo) const {
1425 return mDatabaseInfo == aDatabaseInfo;
1426 }
1427 };
1428
1429 // This mutex guards mDatabases, see below.
1430 Mutex mDatabasesMutex MOZ_UNANNOTATED;
1431
1432 nsCOMPtr<nsIThreadPool> mIOTarget;
1433 nsTArray<IdleDatabaseInfo> mIdleDatabases;
1434 nsTArray<PerformingIdleMaintenanceDatabaseInfo>
1435 mDatabasesPerformingIdleMaintenance;
1436 nsCOMPtr<nsITimer> mIdleTimer;
1437 TimeStamp mTargetIdleTime;
1438
1439 // Only modifed on the owning thread, but read on multiple threads. Therefore
1440 // all modifications and all reads off the owning thread must be protected by
1441 // mDatabasesMutex.
1442 nsClassHashtable<nsCStringHashKey, DatabaseInfo> mDatabases;
1443
1444 nsClassHashtable<nsUint64HashKey, TransactionInfo> mTransactions;
1445 nsTArray<NotNull<TransactionInfo*>> mQueuedTransactions;
1446
1447 nsTArray<UniquePtr<DatabaseCompleteCallback>> mCompleteCallbacks;
1448
1449 uint64_t mNextTransactionId;
1450 FlippedOnce<false> mShutdownRequested;
1451 FlippedOnce<false> mShutdownComplete;
1452
1453 public:
1454 ConnectionPool();
1455
1456 void AssertIsOnOwningThread() const {
1457 NS_ASSERT_OWNINGTHREAD(ConnectionPool)_mOwningThread.AssertOwnership("ConnectionPool" " not thread-safe"
)
;
1458 }
1459
1460 Result<RefPtr<DatabaseConnection>, nsresult> GetOrCreateConnection(
1461 const Database& aDatabase);
1462
1463 uint64_t Start(const nsID& aBackgroundChildLoggingId,
1464 const nsACString& aDatabaseId, int64_t aLoggingSerialNumber,
1465 const nsTArray<nsString>& aObjectStoreNames,
1466 bool aIsWriteTransaction,
1467 TransactionDatabaseOperationBase* aTransactionOp);
1468
1469 void Dispatch(uint64_t aTransactionId, nsIRunnable* aRunnable);
1470
1471 void Finish(uint64_t aTransactionId, FinishCallback* aCallback);
1472
1473 void CloseDatabaseWhenIdle(const nsACString& aDatabaseId) {
1474 Unused << CloseDatabaseWhenIdleInternal(aDatabaseId);
1475 }
1476
1477 void WaitForDatabaseToComplete(const nsCString& aDatabaseId,
1478 nsIRunnable* aCallback);
1479
1480 void Shutdown();
1481
1482 NS_INLINE_DECL_REFCOUNTING(ConnectionPool)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<ConnectionPool>, "Reference-counted class "
"ConnectionPool" " should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1482); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
1482; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); _mOwningThread.AssertOwnership("ConnectionPool"
" not thread-safe"); ++mRefCnt; NS_LogAddRef((this), (mRefCnt
), ("ConnectionPool"), (uint32_t)(sizeof(*this))); return mRefCnt
; } MozExternalRefCountType Release(void) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1482); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 1482
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); _mOwningThread.AssertOwnership("ConnectionPool" " not thread-safe"
); --mRefCnt; NS_LogRelease((this), (mRefCnt), ("ConnectionPool"
)); if (mRefCnt == 0) { mRefCnt = 1; delete (this); return 0;
} return mRefCnt; } using HasThreadSafeRefCnt = std::false_type
; protected: nsAutoRefCnt mRefCnt; nsAutoOwningThread _mOwningThread
; public:
1483
1484 private:
1485 ~ConnectionPool();
1486
1487 static void IdleTimerCallback(nsITimer* aTimer, void* aClosure);
1488
1489 static uint32_t SerialNumber() { return ++sSerialNumber; }
1490
1491 static uint32_t sSerialNumber;
1492
1493 void Cleanup();
1494
1495 void AdjustIdleTimer();
1496
1497 void CancelIdleTimer();
1498
1499 void CloseIdleDatabases();
1500
1501 bool ScheduleTransaction(TransactionInfo& aTransactionInfo,
1502 bool aFromQueuedTransactions);
1503
1504 void NoteFinishedTransaction(uint64_t aTransactionId);
1505
1506 void ScheduleQueuedTransactions();
1507
1508 void NoteIdleDatabase(DatabaseInfo& aDatabaseInfo);
1509
1510 void NoteClosedDatabase(DatabaseInfo& aDatabaseInfo);
1511
1512 bool MaybeFireCallback(DatabaseCompleteCallback* aCallback);
1513
1514 void PerformIdleDatabaseMaintenance(DatabaseInfo& aDatabaseInfo);
1515
1516 void CloseDatabase(DatabaseInfo& aDatabaseInfo) const;
1517
1518 bool CloseDatabaseWhenIdleInternal(const nsACString& aDatabaseId);
1519};
1520
1521class ConnectionPool::ConnectionRunnable : public Runnable {
1522 protected:
1523 DatabaseInfo& mDatabaseInfo;
1524 nsCOMPtr<nsIEventTarget> mOwningEventTarget;
1525
1526 explicit ConnectionRunnable(DatabaseInfo& aDatabaseInfo);
1527
1528 ~ConnectionRunnable() override = default;
1529};
1530
1531class ConnectionPool::IdleConnectionRunnable final : public ConnectionRunnable {
1532 const bool mNeedsCheckpoint;
1533 Atomic<bool> mInterrupted;
1534
1535 public:
1536 IdleConnectionRunnable(DatabaseInfo& aDatabaseInfo, bool aNeedsCheckpoint)
1537 : ConnectionRunnable(aDatabaseInfo), mNeedsCheckpoint(aNeedsCheckpoint) {}
1538
1539 NS_INLINE_DECL_REFCOUNTING_INHERITED(IdleConnectionRunnable,virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<IdleConnectionRunnable>, "Reference-counted class "
"IdleConnectionRunnable" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = ConnectionRunnable
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<IdleConnectionRunnable>) { NS_LogAddRef((this), (r), (
"IdleConnectionRunnable"), (uint32_t)(sizeof(*this))); } return
r; } virtual MozExternalRefCountType Release() override { nsrefcnt
r = ConnectionRunnable::Release(); if constexpr (::mozilla::
detail::ShouldLogInheritedRefcnt<IdleConnectionRunnable>
) { NS_LogRelease((this), (r), ("IdleConnectionRunnable")); }
return r; }
1540 ConnectionRunnable)virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<IdleConnectionRunnable>, "Reference-counted class "
"IdleConnectionRunnable" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = ConnectionRunnable
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<IdleConnectionRunnable>) { NS_LogAddRef((this), (r), (
"IdleConnectionRunnable"), (uint32_t)(sizeof(*this))); } return
r; } virtual MozExternalRefCountType Release() override { nsrefcnt
r = ConnectionRunnable::Release(); if constexpr (::mozilla::
detail::ShouldLogInheritedRefcnt<IdleConnectionRunnable>
) { NS_LogRelease((this), (r), ("IdleConnectionRunnable")); }
return r; }
1541
1542 void Interrupt() { mInterrupted = true; }
1543
1544 private:
1545 ~IdleConnectionRunnable() override = default;
1546
1547 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
1548};
1549
1550class ConnectionPool::CloseConnectionRunnable final
1551 : public ConnectionRunnable {
1552 public:
1553 explicit CloseConnectionRunnable(DatabaseInfo& aDatabaseInfo)
1554 : ConnectionRunnable(aDatabaseInfo) {}
1555
1556 NS_INLINE_DECL_REFCOUNTING_INHERITED(CloseConnectionRunnable,virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<CloseConnectionRunnable>, "Reference-counted class "
"CloseConnectionRunnable" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = ConnectionRunnable
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<CloseConnectionRunnable>) { NS_LogAddRef((this), (r), (
"CloseConnectionRunnable"), (uint32_t)(sizeof(*this))); } return
r; } virtual MozExternalRefCountType Release() override { nsrefcnt
r = ConnectionRunnable::Release(); if constexpr (::mozilla::
detail::ShouldLogInheritedRefcnt<CloseConnectionRunnable>
) { NS_LogRelease((this), (r), ("CloseConnectionRunnable")); }
return r; }
1557 ConnectionRunnable)virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<CloseConnectionRunnable>, "Reference-counted class "
"CloseConnectionRunnable" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = ConnectionRunnable
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<CloseConnectionRunnable>) { NS_LogAddRef((this), (r), (
"CloseConnectionRunnable"), (uint32_t)(sizeof(*this))); } return
r; } virtual MozExternalRefCountType Release() override { nsrefcnt
r = ConnectionRunnable::Release(); if constexpr (::mozilla::
detail::ShouldLogInheritedRefcnt<CloseConnectionRunnable>
) { NS_LogRelease((this), (r), ("CloseConnectionRunnable")); }
return r; }
1558
1559 private:
1560 ~CloseConnectionRunnable() override = default;
1561
1562 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
1563};
1564
1565struct ConnectionPool::DatabaseInfo final {
1566 friend class mozilla::DefaultDelete<DatabaseInfo>;
1567
1568 RefPtr<ConnectionPool> mConnectionPool;
1569 const nsCString mDatabaseId;
1570 RefPtr<DatabaseConnection> mConnection;
1571 nsClassHashtable<nsStringHashKey, TransactionInfoPair> mBlockingTransactions;
1572 nsTArray<NotNull<TransactionInfo*>> mTransactionsScheduledDuringClose;
1573 nsTArray<NotNull<TransactionInfo*>> mScheduledWriteTransactions;
1574 Maybe<TransactionInfo&> mRunningWriteTransaction;
1575 RefPtr<TaskQueue> mEventTarget;
1576 uint32_t mReadTransactionCount;
1577 uint32_t mWriteTransactionCount;
1578 bool mNeedsCheckpoint;
1579 bool mIdle;
1580 FlippedOnce<false> mCloseOnIdle;
1581 bool mClosing;
1582
1583#ifdef DEBUG1
1584 nsISerialEventTarget* mDEBUGConnectionEventTarget;
1585#endif
1586
1587 DatabaseInfo(ConnectionPool* aConnectionPool, const nsACString& aDatabaseId);
1588
1589 void AssertIsOnConnectionThread() const {
1590 MOZ_ASSERT(mDEBUGConnectionEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGConnectionEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGConnectionEventTarget)
)), 0))) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGConnectionEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1590); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGConnectionEventTarget"
")"); do { *((volatile int*)__null) = 1590; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1591 MOZ_ASSERT(GetCurrentSerialEventTarget() == mDEBUGConnectionEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(GetCurrentSerialEventTarget() == mDEBUGConnectionEventTarget
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(GetCurrentSerialEventTarget() == mDEBUGConnectionEventTarget
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"GetCurrentSerialEventTarget() == mDEBUGConnectionEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1591); AnnotateMozCrashReason("MOZ_ASSERT" "(" "GetCurrentSerialEventTarget() == mDEBUGConnectionEventTarget"
")"); do { *((volatile int*)__null) = 1591; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1592 }
1593
1594 uint64_t TotalTransactionCount() const {
1595 return mReadTransactionCount + mWriteTransactionCount;
1596 }
1597
1598 nsresult Dispatch(already_AddRefed<nsIRunnable> aRunnable);
1599
1600 private:
1601 ~DatabaseInfo();
1602
1603 DatabaseInfo(const DatabaseInfo&) = delete;
1604 DatabaseInfo& operator=(const DatabaseInfo&) = delete;
1605};
1606
1607struct ConnectionPool::DatabaseCompleteCallback final {
1608 friend class DefaultDelete<DatabaseCompleteCallback>;
1609
1610 nsCString mDatabaseId;
1611 nsCOMPtr<nsIRunnable> mCallback;
1612
1613 DatabaseCompleteCallback(const nsCString& aDatabaseIds,
1614 nsIRunnable* aCallback);
1615
1616 private:
1617 ~DatabaseCompleteCallback();
1618};
1619
1620class NS_NO_VTABLE ConnectionPool::FinishCallback : public nsIRunnable {
1621 public:
1622 // Called on the owning thread before any additional transactions are
1623 // unblocked.
1624 virtual void TransactionFinishedBeforeUnblock() = 0;
1625
1626 // Called on the owning thread after additional transactions may have been
1627 // unblocked.
1628 virtual void TransactionFinishedAfterUnblock() = 0;
1629
1630 protected:
1631 FinishCallback() = default;
1632
1633 virtual ~FinishCallback() = default;
1634};
1635
1636class ConnectionPool::FinishCallbackWrapper final : public Runnable {
1637 RefPtr<ConnectionPool> mConnectionPool;
1638 RefPtr<FinishCallback> mCallback;
1639 nsCOMPtr<nsIEventTarget> mOwningEventTarget;
1640 uint64_t mTransactionId;
1641 bool mHasRunOnce;
1642
1643 public:
1644 FinishCallbackWrapper(ConnectionPool* aConnectionPool,
1645 uint64_t aTransactionId, FinishCallback* aCallback);
1646
1647 NS_INLINE_DECL_REFCOUNTING_INHERITED(FinishCallbackWrapper, Runnable)virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<FinishCallbackWrapper>, "Reference-counted class "
"FinishCallbackWrapper" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = Runnable
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<FinishCallbackWrapper>) { NS_LogAddRef((this), (r), ("FinishCallbackWrapper"
), (uint32_t)(sizeof(*this))); } return r; } virtual MozExternalRefCountType
Release() override { nsrefcnt r = Runnable::Release(); if constexpr
(::mozilla::detail::ShouldLogInheritedRefcnt<FinishCallbackWrapper
>) { NS_LogRelease((this), (r), ("FinishCallbackWrapper"))
; } return r; }
1648
1649 private:
1650 ~FinishCallbackWrapper() override;
1651
1652 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
1653};
1654
1655#ifdef DEBUG1
1656
1657class ConnectionPool::TransactionRunnable final : public Runnable {
1658 public:
1659 explicit TransactionRunnable(nsCOMPtr<nsIRunnable> aRunnable);
1660
1661 private:
1662 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
1663
1664 nsCOMPtr<nsIRunnable> mRunnable;
1665};
1666
1667#endif
1668
1669class ConnectionPool::TransactionInfo final {
1670 friend class mozilla::DefaultDelete<TransactionInfo>;
1671
1672 nsTHashSet<TransactionInfo*> mBlocking;
1673 nsTArray<NotNull<TransactionInfo*>> mBlockingOrdered;
1674
1675 public:
1676 DatabaseInfo& mDatabaseInfo;
1677 const nsID mBackgroundChildLoggingId;
1678 const nsCString mDatabaseId;
1679 const uint64_t mTransactionId;
1680 const int64_t mLoggingSerialNumber;
1681 const nsTArray<nsString> mObjectStoreNames;
1682 nsTHashSet<TransactionInfo*> mBlockedOn;
1683 nsTArray<nsCOMPtr<nsIRunnable>> mQueuedRunnables;
1684 const bool mIsWriteTransaction;
1685 bool mRunning;
1686
1687#ifdef DEBUG1
1688 FlippedOnce<false> mFinished;
1689#endif
1690
1691 TransactionInfo(DatabaseInfo& aDatabaseInfo,
1692 const nsID& aBackgroundChildLoggingId,
1693 const nsACString& aDatabaseId, uint64_t aTransactionId,
1694 int64_t aLoggingSerialNumber,
1695 const nsTArray<nsString>& aObjectStoreNames,
1696 bool aIsWriteTransaction,
1697 TransactionDatabaseOperationBase* aTransactionOp);
1698
1699 void AddBlockingTransaction(TransactionInfo& aTransactionInfo);
1700
1701 void RemoveBlockingTransactions();
1702
1703 private:
1704 ~TransactionInfo();
1705
1706 void MaybeUnblock(TransactionInfo& aTransactionInfo);
1707};
1708
1709struct ConnectionPool::TransactionInfoPair final {
1710 // Multiple reading transactions can block future writes.
1711 nsTArray<NotNull<TransactionInfo*>> mLastBlockingWrites;
1712 // But only a single writing transaction can block future reads.
1713 Maybe<TransactionInfo&> mLastBlockingReads;
1714
1715#if defined(DEBUG1) || defined(NS_BUILD_REFCNT_LOGGING1)
1716 TransactionInfoPair();
1717 ~TransactionInfoPair();
1718#endif
1719};
1720
1721/*******************************************************************************
1722 * Actor class declarations
1723 ******************************************************************************/
1724
1725template <IDBCursorType CursorType>
1726class CommonOpenOpHelper;
1727template <IDBCursorType CursorType>
1728class IndexOpenOpHelper;
1729template <IDBCursorType CursorType>
1730class ObjectStoreOpenOpHelper;
1731template <IDBCursorType CursorType>
1732class OpenOpHelper;
1733
1734class DatabaseOperationBase : public Runnable,
1735 public mozIStorageProgressHandler {
1736 template <IDBCursorType CursorType>
1737 friend class OpenOpHelper;
1738
1739 protected:
1740 class AutoSetProgressHandler;
1741
1742 using UniqueIndexTable = nsTHashMap<nsUint64HashKey, bool>;
1743
1744 const nsCOMPtr<nsIEventTarget> mOwningEventTarget;
1745 const nsID mBackgroundChildLoggingId;
1746 const uint64_t mLoggingSerialNumber;
1747
1748 private:
1749 nsresult mResultCode = NS_OK;
1750 Atomic<bool> mOperationMayProceed;
1751 FlippedOnce<false> mActorDestroyed;
1752
1753 public:
1754 NS_DECL_ISUPPORTS_INHERITEDpublic: virtual nsresult QueryInterface(const nsIID& aIID
, void** aInstancePtr) override; virtual MozExternalRefCountType
AddRef(void) override; virtual MozExternalRefCountType Release
(void) override;
1755
1756 bool IsOnOwningThread() const {
1757 MOZ_ASSERT(mOwningEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOwningEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOwningEventTarget))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mOwningEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1757); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOwningEventTarget"
")"); do { *((volatile int*)__null) = 1757; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1758
1759 bool current;
1760 return NS_SUCCEEDED(mOwningEventTarget->IsOnCurrentThread(&current))((bool)(__builtin_expect(!!(!NS_FAILED_impl(mOwningEventTarget
->IsOnCurrentThread(&current))), 1)))
&&
1761 current;
1762 }
1763
1764 void AssertIsOnOwningThread() const {
1765 MOZ_ASSERT(IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1765); AnnotateMozCrashReason("MOZ_ASSERT" "(" "IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 1765; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1766 MOZ_ASSERT(IsOnOwningThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(IsOnOwningThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(IsOnOwningThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("IsOnOwningThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1766); AnnotateMozCrashReason("MOZ_ASSERT" "(" "IsOnOwningThread()"
")"); do { *((volatile int*)__null) = 1766; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1767 }
1768
1769 void NoteActorDestroyed() {
1770 AssertIsOnOwningThread();
1771
1772 mActorDestroyed.EnsureFlipped();
1773 mOperationMayProceed = false;
1774 }
1775
1776 bool IsActorDestroyed() const {
1777 AssertIsOnOwningThread();
1778
1779 return mActorDestroyed;
1780 }
1781
1782 // May be called on any thread, but you should call IsActorDestroyed() if
1783 // you know you're on the background thread because it is slightly faster.
1784 bool OperationMayProceed() const { return mOperationMayProceed; }
1785
1786 const nsID& BackgroundChildLoggingId() const {
1787 return mBackgroundChildLoggingId;
1788 }
1789
1790 uint64_t LoggingSerialNumber() const { return mLoggingSerialNumber; }
1791
1792 nsresult ResultCode() const { return mResultCode; }
1793
1794 void SetFailureCode(nsresult aFailureCode) {
1795 MOZ_ASSERT(NS_SUCCEEDED(mResultCode))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode
)), 1))))>::isValid, "invalid assertion condition"); if ((
__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mResultCode)), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1795); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)))"
")"); do { *((volatile int*)__null) = 1795; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1796 OverrideFailureCode(aFailureCode);
1797 }
1798
1799 void SetFailureCodeIfUnset(nsresult aFailureCode) {
1800 if (NS_SUCCEEDED(mResultCode)((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)
))
) {
1801 OverrideFailureCode(aFailureCode);
1802 }
1803 }
1804
1805 bool HasFailed() const { return NS_FAILED(mResultCode)((bool)(__builtin_expect(!!(NS_FAILED_impl(mResultCode)), 0))
)
; }
1806
1807 protected:
1808 DatabaseOperationBase(const nsID& aBackgroundChildLoggingId,
1809 uint64_t aLoggingSerialNumber)
1810 : Runnable("dom::indexedDB::DatabaseOperationBase"),
1811 mOwningEventTarget(GetCurrentSerialEventTarget()),
1812 mBackgroundChildLoggingId(aBackgroundChildLoggingId),
1813 mLoggingSerialNumber(aLoggingSerialNumber),
1814 mOperationMayProceed(true) {
1815 AssertIsOnOwningThread();
1816 }
1817
1818 ~DatabaseOperationBase() override { MOZ_ASSERT(mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1818); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mActorDestroyed"
")"); do { *((volatile int*)__null) = 1818; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
; }
1819
1820 void OverrideFailureCode(nsresult aFailureCode) {
1821 MOZ_ASSERT(NS_FAILED(aFailureCode))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(NS_FAILED_impl(aFailureCode
)), 0))))>::isValid, "invalid assertion condition"); if ((
__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(NS_FAILED_impl
(aFailureCode)), 0)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("((bool)(__builtin_expect(!!(NS_FAILED_impl(aFailureCode)), 0)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 1821); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(NS_FAILED_impl(aFailureCode)), 0)))"
")"); do { *((volatile int*)__null) = 1821; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
1822
1823 mResultCode = aFailureCode;
1824 }
1825
1826 static nsAutoCString MaybeGetBindingClauseForKeyRange(
1827 const Maybe<SerializedKeyRange>& aOptionalKeyRange,
1828 const nsACString& aKeyColumnName);
1829
1830 static nsAutoCString GetBindingClauseForKeyRange(
1831 const SerializedKeyRange& aKeyRange, const nsACString& aKeyColumnName);
1832
1833 static uint64_t ReinterpretDoubleAsUInt64(double aDouble);
1834
1835 static nsresult BindKeyRangeToStatement(const SerializedKeyRange& aKeyRange,
1836 mozIStorageStatement* aStatement);
1837
1838 static nsresult BindKeyRangeToStatement(const SerializedKeyRange& aKeyRange,
1839 mozIStorageStatement* aStatement,
1840 const nsCString& aLocale);
1841
1842 static Result<IndexDataValuesAutoArray, nsresult>
1843 IndexDataValuesFromUpdateInfos(const nsTArray<IndexUpdateInfo>& aUpdateInfos,
1844 const UniqueIndexTable& aUniqueIndexTable);
1845
1846 static nsresult InsertIndexTableRows(
1847 DatabaseConnection* aConnection, IndexOrObjectStoreId aObjectStoreId,
1848 const Key& aObjectStoreKey, const nsTArray<IndexDataValue>& aIndexValues);
1849
1850 static nsresult DeleteIndexDataTableRows(
1851 DatabaseConnection* aConnection, const Key& aObjectStoreKey,
1852 const nsTArray<IndexDataValue>& aIndexValues);
1853
1854 static nsresult DeleteObjectStoreDataTableRowsWithIndexes(
1855 DatabaseConnection* aConnection, IndexOrObjectStoreId aObjectStoreId,
1856 const Maybe<SerializedKeyRange>& aKeyRange);
1857
1858 static nsresult UpdateIndexValues(
1859 DatabaseConnection* aConnection, IndexOrObjectStoreId aObjectStoreId,
1860 const Key& aObjectStoreKey, const nsTArray<IndexDataValue>& aIndexValues);
1861
1862 static Result<bool, nsresult> ObjectStoreHasIndexes(
1863 DatabaseConnection& aConnection, IndexOrObjectStoreId aObjectStoreId);
1864
1865 private:
1866 template <typename KeyTransformation>
1867 static nsresult MaybeBindKeyToStatement(
1868 const Key& aKey, mozIStorageStatement* aStatement,
1869 const nsACString& aParameterName,
1870 const KeyTransformation& aKeyTransformation);
1871
1872 template <typename KeyTransformation>
1873 static nsresult BindTransformedKeyRangeToStatement(
1874 const SerializedKeyRange& aKeyRange, mozIStorageStatement* aStatement,
1875 const KeyTransformation& aKeyTransformation);
1876
1877 // Not to be overridden by subclasses.
1878 NS_DECL_MOZISTORAGEPROGRESSHANDLERvirtual nsresult OnProgress(mozIStorageConnection *aConnection
, bool *_retval) override;
1879};
1880
1881class MOZ_STACK_CLASS DatabaseOperationBase::AutoSetProgressHandler final {
1882 Maybe<mozIStorageConnection&> mConnection;
1883#ifdef DEBUG1
1884 DatabaseOperationBase* mDEBUGDatabaseOp;
1885#endif
1886
1887 public:
1888 AutoSetProgressHandler();
1889
1890 ~AutoSetProgressHandler();
1891
1892 nsresult Register(mozIStorageConnection& aConnection,
1893 DatabaseOperationBase* aDatabaseOp);
1894
1895 void Unregister();
1896};
1897
1898class TransactionDatabaseOperationBase : public DatabaseOperationBase {
1899 enum class InternalState {
1900 Initial,
1901 DatabaseWork,
1902 SendingPreprocess,
1903 WaitingForContinue,
1904 SendingResults,
1905 Completed
1906 };
1907
1908 InitializedOnce<const NotNull<SafeRefPtr<TransactionBase>>> mTransaction;
1909 // Unique request id within the context of the transaction, allocated by the
1910 // transaction in the content process starting from 0. Values less than 0 are
1911 // impossible and forbidden. Used to support the explicit commit() request.
1912 const int64_t mRequestId;
1913 InternalState mInternalState = InternalState::Initial;
1914 bool mWaitingForContinue = false;
1915 const bool mTransactionIsAborted;
1916
1917 protected:
1918 const int64_t mTransactionLoggingSerialNumber;
1919
1920#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED1
1921 protected:
1922 // A check only enables when the diagnostic assert turns on. It assumes the
1923 // mUpdateRefcountFunction is a nullptr because the previous
1924 // StartTransactionOp failed on the connection thread and the next write
1925 // operation (e.g. ObjectstoreAddOrPutRequestOp) doesn't have enough time to
1926 // catch up the failure information.
1927 bool mAssumingPreviousOperationFail = false;
1928#endif
1929
1930 public:
1931 void AssertIsOnConnectionThread() const
1932#ifdef DEBUG1
1933 ;
1934#else
1935 {
1936 }
1937#endif
1938
1939 uint64_t StartOnConnectionPool(const nsID& aBackgroundChildLoggingId,
1940 const nsACString& aDatabaseId,
1941 int64_t aLoggingSerialNumber,
1942 const nsTArray<nsString>& aObjectStoreNames,
1943 bool aIsWriteTransaction);
1944
1945 void DispatchToConnectionPool();
1946
1947 TransactionBase& Transaction() { return **mTransaction; }
1948
1949 const TransactionBase& Transaction() const { return **mTransaction; }
1950
1951 bool IsWaitingForContinue() const {
1952 AssertIsOnOwningThread();
1953
1954 return mWaitingForContinue;
1955 }
1956
1957 void NoteContinueReceived();
1958
1959 int64_t TransactionLoggingSerialNumber() const {
1960 return mTransactionLoggingSerialNumber;
1961 }
1962
1963 // May be overridden by subclasses if they need to perform work on the
1964 // background thread before being dispatched. Returning false will kill the
1965 // child actors and prevent dispatch.
1966 virtual bool Init(TransactionBase& aTransaction);
1967
1968 // This callback will be called on the background thread before releasing the
1969 // final reference to this request object. Subclasses may perform any
1970 // additional cleanup here but must always call the base class implementation.
1971 virtual void Cleanup();
1972
1973 protected:
1974 TransactionDatabaseOperationBase(SafeRefPtr<TransactionBase> aTransaction,
1975 int64_t aRequestId);
1976
1977 TransactionDatabaseOperationBase(SafeRefPtr<TransactionBase> aTransaction,
1978 const int64_t aRequestId,
1979 uint64_t aLoggingSerialNumber);
1980
1981 ~TransactionDatabaseOperationBase() override;
1982
1983 virtual void RunOnConnectionThread();
1984
1985 // Must be overridden in subclasses. Called on the target thread to allow the
1986 // subclass to perform necessary database or file operations. A successful
1987 // return value will trigger a SendSuccessResult callback on the background
1988 // thread while a failure value will trigger a SendFailureResult callback.
1989 virtual nsresult DoDatabaseWork(DatabaseConnection* aConnection) = 0;
1990
1991 // May be overriden in subclasses. Called on the background thread to decide
1992 // if the subclass needs to send any preprocess info to the child actor.
1993 virtual bool HasPreprocessInfo();
1994
1995 // May be overriden in subclasses. Called on the background thread to allow
1996 // the subclass to serialize its preprocess info and send it to the child
1997 // actor. A successful return value will trigger a wait for a
1998 // NoteContinueReceived callback on the background thread while a failure
1999 // value will trigger a SendFailureResult callback.
2000 virtual nsresult SendPreprocessInfo();
2001
2002 // Must be overridden in subclasses. Called on the background thread to allow
2003 // the subclass to serialize its results and send them to the child actor. A
2004 // failed return value will trigger a SendFailureResult callback.
2005 virtual nsresult SendSuccessResult() = 0;
2006
2007 // Must be overridden in subclasses. Called on the background thread to allow
2008 // the subclass to send its failure code. Returning false will cause the
2009 // transaction to be aborted with aResultCode. Returning true will not cause
2010 // the transaction to be aborted.
2011 virtual bool SendFailureResult(nsresult aResultCode) = 0;
2012
2013#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED1
2014 auto MakeAutoSavepointCleanupHandler(DatabaseConnection& aConnection) {
2015 return [this, &aConnection](const auto) {
2016 if (!aConnection.GetUpdateRefcountFunction()) {
2017 mAssumingPreviousOperationFail = true;
2018 }
2019 };
2020 }
2021#endif
2022
2023 private:
2024 void SendToConnectionPool();
2025
2026 void SendPreprocess();
2027
2028 void SendResults();
2029
2030 void SendPreprocessInfoOrResults(bool aSendPreprocessInfo);
2031
2032 // Not to be overridden by subclasses.
2033 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
2034};
2035
2036class Factory final : public PBackgroundIDBFactoryParent,
2037 public AtomicSafeRefCounted<Factory> {
2038 nsCString mSystemLocale;
2039 RefPtr<DatabaseLoggingInfo> mLoggingInfo;
2040
2041#ifdef DEBUG1
2042 bool mActorDestroyed;
2043#endif
2044
2045 // Reference counted.
2046 ~Factory() override;
2047
2048 public:
2049 [[nodiscard]] static SafeRefPtr<Factory> Create(
2050 const LoggingInfo& aLoggingInfo, const nsACString& aSystemLocale);
2051
2052 DatabaseLoggingInfo* GetLoggingInfo() const {
2053 AssertIsOnBackgroundThread();
2054 MOZ_ASSERT(mLoggingInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLoggingInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mLoggingInfo))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mLoggingInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2054); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLoggingInfo"
")"); do { *((volatile int*)__null) = 2054; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2055
2056 return mLoggingInfo;
2057 }
2058
2059 const nsCString& GetSystemLocale() const { return mSystemLocale; }
2060
2061 MOZ_DECLARE_REFCOUNTED_TYPENAME(mozilla::dom::indexedDB::Factory)const char* typeName() const { return "mozilla::dom::indexedDB::Factory"
; } size_t typeSize() const { return sizeof(*this); }
2062 MOZ_INLINE_DECL_SAFEREFCOUNTING_INHERITED(Factory, AtomicSafeRefCounted)template <typename T, ::mozilla::detail::RefCountAtomicity
Atomicity> friend class ::mozilla::detail::SafeRefCounted
; virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<Factory>, "Reference-counted class "
"Factory" " should not have a public destructor. " "Make this class's destructor non-public"
); nsrefcnt r = AtomicSafeRefCounted::AddRef(); if constexpr (
::mozilla::detail::ShouldLogInheritedRefcnt<Factory>) {
NS_LogAddRef((this), (r), ("Factory"), (uint32_t)(sizeof(*this
))); } return r; } virtual MozExternalRefCountType Release() override
{ nsrefcnt r = AtomicSafeRefCounted::Release(); if constexpr
(::mozilla::detail::ShouldLogInheritedRefcnt<Factory>)
{ NS_LogRelease((this), (r), ("Factory")); } return r; }
2063
2064 // Only constructed in Create().
2065 Factory(RefPtr<DatabaseLoggingInfo> aLoggingInfo,
2066 const nsACString& aSystemLocale);
2067
2068 // IPDL methods are only called by IPDL.
2069 void ActorDestroy(ActorDestroyReason aWhy) override;
2070
2071 mozilla::ipc::IPCResult RecvDeleteMe() override;
2072
2073 PBackgroundIDBFactoryRequestParent* AllocPBackgroundIDBFactoryRequestParent(
2074 const FactoryRequestParams& aParams) override;
2075
2076 mozilla::ipc::IPCResult RecvPBackgroundIDBFactoryRequestConstructor(
2077 PBackgroundIDBFactoryRequestParent* aActor,
2078 const FactoryRequestParams& aParams) override;
2079
2080 bool DeallocPBackgroundIDBFactoryRequestParent(
2081 PBackgroundIDBFactoryRequestParent* aActor) override;
2082
2083 mozilla::ipc::IPCResult RecvGetDatabases(
2084 const PersistenceType& aPersistenceType,
2085 const PrincipalInfo& aPrincipalInfo,
2086 GetDatabasesResolver&& aResolve) override;
2087
2088 private:
2089 Maybe<ContentParentId> GetContentParentId() const;
2090};
2091
2092class WaitForTransactionsHelper final : public Runnable {
2093 const nsCString mDatabaseId;
2094 nsCOMPtr<nsIRunnable> mCallback;
2095
2096 enum class State { Initial = 0, WaitingForTransactions, Complete } mState;
2097
2098 public:
2099 WaitForTransactionsHelper(const nsACString& aDatabaseId,
2100 nsIRunnable* aCallback)
2101 : Runnable("dom::indexedDB::WaitForTransactionsHelper"),
2102 mDatabaseId(aDatabaseId),
2103 mCallback(aCallback),
2104 mState(State::Initial) {
2105 AssertIsOnBackgroundThread();
2106 MOZ_ASSERT(!aDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseId.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseId.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2106); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 2106; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2107 MOZ_ASSERT(aCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2107); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCallback" ")"
); do { *((volatile int*)__null) = 2107; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2108 }
2109
2110 void WaitForTransactions();
2111
2112 NS_INLINE_DECL_REFCOUNTING_INHERITED(WaitForTransactionsHelper, Runnable)virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<WaitForTransactionsHelper>, "Reference-counted class "
"WaitForTransactionsHelper" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = Runnable
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<WaitForTransactionsHelper>) { NS_LogAddRef((this), (r)
, ("WaitForTransactionsHelper"), (uint32_t)(sizeof(*this))); }
return r; } virtual MozExternalRefCountType Release() override
{ nsrefcnt r = Runnable::Release(); if constexpr (::mozilla::
detail::ShouldLogInheritedRefcnt<WaitForTransactionsHelper
>) { NS_LogRelease((this), (r), ("WaitForTransactionsHelper"
)); } return r; }
2113
2114 private:
2115 ~WaitForTransactionsHelper() override {
2116 MOZ_ASSERT(!mCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mCallback))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("!mCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2116); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mCallback"
")"); do { *((volatile int*)__null) = 2116; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2117 MOZ_ASSERT(mState == State::Complete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Complete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Complete)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("mState == State::Complete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2117); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Complete"
")"); do { *((volatile int*)__null) = 2117; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2118 }
2119
2120 void MaybeWaitForTransactions();
2121
2122 void CallCallback();
2123
2124 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
2125};
2126
2127class Database final
2128 : public PBackgroundIDBDatabaseParent,
2129 public SupportsCheckedUnsafePtr<CheckIf<DiagnosticAssertEnabled>>,
2130 public AtomicSafeRefCounted<Database> {
2131 friend class VersionChangeTransaction;
2132
2133 class StartTransactionOp;
2134 class UnmapBlobCallback;
2135
2136 private:
2137 SafeRefPtr<Factory> mFactory;
2138 SafeRefPtr<FullDatabaseMetadata> mMetadata;
2139 SafeRefPtr<DatabaseFileManager> mFileManager;
2140 RefPtr<ClientDirectoryLock> mDirectoryLock;
2141 nsTHashSet<TransactionBase*> mTransactions;
2142 nsTHashMap<nsIDHashKey, SafeRefPtr<DatabaseFileInfo>> mMappedBlobs;
2143 RefPtr<DatabaseConnection> mConnection;
2144 const PrincipalInfo mPrincipalInfo;
2145 const Maybe<ContentParentId> mOptionalContentParentId;
2146 // XXX Consider changing this to ClientMetadata.
2147 const quota::OriginMetadata mOriginMetadata;
2148 const nsCString mId;
2149 const nsString mFilePath;
2150 const Maybe<const CipherKey> mKey;
2151 int64_t mDirectoryLockId;
2152 const uint32_t mTelemetryId;
2153 const PersistenceType mPersistenceType;
2154 const bool mInPrivateBrowsing;
2155 FlippedOnce<false> mClosed;
2156 FlippedOnce<false> mInvalidated;
2157 FlippedOnce<false> mActorWasAlive;
2158 FlippedOnce<false> mActorDestroyed;
2159 nsCOMPtr<nsIEventTarget> mBackgroundThread;
2160#ifdef DEBUG1
2161 bool mAllBlobsUnmapped;
2162#endif
2163
2164 public:
2165 // Created by OpenDatabaseOp.
2166 Database(SafeRefPtr<Factory> aFactory, const PrincipalInfo& aPrincipalInfo,
2167 const Maybe<ContentParentId>& aOptionalContentParentId,
2168 const quota::OriginMetadata& aOriginMetadata, uint32_t aTelemetryId,
2169 SafeRefPtr<FullDatabaseMetadata> aMetadata,
2170 SafeRefPtr<DatabaseFileManager> aFileManager,
2171 RefPtr<ClientDirectoryLock> aDirectoryLock, bool aInPrivateBrowsing,
2172 const Maybe<const CipherKey>& aMaybeKey);
2173
2174 void AssertIsOnConnectionThread() const {
2175#ifdef DEBUG1
2176 // mConnection is used to cache the result from ConnectionPool's
2177 // GetOrCreateConnection method (potentially avoiding a lock and a hash
2178 // lookup). However, once the connection is closed, the task queue for the
2179 // given database is also destroyed, so the connection, which caches the
2180 // event target it was created on, is no longer reliable for asserting that
2181 // the current thread is the connection thread (mConnection might be reset
2182 // when EnsureConnection is called again, but in the meantime, we have to
2183 // fallback to just checking the main thread and the PBackgroud thread).
2184 if (mConnection && !mConnection->Closed()) {
2185 mConnection->AssertIsOnConnectionThread();
2186 } else {
2187 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2187); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 2187; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2188 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2188); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 2188; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2189 MOZ_ASSERT(mInvalidated)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInvalidated)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInvalidated))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mInvalidated", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2189); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInvalidated"
")"); do { *((volatile int*)__null) = 2189; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2190 }
2191#endif
2192 }
2193
2194 NS_IMETHOD_(MozExternalRefCountType)virtual MozExternalRefCountType AddRef() override {
2195 return AtomicSafeRefCounted<Database>::AddRef();
2196 }
2197 NS_IMETHOD_(MozExternalRefCountType)virtual MozExternalRefCountType Release() override {
2198 return AtomicSafeRefCounted<Database>::Release();
2199 }
2200
2201 MOZ_DECLARE_REFCOUNTED_TYPENAME(mozilla::dom::indexedDB::Database)const char* typeName() const { return "mozilla::dom::indexedDB::Database"
; } size_t typeSize() const { return sizeof(*this); }
2202
2203 void Invalidate();
2204
2205 bool IsOwnedByProcess(ContentParentId aContentParentId) const {
2206 return mOptionalContentParentId &&
2207 mOptionalContentParentId.value() == aContentParentId;
2208 }
2209
2210 const quota::OriginMetadata& OriginMetadata() const {
2211 return mOriginMetadata;
2212 }
2213
2214 const nsCString& Id() const { return mId; }
2215
2216 Maybe<ClientDirectoryLock&> MaybeDirectoryLockRef() const {
2217 AssertIsOnBackgroundThread();
2218
2219 return ToMaybeRef(mDirectoryLock.get());
2220 }
2221
2222 int64_t DirectoryLockId() const { return mDirectoryLockId; }
2223
2224 uint32_t TelemetryId() const { return mTelemetryId; }
2225
2226 PersistenceType Type() const { return mPersistenceType; }
2227
2228 const nsString& FilePath() const { return mFilePath; }
2229
2230 DatabaseFileManager& GetFileManager() const { return *mFileManager; }
2231
2232 MovingNotNull<SafeRefPtr<DatabaseFileManager>> GetFileManagerPtr() const {
2233 return WrapMovingNotNull(mFileManager.clonePtr());
2234 }
2235
2236 const FullDatabaseMetadata& Metadata() const {
2237 MOZ_ASSERT(mMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mMetadata))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2237); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mMetadata" ")"
); do { *((volatile int*)__null) = 2237; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2238 return *mMetadata;
2239 }
2240
2241 SafeRefPtr<FullDatabaseMetadata> MetadataPtr() const {
2242 MOZ_ASSERT(mMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mMetadata))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2242); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mMetadata" ")"
); do { *((volatile int*)__null) = 2242; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2243 return mMetadata.clonePtr();
2244 }
2245
2246 PBackgroundParent* GetBackgroundParent() const {
2247 AssertIsOnBackgroundThread();
2248 MOZ_ASSERT(!IsActorDestroyed())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsActorDestroyed())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsActorDestroyed()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!IsActorDestroyed()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2248); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsActorDestroyed()"
")"); do { *((volatile int*)__null) = 2248; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2249
2250 return Manager()->Manager();
2251 }
2252
2253 DatabaseLoggingInfo* GetLoggingInfo() const {
2254 AssertIsOnBackgroundThread();
2255 MOZ_ASSERT(mFactory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFactory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFactory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mFactory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFactory" ")"
); do { *((volatile int*)__null) = 2255; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2256
2257 return mFactory->GetLoggingInfo();
2258 }
2259
2260 bool RegisterTransaction(TransactionBase& aTransaction);
2261
2262 void UnregisterTransaction(TransactionBase& aTransaction);
2263
2264 void SetActorAlive();
2265
2266 void MapBlob(const IPCBlob& aIPCBlob, SafeRefPtr<DatabaseFileInfo> aFileInfo);
2267
2268 bool IsActorAlive() const {
2269 AssertIsOnBackgroundThread();
2270
2271 return mActorWasAlive && !mActorDestroyed;
2272 }
2273
2274 bool IsActorDestroyed() const {
2275 AssertIsOnBackgroundThread();
2276
2277 return mActorWasAlive && mActorDestroyed;
2278 }
2279
2280 bool IsClosed() const {
2281 AssertIsOnBackgroundThread();
2282
2283 return mClosed;
2284 }
2285
2286 bool IsInvalidated() const {
2287 AssertIsOnBackgroundThread();
2288
2289 return mInvalidated;
2290 }
2291
2292 nsresult EnsureConnection();
2293
2294 DatabaseConnection* GetConnection() const {
2295#ifdef DEBUG1
2296 if (mConnection) {
2297 mConnection->AssertIsOnConnectionThread();
2298 }
2299#endif
2300
2301 return mConnection;
2302 }
2303
2304 void Stringify(nsACString& aResult) const;
2305
2306 bool IsInPrivateBrowsing() const {
2307 AssertIsOnBackgroundThread();
2308 return mInPrivateBrowsing;
2309 }
2310
2311 const Maybe<const CipherKey>& MaybeKeyRef() const {
2312 // This can be called on any thread, as it is const.
2313 MOZ_ASSERT(mKey.isSome() == mInPrivateBrowsing)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mKey.isSome() == mInPrivateBrowsing)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mKey.isSome() == mInPrivateBrowsing
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"mKey.isSome() == mInPrivateBrowsing", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2313); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mKey.isSome() == mInPrivateBrowsing"
")"); do { *((volatile int*)__null) = 2313; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2314 return mKey;
2315 }
2316
2317 ~Database() override {
2318 MOZ_ASSERT(mClosed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mClosed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mClosed))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mClosed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2318); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mClosed" ")"
); do { *((volatile int*)__null) = 2318; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2319 MOZ_ASSERT_IF(mActorWasAlive, mActorDestroyed)do { if (mActorWasAlive) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(mActorDestroyed)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mActorDestroyed))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mActorDestroyed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2319); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mActorDestroyed"
")"); do { *((volatile int*)__null) = 2319; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
2320
2321 NS_ProxyRelease("ReleaseIDBFactory", mBackgroundThread.get(),
2322 mFactory.forget());
2323 }
2324
2325 private:
2326 [[nodiscard]] SafeRefPtr<DatabaseFileInfo> GetBlob(const IPCBlob& aIPCBlob);
2327
2328 void UnmapBlob(const nsID& aID);
2329
2330 void UnmapAllBlobs();
2331
2332 bool CloseInternal();
2333
2334 void MaybeCloseConnection();
2335
2336 void ConnectionClosedCallback();
2337
2338 void CleanupMetadata();
2339
2340 // IPDL methods are only called by IPDL.
2341 void ActorDestroy(ActorDestroyReason aWhy) override;
2342
2343 PBackgroundIDBDatabaseFileParent* AllocPBackgroundIDBDatabaseFileParent(
2344 const IPCBlob& aIPCBlob) override;
2345
2346 bool DeallocPBackgroundIDBDatabaseFileParent(
2347 PBackgroundIDBDatabaseFileParent* aActor) override;
2348
2349 already_AddRefed<PBackgroundIDBTransactionParent>
2350 AllocPBackgroundIDBTransactionParent(
2351 const nsTArray<nsString>& aObjectStoreNames, const Mode& aMode,
2352 const Durability& aDurability) override;
2353
2354 mozilla::ipc::IPCResult RecvPBackgroundIDBTransactionConstructor(
2355 PBackgroundIDBTransactionParent* aActor,
2356 nsTArray<nsString>&& aObjectStoreNames, const Mode& aMode,
2357 const Durability& aDurability) override;
2358
2359 mozilla::ipc::IPCResult RecvDeleteMe() override;
2360
2361 mozilla::ipc::IPCResult RecvBlocked() override;
2362
2363 mozilla::ipc::IPCResult RecvClose() override;
2364
2365 template <typename T>
2366 static bool InvalidateAll(const nsTBaseHashSet<nsPtrHashKey<T>>& aTable);
2367};
2368
2369class Database::StartTransactionOp final
2370 : public TransactionDatabaseOperationBase {
2371 friend class Database;
2372
2373 private:
2374 explicit StartTransactionOp(SafeRefPtr<TransactionBase> aTransaction)
2375 : TransactionDatabaseOperationBase(std::move(aTransaction),
2376 /* aRequestId */ 0,
2377 /* aLoggingSerialNumber */ 0) {}
2378
2379 ~StartTransactionOp() override = default;
2380
2381 void RunOnConnectionThread() override;
2382
2383 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
2384
2385 nsresult SendSuccessResult() override;
2386
2387 bool SendFailureResult(nsresult aResultCode) override;
2388
2389 void Cleanup() override;
2390};
2391
2392class Database::UnmapBlobCallback final
2393 : public RemoteLazyInputStreamParentCallback {
2394 SafeRefPtr<Database> mDatabase;
2395 nsCOMPtr<nsISerialEventTarget> mBackgroundThread;
2396
2397 public:
2398 explicit UnmapBlobCallback(SafeRefPtr<Database> aDatabase)
2399 : mDatabase(std::move(aDatabase)),
2400 mBackgroundThread(GetCurrentSerialEventTarget()) {
2401 AssertIsOnBackgroundThread();
2402 }
2403
2404 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(Database::UnmapBlobCallback, override)public: MozExternalRefCountType AddRef(void) override { static_assert
(!std::is_destructible_v<Database::UnmapBlobCallback>, "Reference-counted class "
"Database::UnmapBlobCallback" " should not have a public destructor. "
"Make this class's destructor non-public"); do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2404); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
2404; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("Database::UnmapBlobCallback"), (uint32_t)(sizeof
(*this))); return (nsrefcnt)count; } MozExternalRefCountType Release
(void) override { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2404); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 2404
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("Database::UnmapBlobCallback")); if (count == 0) { delete
(this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
2405
2406 void ActorDestroyed(const nsID& aID) override {
2407 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2407); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2407; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2408 mBackgroundThread->Dispatch(NS_NewRunnableFunction(
2409 "UnmapBlobCallback", [aID, database = std::move(mDatabase)] {
2410 AssertIsOnBackgroundThread();
2411 database->UnmapBlob(aID);
2412 }));
2413 }
2414
2415 private:
2416 ~UnmapBlobCallback() = default;
2417};
2418
2419/**
2420 * In coordination with IDBDatabase's mFileActors weak-map on the child side, a
2421 * long-lived mapping from a child process's live Blobs to their corresponding
2422 * DatabaseFileInfo in our owning database. Assists in avoiding redundant IPC
2423 * traffic and disk storage. This includes both:
2424 * - Blobs retrieved from this database and sent to the child that do not need
2425 * to be written to disk because they already exist on disk in this database's
2426 * files directory.
2427 * - Blobs retrieved from other databases or from anywhere else that will need
2428 * to be written to this database's files directory. In this case we will
2429 * hold a reference to its BlobImpl in mBlobImpl until we have successfully
2430 * written the Blob to disk.
2431 *
2432 * Relevant Blob context: Blobs sent from the parent process to child processes
2433 * are automatically linked back to their source BlobImpl when the child process
2434 * references the Blob via IPC. This is done using the internal IPCBlob
2435 * inputStream actor ID to DatabaseFileInfo mapping. However, when getting an
2436 * actor in the child process for sending an in-child-created Blob to the
2437 * parent process, there is (currently) no Blob machinery to automatically
2438 * establish and reuse a long-lived Actor. As a result, without IDB's weak-map
2439 * cleverness, a memory-backed Blob repeatedly sent from the child to the parent
2440 * would appear as a different Blob each time, requiring the Blob data to be
2441 * sent over IPC each time as well as potentially needing to be written to disk
2442 * each time.
2443 *
2444 * This object remains alive as long as there is an active child actor or an
2445 * ObjectStoreAddOrPutRequestOp::StoredFileInfo for a queued or active add/put
2446 * op is holding a reference to us.
2447 */
2448class DatabaseFile final : public PBackgroundIDBDatabaseFileParent {
2449 // mBlobImpl's ownership lifecycle:
2450 // - Initialized on the background thread at creation time. Then
2451 // responsibility is handed off to the connection thread.
2452 // - Checked and used by the connection thread to generate a stream to write
2453 // the blob to disk by an add/put operation.
2454 // - Cleared on the connection thread once the file has successfully been
2455 // written to disk.
2456 InitializedOnce<const RefPtr<BlobImpl>> mBlobImpl;
2457 const SafeRefPtr<DatabaseFileInfo> mFileInfo;
2458
2459 public:
2460 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(mozilla::dom::indexedDB::DatabaseFile)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<mozilla::dom::indexedDB::DatabaseFile
>, "Reference-counted class " "mozilla::dom::indexedDB::DatabaseFile"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2460); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
2460; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("mozilla::dom::indexedDB::DatabaseFile"), (uint32_t
)(sizeof(*this))); return (nsrefcnt)count; } MozExternalRefCountType
Release(void) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2460); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 2460
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("mozilla::dom::indexedDB::DatabaseFile")); if (count
== 0) { delete (this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
;
2461
2462 const DatabaseFileInfo& GetFileInfo() const {
2463 AssertIsOnBackgroundThread();
2464
2465 return *mFileInfo;
2466 }
2467
2468 SafeRefPtr<DatabaseFileInfo> GetFileInfoPtr() const {
2469 AssertIsOnBackgroundThread();
2470
2471 return mFileInfo.clonePtr();
2472 }
2473
2474 /**
2475 * If mBlobImpl is non-null (implying the contents of this file have not yet
2476 * been written to disk), then return an input stream. Otherwise, if mBlobImpl
2477 * is null (because the contents have been written to disk), returns null.
2478 */
2479 [[nodiscard]] nsCOMPtr<nsIInputStream> GetInputStream(ErrorResult& rv) const;
2480
2481 /**
2482 * To be called upon successful copying of the stream GetInputStream()
2483 * returned so that we won't try and redundantly write the file to disk in the
2484 * future. This is a separate step from GetInputStream() because
2485 * the write could fail due to quota errors that happen now but that might
2486 * not happen in a future attempt.
2487 */
2488 void WriteSucceededClearBlobImpl() {
2489 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2489); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 2489; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2490
2491 MOZ_ASSERT(*mBlobImpl)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(*mBlobImpl)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(*mBlobImpl))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("*mBlobImpl", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2491); AnnotateMozCrashReason("MOZ_ASSERT" "(" "*mBlobImpl"
")"); do { *((volatile int*)__null) = 2491; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2492 mBlobImpl.destroy();
2493 }
2494
2495 public:
2496 // Called when sending to the child.
2497 explicit DatabaseFile(SafeRefPtr<DatabaseFileInfo> aFileInfo)
2498 : mBlobImpl{nullptr}, mFileInfo(std::move(aFileInfo)) {
2499 AssertIsOnBackgroundThread();
2500 MOZ_ASSERT(mFileInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileInfo))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mFileInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2500); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileInfo" ")"
); do { *((volatile int*)__null) = 2500; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2501 }
2502
2503 // Called when receiving from the child.
2504 DatabaseFile(RefPtr<BlobImpl> aBlobImpl,
2505 SafeRefPtr<DatabaseFileInfo> aFileInfo)
2506 : mBlobImpl(std::move(aBlobImpl)), mFileInfo(std::move(aFileInfo)) {
2507 AssertIsOnBackgroundThread();
2508 MOZ_ASSERT(*mBlobImpl)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(*mBlobImpl)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(*mBlobImpl))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("*mBlobImpl", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2508); AnnotateMozCrashReason("MOZ_ASSERT" "(" "*mBlobImpl"
")"); do { *((volatile int*)__null) = 2508; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2509 MOZ_ASSERT(mFileInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileInfo))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mFileInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2509); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileInfo" ")"
); do { *((volatile int*)__null) = 2509; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2510 }
2511
2512 private:
2513 ~DatabaseFile() override = default;
2514
2515 void ActorDestroy(ActorDestroyReason aWhy) override {
2516 AssertIsOnBackgroundThread();
2517 }
2518};
2519
2520nsCOMPtr<nsIInputStream> DatabaseFile::GetInputStream(ErrorResult& rv) const {
2521 // We should only be called from our DB connection thread, not the background
2522 // thread.
2523 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2523); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 2523; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2524
2525 // If we were constructed without a BlobImpl, or WriteSucceededClearBlobImpl
2526 // was already called, return nullptr.
2527 if (!mBlobImpl || !*mBlobImpl) {
2528 return nullptr;
2529 }
2530
2531 nsCOMPtr<nsIInputStream> inputStream;
2532 (*mBlobImpl)->CreateInputStream(getter_AddRefs(inputStream), rv);
2533 if (rv.Failed()) {
2534 return nullptr;
2535 }
2536
2537 return inputStream;
2538}
2539
2540class TransactionBase : public AtomicSafeRefCounted<TransactionBase> {
2541 friend class CursorBase;
2542
2543 template <IDBCursorType CursorType>
2544 friend class Cursor;
2545
2546 class CommitOp;
2547
2548 protected:
2549 using Mode = IDBTransaction::Mode;
2550 using Durability = IDBTransaction::Durability;
2551
2552 private:
2553 const SafeRefPtr<Database> mDatabase;
2554 nsTArray<SafeRefPtr<FullObjectStoreMetadata>>
2555 mModifiedAutoIncrementObjectStoreMetadataArray;
2556 LazyInitializedOnceNotNull<const uint64_t> mTransactionId;
2557 const nsCString mDatabaseId;
2558 const int64_t mLoggingSerialNumber;
2559 uint64_t mActiveRequestCount;
2560 Atomic<bool> mInvalidatedOnAnyThread;
2561 const Mode mMode;
2562 const Durability mDurability;
2563 FlippedOnce<false> mInitialized;
2564 FlippedOnce<false> mHasBeenActiveOnConnectionThread;
2565 FlippedOnce<false> mActorDestroyed;
2566 FlippedOnce<false> mInvalidated;
2567
2568 protected:
2569 nsresult mResultCode;
2570 FlippedOnce<false> mCommitOrAbortReceived;
2571 FlippedOnce<false> mCommittedOrAborted;
2572 FlippedOnce<false> mForceAborted;
2573 LazyInitializedOnce<const Maybe<int64_t>> mLastRequestBeforeCommit;
2574 Maybe<int64_t> mLastFailedRequest;
2575
2576 public:
2577 void AssertIsOnConnectionThread() const {
2578 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2578); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2578; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2579 mDatabase->AssertIsOnConnectionThread();
2580 }
2581
2582 bool IsActorDestroyed() const {
2583 AssertIsOnBackgroundThread();
2584
2585 return mActorDestroyed;
2586 }
2587
2588 // Must be called on the background thread.
2589 bool IsInvalidated() const {
2590 MOZ_ASSERT(IsOnBackgroundThread(), "Use IsInvalidatedOnAnyThread()")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("IsOnBackgroundThread()"
" (" "Use IsInvalidatedOnAnyThread()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2590); AnnotateMozCrashReason("MOZ_ASSERT" "(" "IsOnBackgroundThread()"
") (" "Use IsInvalidatedOnAnyThread()" ")"); do { *((volatile
int*)__null) = 2590; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false)
;
2591 MOZ_ASSERT_IF(mInvalidated, NS_FAILED(mResultCode))do { if (mInvalidated) { do { static_assert( mozilla::detail::
AssertionConditionType<decltype(((bool)(__builtin_expect(!
!(NS_FAILED_impl(mResultCode)), 0))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
NS_FAILED_impl(mResultCode)), 0)))))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(NS_FAILED_impl(mResultCode)), 0)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2591); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(NS_FAILED_impl(mResultCode)), 0)))"
")"); do { *((volatile int*)__null) = 2591; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
2592
2593 return mInvalidated;
2594 }
2595
2596 // May be called on any thread, but is more expensive than IsInvalidated().
2597 bool IsInvalidatedOnAnyThread() const { return mInvalidatedOnAnyThread; }
2598
2599 void Init(const uint64_t aTransactionId) {
2600 AssertIsOnBackgroundThread();
2601 MOZ_ASSERT(aTransactionId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aTransactionId)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aTransactionId))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aTransactionId"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2601); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aTransactionId"
")"); do { *((volatile int*)__null) = 2601; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2602
2603 mTransactionId.init(aTransactionId);
2604 mInitialized.Flip();
2605 }
2606
2607 void SetActiveOnConnectionThread() {
2608 AssertIsOnConnectionThread();
2609 mHasBeenActiveOnConnectionThread.Flip();
2610 }
2611
2612 MOZ_DECLARE_REFCOUNTED_TYPENAME(mozilla::dom::indexedDB::TransactionBase)const char* typeName() const { return "mozilla::dom::indexedDB::TransactionBase"
; } size_t typeSize() const { return sizeof(*this); }
2613
2614 void Abort(nsresult aResultCode, bool aForce);
2615
2616 uint64_t TransactionId() const { return *mTransactionId; }
2617
2618 const nsACString& DatabaseId() const { return mDatabaseId; }
2619
2620 Mode GetMode() const { return mMode; }
2621
2622 Durability GetDurability() const { return mDurability; }
2623
2624 const Database& GetDatabase() const {
2625 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2625); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2625; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2626
2627 return *mDatabase;
2628 }
2629
2630 Database& GetMutableDatabase() const {
2631 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2631); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2631; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2632
2633 return *mDatabase;
2634 }
2635
2636 SafeRefPtr<Database> GetDatabasePtr() const {
2637 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2637); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2637; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2638
2639 return mDatabase.clonePtr();
2640 }
2641
2642 DatabaseLoggingInfo* GetLoggingInfo() const {
2643 AssertIsOnBackgroundThread();
2644 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2644); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2644; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2645
2646 return mDatabase->GetLoggingInfo();
2647 }
2648
2649 int64_t LoggingSerialNumber() const { return mLoggingSerialNumber; }
2650
2651 bool IsAborted() const {
2652 AssertIsOnBackgroundThread();
2653
2654 return NS_FAILED(mResultCode)((bool)(__builtin_expect(!!(NS_FAILED_impl(mResultCode)), 0))
)
;
2655 }
2656
2657 [[nodiscard]] SafeRefPtr<FullObjectStoreMetadata> GetMetadataForObjectStoreId(
2658 IndexOrObjectStoreId aObjectStoreId) const;
2659
2660 [[nodiscard]] SafeRefPtr<FullIndexMetadata> GetMetadataForIndexId(
2661 FullObjectStoreMetadata& aObjectStoreMetadata,
2662 IndexOrObjectStoreId aIndexId) const;
2663
2664 PBackgroundParent* GetBackgroundParent() const {
2665 AssertIsOnBackgroundThread();
2666 MOZ_ASSERT(!IsActorDestroyed())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsActorDestroyed())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsActorDestroyed()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!IsActorDestroyed()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2666); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsActorDestroyed()"
")"); do { *((volatile int*)__null) = 2666; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2667
2668 return GetDatabase().GetBackgroundParent();
2669 }
2670
2671 void NoteModifiedAutoIncrementObjectStore(
2672 const SafeRefPtr<FullObjectStoreMetadata>& aMetadata);
2673
2674 void ForgetModifiedAutoIncrementObjectStore(
2675 FullObjectStoreMetadata& aMetadata);
2676
2677 void NoteActiveRequest();
2678
2679 void NoteFinishedRequest(int64_t aRequestId, nsresult aResultCode);
2680
2681 void Invalidate();
2682
2683 virtual ~TransactionBase();
2684
2685 protected:
2686 TransactionBase(SafeRefPtr<Database> aDatabase, Mode aMode,
2687 Durability aDurability);
2688
2689 void NoteActorDestroyed() {
2690 AssertIsOnBackgroundThread();
2691
2692 mActorDestroyed.Flip();
2693 }
2694
2695#ifdef DEBUG1
2696 // Only called by VersionChangeTransaction.
2697 void FakeActorDestroyed() { mActorDestroyed.EnsureFlipped(); }
2698#endif
2699
2700 mozilla::ipc::IPCResult RecvCommit(IProtocol* aActor,
2701 const Maybe<int64_t> aLastRequest);
2702
2703 mozilla::ipc::IPCResult RecvAbort(IProtocol* aActor, nsresult aResultCode);
2704
2705 void MaybeCommitOrAbort() {
2706 AssertIsOnBackgroundThread();
2707
2708 // If we've already committed or aborted then there's nothing else to do.
2709 if (mCommittedOrAborted) {
2710 return;
2711 }
2712
2713 // If there are active requests then we have to wait for those requests to
2714 // complete (see NoteFinishedRequest).
2715 if (mActiveRequestCount) {
2716 return;
2717 }
2718
2719 // If we haven't yet received a commit or abort message then there could be
2720 // additional requests coming so we should wait unless we're being forced to
2721 // abort.
2722 if (!mCommitOrAbortReceived && !mForceAborted) {
2723 return;
2724 }
2725
2726 CommitOrAbort();
2727 }
2728
2729 PBackgroundIDBRequestParent* AllocRequest(const int64_t aRequestId,
2730 RequestParams&& aParams,
2731 bool aTrustParams);
2732
2733 bool StartRequest(PBackgroundIDBRequestParent* aActor);
2734
2735 bool DeallocRequest(PBackgroundIDBRequestParent* aActor);
2736
2737 already_AddRefed<PBackgroundIDBCursorParent> AllocCursor(
2738 const OpenCursorParams& aParams, bool aTrustParams);
2739
2740 bool StartCursor(PBackgroundIDBCursorParent* aActor, const int64_t aRequestId,
2741 const OpenCursorParams& aParams);
2742
2743 virtual void UpdateMetadata(nsresult aResult) {}
2744
2745 virtual void SendCompleteNotification(nsresult aResult) = 0;
2746
2747 private:
2748 bool VerifyRequestParams(const RequestParams& aParams) const;
2749
2750 bool VerifyRequestParams(const SerializedKeyRange& aParams) const;
2751
2752 bool VerifyRequestParams(const ObjectStoreAddPutParams& aParams) const;
2753
2754 bool VerifyRequestParams(const Maybe<SerializedKeyRange>& aParams) const;
2755
2756 void CommitOrAbort();
2757};
2758
2759class TransactionBase::CommitOp final : public DatabaseOperationBase,
2760 public ConnectionPool::FinishCallback {
2761 friend class TransactionBase;
2762
2763 SafeRefPtr<TransactionBase> mTransaction;
2764 nsresult mResultCode; ///< TODO: There is also a mResultCode in
2765 ///< DatabaseOperationBase. Is there a reason not to
2766 ///< use that? At least a more specific name should be
2767 ///< given to this one.
2768
2769 private:
2770 CommitOp(SafeRefPtr<TransactionBase> aTransaction, nsresult aResultCode);
2771
2772 ~CommitOp() override = default;
2773
2774 // Writes new autoIncrement counts to database.
2775 nsresult WriteAutoIncrementCounts();
2776
2777 // Updates counts after a database activity has finished.
2778 void CommitOrRollbackAutoIncrementCounts();
2779
2780 void AssertForeignKeyConsistency(DatabaseConnection* aConnection)
2781#ifdef DEBUG1
2782 ;
2783#else
2784 {
2785 }
2786#endif
2787
2788 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
2789
2790 void TransactionFinishedBeforeUnblock() override;
2791
2792 void TransactionFinishedAfterUnblock() override;
2793
2794 public:
2795 // We need to declare all of nsISupports, because FinishCallback has
2796 // a pure-virtual nsISupports declaration.
2797 NS_DECL_ISUPPORTS_INHERITEDpublic: virtual nsresult QueryInterface(const nsIID& aIID
, void** aInstancePtr) override; virtual MozExternalRefCountType
AddRef(void) override; virtual MozExternalRefCountType Release
(void) override;
2798};
2799
2800class NormalTransaction final : public TransactionBase,
2801 public PBackgroundIDBTransactionParent {
2802 nsTArray<SafeRefPtr<FullObjectStoreMetadata>> mObjectStores;
2803
2804 // Reference counted.
2805 ~NormalTransaction() override = default;
2806
2807 bool IsSameProcessActor();
2808
2809 // Only called by TransactionBase.
2810 void SendCompleteNotification(nsresult aResult) override;
2811
2812 // IPDL methods are only called by IPDL.
2813 void ActorDestroy(ActorDestroyReason aWhy) override;
2814
2815 mozilla::ipc::IPCResult RecvDeleteMe() override;
2816
2817 mozilla::ipc::IPCResult RecvCommit(
2818 const Maybe<int64_t>& aLastRequest) override;
2819
2820 mozilla::ipc::IPCResult RecvAbort(const nsresult& aResultCode) override;
2821
2822 PBackgroundIDBRequestParent* AllocPBackgroundIDBRequestParent(
2823 const int64_t& aRequestId, const RequestParams& aParams) override;
2824
2825 mozilla::ipc::IPCResult RecvPBackgroundIDBRequestConstructor(
2826 PBackgroundIDBRequestParent* aActor, const int64_t& aRequestId,
2827 const RequestParams& aParams) override;
2828
2829 bool DeallocPBackgroundIDBRequestParent(
2830 PBackgroundIDBRequestParent* aActor) override;
2831
2832 already_AddRefed<PBackgroundIDBCursorParent> AllocPBackgroundIDBCursorParent(
2833 const int64_t& aRequestId, const OpenCursorParams& aParams) override;
2834
2835 mozilla::ipc::IPCResult RecvPBackgroundIDBCursorConstructor(
2836 PBackgroundIDBCursorParent* aActor, const int64_t& aRequestId,
2837 const OpenCursorParams& aParams) override;
2838
2839 public:
2840 // This constructor is only called by Database.
2841 NormalTransaction(
2842 SafeRefPtr<Database> aDatabase, TransactionBase::Mode aMode,
2843 TransactionBase::Durability aDurability,
2844 nsTArray<SafeRefPtr<FullObjectStoreMetadata>>&& aObjectStores);
2845
2846 MOZ_INLINE_DECL_SAFEREFCOUNTING_INHERITED(NormalTransaction, TransactionBase)template <typename T, ::mozilla::detail::RefCountAtomicity
Atomicity> friend class ::mozilla::detail::SafeRefCounted
; virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<NormalTransaction>, "Reference-counted class "
"NormalTransaction" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = TransactionBase
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<NormalTransaction>) { NS_LogAddRef((this), (r), ("NormalTransaction"
), (uint32_t)(sizeof(*this))); } return r; } virtual MozExternalRefCountType
Release() override { nsrefcnt r = TransactionBase::Release()
; if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt<
NormalTransaction>) { NS_LogRelease((this), (r), ("NormalTransaction"
)); } return r; }
2847};
2848
2849class VersionChangeTransaction final
2850 : public TransactionBase,
2851 public PBackgroundIDBVersionChangeTransactionParent {
2852 friend class OpenDatabaseOp;
2853
2854 RefPtr<OpenDatabaseOp> mOpenDatabaseOp;
2855 SafeRefPtr<FullDatabaseMetadata> mOldMetadata;
2856
2857 FlippedOnce<false> mActorWasAlive;
2858
2859 public:
2860 // Only called by OpenDatabaseOp.
2861 explicit VersionChangeTransaction(OpenDatabaseOp* aOpenDatabaseOp);
2862
2863 MOZ_INLINE_DECL_SAFEREFCOUNTING_INHERITED(VersionChangeTransaction,template <typename T, ::mozilla::detail::RefCountAtomicity
Atomicity> friend class ::mozilla::detail::SafeRefCounted
; virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<VersionChangeTransaction>, "Reference-counted class "
"VersionChangeTransaction" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = TransactionBase
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<VersionChangeTransaction>) { NS_LogAddRef((this), (r),
("VersionChangeTransaction"), (uint32_t)(sizeof(*this))); } return
r; } virtual MozExternalRefCountType Release() override { nsrefcnt
r = TransactionBase::Release(); if constexpr (::mozilla::detail
::ShouldLogInheritedRefcnt<VersionChangeTransaction>) {
NS_LogRelease((this), (r), ("VersionChangeTransaction")); } return
r; }
2864 TransactionBase)template <typename T, ::mozilla::detail::RefCountAtomicity
Atomicity> friend class ::mozilla::detail::SafeRefCounted
; virtual MozExternalRefCountType AddRef() override { static_assert
(!std::is_destructible_v<VersionChangeTransaction>, "Reference-counted class "
"VersionChangeTransaction" " should not have a public destructor. "
"Make this class's destructor non-public"); nsrefcnt r = TransactionBase
::AddRef(); if constexpr (::mozilla::detail::ShouldLogInheritedRefcnt
<VersionChangeTransaction>) { NS_LogAddRef((this), (r),
("VersionChangeTransaction"), (uint32_t)(sizeof(*this))); } return
r; } virtual MozExternalRefCountType Release() override { nsrefcnt
r = TransactionBase::Release(); if constexpr (::mozilla::detail
::ShouldLogInheritedRefcnt<VersionChangeTransaction>) {
NS_LogRelease((this), (r), ("VersionChangeTransaction")); } return
r; }
2865
2866 private:
2867 // Reference counted.
2868 ~VersionChangeTransaction() override;
2869
2870 bool IsSameProcessActor();
2871
2872 // Only called by OpenDatabaseOp.
2873 bool CopyDatabaseMetadata();
2874
2875 void SetActorAlive();
2876
2877 // Only called by TransactionBase.
2878 void UpdateMetadata(nsresult aResult) override;
2879
2880 // Only called by TransactionBase.
2881 void SendCompleteNotification(nsresult aResult) override;
2882
2883 // IPDL methods are only called by IPDL.
2884 void ActorDestroy(ActorDestroyReason aWhy) override;
2885
2886 mozilla::ipc::IPCResult RecvDeleteMe() override;
2887
2888 mozilla::ipc::IPCResult RecvCommit(
2889 const Maybe<int64_t>& aLastRequest) override;
2890
2891 mozilla::ipc::IPCResult RecvAbort(const nsresult& aResultCode) override;
2892
2893 mozilla::ipc::IPCResult RecvCreateObjectStore(
2894 const ObjectStoreMetadata& aMetadata) override;
2895
2896 mozilla::ipc::IPCResult RecvDeleteObjectStore(
2897 const IndexOrObjectStoreId& aObjectStoreId) override;
2898
2899 mozilla::ipc::IPCResult RecvRenameObjectStore(
2900 const IndexOrObjectStoreId& aObjectStoreId,
2901 const nsAString& aName) override;
2902
2903 mozilla::ipc::IPCResult RecvCreateIndex(
2904 const IndexOrObjectStoreId& aObjectStoreId,
2905 const IndexMetadata& aMetadata) override;
2906
2907 mozilla::ipc::IPCResult RecvDeleteIndex(
2908 const IndexOrObjectStoreId& aObjectStoreId,
2909 const IndexOrObjectStoreId& aIndexId) override;
2910
2911 mozilla::ipc::IPCResult RecvRenameIndex(
2912 const IndexOrObjectStoreId& aObjectStoreId,
2913 const IndexOrObjectStoreId& aIndexId, const nsAString& aName) override;
2914
2915 PBackgroundIDBRequestParent* AllocPBackgroundIDBRequestParent(
2916 const int64_t& aRequestId, const RequestParams& aParams) override;
2917
2918 mozilla::ipc::IPCResult RecvPBackgroundIDBRequestConstructor(
2919 PBackgroundIDBRequestParent* aActor, const int64_t& aRequestId,
2920 const RequestParams& aParams) override;
2921
2922 bool DeallocPBackgroundIDBRequestParent(
2923 PBackgroundIDBRequestParent* aActor) override;
2924
2925 already_AddRefed<PBackgroundIDBCursorParent> AllocPBackgroundIDBCursorParent(
2926 const int64_t& aRequestId, const OpenCursorParams& aParams) override;
2927
2928 mozilla::ipc::IPCResult RecvPBackgroundIDBCursorConstructor(
2929 PBackgroundIDBCursorParent* aActor, const int64_t& aRequestId,
2930 const OpenCursorParams& aParams) override;
2931};
2932
2933class FactoryOp
2934 : public DatabaseOperationBase,
2935 public SupportsCheckedUnsafePtr<CheckIf<DiagnosticAssertEnabled>> {
2936 public:
2937 struct MaybeBlockedDatabaseInfo final {
2938 SafeRefPtr<Database> mDatabase;
2939 bool mBlocked;
2940
2941 MaybeBlockedDatabaseInfo(MaybeBlockedDatabaseInfo&&) = default;
2942 MaybeBlockedDatabaseInfo& operator=(MaybeBlockedDatabaseInfo&&) = default;
2943
2944 MOZ_IMPLICIT MaybeBlockedDatabaseInfo(SafeRefPtr<Database> aDatabase)
2945 : mDatabase(std::move(aDatabase)), mBlocked(false) {
2946 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 2946); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 2946; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
2947
2948 MOZ_COUNT_CTOR(FactoryOp::MaybeBlockedDatabaseInfo)do { static_assert(std::is_class_v<FactoryOp::MaybeBlockedDatabaseInfo
>, "Token '" "FactoryOp::MaybeBlockedDatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, FactoryOp::
MaybeBlockedDatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "FactoryOp::MaybeBlockedDatabaseInfo"
, sizeof(*this)); } while (0)
;
2949 }
2950
2951 ~MaybeBlockedDatabaseInfo() {
2952 MOZ_COUNT_DTOR(FactoryOp::MaybeBlockedDatabaseInfo)do { static_assert(std::is_class_v<FactoryOp::MaybeBlockedDatabaseInfo
>, "Token '" "FactoryOp::MaybeBlockedDatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, FactoryOp::
MaybeBlockedDatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "FactoryOp::MaybeBlockedDatabaseInfo"
, sizeof(*this)); } while (0)
;
2953 }
2954
2955 bool operator==(const Database* aOther) const {
2956 return mDatabase == aOther;
2957 }
2958
2959 Database* operator->() const& MOZ_NO_ADDREF_RELEASE_ON_RETURN {
2960 return mDatabase.unsafeGetRawPtr();
2961 }
2962 };
2963
2964 protected:
2965 enum class State {
2966 // Just created on the PBackground thread, dispatched to the current thread.
2967 // Next step is either SendingResults if opening initialization failed, or
2968 // DirectoryOpenPending if the opening initialization succeeded.
2969 Initial,
2970
2971 // Waiting for directory open allowed on the PBackground thread. The next
2972 // step is either SendingResults if directory lock failed to acquire, or
2973 // DirectoryWorkOpen if the factory operation is not tied up to a specific
2974 // database, or DatabaseOpenPending otherwise.
2975 DirectoryOpenPending,
2976
2977 // Waiting to do/doing directory work on the QuotaManager IO thread. Its
2978 // next step is DirectoryWorkDone if directory work was successful or
2979 // SendingResults if directory work failed.
2980 DirectoryWorkOpen,
2981
2982 // Checking if database work can be started. If the database is not blocked
2983 // by other factory operations then the next step is DatabaseWorkOpen.
2984 // Otherwise the next step is DatabaseOpenPending.
2985 DirectoryWorkDone,
2986
2987 // Waiting for database open allowed on the PBackground thread. The next
2988 // step is DatabaseWorkOpen.
2989 DatabaseOpenPending,
2990
2991 // Waiting to do/doing work on the QuotaManager IO thread. Its next step is
2992 // either BeginVersionChange if the requested version doesn't match the
2993 // existing database version or SendingResults if the versions match.
2994 DatabaseWorkOpen,
2995
2996 // Starting a version change transaction or deleting a database on the
2997 // PBackground thread. We need to notify other databases that a version
2998 // change is about to happen, and maybe tell the request that a version
2999 // change has been blocked. If databases are notified then the next step is
3000 // WaitingForOtherDatabasesToClose. Otherwise the next step is
3001 // WaitingForTransactionsToComplete.
3002 BeginVersionChange,
3003
3004 // Waiting for other databases to close on the PBackground thread. This
3005 // state may persist until all databases are closed. The next state is
3006 // WaitingForTransactionsToComplete.
3007 WaitingForOtherDatabasesToClose,
3008
3009 // Waiting for all transactions that could interfere with this operation to
3010 // complete on the PBackground thread. Next state is
3011 // DatabaseWorkVersionChange.
3012 WaitingForTransactionsToComplete,
3013
3014 // Waiting to do/doing work on the "work thread". This involves waiting for
3015 // the VersionChangeOp (OpenDatabaseOp and DeleteDatabaseOp each have a
3016 // different implementation) to do its work. If the VersionChangeOp is
3017 // OpenDatabaseOp and it succeeded then the next state is
3018 // DatabaseWorkVersionUpdate. Otherwise the next step is SendingResults.
3019 DatabaseWorkVersionChange,
3020
3021 // Waiting to do/doing finalization work on the QuotaManager IO thread.
3022 // Eventually the state will transition to SendingResults.
3023 DatabaseWorkVersionUpdate,
3024
3025 // Waiting to send/sending results on the PBackground thread. Next step is
3026 // Completed.
3027 SendingResults,
3028
3029 // All done.
3030 Completed
3031 };
3032
3033 // Must be released on the background thread!
3034 SafeRefPtr<Factory> mFactory;
3035
3036 Maybe<ContentParentId> mContentParentId;
3037
3038 // Must be released on the main thread!
3039 RefPtr<ClientDirectoryLock> mDirectoryLock;
3040
3041 nsTArray<NotNull<RefPtr<FactoryOp>>> mBlocking;
3042 nsTArray<NotNull<RefPtr<FactoryOp>>> mBlockedOn;
3043
3044 nsTArray<MaybeBlockedDatabaseInfo> mMaybeBlockedDatabases;
3045
3046 const PrincipalInfo mPrincipalInfo;
3047 OriginMetadata mOriginMetadata;
3048 Maybe<nsString> mDatabaseName;
3049 Maybe<nsCString> mDatabaseId;
3050 Maybe<nsString> mDatabaseFilePath;
3051 int64_t mDirectoryLockId;
3052 const PersistenceType mPersistenceType;
3053 State mState;
3054 bool mWaitingForPermissionRetry;
3055 bool mEnforcingQuota;
3056 const bool mDeleting;
3057 FlippedOnce<false> mInPrivateBrowsing;
3058
3059 public:
3060 const nsACString& Origin() const {
3061 AssertIsOnOwningThread();
3062
3063 return mOriginMetadata.mOrigin;
3064 }
3065
3066 const Maybe<nsString>& DatabaseNameRef() const {
3067 AssertIsOnOwningThread();
3068
3069 return mDatabaseName;
3070 }
3071
3072 bool DatabaseFilePathIsKnown() const {
3073 AssertIsOnOwningThread();
3074
3075 return mDatabaseFilePath.isSome();
3076 }
3077
3078 const nsAString& DatabaseFilePath() const {
3079 AssertIsOnOwningThread();
3080 MOZ_ASSERT(mDatabaseFilePath)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabaseFilePath)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabaseFilePath))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mDatabaseFilePath"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3080); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabaseFilePath"
")"); do { *((volatile int*)__null) = 3080; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3081
3082 return mDatabaseFilePath.ref();
3083 }
3084
3085 nsresult DispatchThisAfterProcessingCurrentEvent(
3086 nsCOMPtr<nsIEventTarget> aEventTarget);
3087
3088 void NoteDatabaseBlocked(Database* aDatabase);
3089
3090 void NoteDatabaseClosed(Database* aDatabase);
3091
3092#ifdef DEBUG1
3093 bool HasBlockedDatabases() const { return !mMaybeBlockedDatabases.IsEmpty(); }
3094#endif
3095
3096 void StringifyState(nsACString& aResult) const;
3097
3098 void Stringify(nsACString& aResult) const;
3099
3100 protected:
3101 FactoryOp(SafeRefPtr<Factory> aFactory,
3102 const Maybe<ContentParentId>& aContentParentId,
3103 const PersistenceType aPersistenceType,
3104 const PrincipalInfo& aPrincipalInfo,
3105 const Maybe<nsString>& aDatabaseName, bool aDeleting);
3106
3107 ~FactoryOp() override {
3108 // Normally this would be out-of-line since it is a virtual function but
3109 // MSVC 2010 fails to link for some reason if it is not inlined here...
3110 MOZ_ASSERT_IF(OperationMayProceed(),do { if (OperationMayProceed()) { do { static_assert( mozilla
::detail::AssertionConditionType<decltype(mState == State::
Initial || mState == State::Completed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Initial || mState
== State::Completed))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mState == State::Initial || mState == State::Completed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3111); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial || mState == State::Completed"
")"); do { *((volatile int*)__null) = 3111; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3111 mState == State::Initial || mState == State::Completed)do { if (OperationMayProceed()) { do { static_assert( mozilla
::detail::AssertionConditionType<decltype(mState == State::
Initial || mState == State::Completed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Initial || mState
== State::Completed))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mState == State::Initial || mState == State::Completed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3111); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial || mState == State::Completed"
")"); do { *((volatile int*)__null) = 3111; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
3112 }
3113
3114 nsresult Open();
3115
3116 nsresult DirectoryOpen();
3117
3118 nsresult DirectoryWorkDone();
3119
3120 nsresult SendToIOThread();
3121
3122 void WaitForTransactions();
3123
3124 void CleanupMetadata();
3125
3126 void FinishSendResults();
3127
3128 nsresult SendVersionChangeMessages(DatabaseActorInfo* aDatabaseActorInfo,
3129 Maybe<Database&> aOpeningDatabase,
3130 uint64_t aOldVersion,
3131 const Maybe<uint64_t>& aNewVersion);
3132
3133 // Methods that subclasses must implement.
3134 virtual nsresult DoDirectoryWork() = 0;
3135
3136 virtual nsresult DatabaseOpen() = 0;
3137
3138 virtual nsresult DoDatabaseWork() = 0;
3139
3140 virtual nsresult BeginVersionChange() = 0;
3141
3142 virtual bool AreActorsAlive() = 0;
3143
3144 virtual nsresult DispatchToWorkThread() = 0;
3145
3146 virtual nsresult DoVersionUpdate() = 0;
3147
3148 // Should only be called by Run().
3149 virtual void SendResults() = 0;
3150
3151 // Common nsIRunnable implementation that subclasses may not override.
3152 NS_IMETHODvirtual nsresult
3153 Run() final;
3154
3155 void DirectoryLockAcquired(ClientDirectoryLock* aLock);
3156
3157 void DirectoryLockFailed();
3158
3159 virtual void SendBlockedNotification() = 0;
3160
3161 private:
3162 // Test whether this FactoryOp needs to wait for the given op.
3163 bool MustWaitFor(const FactoryOp& aExistingOp);
3164
3165 void AddBlockingOp(FactoryOp& aOp) {
3166 AssertIsOnOwningThread();
3167
3168 mBlocking.AppendElement(WrapNotNull(&aOp));
3169 }
3170
3171 void AddBlockedOnOp(FactoryOp& aOp) {
3172 AssertIsOnOwningThread();
3173
3174 mBlockedOn.AppendElement(WrapNotNull(&aOp));
3175 }
3176
3177 void MaybeUnblock(FactoryOp& aOp) {
3178 AssertIsOnOwningThread();
3179
3180 mBlockedOn.RemoveElement(&aOp);
3181 if (mBlockedOn.IsEmpty()) {
3182 MOZ_ALWAYS_SUCCEEDS(NS_DispatchToCurrentThread(this))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(NS_DispatchToCurrentThread(this))), 1)))), 1))) { } else { do
{ do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(NS_DispatchToCurrentThread(this))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3182); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(NS_DispatchToCurrentThread(this))"
")"); do { *((volatile int*)__null) = 3182; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
3183 }
3184 }
3185};
3186
3187class FactoryRequestOp : public FactoryOp,
3188 public PBackgroundIDBFactoryRequestParent {
3189 protected:
3190 const CommonFactoryRequestParams mCommonParams;
3191
3192 FactoryRequestOp(SafeRefPtr<Factory> aFactory,
3193 const Maybe<ContentParentId>& aContentParentId,
3194 const CommonFactoryRequestParams& aCommonParams,
3195 bool aDeleting)
3196 : FactoryOp(std::move(aFactory), aContentParentId,
3197 aCommonParams.metadata().persistenceType(),
3198 aCommonParams.principalInfo(),
3199 Some(aCommonParams.metadata().name()), aDeleting),
3200 mCommonParams(aCommonParams) {}
3201
3202 nsresult DoDirectoryWork() override;
3203
3204 // IPDL methods.
3205 void ActorDestroy(ActorDestroyReason aWhy) override;
3206};
3207
3208class OpenDatabaseOp final : public FactoryRequestOp {
3209 friend class Database;
3210 friend class VersionChangeTransaction;
3211
3212 class VersionChangeOp;
3213
3214 SafeRefPtr<FullDatabaseMetadata> mMetadata;
3215
3216 uint64_t mRequestedVersion;
3217 SafeRefPtr<DatabaseFileManager> mFileManager;
3218
3219 SafeRefPtr<Database> mDatabase;
3220 SafeRefPtr<VersionChangeTransaction> mVersionChangeTransaction;
3221
3222 // This is only set while a VersionChangeOp is live. It holds a strong
3223 // reference to its OpenDatabaseOp object so this is a weak pointer to avoid
3224 // cycles.
3225 VersionChangeOp* mVersionChangeOp;
3226
3227 MoveOnlyFunction<void()> mCompleteCallback;
3228
3229 uint32_t mTelemetryId;
3230
3231 public:
3232 OpenDatabaseOp(SafeRefPtr<Factory> aFactory,
3233 const Maybe<ContentParentId>& aContentParentId,
3234 const CommonFactoryRequestParams& aParams);
3235
3236 private:
3237 ~OpenDatabaseOp() override { MOZ_ASSERT(!mVersionChangeOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mVersionChangeOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mVersionChangeOp))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!mVersionChangeOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3237); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mVersionChangeOp"
")"); do { *((volatile int*)__null) = 3237; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
; }
3238
3239 nsresult LoadDatabaseInformation(mozIStorageConnection& aConnection);
3240
3241 nsresult SendUpgradeNeeded();
3242
3243 void EnsureDatabaseActor();
3244
3245 nsresult EnsureDatabaseActorIsAlive();
3246
3247 mozilla::Result<DatabaseSpec, nsresult> MetadataToSpec() const;
3248
3249 void AssertMetadataConsistency(const FullDatabaseMetadata& aMetadata)
3250#ifdef DEBUG1
3251 ;
3252#else
3253 {
3254 }
3255#endif
3256
3257 void ConnectionClosedCallback();
3258
3259 void ActorDestroy(ActorDestroyReason aWhy) override;
3260
3261 nsresult DatabaseOpen() override;
3262
3263 nsresult DoDatabaseWork() override;
3264
3265 nsresult BeginVersionChange() override;
3266
3267 bool AreActorsAlive() override;
3268
3269 void SendBlockedNotification() override;
3270
3271 nsresult DispatchToWorkThread() override;
3272
3273 nsresult DoVersionUpdate() override;
3274
3275 void SendResults() override;
3276
3277 static nsresult UpdateLocaleAwareIndex(mozIStorageConnection& aConnection,
3278 const IndexMetadata& aIndexMetadata,
3279 const nsCString& aLocale);
3280};
3281
3282class OpenDatabaseOp::VersionChangeOp final
3283 : public TransactionDatabaseOperationBase {
3284 friend class OpenDatabaseOp;
3285
3286 RefPtr<OpenDatabaseOp> mOpenDatabaseOp;
3287 const uint64_t mRequestedVersion;
3288 uint64_t mPreviousVersion;
3289
3290 private:
3291 explicit VersionChangeOp(OpenDatabaseOp* aOpenDatabaseOp)
3292 : TransactionDatabaseOperationBase(
3293 aOpenDatabaseOp->mVersionChangeTransaction.clonePtr(),
3294 /* aRequestId */ 0, aOpenDatabaseOp->LoggingSerialNumber()),
3295 mOpenDatabaseOp(aOpenDatabaseOp),
3296 mRequestedVersion(aOpenDatabaseOp->mRequestedVersion),
3297 mPreviousVersion(
3298 aOpenDatabaseOp->mMetadata->mCommonMetadata.version()) {
3299 MOZ_ASSERT(aOpenDatabaseOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aOpenDatabaseOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aOpenDatabaseOp))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aOpenDatabaseOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3299); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aOpenDatabaseOp"
")"); do { *((volatile int*)__null) = 3299; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3300 MOZ_ASSERT(mRequestedVersion)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mRequestedVersion)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mRequestedVersion))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mRequestedVersion"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3300); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mRequestedVersion"
")"); do { *((volatile int*)__null) = 3300; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3301 }
3302
3303 ~VersionChangeOp() override { MOZ_ASSERT(!mOpenDatabaseOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mOpenDatabaseOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mOpenDatabaseOp))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mOpenDatabaseOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3303); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mOpenDatabaseOp"
")"); do { *((volatile int*)__null) = 3303; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
; }
3304
3305 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3306
3307 nsresult SendSuccessResult() override;
3308
3309 bool SendFailureResult(nsresult aResultCode) override;
3310
3311 void Cleanup() override;
3312};
3313
3314class DeleteDatabaseOp final : public FactoryRequestOp {
3315 class VersionChangeOp;
3316
3317 nsString mDatabaseDirectoryPath;
3318 nsString mDatabaseFilenameBase;
3319 uint64_t mPreviousVersion;
3320
3321 public:
3322 DeleteDatabaseOp(SafeRefPtr<Factory> aFactory,
3323 const Maybe<ContentParentId>& aContentParentId,
3324 const CommonFactoryRequestParams& aParams)
3325 : FactoryRequestOp(std::move(aFactory), aContentParentId, aParams,
3326 /* aDeleting */ true),
3327 mPreviousVersion(0) {}
3328
3329 private:
3330 ~DeleteDatabaseOp() override = default;
3331
3332 void LoadPreviousVersion(nsIFile& aDatabaseFile);
3333
3334 nsresult DatabaseOpen() override;
3335
3336 nsresult DoDatabaseWork() override;
3337
3338 nsresult BeginVersionChange() override;
3339
3340 bool AreActorsAlive() override;
3341
3342 void SendBlockedNotification() override;
3343
3344 nsresult DispatchToWorkThread() override;
3345
3346 nsresult DoVersionUpdate() override;
3347
3348 void SendResults() override;
3349};
3350
3351class DeleteDatabaseOp::VersionChangeOp final : public DatabaseOperationBase {
3352 friend class DeleteDatabaseOp;
3353
3354 RefPtr<DeleteDatabaseOp> mDeleteDatabaseOp;
3355
3356 private:
3357 explicit VersionChangeOp(DeleteDatabaseOp* aDeleteDatabaseOp)
3358 : DatabaseOperationBase(aDeleteDatabaseOp->BackgroundChildLoggingId(),
3359 aDeleteDatabaseOp->LoggingSerialNumber()),
3360 mDeleteDatabaseOp(aDeleteDatabaseOp) {
3361 MOZ_ASSERT(aDeleteDatabaseOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDeleteDatabaseOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDeleteDatabaseOp))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("aDeleteDatabaseOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3361); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDeleteDatabaseOp"
")"); do { *((volatile int*)__null) = 3361; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3362 MOZ_ASSERT(!aDeleteDatabaseOp->mDatabaseDirectoryPath.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDeleteDatabaseOp->mDatabaseDirectoryPath.IsEmpty
())>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!aDeleteDatabaseOp->mDatabaseDirectoryPath.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!aDeleteDatabaseOp->mDatabaseDirectoryPath.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3362); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDeleteDatabaseOp->mDatabaseDirectoryPath.IsEmpty()"
")"); do { *((volatile int*)__null) = 3362; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3363 }
3364
3365 ~VersionChangeOp() override = default;
3366
3367 nsresult RunOnIOThread();
3368
3369 void RunOnOwningThread();
3370
3371 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
3372};
3373
3374class GetDatabasesOp final : public FactoryOp {
3375 nsTHashMap<nsStringHashKey, DatabaseMetadata> mDatabaseMetadataTable;
3376 nsTArray<DatabaseMetadata> mDatabaseMetadataArray;
3377 Factory::GetDatabasesResolver mResolver;
3378
3379 public:
3380 GetDatabasesOp(SafeRefPtr<Factory> aFactory,
3381 const Maybe<ContentParentId>& aContentParentId,
3382 const PersistenceType aPersistenceType,
3383 const PrincipalInfo& aPrincipalInfo,
3384 Factory::GetDatabasesResolver&& aResolver)
3385 : FactoryOp(std::move(aFactory), aContentParentId, aPersistenceType,
3386 aPrincipalInfo, Nothing(), /* aDeleting */ false),
3387 mResolver(std::move(aResolver)) {}
3388
3389 private:
3390 ~GetDatabasesOp() override = default;
3391
3392 nsresult DatabasesNotAvailable();
3393
3394 nsresult DoDirectoryWork() override;
3395
3396 nsresult DatabaseOpen() override;
3397
3398 nsresult DoDatabaseWork() override;
3399
3400 nsresult BeginVersionChange() override;
3401
3402 bool AreActorsAlive() override;
3403
3404 void SendBlockedNotification() override;
3405
3406 nsresult DispatchToWorkThread() override;
3407
3408 nsresult DoVersionUpdate() override;
3409
3410 void SendResults() override;
3411};
3412
3413class VersionChangeTransactionOp : public TransactionDatabaseOperationBase {
3414 public:
3415 void Cleanup() override;
3416
3417 protected:
3418 explicit VersionChangeTransactionOp(
3419 SafeRefPtr<VersionChangeTransaction> aTransaction)
3420 : TransactionDatabaseOperationBase(std::move(aTransaction),
3421 /* aRequestId */ 0) {}
3422
3423 ~VersionChangeTransactionOp() override = default;
3424
3425 private:
3426 nsresult SendSuccessResult() override;
3427
3428 bool SendFailureResult(nsresult aResultCode) override;
3429};
3430
3431class CreateObjectStoreOp final : public VersionChangeTransactionOp {
3432 friend class VersionChangeTransaction;
3433
3434 const ObjectStoreMetadata mMetadata;
3435
3436 private:
3437 // Only created by VersionChangeTransaction.
3438 CreateObjectStoreOp(SafeRefPtr<VersionChangeTransaction> aTransaction,
3439 const ObjectStoreMetadata& aMetadata)
3440 : VersionChangeTransactionOp(std::move(aTransaction)),
3441 mMetadata(aMetadata) {
3442 MOZ_ASSERT(aMetadata.id())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMetadata.id())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMetadata.id()))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aMetadata.id()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3442); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMetadata.id()"
")"); do { *((volatile int*)__null) = 3442; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3443 }
3444
3445 ~CreateObjectStoreOp() override = default;
3446
3447 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3448};
3449
3450class DeleteObjectStoreOp final : public VersionChangeTransactionOp {
3451 friend class VersionChangeTransaction;
3452
3453 const SafeRefPtr<FullObjectStoreMetadata> mMetadata;
3454 const bool mIsLastObjectStore;
3455
3456 private:
3457 // Only created by VersionChangeTransaction.
3458 DeleteObjectStoreOp(SafeRefPtr<VersionChangeTransaction> aTransaction,
3459 SafeRefPtr<FullObjectStoreMetadata> aMetadata,
3460 const bool aIsLastObjectStore)
3461 : VersionChangeTransactionOp(std::move(aTransaction)),
3462 mMetadata(std::move(aMetadata)),
3463 mIsLastObjectStore(aIsLastObjectStore) {
3464 MOZ_ASSERT(mMetadata->mCommonMetadata.id())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mMetadata->mCommonMetadata.id())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mMetadata->mCommonMetadata
.id()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mMetadata->mCommonMetadata.id()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3464); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mMetadata->mCommonMetadata.id()"
")"); do { *((volatile int*)__null) = 3464; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3465 }
3466
3467 ~DeleteObjectStoreOp() override = default;
3468
3469 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3470};
3471
3472class RenameObjectStoreOp final : public VersionChangeTransactionOp {
3473 friend class VersionChangeTransaction;
3474
3475 const int64_t mId;
3476 const nsString mNewName;
3477
3478 private:
3479 // Only created by VersionChangeTransaction.
3480 RenameObjectStoreOp(SafeRefPtr<VersionChangeTransaction> aTransaction,
3481 FullObjectStoreMetadata& aMetadata)
3482 : VersionChangeTransactionOp(std::move(aTransaction)),
3483 mId(aMetadata.mCommonMetadata.id()),
3484 mNewName(aMetadata.mCommonMetadata.name()) {
3485 MOZ_ASSERT(mId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mId)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(mId))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("mId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3485); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mId" ")"); do
{ *((volatile int*)__null) = 3485; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false)
;
3486 }
3487
3488 ~RenameObjectStoreOp() override = default;
3489
3490 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3491};
3492
3493class CreateIndexOp final : public VersionChangeTransactionOp {
3494 friend class VersionChangeTransaction;
3495
3496 class UpdateIndexDataValuesFunction;
3497
3498 const IndexMetadata mMetadata;
3499 Maybe<UniqueIndexTable> mMaybeUniqueIndexTable;
3500 const SafeRefPtr<DatabaseFileManager> mFileManager;
3501 const nsCString mDatabaseId;
3502 const IndexOrObjectStoreId mObjectStoreId;
3503
3504 private:
3505 // Only created by VersionChangeTransaction.
3506 CreateIndexOp(SafeRefPtr<VersionChangeTransaction> aTransaction,
3507 IndexOrObjectStoreId aObjectStoreId,
3508 const IndexMetadata& aMetadata);
3509
3510 ~CreateIndexOp() override = default;
3511
3512 nsresult InsertDataFromObjectStore(DatabaseConnection* aConnection);
3513
3514 nsresult InsertDataFromObjectStoreInternal(
3515 DatabaseConnection* aConnection) const;
3516
3517 bool Init(TransactionBase& aTransaction) override;
3518
3519 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3520};
3521
3522class CreateIndexOp::UpdateIndexDataValuesFunction final
3523 : public mozIStorageFunction {
3524 RefPtr<CreateIndexOp> mOp;
3525 RefPtr<DatabaseConnection> mConnection;
3526 const NotNull<SafeRefPtr<Database>> mDatabase;
3527
3528 public:
3529 UpdateIndexDataValuesFunction(CreateIndexOp* aOp,
3530 DatabaseConnection* aConnection,
3531 SafeRefPtr<Database> aDatabase)
3532 : mOp(aOp),
3533 mConnection(aConnection),
3534 mDatabase(WrapNotNull(std::move(aDatabase))) {
3535 MOZ_ASSERT(aOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aOp)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(aOp))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("aOp", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3535); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aOp" ")"); do
{ *((volatile int*)__null) = 3535; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false)
;
3536 MOZ_ASSERT(aConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3536); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aConnection"
")"); do { *((volatile int*)__null) = 3536; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3537 aConnection->AssertIsOnConnectionThread();
3538 }
3539
3540 NS_DECL_ISUPPORTSpublic: virtual nsresult QueryInterface(const nsIID& aIID
, void** aInstancePtr) override; virtual MozExternalRefCountType
AddRef(void) override; virtual MozExternalRefCountType Release
(void) override; using HasThreadSafeRefCnt = std::false_type;
protected: nsAutoRefCnt mRefCnt; nsAutoOwningThread _mOwningThread
; public:
3541
3542 private:
3543 ~UpdateIndexDataValuesFunction() = default;
3544
3545 NS_DECL_MOZISTORAGEFUNCTIONvirtual nsresult OnFunctionCall(mozIStorageValueArray *aFunctionArguments
, nsIVariant **_retval) override;
3546};
3547
3548class DeleteIndexOp final : public VersionChangeTransactionOp {
3549 friend class VersionChangeTransaction;
3550
3551 const IndexOrObjectStoreId mObjectStoreId;
3552 const IndexOrObjectStoreId mIndexId;
3553 const bool mUnique;
3554 const bool mIsLastIndex;
3555
3556 private:
3557 // Only created by VersionChangeTransaction.
3558 DeleteIndexOp(SafeRefPtr<VersionChangeTransaction> aTransaction,
3559 IndexOrObjectStoreId aObjectStoreId,
3560 IndexOrObjectStoreId aIndexId, const bool aUnique,
3561 const bool aIsLastIndex);
3562
3563 ~DeleteIndexOp() override = default;
3564
3565 nsresult RemoveReferencesToIndex(
3566 DatabaseConnection* aConnection, const Key& aObjectDataKey,
3567 nsTArray<IndexDataValue>& aIndexValues) const;
3568
3569 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3570};
3571
3572class RenameIndexOp final : public VersionChangeTransactionOp {
3573 friend class VersionChangeTransaction;
3574
3575 const IndexOrObjectStoreId mObjectStoreId;
3576 const IndexOrObjectStoreId mIndexId;
3577 const nsString mNewName;
3578
3579 private:
3580 // Only created by VersionChangeTransaction.
3581 RenameIndexOp(SafeRefPtr<VersionChangeTransaction> aTransaction,
3582 FullIndexMetadata& aMetadata,
3583 IndexOrObjectStoreId aObjectStoreId)
3584 : VersionChangeTransactionOp(std::move(aTransaction)),
3585 mObjectStoreId(aObjectStoreId),
3586 mIndexId(aMetadata.mCommonMetadata.id()),
3587 mNewName(aMetadata.mCommonMetadata.name()) {
3588 MOZ_ASSERT(mIndexId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIndexId)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mIndexId))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mIndexId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3588); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIndexId" ")"
); do { *((volatile int*)__null) = 3588; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3589 }
3590
3591 ~RenameIndexOp() override = default;
3592
3593 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3594};
3595
3596class NormalTransactionOp : public TransactionDatabaseOperationBase,
3597 public PBackgroundIDBRequestParent {
3598#ifdef DEBUG1
3599 bool mResponseSent;
3600#endif
3601
3602 public:
3603 void Cleanup() override;
3604
3605 protected:
3606 NormalTransactionOp(SafeRefPtr<TransactionBase> aTransaction,
3607 const int64_t aRequestId)
3608 : TransactionDatabaseOperationBase(std::move(aTransaction), aRequestId)
3609#ifdef DEBUG1
3610 ,
3611 mResponseSent(false)
3612#endif
3613 {
3614 }
3615
3616 ~NormalTransactionOp() override = default;
3617
3618 // An overload of DatabaseOperationBase's function that can avoid doing extra
3619 // work on non-versionchange transactions.
3620 mozilla::Result<bool, nsresult> ObjectStoreHasIndexes(
3621 DatabaseConnection& aConnection, IndexOrObjectStoreId aObjectStoreId,
3622 bool aMayHaveIndexes);
3623
3624 virtual mozilla::Result<PreprocessParams, nsresult> GetPreprocessParams();
3625
3626 // Subclasses use this override to set the IPDL response value.
3627 virtual void GetResponse(RequestResponse& aResponse,
3628 size_t* aResponseSize) = 0;
3629
3630 private:
3631 nsresult SendPreprocessInfo() override;
3632
3633 nsresult SendSuccessResult() override;
3634
3635 bool SendFailureResult(nsresult aResultCode) override;
3636
3637 // IPDL methods.
3638 void ActorDestroy(ActorDestroyReason aWhy) override;
3639
3640 mozilla::ipc::IPCResult RecvContinue(
3641 const PreprocessResponse& aResponse) final;
3642};
3643
3644class ObjectStoreAddOrPutRequestOp final : public NormalTransactionOp {
3645 friend class TransactionBase;
3646
3647 using PersistenceType = mozilla::dom::quota::PersistenceType;
3648
3649 class StoredFileInfo final {
3650 InitializedOnce<const NotNull<SafeRefPtr<DatabaseFileInfo>>> mFileInfo;
3651 // Either nothing, a file actor or a non-Blob-backed inputstream to write to
3652 // disk.
3653 using FileActorOrInputStream =
3654 Variant<Nothing, RefPtr<DatabaseFile>, nsCOMPtr<nsIInputStream>>;
3655 InitializedOnce<const FileActorOrInputStream> mFileActorOrInputStream;
3656#ifdef DEBUG1
3657 const StructuredCloneFileBase::FileType mType;
3658#endif
3659 void EnsureCipherKey();
3660 void AssertInvariants() const;
3661
3662 StoredFileInfo(SafeRefPtr<DatabaseFileInfo> aFileInfo,
3663 RefPtr<DatabaseFile> aFileActor);
3664
3665 StoredFileInfo(SafeRefPtr<DatabaseFileInfo> aFileInfo,
3666 nsCOMPtr<nsIInputStream> aInputStream);
3667
3668 public:
3669#if defined(NS_BUILD_REFCNT_LOGGING1)
3670 // Only for MOZ_COUNT_CTOR.
3671 StoredFileInfo(StoredFileInfo&& aOther)
3672 : mFileInfo{std::move(aOther.mFileInfo)},
3673 mFileActorOrInputStream{std::move(aOther.mFileActorOrInputStream)}
3674# ifdef DEBUG1
3675 ,
3676 mType{aOther.mType}
3677# endif
3678 {
3679 MOZ_COUNT_CTOR(ObjectStoreAddOrPutRequestOp::StoredFileInfo)do { static_assert(std::is_class_v<ObjectStoreAddOrPutRequestOp
::StoredFileInfo>, "Token '" "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ObjectStoreAddOrPutRequestOp::StoredFileInfo>
::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
, sizeof(*this)); } while (0)
;
3680 }
3681#else
3682 StoredFileInfo(StoredFileInfo&&) = default;
3683#endif
3684
3685 static StoredFileInfo CreateForBlob(SafeRefPtr<DatabaseFileInfo> aFileInfo,
3686 RefPtr<DatabaseFile> aFileActor);
3687 static StoredFileInfo CreateForStructuredClone(
3688 SafeRefPtr<DatabaseFileInfo> aFileInfo,
3689 nsCOMPtr<nsIInputStream> aInputStream);
3690
3691#if defined(DEBUG1) || defined(NS_BUILD_REFCNT_LOGGING1)
3692 ~StoredFileInfo() {
3693 AssertIsOnBackgroundThread();
3694 AssertInvariants();
3695
3696 MOZ_COUNT_DTOR(ObjectStoreAddOrPutRequestOp::StoredFileInfo)do { static_assert(std::is_class_v<ObjectStoreAddOrPutRequestOp
::StoredFileInfo>, "Token '" "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ObjectStoreAddOrPutRequestOp::StoredFileInfo>
::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
, sizeof(*this)); } while (0)
;
3697 }
3698#endif
3699
3700 bool IsValid() const { return static_cast<bool>(mFileInfo); }
3701
3702 const DatabaseFileInfo& GetFileInfo() const { return **mFileInfo; }
3703
3704 bool ShouldCompress() const;
3705
3706 void NotifyWriteSucceeded() const;
3707
3708 using InputStreamResult =
3709 mozilla::Result<nsCOMPtr<nsIInputStream>, nsresult>;
3710 InputStreamResult GetInputStream();
3711
3712 void Serialize(nsString& aText) const;
3713 };
3714 class SCInputStream;
3715
3716 ObjectStoreAddPutParams mParams;
3717 Maybe<UniqueIndexTable> mUniqueIndexTable;
3718
3719 // This must be non-const so that we can update the mNextAutoIncrementId field
3720 // if we are modifying an autoIncrement objectStore.
3721 SafeRefPtr<FullObjectStoreMetadata> mMetadata;
3722
3723 nsTArray<StoredFileInfo> mStoredFileInfos;
3724
3725 Key mResponse;
3726 const OriginMetadata mOriginMetadata;
3727 const PersistenceType mPersistenceType;
3728 const bool mOverwrite;
3729 bool mObjectStoreMayHaveIndexes;
3730 bool mDataOverThreshold;
3731
3732 private:
3733 // Only created by TransactionBase.
3734 ObjectStoreAddOrPutRequestOp(SafeRefPtr<TransactionBase> aTransaction,
3735 const int64_t aRequestId,
3736 RequestParams&& aParams);
3737
3738 ~ObjectStoreAddOrPutRequestOp() override = default;
3739
3740 nsresult RemoveOldIndexDataValues(DatabaseConnection* aConnection);
3741
3742 bool Init(TransactionBase& aTransaction) override;
3743
3744 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3745
3746 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override;
3747
3748 void Cleanup() override;
3749};
3750
3751void ObjectStoreAddOrPutRequestOp::StoredFileInfo::AssertInvariants() const {
3752 // The only allowed types are eStructuredClone, eBlob and eMutableFile.
3753 MOZ_ASSERT(StructuredCloneFileBase::eStructuredClone == mType ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(StructuredCloneFileBase::eStructuredClone == mType ||
StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase
::eMutableFile == mType)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(StructuredCloneFileBase::eStructuredClone
== mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase
::eMutableFile == mType))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("StructuredCloneFileBase::eStructuredClone == mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase::eMutableFile == mType"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3755); AnnotateMozCrashReason("MOZ_ASSERT" "(" "StructuredCloneFileBase::eStructuredClone == mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase::eMutableFile == mType"
")"); do { *((volatile int*)__null) = 3755; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
3754 StructuredCloneFileBase::eBlob == mType ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(StructuredCloneFileBase::eStructuredClone == mType ||
StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase
::eMutableFile == mType)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(StructuredCloneFileBase::eStructuredClone
== mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase
::eMutableFile == mType))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("StructuredCloneFileBase::eStructuredClone == mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase::eMutableFile == mType"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3755); AnnotateMozCrashReason("MOZ_ASSERT" "(" "StructuredCloneFileBase::eStructuredClone == mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase::eMutableFile == mType"
")"); do { *((volatile int*)__null) = 3755; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
3755 StructuredCloneFileBase::eMutableFile == mType)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(StructuredCloneFileBase::eStructuredClone == mType ||
StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase
::eMutableFile == mType)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(StructuredCloneFileBase::eStructuredClone
== mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase
::eMutableFile == mType))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("StructuredCloneFileBase::eStructuredClone == mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase::eMutableFile == mType"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3755); AnnotateMozCrashReason("MOZ_ASSERT" "(" "StructuredCloneFileBase::eStructuredClone == mType || StructuredCloneFileBase::eBlob == mType || StructuredCloneFileBase::eMutableFile == mType"
")"); do { *((volatile int*)__null) = 3755; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3756
3757 // mFileInfo and a file actor in mFileActorOrInputStream are present until
3758 // the object is moved away, but an inputStream in mFileActorOrInputStream
3759 // can be released early.
3760 MOZ_ASSERT_IF(static_cast<bool>(mFileActorOrInputStream) &&do { if (static_cast<bool>(mFileActorOrInputStream) &&
mFileActorOrInputStream->is<RefPtr<DatabaseFile>>
()) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(static_cast<bool>(mFileInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(static_cast<bool>(mFileInfo)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("static_cast<bool>(mFileInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3762); AnnotateMozCrashReason("MOZ_ASSERT" "(" "static_cast<bool>(mFileInfo)"
")"); do { *((volatile int*)__null) = 3762; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3761 mFileActorOrInputStream->is<RefPtr<DatabaseFile>>(),do { if (static_cast<bool>(mFileActorOrInputStream) &&
mFileActorOrInputStream->is<RefPtr<DatabaseFile>>
()) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(static_cast<bool>(mFileInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(static_cast<bool>(mFileInfo)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("static_cast<bool>(mFileInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3762); AnnotateMozCrashReason("MOZ_ASSERT" "(" "static_cast<bool>(mFileInfo)"
")"); do { *((volatile int*)__null) = 3762; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3762 static_cast<bool>(mFileInfo))do { if (static_cast<bool>(mFileActorOrInputStream) &&
mFileActorOrInputStream->is<RefPtr<DatabaseFile>>
()) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(static_cast<bool>(mFileInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(static_cast<bool>(mFileInfo)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("static_cast<bool>(mFileInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3762); AnnotateMozCrashReason("MOZ_ASSERT" "(" "static_cast<bool>(mFileInfo)"
")"); do { *((volatile int*)__null) = 3762; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
3763
3764 if (mFileInfo) {
3765 // In a non-moved StoredFileInfo, one of the following is true:
3766 // - This was an overflow structured clone (eStructuredClone) and
3767 // storedFileInfo.mFileActorOrInputStream CAN be a non-nullptr input
3768 // stream (but that might have been release by ReleaseInputStream).
3769 MOZ_ASSERT_IF(do { if (StructuredCloneFileBase::eStructuredClone == mType) {
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mFileActorOrInputStream || (mFileActorOrInputStream
->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>()))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mFileActorOrInputStream || (mFileActorOrInputStream->is
<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>())))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3773); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
")"); do { *((volatile int*)__null) = 3773; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3770 StructuredCloneFileBase::eStructuredClone == mType,do { if (StructuredCloneFileBase::eStructuredClone == mType) {
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mFileActorOrInputStream || (mFileActorOrInputStream
->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>()))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mFileActorOrInputStream || (mFileActorOrInputStream->is
<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>())))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3773); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
")"); do { *((volatile int*)__null) = 3773; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3771 !mFileActorOrInputStream ||do { if (StructuredCloneFileBase::eStructuredClone == mType) {
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mFileActorOrInputStream || (mFileActorOrInputStream
->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>()))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mFileActorOrInputStream || (mFileActorOrInputStream->is
<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>())))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3773); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
")"); do { *((volatile int*)__null) = 3773; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3772 (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() &&do { if (StructuredCloneFileBase::eStructuredClone == mType) {
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mFileActorOrInputStream || (mFileActorOrInputStream
->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>()))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mFileActorOrInputStream || (mFileActorOrInputStream->is
<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>())))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3773); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
")"); do { *((volatile int*)__null) = 3773; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3773 mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>()))do { if (StructuredCloneFileBase::eStructuredClone == mType) {
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mFileActorOrInputStream || (mFileActorOrInputStream
->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>()))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mFileActorOrInputStream || (mFileActorOrInputStream->is
<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream
->as<nsCOMPtr<nsIInputStream>>())))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3773); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mFileActorOrInputStream || (mFileActorOrInputStream->is<nsCOMPtr<nsIInputStream>>() && mFileActorOrInputStream->as<nsCOMPtr<nsIInputStream>>())"
")"); do { *((volatile int*)__null) = 3773; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
3774
3775 // - This is a reference to a Blob (eBlob) that may or may not have
3776 // already been written to disk. storedFileInfo.mFileActorOrInputStream
3777 // MUST be a non-null file actor, but its GetInputStream may return
3778 // nullptr (so don't assert on that).
3779 MOZ_ASSERT_IF(StructuredCloneFileBase::eBlob == mType,do { if (StructuredCloneFileBase::eBlob == mType) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(mFileActorOrInputStream
->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream
->as<RefPtr<DatabaseFile>>())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileActorOrInputStream->
is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream
->as<RefPtr<DatabaseFile>>()))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3781); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()"
")"); do { *((volatile int*)__null) = 3781; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3780 mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() &&do { if (StructuredCloneFileBase::eBlob == mType) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(mFileActorOrInputStream
->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream
->as<RefPtr<DatabaseFile>>())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileActorOrInputStream->
is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream
->as<RefPtr<DatabaseFile>>()))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3781); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()"
")"); do { *((volatile int*)__null) = 3781; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3781 mFileActorOrInputStream->as<RefPtr<DatabaseFile>>())do { if (StructuredCloneFileBase::eBlob == mType) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(mFileActorOrInputStream
->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream
->as<RefPtr<DatabaseFile>>())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileActorOrInputStream->
is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream
->as<RefPtr<DatabaseFile>>()))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3781); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileActorOrInputStream->is<RefPtr<DatabaseFile>>() && mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()"
")"); do { *((volatile int*)__null) = 3781; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
3782
3783 // - It's a mutable file (eMutableFile). No writing will be performed,
3784 // and storedFileInfo.mFileActorOrInputStream is Nothing.
3785 MOZ_ASSERT_IF(StructuredCloneFileBase::eMutableFile == mType,do { if (StructuredCloneFileBase::eMutableFile == mType) { do
{ static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileActorOrInputStream->is<Nothing>())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mFileActorOrInputStream->is<Nothing>()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mFileActorOrInputStream->is<Nothing>()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3786); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileActorOrInputStream->is<Nothing>()"
")"); do { *((volatile int*)__null) = 3786; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
3786 mFileActorOrInputStream->is<Nothing>())do { if (StructuredCloneFileBase::eMutableFile == mType) { do
{ static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileActorOrInputStream->is<Nothing>())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mFileActorOrInputStream->is<Nothing>()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mFileActorOrInputStream->is<Nothing>()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3786); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileActorOrInputStream->is<Nothing>()"
")"); do { *((volatile int*)__null) = 3786; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
3787 }
3788}
3789
3790void ObjectStoreAddOrPutRequestOp::StoredFileInfo::EnsureCipherKey() {
3791 const auto& fileInfo = GetFileInfo();
3792 const auto& fileManager = fileInfo.Manager();
3793
3794 // No need to generate cipher keys if we are not in PBM
3795 if (!fileManager.IsInPrivateBrowsingMode()) {
3796 return;
3797 }
3798
3799 nsCString keyId;
3800 keyId.AppendInt(fileInfo.Id());
3801
3802 fileManager.MutableCipherKeyManagerRef().Ensure(keyId);
3803}
3804
3805ObjectStoreAddOrPutRequestOp::StoredFileInfo::StoredFileInfo(
3806 SafeRefPtr<DatabaseFileInfo> aFileInfo, RefPtr<DatabaseFile> aFileActor)
3807 : mFileInfo{WrapNotNull(std::move(aFileInfo))},
3808 mFileActorOrInputStream{std::move(aFileActor)}
3809#ifdef DEBUG1
3810 ,
3811 mType{StructuredCloneFileBase::eBlob}
3812#endif
3813{
3814 AssertIsOnBackgroundThread();
3815 AssertInvariants();
3816
3817 EnsureCipherKey();
3818 MOZ_COUNT_CTOR(ObjectStoreAddOrPutRequestOp::StoredFileInfo)do { static_assert(std::is_class_v<ObjectStoreAddOrPutRequestOp
::StoredFileInfo>, "Token '" "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ObjectStoreAddOrPutRequestOp::StoredFileInfo>
::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
, sizeof(*this)); } while (0)
;
3819}
3820
3821ObjectStoreAddOrPutRequestOp::StoredFileInfo::StoredFileInfo(
3822 SafeRefPtr<DatabaseFileInfo> aFileInfo,
3823 nsCOMPtr<nsIInputStream> aInputStream)
3824 : mFileInfo{WrapNotNull(std::move(aFileInfo))},
3825 mFileActorOrInputStream{std::move(aInputStream)}
3826#ifdef DEBUG1
3827 ,
3828 mType{StructuredCloneFileBase::eStructuredClone}
3829#endif
3830{
3831 AssertIsOnBackgroundThread();
3832 AssertInvariants();
3833
3834 EnsureCipherKey();
3835 MOZ_COUNT_CTOR(ObjectStoreAddOrPutRequestOp::StoredFileInfo)do { static_assert(std::is_class_v<ObjectStoreAddOrPutRequestOp
::StoredFileInfo>, "Token '" "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ObjectStoreAddOrPutRequestOp::StoredFileInfo>
::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ObjectStoreAddOrPutRequestOp::StoredFileInfo"
, sizeof(*this)); } while (0)
;
3836}
3837
3838ObjectStoreAddOrPutRequestOp::StoredFileInfo
3839ObjectStoreAddOrPutRequestOp::StoredFileInfo::CreateForBlob(
3840 SafeRefPtr<DatabaseFileInfo> aFileInfo, RefPtr<DatabaseFile> aFileActor) {
3841 return {std::move(aFileInfo), std::move(aFileActor)};
3842}
3843
3844ObjectStoreAddOrPutRequestOp::StoredFileInfo
3845ObjectStoreAddOrPutRequestOp::StoredFileInfo::CreateForStructuredClone(
3846 SafeRefPtr<DatabaseFileInfo> aFileInfo,
3847 nsCOMPtr<nsIInputStream> aInputStream) {
3848 return {std::move(aFileInfo), std::move(aInputStream)};
3849}
3850
3851bool ObjectStoreAddOrPutRequestOp::StoredFileInfo::ShouldCompress() const {
3852 // Must not be called after moving.
3853 MOZ_ASSERT(IsValid())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(IsValid())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(IsValid()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("IsValid()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3853); AnnotateMozCrashReason("MOZ_ASSERT" "(" "IsValid()" ")"
); do { *((volatile int*)__null) = 3853; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3854
3855 // Compression is only necessary for eStructuredClone, i.e. when
3856 // mFileActorOrInputStream stored an input stream. However, this is only
3857 // called after GetInputStream, when mFileActorOrInputStream has been
3858 // cleared, which is only possible for this type.
3859 const bool res = !mFileActorOrInputStream;
3860 MOZ_ASSERT(res == (StructuredCloneFileBase::eStructuredClone == mType))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(res == (StructuredCloneFileBase::eStructuredClone ==
mType))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(res == (StructuredCloneFileBase::eStructuredClone ==
mType)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("res == (StructuredCloneFileBase::eStructuredClone == mType)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3860); AnnotateMozCrashReason("MOZ_ASSERT" "(" "res == (StructuredCloneFileBase::eStructuredClone == mType)"
")"); do { *((volatile int*)__null) = 3860; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3861 return res;
3862}
3863
3864void ObjectStoreAddOrPutRequestOp::StoredFileInfo::NotifyWriteSucceeded()
3865 const {
3866 MOZ_ASSERT(IsValid())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(IsValid())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(IsValid()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("IsValid()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3866); AnnotateMozCrashReason("MOZ_ASSERT" "(" "IsValid()" ")"
); do { *((volatile int*)__null) = 3866; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3867
3868 // For eBlob, clear the blob implementation.
3869 if (mFileActorOrInputStream &&
3870 mFileActorOrInputStream->is<RefPtr<DatabaseFile>>()) {
3871 mFileActorOrInputStream->as<RefPtr<DatabaseFile>>()
3872 ->WriteSucceededClearBlobImpl();
3873 }
3874
3875 // For the other types, no action is necessary.
3876}
3877
3878ObjectStoreAddOrPutRequestOp::StoredFileInfo::InputStreamResult
3879ObjectStoreAddOrPutRequestOp::StoredFileInfo::GetInputStream() {
3880 if (!mFileActorOrInputStream) {
3881 MOZ_ASSERT(StructuredCloneFileBase::eStructuredClone == mType)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(StructuredCloneFileBase::eStructuredClone == mType)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(StructuredCloneFileBase::eStructuredClone == mType))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("StructuredCloneFileBase::eStructuredClone == mType"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3881); AnnotateMozCrashReason("MOZ_ASSERT" "(" "StructuredCloneFileBase::eStructuredClone == mType"
")"); do { *((volatile int*)__null) = 3881; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3882 return nsCOMPtr<nsIInputStream>{};
3883 }
3884
3885 // For the different cases, see also the comments in AssertInvariants.
3886 return mFileActorOrInputStream->match(
3887 [](const Nothing&) -> InputStreamResult {
3888 return nsCOMPtr<nsIInputStream>{};
3889 },
3890 [](const RefPtr<DatabaseFile>& databaseActor) -> InputStreamResult {
3891 ErrorResult rv;
3892 auto inputStream = databaseActor->GetInputStream(rv);
3893 if (NS_WARN_IF(rv.Failed())NS_warn_if_impl(rv.Failed(), "rv.Failed()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3893)
) {
3894 return Err(rv.StealNSResult());
3895 }
3896
3897 return inputStream;
3898 },
3899 [this](const nsCOMPtr<nsIInputStream>& inputStream) -> InputStreamResult {
3900 auto res = inputStream;
3901 // destroy() clears the inputStream parameter, so we needed to make a
3902 // copy before
3903 mFileActorOrInputStream.destroy();
3904 AssertInvariants();
3905 return res;
3906 });
3907}
3908
3909void ObjectStoreAddOrPutRequestOp::StoredFileInfo::Serialize(
3910 nsString& aText) const {
3911 AssertInvariants();
3912 MOZ_ASSERT(IsValid())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(IsValid())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(IsValid()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("IsValid()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 3912); AnnotateMozCrashReason("MOZ_ASSERT" "(" "IsValid()" ")"
); do { *((volatile int*)__null) = 3912; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
3913
3914 const int64_t id = (*mFileInfo)->Id();
3915
3916 auto structuredCloneHandler = [&aText, id](const nsCOMPtr<nsIInputStream>&) {
3917 // eStructuredClone
3918 aText.Append('.');
3919 aText.AppendInt(id);
3920 };
3921
3922 // If mFileActorOrInputStream was moved, we had an inputStream before.
3923 if (!mFileActorOrInputStream) {
3924 structuredCloneHandler(nullptr);
3925 return;
3926 }
3927
3928 // This encoding is parsed in DeserializeStructuredCloneFile.
3929 mFileActorOrInputStream->match(
3930 [&aText, id](const Nothing&) {
3931 // eMutableFile
3932 aText.AppendInt(-id);
3933 },
3934 [&aText, id](const RefPtr<DatabaseFile>&) {
3935 // eBlob
3936 aText.AppendInt(id);
3937 },
3938 structuredCloneHandler);
3939}
3940
3941class ObjectStoreAddOrPutRequestOp::SCInputStream final
3942 : public nsIInputStream {
3943 const JSStructuredCloneData& mData;
3944 JSStructuredCloneData::Iterator mIter;
3945
3946 public:
3947 explicit SCInputStream(const JSStructuredCloneData& aData)
3948 : mData(aData), mIter(aData.Start()) {}
3949
3950 private:
3951 virtual ~SCInputStream() = default;
3952
3953 NS_DECL_THREADSAFE_ISUPPORTSpublic: virtual nsresult QueryInterface(const nsIID& aIID
, void** aInstancePtr) override; virtual MozExternalRefCountType
AddRef(void) override; virtual MozExternalRefCountType Release
(void) override; using HasThreadSafeRefCnt = std::true_type; protected
: ::mozilla::ThreadSafeAutoRefCnt mRefCnt; nsAutoOwningThread
_mOwningThread; public:
3954 NS_DECL_NSIINPUTSTREAMvirtual nsresult Close(void) override; virtual nsresult Available
(uint64_t *_retval) override; virtual nsresult StreamStatus(void
) override; virtual nsresult Read(char * aBuf, uint32_t aCount
, uint32_t *_retval) override; virtual nsresult ReadSegments(
nsWriteSegmentFun aWriter, void * aClosure, uint32_t aCount, uint32_t
*_retval) override; virtual nsresult IsNonBlocking(bool *_retval
) override;
3955};
3956
3957class ObjectStoreGetRequestOp final : public NormalTransactionOp {
3958 friend class TransactionBase;
3959
3960 const IndexOrObjectStoreId mObjectStoreId;
3961 SafeRefPtr<Database> mDatabase;
3962 const Maybe<SerializedKeyRange> mOptionalKeyRange;
3963 AutoTArray<StructuredCloneReadInfoParent, 1> mResponse;
3964 PBackgroundParent* mBackgroundParent;
3965 uint32_t mPreprocessInfoCount;
3966 const uint32_t mLimit;
3967 const bool mGetAll;
3968
3969 private:
3970 // Only created by TransactionBase.
3971 ObjectStoreGetRequestOp(SafeRefPtr<TransactionBase> aTransaction,
3972 const int64_t aRequestId,
3973 const RequestParams& aParams, bool aGetAll);
3974
3975 ~ObjectStoreGetRequestOp() override = default;
3976
3977 template <typename T>
3978 mozilla::Result<T, nsresult> ConvertResponse(
3979 StructuredCloneReadInfoParent&& aInfo);
3980
3981 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
3982
3983 bool HasPreprocessInfo() override;
3984
3985 mozilla::Result<PreprocessParams, nsresult> GetPreprocessParams() override;
3986
3987 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override;
3988};
3989
3990class ObjectStoreGetKeyRequestOp final : public NormalTransactionOp {
3991 friend class TransactionBase;
3992
3993 const IndexOrObjectStoreId mObjectStoreId;
3994 const Maybe<SerializedKeyRange> mOptionalKeyRange;
3995 const uint32_t mLimit;
3996 const bool mGetAll;
3997 nsTArray<Key> mResponse;
3998
3999 private:
4000 // Only created by TransactionBase.
4001 ObjectStoreGetKeyRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4002 const int64_t aRequestId,
4003 const RequestParams& aParams, bool aGetAll);
4004
4005 ~ObjectStoreGetKeyRequestOp() override = default;
4006
4007 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4008
4009 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override;
4010};
4011
4012class ObjectStoreDeleteRequestOp final : public NormalTransactionOp {
4013 friend class TransactionBase;
4014
4015 const ObjectStoreDeleteParams mParams;
4016 ObjectStoreDeleteResponse mResponse;
4017 bool mObjectStoreMayHaveIndexes;
4018
4019 private:
4020 ObjectStoreDeleteRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4021 const int64_t aRequestId,
4022 const ObjectStoreDeleteParams& aParams);
4023
4024 ~ObjectStoreDeleteRequestOp() override = default;
4025
4026 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4027
4028 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override {
4029 aResponse = std::move(mResponse);
4030 *aResponseSize = 0;
4031 }
4032};
4033
4034class ObjectStoreClearRequestOp final : public NormalTransactionOp {
4035 friend class TransactionBase;
4036
4037 const ObjectStoreClearParams mParams;
4038 ObjectStoreClearResponse mResponse;
4039 bool mObjectStoreMayHaveIndexes;
4040
4041 private:
4042 ObjectStoreClearRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4043 const int64_t aRequestId,
4044 const ObjectStoreClearParams& aParams);
4045
4046 ~ObjectStoreClearRequestOp() override = default;
4047
4048 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4049
4050 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override {
4051 aResponse = std::move(mResponse);
4052 *aResponseSize = 0;
4053 }
4054};
4055
4056class ObjectStoreCountRequestOp final : public NormalTransactionOp {
4057 friend class TransactionBase;
4058
4059 const ObjectStoreCountParams mParams;
4060 ObjectStoreCountResponse mResponse;
4061
4062 private:
4063 ObjectStoreCountRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4064 const int64_t aRequestId,
4065 const ObjectStoreCountParams& aParams)
4066 : NormalTransactionOp(std::move(aTransaction), aRequestId),
4067 mParams(aParams) {}
4068
4069 ~ObjectStoreCountRequestOp() override = default;
4070
4071 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4072
4073 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override {
4074 aResponse = std::move(mResponse);
4075 *aResponseSize = sizeof(uint64_t);
4076 }
4077};
4078
4079class IndexRequestOpBase : public NormalTransactionOp {
4080 protected:
4081 const SafeRefPtr<FullIndexMetadata> mMetadata;
4082
4083 protected:
4084 IndexRequestOpBase(SafeRefPtr<TransactionBase> aTransaction,
4085 const int64_t aRequestId, const RequestParams& aParams)
4086 : NormalTransactionOp(std::move(aTransaction), aRequestId),
4087 mMetadata(IndexMetadataForParams(Transaction(), aParams)) {}
4088
4089 ~IndexRequestOpBase() override = default;
4090
4091 private:
4092 static SafeRefPtr<FullIndexMetadata> IndexMetadataForParams(
4093 const TransactionBase& aTransaction, const RequestParams& aParams);
4094};
4095
4096class IndexGetRequestOp final : public IndexRequestOpBase {
4097 friend class TransactionBase;
4098
4099 SafeRefPtr<Database> mDatabase;
4100 const Maybe<SerializedKeyRange> mOptionalKeyRange;
4101 AutoTArray<StructuredCloneReadInfoParent, 1> mResponse;
4102 PBackgroundParent* mBackgroundParent;
4103 const uint32_t mLimit;
4104 const bool mGetAll;
4105
4106 private:
4107 // Only created by TransactionBase.
4108 IndexGetRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4109 const int64_t aRequestId, const RequestParams& aParams,
4110 bool aGetAll);
4111
4112 ~IndexGetRequestOp() override = default;
4113
4114 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4115
4116 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override;
4117};
4118
4119class IndexGetKeyRequestOp final : public IndexRequestOpBase {
4120 friend class TransactionBase;
4121
4122 const Maybe<SerializedKeyRange> mOptionalKeyRange;
4123 AutoTArray<Key, 1> mResponse;
4124 const uint32_t mLimit;
4125 const bool mGetAll;
4126
4127 private:
4128 // Only created by TransactionBase.
4129 IndexGetKeyRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4130 const int64_t aRequestId, const RequestParams& aParams,
4131 bool aGetAll);
4132
4133 ~IndexGetKeyRequestOp() override = default;
4134
4135 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4136
4137 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override;
4138};
4139
4140class IndexCountRequestOp final : public IndexRequestOpBase {
4141 friend class TransactionBase;
4142
4143 const IndexCountParams mParams;
4144 IndexCountResponse mResponse;
4145
4146 private:
4147 // Only created by TransactionBase.
4148 IndexCountRequestOp(SafeRefPtr<TransactionBase> aTransaction,
4149 const int64_t aRequestId, const RequestParams& aParams)
4150 : IndexRequestOpBase(std::move(aTransaction), aRequestId, aParams),
4151 mParams(aParams.get_IndexCountParams()) {}
4152
4153 ~IndexCountRequestOp() override = default;
4154
4155 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4156
4157 void GetResponse(RequestResponse& aResponse, size_t* aResponseSize) override {
4158 aResponse = std::move(mResponse);
4159 *aResponseSize = sizeof(uint64_t);
4160 }
4161};
4162
4163template <IDBCursorType CursorType>
4164class Cursor;
4165
4166constexpr IDBCursorType ToKeyOnlyType(const IDBCursorType aType) {
4167 MOZ_ASSERT(aType == IDBCursorType::ObjectStore ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aType == IDBCursorType::ObjectStore || aType == IDBCursorType
::ObjectStoreKey || aType == IDBCursorType::Index || aType ==
IDBCursorType::IndexKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aType == IDBCursorType::ObjectStore
|| aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType
::Index || aType == IDBCursorType::IndexKey))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4169); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
")"); do { *((volatile int*)__null) = 4169; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
4168 aType == IDBCursorType::ObjectStoreKey ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aType == IDBCursorType::ObjectStore || aType == IDBCursorType
::ObjectStoreKey || aType == IDBCursorType::Index || aType ==
IDBCursorType::IndexKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aType == IDBCursorType::ObjectStore
|| aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType
::Index || aType == IDBCursorType::IndexKey))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4169); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
")"); do { *((volatile int*)__null) = 4169; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
4169 aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aType == IDBCursorType::ObjectStore || aType == IDBCursorType
::ObjectStoreKey || aType == IDBCursorType::Index || aType ==
IDBCursorType::IndexKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aType == IDBCursorType::ObjectStore
|| aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType
::Index || aType == IDBCursorType::IndexKey))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4169); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
")"); do { *((volatile int*)__null) = 4169; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4170 switch (aType) {
4171 case IDBCursorType::ObjectStore:
4172 [[fallthrough]];
4173 case IDBCursorType::ObjectStoreKey:
4174 return IDBCursorType::ObjectStoreKey;
4175 case IDBCursorType::Index:
4176 [[fallthrough]];
4177 case IDBCursorType::IndexKey:
4178 return IDBCursorType::IndexKey;
4179 }
4180}
4181
4182template <IDBCursorType CursorType>
4183using CursorPosition = CursorData<ToKeyOnlyType(CursorType)>;
4184
4185#ifdef DEBUG1
4186constexpr indexedDB::OpenCursorParams::Type ToOpenCursorParamsType(
4187 const IDBCursorType aType) {
4188 MOZ_ASSERT(aType == IDBCursorType::ObjectStore ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aType == IDBCursorType::ObjectStore || aType == IDBCursorType
::ObjectStoreKey || aType == IDBCursorType::Index || aType ==
IDBCursorType::IndexKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aType == IDBCursorType::ObjectStore
|| aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType
::Index || aType == IDBCursorType::IndexKey))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4190); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
")"); do { *((volatile int*)__null) = 4190; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
4189 aType == IDBCursorType::ObjectStoreKey ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aType == IDBCursorType::ObjectStore || aType == IDBCursorType
::ObjectStoreKey || aType == IDBCursorType::Index || aType ==
IDBCursorType::IndexKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aType == IDBCursorType::ObjectStore
|| aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType
::Index || aType == IDBCursorType::IndexKey))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4190); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
")"); do { *((volatile int*)__null) = 4190; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
4190 aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aType == IDBCursorType::ObjectStore || aType == IDBCursorType
::ObjectStoreKey || aType == IDBCursorType::Index || aType ==
IDBCursorType::IndexKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aType == IDBCursorType::ObjectStore
|| aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType
::Index || aType == IDBCursorType::IndexKey))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4190); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aType == IDBCursorType::ObjectStore || aType == IDBCursorType::ObjectStoreKey || aType == IDBCursorType::Index || aType == IDBCursorType::IndexKey"
")"); do { *((volatile int*)__null) = 4190; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4191 switch (aType) {
4192 case IDBCursorType::ObjectStore:
4193 return indexedDB::OpenCursorParams::TObjectStoreOpenCursorParams;
4194 case IDBCursorType::ObjectStoreKey:
4195 return indexedDB::OpenCursorParams::TObjectStoreOpenKeyCursorParams;
4196 case IDBCursorType::Index:
4197 return indexedDB::OpenCursorParams::TIndexOpenCursorParams;
4198 case IDBCursorType::IndexKey:
4199 return indexedDB::OpenCursorParams::TIndexOpenKeyCursorParams;
4200 }
4201}
4202#endif
4203
4204class CursorBase : public PBackgroundIDBCursorParent {
4205 friend class TransactionBase;
4206 template <IDBCursorType CursorType>
4207 friend class CommonOpenOpHelper;
4208
4209 protected:
4210 const SafeRefPtr<TransactionBase> mTransaction;
4211
4212 // This should only be touched on the PBackground thread to check whether
4213 // the objectStore has been deleted. Holding these saves a hash lookup for
4214 // every call to continue()/advance().
4215 InitializedOnce<const NotNull<SafeRefPtr<FullObjectStoreMetadata>>>
4216 mObjectStoreMetadata;
4217
4218 const IndexOrObjectStoreId mObjectStoreId;
4219
4220 LazyInitializedOnce<const Key>
4221 mLocaleAwareRangeBound; ///< If the cursor is based on a key range, the
4222 ///< bound in the direction of iteration (e.g.
4223 ///< the upper bound in case of mDirection ==
4224 ///< NEXT). If the cursor is based on a key, it
4225 ///< is unset. If mLocale is set, this was
4226 ///< converted to mLocale.
4227
4228 const Direction mDirection;
4229
4230 const int32_t mMaxExtraCount;
4231
4232 const bool mIsSameProcessActor;
4233
4234 struct ConstructFromTransactionBase {};
4235
4236 public:
4237 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(mozilla::dom::indexedDB::CursorBase,public: MozExternalRefCountType AddRef(void) final { static_assert
(!std::is_destructible_v<mozilla::dom::indexedDB::CursorBase
>, "Reference-counted class " "mozilla::dom::indexedDB::CursorBase"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4238); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
4238; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("mozilla::dom::indexedDB::CursorBase"), (uint32_t
)(sizeof(*this))); return (nsrefcnt)count; } MozExternalRefCountType
Release(void) final { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4238); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 4238
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("mozilla::dom::indexedDB::CursorBase")); if (count ==
0) { delete (this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
4238 final)public: MozExternalRefCountType AddRef(void) final { static_assert
(!std::is_destructible_v<mozilla::dom::indexedDB::CursorBase
>, "Reference-counted class " "mozilla::dom::indexedDB::CursorBase"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4238); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
4238; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("mozilla::dom::indexedDB::CursorBase"), (uint32_t
)(sizeof(*this))); return (nsrefcnt)count; } MozExternalRefCountType
Release(void) final { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4238); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 4238
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("mozilla::dom::indexedDB::CursorBase")); if (count ==
0) { delete (this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
4239
4240 CursorBase(SafeRefPtr<TransactionBase> aTransaction,
4241 SafeRefPtr<FullObjectStoreMetadata> aObjectStoreMetadata,
4242 Direction aDirection,
4243 ConstructFromTransactionBase aConstructionTag);
4244
4245 protected:
4246 // Reference counted.
4247 ~CursorBase() override { MOZ_ASSERT(!mObjectStoreMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mObjectStoreMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mObjectStoreMetadata))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("!mObjectStoreMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4247); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mObjectStoreMetadata"
")"); do { *((volatile int*)__null) = 4247; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
; }
4248
4249 private:
4250 virtual bool Start(const int64_t aRequestId,
4251 const OpenCursorParams& aParams) = 0;
4252};
4253
4254class IndexCursorBase : public CursorBase {
4255 public:
4256 bool IsLocaleAware() const { return !mLocale.IsEmpty(); }
4257
4258 IndexCursorBase(SafeRefPtr<TransactionBase> aTransaction,
4259 SafeRefPtr<FullObjectStoreMetadata> aObjectStoreMetadata,
4260 SafeRefPtr<FullIndexMetadata> aIndexMetadata,
4261 Direction aDirection,
4262 ConstructFromTransactionBase aConstructionTag)
4263 : CursorBase{std::move(aTransaction), std::move(aObjectStoreMetadata),
4264 aDirection, aConstructionTag},
4265 mIndexMetadata(WrapNotNull(std::move(aIndexMetadata))),
4266 mIndexId((*mIndexMetadata)->mCommonMetadata.id()),
4267 mUniqueIndex((*mIndexMetadata)->mCommonMetadata.unique()),
4268 mLocale((*mIndexMetadata)->mCommonMetadata.locale()) {}
4269
4270 protected:
4271 IndexOrObjectStoreId Id() const { return mIndexId; }
4272
4273 // This should only be touched on the PBackground thread to check whether
4274 // the index has been deleted. Holding these saves a hash lookup for every
4275 // call to continue()/advance().
4276 InitializedOnce<const NotNull<SafeRefPtr<FullIndexMetadata>>> mIndexMetadata;
4277 const IndexOrObjectStoreId mIndexId;
4278 const bool mUniqueIndex;
4279 const nsCString
4280 mLocale; ///< The locale if the cursor is locale-aware, otherwise empty.
4281
4282 struct ContinueQueries {
4283 nsCString mContinueQuery;
4284 nsCString mContinueToQuery;
4285 nsCString mContinuePrimaryKeyQuery;
4286
4287 const nsACString& GetContinueQuery(const bool hasContinueKey,
4288 const bool hasContinuePrimaryKey) const {
4289 return hasContinuePrimaryKey ? mContinuePrimaryKeyQuery
4290 : hasContinueKey ? mContinueToQuery
4291 : mContinueQuery;
4292 }
4293 };
4294};
4295
4296class ObjectStoreCursorBase : public CursorBase {
4297 public:
4298 using CursorBase::CursorBase;
4299
4300 static constexpr bool IsLocaleAware() { return false; }
4301
4302 protected:
4303 IndexOrObjectStoreId Id() const { return mObjectStoreId; }
4304
4305 struct ContinueQueries {
4306 nsCString mContinueQuery;
4307 nsCString mContinueToQuery;
4308
4309 const nsACString& GetContinueQuery(const bool hasContinueKey,
4310 const bool hasContinuePrimaryKey) const {
4311 MOZ_ASSERT(!hasContinuePrimaryKey)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!hasContinuePrimaryKey)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!hasContinuePrimaryKey))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!hasContinuePrimaryKey"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4311); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!hasContinuePrimaryKey"
")"); do { *((volatile int*)__null) = 4311; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4312 return hasContinueKey ? mContinueToQuery : mContinueQuery;
4313 }
4314 };
4315};
4316
4317using FilesArray = nsTArray<nsTArray<StructuredCloneFileParent>>;
4318
4319struct PseudoFilesArray {
4320 static constexpr bool IsEmpty() { return true; }
4321
4322 static constexpr void Clear() {}
4323};
4324
4325template <IDBCursorType CursorType>
4326using FilesArrayT =
4327 std::conditional_t<!CursorTypeTraits<CursorType>::IsKeyOnlyCursor,
4328 FilesArray, PseudoFilesArray>;
4329
4330class ValueCursorBase {
4331 friend struct ValuePopulateResponseHelper<true>;
4332 friend struct ValuePopulateResponseHelper<false>;
4333
4334 protected:
4335 explicit ValueCursorBase(TransactionBase* const aTransaction)
4336 : mDatabase(aTransaction->GetDatabasePtr()),
4337 mFileManager(mDatabase->GetFileManagerPtr()),
4338 mBackgroundParent(WrapNotNull(aTransaction->GetBackgroundParent())) {
4339 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4339); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 4339; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4340 }
4341
4342 void ProcessFiles(CursorResponse& aResponse, const FilesArray& aFiles);
4343
4344 ~ValueCursorBase() { MOZ_ASSERT(!mBackgroundParent)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mBackgroundParent)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mBackgroundParent))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!mBackgroundParent"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4344); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mBackgroundParent"
")"); do { *((volatile int*)__null) = 4344; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
; }
4345
4346 const SafeRefPtr<Database> mDatabase;
4347 const NotNull<SafeRefPtr<DatabaseFileManager>> mFileManager;
4348
4349 InitializedOnce<const NotNull<PBackgroundParent*>> mBackgroundParent;
4350};
4351
4352class KeyCursorBase {
4353 protected:
4354 explicit KeyCursorBase(TransactionBase* const /*aTransaction*/) {}
4355
4356 static constexpr void ProcessFiles(CursorResponse& aResponse,
4357 const PseudoFilesArray& aFiles) {}
4358};
4359
4360template <IDBCursorType CursorType>
4361class CursorOpBaseHelperBase;
4362
4363template <IDBCursorType CursorType>
4364class Cursor final
4365 : public std::conditional_t<
4366 CursorTypeTraits<CursorType>::IsObjectStoreCursor,
4367 ObjectStoreCursorBase, IndexCursorBase>,
4368 public std::conditional_t<CursorTypeTraits<CursorType>::IsKeyOnlyCursor,
4369 KeyCursorBase, ValueCursorBase> {
4370 using Base =
4371 std::conditional_t<CursorTypeTraits<CursorType>::IsObjectStoreCursor,
4372 ObjectStoreCursorBase, IndexCursorBase>;
4373
4374 using KeyValueBase =
4375 std::conditional_t<CursorTypeTraits<CursorType>::IsKeyOnlyCursor,
4376 KeyCursorBase, ValueCursorBase>;
4377
4378 static constexpr bool IsIndexCursor =
4379 !CursorTypeTraits<CursorType>::IsObjectStoreCursor;
4380
4381 static constexpr bool IsValueCursor =
4382 !CursorTypeTraits<CursorType>::IsKeyOnlyCursor;
4383
4384 class CursorOpBase;
4385 class OpenOp;
4386 class ContinueOp;
4387
4388 using Base::Id;
4389 using CursorBase::Manager;
4390 using CursorBase::mDirection;
4391 using CursorBase::mObjectStoreId;
4392 using CursorBase::mTransaction;
4393 using typename CursorBase::ActorDestroyReason;
4394
4395 using TypedOpenOpHelper =
4396 std::conditional_t<IsIndexCursor, IndexOpenOpHelper<CursorType>,
4397 ObjectStoreOpenOpHelper<CursorType>>;
4398
4399 friend class CursorOpBaseHelperBase<CursorType>;
4400 friend class CommonOpenOpHelper<CursorType>;
4401 friend TypedOpenOpHelper;
4402 friend class OpenOpHelper<CursorType>;
4403
4404 CursorOpBase* mCurrentlyRunningOp = nullptr;
4405
4406 LazyInitializedOnce<const typename Base::ContinueQueries> mContinueQueries;
4407
4408 // Only called by TransactionBase.
4409 bool Start(const int64_t aRequestId, const OpenCursorParams& aParams) final;
4410
4411 void SendResponseInternal(CursorResponse& aResponse,
4412 const FilesArrayT<CursorType>& aFiles);
4413
4414 // Must call SendResponseInternal!
4415 bool SendResponse(const CursorResponse& aResponse) = delete;
4416
4417 // IPDL methods.
4418 void ActorDestroy(ActorDestroyReason aWhy) override;
4419
4420 mozilla::ipc::IPCResult RecvDeleteMe() override;
4421
4422 mozilla::ipc::IPCResult RecvContinue(
4423 const int64_t& aRequestId, const CursorRequestParams& aParams,
4424 const Key& aCurrentKey, const Key& aCurrentObjectStoreKey) override;
4425
4426 public:
4427 Cursor(SafeRefPtr<TransactionBase> aTransaction,
4428 SafeRefPtr<FullObjectStoreMetadata> aObjectStoreMetadata,
4429 SafeRefPtr<FullIndexMetadata> aIndexMetadata,
4430 typename Base::Direction aDirection,
4431 typename Base::ConstructFromTransactionBase aConstructionTag)
4432 : Base{std::move(aTransaction), std::move(aObjectStoreMetadata),
4433 std::move(aIndexMetadata), aDirection, aConstructionTag},
4434 KeyValueBase{this->mTransaction.unsafeGetRawPtr()} {}
4435
4436 Cursor(SafeRefPtr<TransactionBase> aTransaction,
4437 SafeRefPtr<FullObjectStoreMetadata> aObjectStoreMetadata,
4438 typename Base::Direction aDirection,
4439 typename Base::ConstructFromTransactionBase aConstructionTag)
4440 : Base{std::move(aTransaction), std::move(aObjectStoreMetadata),
4441 aDirection, aConstructionTag},
4442 KeyValueBase{this->mTransaction.unsafeGetRawPtr()} {}
4443
4444 private:
4445 void SetOptionalKeyRange(const Maybe<SerializedKeyRange>& aOptionalKeyRange,
4446 bool* aOpen);
4447
4448 bool VerifyRequestParams(const CursorRequestParams& aParams,
4449 const CursorPosition<CursorType>& aPosition) const;
4450
4451 ~Cursor() final = default;
4452};
4453
4454template <IDBCursorType CursorType>
4455class Cursor<CursorType>::CursorOpBase
4456 : public TransactionDatabaseOperationBase {
4457 friend class CursorOpBaseHelperBase<CursorType>;
4458
4459 protected:
4460 RefPtr<Cursor> mCursor;
4461 FilesArrayT<CursorType> mFiles; // TODO: Consider removing this member
4462 // entirely if we are no value cursor.
4463
4464 CursorResponse mResponse;
4465
4466#ifdef DEBUG1
4467 bool mResponseSent;
4468#endif
4469
4470 protected:
4471 explicit CursorOpBase(Cursor* aCursor, const int64_t aRequestId)
4472 : TransactionDatabaseOperationBase(aCursor->mTransaction.clonePtr(),
4473 /* aRequestId */ aRequestId),
4474 mCursor(aCursor)
4475#ifdef DEBUG1
4476 ,
4477 mResponseSent(false)
4478#endif
4479 {
4480 AssertIsOnBackgroundThread();
4481 MOZ_ASSERT(aCursor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCursor)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCursor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aCursor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4481); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCursor" ")"
); do { *((volatile int*)__null) = 4481; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4482 }
4483
4484 ~CursorOpBase() override = default;
4485
4486 bool SendFailureResult(nsresult aResultCode) final;
4487 nsresult SendSuccessResult() final;
4488
4489 void Cleanup() override;
4490};
4491
4492template <IDBCursorType CursorType>
4493class OpenOpHelper;
4494
4495using ResponseSizeOrError = Result<size_t, nsresult>;
4496
4497template <IDBCursorType CursorType>
4498class CursorOpBaseHelperBase {
4499 public:
4500 explicit CursorOpBaseHelperBase(
4501 typename Cursor<CursorType>::CursorOpBase& aOp)
4502 : mOp{aOp} {}
4503
4504 ResponseSizeOrError PopulateResponseFromStatement(mozIStorageStatement* aStmt,
4505 bool aInitializeResponse,
4506 Key* const aOptOutSortKey);
4507
4508 void PopulateExtraResponses(mozIStorageStatement* aStmt,
4509 uint32_t aMaxExtraCount,
4510 const size_t aInitialResponseSize,
4511 const nsACString& aOperation,
4512 Key* const aOptPreviousSortKey);
4513
4514 protected:
4515 Cursor<CursorType>& GetCursor() {
4516 MOZ_ASSERT(mOp.mCursor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOp.mCursor)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOp.mCursor))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mOp.mCursor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4516); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOp.mCursor"
")"); do { *((volatile int*)__null) = 4516; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4517 return *mOp.mCursor;
4518 }
4519
4520 void SetResponse(CursorResponse aResponse) {
4521 mOp.mResponse = std::move(aResponse);
4522 }
4523
4524 protected:
4525 typename Cursor<CursorType>::CursorOpBase& mOp;
4526};
4527
4528class CommonOpenOpHelperBase {
4529 protected:
4530 static void AppendConditionClause(const nsACString& aColumnName,
4531 const nsACString& aStatementParameterName,
4532 bool aLessThan, bool aEquals,
4533 nsCString& aResult);
4534};
4535
4536template <IDBCursorType CursorType>
4537class CommonOpenOpHelper : public CursorOpBaseHelperBase<CursorType>,
4538 protected CommonOpenOpHelperBase {
4539 public:
4540 explicit CommonOpenOpHelper(typename Cursor<CursorType>::OpenOp& aOp)
4541 : CursorOpBaseHelperBase<CursorType>{aOp} {}
4542
4543 protected:
4544 using CursorOpBaseHelperBase<CursorType>::GetCursor;
4545 using CursorOpBaseHelperBase<CursorType>::PopulateExtraResponses;
4546 using CursorOpBaseHelperBase<CursorType>::PopulateResponseFromStatement;
4547 using CursorOpBaseHelperBase<CursorType>::SetResponse;
4548
4549 const Maybe<SerializedKeyRange>& GetOptionalKeyRange() const {
4550 // This downcast is safe, since we initialized mOp from an OpenOp in the
4551 // ctor.
4552 return static_cast<typename Cursor<CursorType>::OpenOp&>(this->mOp)
4553 .mOptionalKeyRange;
4554 }
4555
4556 nsresult ProcessStatementSteps(mozIStorageStatement* aStmt);
4557};
4558
4559template <IDBCursorType CursorType>
4560class ObjectStoreOpenOpHelper : protected CommonOpenOpHelper<CursorType> {
4561 public:
4562 using CommonOpenOpHelper<CursorType>::CommonOpenOpHelper;
4563
4564 protected:
4565 using CommonOpenOpHelper<CursorType>::GetCursor;
4566 using CommonOpenOpHelper<CursorType>::GetOptionalKeyRange;
4567 using CommonOpenOpHelper<CursorType>::AppendConditionClause;
4568
4569 void PrepareKeyConditionClauses(const nsACString& aDirectionClause,
4570 const nsACString& aQueryStart);
4571};
4572
4573template <IDBCursorType CursorType>
4574class IndexOpenOpHelper : protected CommonOpenOpHelper<CursorType> {
4575 public:
4576 using CommonOpenOpHelper<CursorType>::CommonOpenOpHelper;
4577
4578 protected:
4579 using CommonOpenOpHelper<CursorType>::GetCursor;
4580 using CommonOpenOpHelper<CursorType>::GetOptionalKeyRange;
4581 using CommonOpenOpHelper<CursorType>::AppendConditionClause;
4582
4583 void PrepareIndexKeyConditionClause(
4584 const nsACString& aDirectionClause,
4585 const nsLiteralCString& aObjectDataKeyPrefix, nsAutoCString aQueryStart);
4586};
4587
4588template <>
4589class OpenOpHelper<IDBCursorType::ObjectStore>
4590 : public ObjectStoreOpenOpHelper<IDBCursorType::ObjectStore> {
4591 public:
4592 using ObjectStoreOpenOpHelper<
4593 IDBCursorType::ObjectStore>::ObjectStoreOpenOpHelper;
4594
4595 nsresult DoDatabaseWork(DatabaseConnection* aConnection);
4596};
4597
4598template <>
4599class OpenOpHelper<IDBCursorType::ObjectStoreKey>
4600 : public ObjectStoreOpenOpHelper<IDBCursorType::ObjectStoreKey> {
4601 public:
4602 using ObjectStoreOpenOpHelper<
4603 IDBCursorType::ObjectStoreKey>::ObjectStoreOpenOpHelper;
4604
4605 nsresult DoDatabaseWork(DatabaseConnection* aConnection);
4606};
4607
4608template <>
4609class OpenOpHelper<IDBCursorType::Index>
4610 : IndexOpenOpHelper<IDBCursorType::Index> {
4611 private:
4612 void PrepareKeyConditionClauses(const nsACString& aDirectionClause,
4613 nsAutoCString aQueryStart) {
4614 PrepareIndexKeyConditionClause(aDirectionClause, "index_table."_ns,
4615 std::move(aQueryStart));
4616 }
4617
4618 public:
4619 using IndexOpenOpHelper<IDBCursorType::Index>::IndexOpenOpHelper;
4620
4621 nsresult DoDatabaseWork(DatabaseConnection* aConnection);
4622};
4623
4624template <>
4625class OpenOpHelper<IDBCursorType::IndexKey>
4626 : IndexOpenOpHelper<IDBCursorType::IndexKey> {
4627 private:
4628 void PrepareKeyConditionClauses(const nsACString& aDirectionClause,
4629 nsAutoCString aQueryStart) {
4630 PrepareIndexKeyConditionClause(aDirectionClause, ""_ns,
4631 std::move(aQueryStart));
4632 }
4633
4634 public:
4635 using IndexOpenOpHelper<IDBCursorType::IndexKey>::IndexOpenOpHelper;
4636
4637 nsresult DoDatabaseWork(DatabaseConnection* aConnection);
4638};
4639
4640template <IDBCursorType CursorType>
4641class Cursor<CursorType>::OpenOp final : public CursorOpBase {
4642 friend class Cursor<CursorType>;
4643 friend class CommonOpenOpHelper<CursorType>;
4644
4645 const Maybe<SerializedKeyRange> mOptionalKeyRange;
4646
4647 using CursorOpBase::mCursor;
4648 using CursorOpBase::mResponse;
4649
4650 // Only created by Cursor.
4651 OpenOp(Cursor* const aCursor, const int64_t aRequestId,
4652 const Maybe<SerializedKeyRange>& aOptionalKeyRange)
4653 : CursorOpBase(aCursor, aRequestId),
4654 mOptionalKeyRange(aOptionalKeyRange) {}
4655
4656 // Reference counted.
4657 ~OpenOp() override = default;
4658
4659 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4660};
4661
4662template <IDBCursorType CursorType>
4663class Cursor<CursorType>::ContinueOp final
4664 : public Cursor<CursorType>::CursorOpBase {
4665 friend class Cursor<CursorType>;
4666
4667 using CursorOpBase::mCursor;
4668 using CursorOpBase::mResponse;
4669 const CursorRequestParams mParams;
4670
4671 // Only created by Cursor.
4672 ContinueOp(Cursor* const aCursor, int64_t aRequestId,
4673 CursorRequestParams aParams, CursorPosition<CursorType> aPosition)
4674 : CursorOpBase(aCursor, aRequestId),
4675 mParams(std::move(aParams)),
4676 mCurrentPosition{std::move(aPosition)} {
4677 MOZ_ASSERT(mParams.type() != CursorRequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mParams.type() != CursorRequestParams::T__None)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mParams.type() != CursorRequestParams::T__None))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mParams.type() != CursorRequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4677); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mParams.type() != CursorRequestParams::T__None"
")"); do { *((volatile int*)__null) = 4677; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4678 }
4679
4680 // Reference counted.
4681 ~ContinueOp() override = default;
4682
4683 nsresult DoDatabaseWork(DatabaseConnection* aConnection) override;
4684
4685 const CursorPosition<CursorType> mCurrentPosition;
4686};
4687
4688class Utils final : public PBackgroundIndexedDBUtilsParent {
4689#ifdef DEBUG1
4690 bool mActorDestroyed;
4691#endif
4692
4693 public:
4694 Utils();
4695
4696 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(mozilla::dom::indexedDB::Utils)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<mozilla::dom::indexedDB::Utils>
, "Reference-counted class " "mozilla::dom::indexedDB::Utils"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4696); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
4696; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("mozilla::dom::indexedDB::Utils"), (uint32_t)(sizeof
(*this))); return (nsrefcnt)count; } MozExternalRefCountType Release
(void) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4696); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 4696
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("mozilla::dom::indexedDB::Utils")); if (count == 0) {
delete (this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
4697
4698 private:
4699 // Reference counted.
4700 ~Utils() override;
4701
4702 // IPDL methods are only called by IPDL.
4703 void ActorDestroy(ActorDestroyReason aWhy) override;
4704
4705 mozilla::ipc::IPCResult RecvDeleteMe() override;
4706
4707 mozilla::ipc::IPCResult RecvGetFileReferences(
4708 const PersistenceType& aPersistenceType, const nsACString& aOrigin,
4709 const nsAString& aDatabaseName, const int64_t& aFileId, int32_t* aRefCnt,
4710 int32_t* aDBRefCnt, bool* aResult) override;
4711
4712 mozilla::ipc::IPCResult RecvDoMaintenance(
4713 DoMaintenanceResolver&& aResolver) override;
4714};
4715
4716/*******************************************************************************
4717 * Other class declarations
4718 ******************************************************************************/
4719
4720struct DatabaseActorInfo final {
4721 friend class mozilla::DefaultDelete<DatabaseActorInfo>;
4722
4723 SafeRefPtr<FullDatabaseMetadata> mMetadata;
4724 nsTArray<NotNull<CheckedUnsafePtr<Database>>> mLiveDatabases;
4725 RefPtr<FactoryOp> mWaitingFactoryOp;
4726
4727 DatabaseActorInfo(SafeRefPtr<FullDatabaseMetadata> aMetadata,
4728 NotNull<Database*> aDatabase)
4729 : mMetadata(std::move(aMetadata)) {
4730 MOZ_COUNT_CTOR(DatabaseActorInfo)do { static_assert(std::is_class_v<DatabaseActorInfo>, "Token '"
"DatabaseActorInfo" "' is not a class type."); static_assert
(!std::is_base_of<nsISupports, DatabaseActorInfo>::value
, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "DatabaseActorInfo"
, sizeof(*this)); } while (0)
;
4731
4732 mLiveDatabases.AppendElement(aDatabase);
4733 }
4734
4735 private:
4736 ~DatabaseActorInfo() {
4737 MOZ_ASSERT(mLiveDatabases.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLiveDatabases.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mLiveDatabases.IsEmpty()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mLiveDatabases.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4737); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLiveDatabases.IsEmpty()"
")"); do { *((volatile int*)__null) = 4737; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4738 MOZ_ASSERT(!mWaitingFactoryOp || !mWaitingFactoryOp->HasBlockedDatabases())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mWaitingFactoryOp || !mWaitingFactoryOp->HasBlockedDatabases
())>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!mWaitingFactoryOp || !mWaitingFactoryOp->HasBlockedDatabases
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mWaitingFactoryOp || !mWaitingFactoryOp->HasBlockedDatabases()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4738); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mWaitingFactoryOp || !mWaitingFactoryOp->HasBlockedDatabases()"
")"); do { *((volatile int*)__null) = 4738; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4739
4740 MOZ_COUNT_DTOR(DatabaseActorInfo)do { static_assert(std::is_class_v<DatabaseActorInfo>, "Token '"
"DatabaseActorInfo" "' is not a class type."); static_assert
(!std::is_base_of<nsISupports, DatabaseActorInfo>::value
, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "DatabaseActorInfo"
, sizeof(*this)); } while (0)
;
4741 }
4742};
4743
4744class DatabaseLoggingInfo final {
4745#ifdef DEBUG1
4746 // Just for potential warnings.
4747 friend class Factory;
4748#endif
4749
4750 LoggingInfo mLoggingInfo;
4751
4752 public:
4753 explicit DatabaseLoggingInfo(const LoggingInfo& aLoggingInfo)
4754 : mLoggingInfo(aLoggingInfo) {
4755 AssertIsOnBackgroundThread();
4756 MOZ_ASSERT(aLoggingInfo.nextTransactionSerialNumber())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aLoggingInfo.nextTransactionSerialNumber())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aLoggingInfo.nextTransactionSerialNumber()))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aLoggingInfo.nextTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4756); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aLoggingInfo.nextTransactionSerialNumber()"
")"); do { *((volatile int*)__null) = 4756; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4757 MOZ_ASSERT(aLoggingInfo.nextVersionChangeTransactionSerialNumber())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aLoggingInfo.nextVersionChangeTransactionSerialNumber
())>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aLoggingInfo.nextVersionChangeTransactionSerialNumber
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aLoggingInfo.nextVersionChangeTransactionSerialNumber()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4757); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aLoggingInfo.nextVersionChangeTransactionSerialNumber()"
")"); do { *((volatile int*)__null) = 4757; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4758 MOZ_ASSERT(aLoggingInfo.nextRequestSerialNumber())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aLoggingInfo.nextRequestSerialNumber())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aLoggingInfo.nextRequestSerialNumber()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aLoggingInfo.nextRequestSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4758); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aLoggingInfo.nextRequestSerialNumber()"
")"); do { *((volatile int*)__null) = 4758; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4759 }
4760
4761 const nsID& Id() const {
4762 AssertIsOnBackgroundThread();
4763
4764 return mLoggingInfo.backgroundChildLoggingId();
4765 }
4766
4767 int64_t NextTransactionSN(IDBTransaction::Mode aMode) {
4768 AssertIsOnBackgroundThread();
4769 MOZ_ASSERT(mLoggingInfo.nextTransactionSerialNumber() < INT64_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLoggingInfo.nextTransactionSerialNumber() < (9223372036854775807L
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mLoggingInfo.nextTransactionSerialNumber() < (9223372036854775807L
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mLoggingInfo.nextTransactionSerialNumber() < (9223372036854775807L)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4769); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLoggingInfo.nextTransactionSerialNumber() < (9223372036854775807L)"
")"); do { *((volatile int*)__null) = 4769; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4770 MOZ_ASSERT(mLoggingInfo.nextVersionChangeTransactionSerialNumber() >do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLoggingInfo.nextVersionChangeTransactionSerialNumber
() > (-9223372036854775807L -1))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mLoggingInfo.nextVersionChangeTransactionSerialNumber
() > (-9223372036854775807L -1)))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("mLoggingInfo.nextVersionChangeTransactionSerialNumber() > (-9223372036854775807L-1)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4771); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLoggingInfo.nextVersionChangeTransactionSerialNumber() > (-9223372036854775807L-1)"
")"); do { *((volatile int*)__null) = 4771; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
4771 INT64_MIN)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLoggingInfo.nextVersionChangeTransactionSerialNumber
() > (-9223372036854775807L -1))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mLoggingInfo.nextVersionChangeTransactionSerialNumber
() > (-9223372036854775807L -1)))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("mLoggingInfo.nextVersionChangeTransactionSerialNumber() > (-9223372036854775807L-1)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4771); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLoggingInfo.nextVersionChangeTransactionSerialNumber() > (-9223372036854775807L-1)"
")"); do { *((volatile int*)__null) = 4771; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4772
4773 if (aMode == IDBTransaction::Mode::VersionChange) {
4774 return mLoggingInfo.nextVersionChangeTransactionSerialNumber()--;
4775 }
4776
4777 return mLoggingInfo.nextTransactionSerialNumber()++;
4778 }
4779
4780 uint64_t NextRequestSN() {
4781 AssertIsOnBackgroundThread();
4782 MOZ_ASSERT(mLoggingInfo.nextRequestSerialNumber() < UINT64_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLoggingInfo.nextRequestSerialNumber() < (18446744073709551615UL
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mLoggingInfo.nextRequestSerialNumber() < (18446744073709551615UL
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mLoggingInfo.nextRequestSerialNumber() < (18446744073709551615UL)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4782); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLoggingInfo.nextRequestSerialNumber() < (18446744073709551615UL)"
")"); do { *((volatile int*)__null) = 4782; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4783
4784 return mLoggingInfo.nextRequestSerialNumber()++;
4785 }
4786
4787 NS_INLINE_DECL_REFCOUNTING(DatabaseLoggingInfo)public: MozExternalRefCountType AddRef(void) { static_assert(
!std::is_destructible_v<DatabaseLoggingInfo>, "Reference-counted class "
"DatabaseLoggingInfo" " should not have a public destructor. "
"Make this class's destructor non-public"); do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4787); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
4787; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); _mOwningThread.AssertOwnership("DatabaseLoggingInfo"
" not thread-safe"); ++mRefCnt; NS_LogAddRef((this), (mRefCnt
), ("DatabaseLoggingInfo"), (uint32_t)(sizeof(*this))); return
mRefCnt; } MozExternalRefCountType Release(void) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(int32_t
(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4787); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 4787
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); _mOwningThread.AssertOwnership("DatabaseLoggingInfo"
" not thread-safe"); --mRefCnt; NS_LogRelease((this), (mRefCnt
), ("DatabaseLoggingInfo")); if (mRefCnt == 0) { mRefCnt = 1;
delete (this); return 0; } return mRefCnt; } using HasThreadSafeRefCnt
= std::false_type; protected: nsAutoRefCnt mRefCnt; nsAutoOwningThread
_mOwningThread; public:
4788
4789 private:
4790 ~DatabaseLoggingInfo();
4791};
4792
4793class QuotaClient final : public mozilla::dom::quota::Client {
4794 friend class GetDatabasesOp;
4795
4796 static QuotaClient* sInstance;
4797
4798 nsCOMPtr<nsIEventTarget> mBackgroundThread;
4799 nsCOMPtr<nsITimer> mDeleteTimer;
4800 nsTArray<RefPtr<Maintenance>> mMaintenanceQueue;
4801 RefPtr<Maintenance> mCurrentMaintenance;
4802 RefPtr<nsThreadPool> mMaintenanceThreadPool;
4803 nsClassHashtable<nsRefPtrHashKey<DatabaseFileManager>, nsTArray<int64_t>>
4804 mPendingDeleteInfos;
4805
4806 public:
4807 QuotaClient();
4808
4809 static QuotaClient* GetInstance() {
4810 AssertIsOnBackgroundThread();
4811
4812 return sInstance;
4813 }
4814
4815 nsIEventTarget* BackgroundThread() const {
4816 MOZ_ASSERT(mBackgroundThread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mBackgroundThread)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mBackgroundThread))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mBackgroundThread"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4816); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mBackgroundThread"
")"); do { *((volatile int*)__null) = 4816; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4817 return mBackgroundThread;
4818 }
4819
4820 nsresult AsyncDeleteFile(DatabaseFileManager* aFileManager, int64_t aFileId);
4821
4822 nsresult FlushPendingFileDeletions();
4823
4824 RefPtr<BoolPromise> DoMaintenance();
4825
4826 RefPtr<Maintenance> GetCurrentMaintenance() const {
4827 return mCurrentMaintenance;
4828 }
4829
4830 void NoteFinishedMaintenance(Maintenance* aMaintenance) {
4831 AssertIsOnBackgroundThread();
4832 MOZ_ASSERT(aMaintenance)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMaintenance)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMaintenance))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aMaintenance", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4832); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMaintenance"
")"); do { *((volatile int*)__null) = 4832; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4833 MOZ_ASSERT(mCurrentMaintenance == aMaintenance)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mCurrentMaintenance == aMaintenance)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mCurrentMaintenance == aMaintenance
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"mCurrentMaintenance == aMaintenance", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4833); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCurrentMaintenance == aMaintenance"
")"); do { *((volatile int*)__null) = 4833; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
4834
4835 mCurrentMaintenance = nullptr;
4836
4837 QuotaManager::MaybeRecordQuotaClientShutdownStep(quota::Client::IDB,
4838 "Maintenance finished"_ns);
4839
4840 ProcessMaintenanceQueue();
4841 }
4842
4843 nsThreadPool* GetOrCreateThreadPool();
4844
4845 NS_INLINE_DECL_THREADSAFE_REFCOUNTING(mozilla::dom::indexedDB::QuotaClient,public: MozExternalRefCountType AddRef(void) override { static_assert
(!std::is_destructible_v<mozilla::dom::indexedDB::QuotaClient
>, "Reference-counted class " "mozilla::dom::indexedDB::QuotaClient"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4846); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
4846; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("mozilla::dom::indexedDB::QuotaClient"), (uint32_t
)(sizeof(*this))); return (nsrefcnt)count; } MozExternalRefCountType
Release(void) override { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(int32_t(mRefCnt) > 0)
>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(int32_t(mRefCnt) > 0))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0" " (" "dup release"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4846); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 4846
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("mozilla::dom::indexedDB::QuotaClient")); if (count ==
0) { delete (this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
4846 override)public: MozExternalRefCountType AddRef(void) override { static_assert
(!std::is_destructible_v<mozilla::dom::indexedDB::QuotaClient
>, "Reference-counted class " "mozilla::dom::indexedDB::QuotaClient"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4846); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
4846; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); nsrefcnt count = ++mRefCnt; NS_LogAddRef((this
), (count), ("mozilla::dom::indexedDB::QuotaClient"), (uint32_t
)(sizeof(*this))); return (nsrefcnt)count; } MozExternalRefCountType
Release(void) override { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(int32_t(mRefCnt) > 0)
>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(int32_t(mRefCnt) > 0))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0" " (" "dup release"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 4846); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 4846
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); nsrefcnt count = --mRefCnt; NS_LogRelease((this), (
count), ("mozilla::dom::indexedDB::QuotaClient")); if (count ==
0) { delete (this); return 0; } return count; } using HasThreadSafeRefCnt
= std::true_type; protected: ::mozilla::ThreadSafeAutoRefCnt
mRefCnt; public:
4847
4848 mozilla::dom::quota::Client::Type GetType() override;
4849
4850 nsresult UpgradeStorageFrom1_0To2_0(nsIFile* aDirectory) override;
4851
4852 nsresult UpgradeStorageFrom2_1To2_2(nsIFile* aDirectory) override;
4853
4854 Result<UsageInfo, nsresult> InitOrigin(PersistenceType aPersistenceType,
4855 const OriginMetadata& aOriginMetadata,
4856 const AtomicBool& aCanceled) override;
4857
4858 nsresult InitOriginWithoutTracking(PersistenceType aPersistenceType,
4859 const OriginMetadata& aOriginMetadata,
4860 const AtomicBool& aCanceled) override;
4861
4862 Result<UsageInfo, nsresult> GetUsageForOrigin(
4863 PersistenceType aPersistenceType, const OriginMetadata& aOriginMetadata,
4864 const AtomicBool& aCanceled) override;
4865
4866 void OnOriginClearCompleted(const OriginMetadata& aOriginMetadata) override;
4867
4868 void OnRepositoryClearCompleted(PersistenceType aPersistenceType) override;
4869
4870 void ReleaseIOThreadObjects() override;
4871
4872 void AbortOperationsForLocks(
4873 const DirectoryLockIdTable& aDirectoryLockIds) override;
4874
4875 void AbortOperationsForProcess(ContentParentId aContentParentId) override;
4876
4877 void AbortAllOperations() override;
4878
4879 void StartIdleMaintenance() override;
4880
4881 void StopIdleMaintenance() override;
4882
4883 private:
4884 ~QuotaClient() override;
4885
4886 void InitiateShutdown() override;
4887 bool IsShutdownCompleted() const override;
4888 nsCString GetShutdownStatus() const override;
4889 void ForceKillActors() override;
4890 void FinalizeShutdown() override;
4891
4892 static void DeleteTimerCallback(nsITimer* aTimer, void* aClosure);
4893
4894 void AbortAllMaintenances();
4895
4896 Result<nsCOMPtr<nsIFile>, nsresult> GetDirectory(
4897 const OriginMetadata& aOriginMetadata);
4898
4899 struct SubdirectoriesToProcessAndDatabaseFilenames {
4900 AutoTArray<nsString, 20> subdirsToProcess;
4901 nsTHashSet<nsString> databaseFilenames{20};
4902 };
4903
4904 struct SubdirectoriesToProcessAndDatabaseFilenamesAndObsoleteFilenames {
4905 AutoTArray<nsString, 20> subdirsToProcess;
4906 nsTHashSet<nsString> databaseFilenames{20};
4907 nsTHashSet<nsString> obsoleteFilenames{20};
4908 };
4909
4910 enum class ObsoleteFilenamesHandling { Include, Omit };
4911
4912 template <ObsoleteFilenamesHandling ObsoleteFilenames>
4913 using GetDatabaseFilenamesResult = std::conditional_t<
4914 ObsoleteFilenames == ObsoleteFilenamesHandling::Include,
4915 SubdirectoriesToProcessAndDatabaseFilenamesAndObsoleteFilenames,
4916 SubdirectoriesToProcessAndDatabaseFilenames>;
4917
4918 // Returns a two-part or three-part structure:
4919 //
4920 // The first part is an array of subdirectories to process.
4921 //
4922 // The second part is a hashtable of database filenames.
4923 //
4924 // When ObsoleteFilenames is ObsoleteFilenamesHandling::Include, will also
4925 // collect files based on the marker files. For now,
4926 // GetUsageForOriginInternal() is the only consumer of this result because it
4927 // checks those unfinished deletion and clean them up after that.
4928 template <ObsoleteFilenamesHandling ObsoleteFilenames =
4929 ObsoleteFilenamesHandling::Omit>
4930 Result<GetDatabaseFilenamesResult<ObsoleteFilenames>,
4931 nsresult> static GetDatabaseFilenames(nsIFile& aDirectory,
4932 const AtomicBool& aCanceled);
4933
4934 nsresult GetUsageForOriginInternal(PersistenceType aPersistenceType,
4935 const OriginMetadata& aOriginMetadata,
4936 const AtomicBool& aCanceled,
4937 bool aInitializing, UsageInfo* aUsageInfo);
4938
4939 // Runs on the PBackground thread. Checks to see if there's a queued
4940 // Maintenance to run.
4941 void ProcessMaintenanceQueue();
4942};
4943
4944class DeleteFilesRunnable final : public Runnable {
4945 using ClientDirectoryLock = mozilla::dom::quota::ClientDirectoryLock;
4946
4947 enum State {
4948 // Just created on the PBackground thread. Next step is
4949 // State_DirectoryOpenPending.
4950 State_Initial,
4951
4952 // Waiting for directory open allowed on the main thread. The next step is
4953 // State_DatabaseWorkOpen.
4954 State_DirectoryOpenPending,
4955
4956 // Waiting to do/doing work on the QuotaManager IO thread. The next step is
4957 // State_UnblockingOpen.
4958 State_DatabaseWorkOpen,
4959
4960 // Notifying the QuotaManager that it can proceed to the next operation on
4961 // the main thread. Next step is State_Completed.
4962 State_UnblockingOpen,
4963
4964 // All done.
4965 State_Completed
4966 };
4967
4968 nsCOMPtr<nsIEventTarget> mOwningEventTarget;
4969 SafeRefPtr<DatabaseFileManager> mFileManager;
4970 RefPtr<ClientDirectoryLock> mDirectoryLock;
4971 nsTArray<int64_t> mFileIds;
4972 State mState;
4973 DEBUGONLY(bool mDEBUGCountsAsPending = false)bool mDEBUGCountsAsPending = false;
4974
4975 static uint64_t sPendingRunnables;
4976
4977 public:
4978 DeleteFilesRunnable(SafeRefPtr<DatabaseFileManager> aFileManager,
4979 nsTArray<int64_t>&& aFileIds);
4980
4981 void RunImmediately();
4982
4983 static bool IsDeletionPending() { return sPendingRunnables > 0; }
4984
4985 private:
4986#ifdef DEBUG1
4987 ~DeleteFilesRunnable();
4988#else
4989 ~DeleteFilesRunnable() = default;
4990#endif
4991
4992 void Open();
4993
4994 void DoDatabaseWork();
4995
4996 void Finish();
4997
4998 void UnblockOpen();
4999
5000 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
5001
5002 void DirectoryLockAcquired(ClientDirectoryLock* aLock);
5003
5004 void DirectoryLockFailed();
5005};
5006
5007class Maintenance final : public Runnable {
5008 struct DirectoryInfo final {
5009 InitializedOnce<const OriginMetadata> mOriginMetadata;
5010 InitializedOnce<const nsTArray<nsString>> mDatabasePaths;
5011 const PersistenceType mPersistenceType;
5012
5013 DirectoryInfo(PersistenceType aPersistenceType,
5014 OriginMetadata aOriginMetadata,
5015 nsTArray<nsString>&& aDatabasePaths);
5016
5017 DirectoryInfo(const DirectoryInfo& aOther) = delete;
5018 DirectoryInfo(DirectoryInfo&& aOther) = delete;
5019
5020 ~DirectoryInfo() { MOZ_COUNT_DTOR(Maintenance::DirectoryInfo)do { static_assert(std::is_class_v<Maintenance::DirectoryInfo
>, "Token '" "Maintenance::DirectoryInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, Maintenance
::DirectoryInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "Maintenance::DirectoryInfo"
, sizeof(*this)); } while (0)
; }
5021 };
5022
5023 enum class State {
5024 // Newly created on the PBackground thread. Will proceed immediately or be
5025 // added to the maintenance queue. The next step is either
5026 // DirectoryOpenPending if IndexedDatabaseManager is running, or
5027 // CreateIndexedDatabaseManager if not.
5028 Initial = 0,
5029
5030 // Create IndexedDatabaseManager on the main thread. The next step is either
5031 // Finishing if IndexedDatabaseManager initialization fails, or
5032 // IndexedDatabaseManagerOpen if initialization succeeds.
5033 CreateIndexedDatabaseManager,
5034
5035 // Call OpenDirectory() on the PBackground thread. The next step is
5036 // DirectoryOpenPending.
5037 IndexedDatabaseManagerOpen,
5038
5039 // Waiting for directory open allowed on the PBackground thread. The next
5040 // step is either Finishing if directory lock failed to acquire, or
5041 // DirectoryWorkOpen if directory lock is acquired.
5042 DirectoryOpenPending,
5043
5044 // Waiting to do/doing work on the QuotaManager IO thread. The next step is
5045 // BeginDatabaseMaintenance.
5046 DirectoryWorkOpen,
5047
5048 // Dispatching a runnable for each database on the PBackground thread. The
5049 // next state is either WaitingForDatabaseMaintenancesToComplete if at least
5050 // one runnable has been dispatched, or Finishing otherwise.
5051 BeginDatabaseMaintenance,
5052
5053 // Waiting for DatabaseMaintenance to finish on maintenance thread pool.
5054 // The next state is Finishing if the last runnable has finished.
5055 WaitingForDatabaseMaintenancesToComplete,
5056
5057 // Waiting to finish/finishing on the PBackground thread. The next step is
5058 // Completed.
5059 Finishing,
5060
5061 // All done.
5062 Complete
5063 };
5064
5065 RefPtr<QuotaClient> mQuotaClient;
5066 MozPromiseHolder<BoolPromise> mPromiseHolder;
5067 PRTime mStartTime;
5068 RefPtr<UniversalDirectoryLock> mPendingDirectoryLock;
5069 // The directory lock is normally dropped by BeginDatabaseMaintenance, but if
5070 // something fails (in any method), the Finish method will do the cleanup.
5071 RefPtr<UniversalDirectoryLock> mDirectoryLock;
5072 nsTArray<nsCOMPtr<nsIRunnable>> mCompleteCallbacks;
5073 nsTArray<DirectoryInfo> mDirectoryInfos;
5074 nsTHashMap<nsStringHashKey, DatabaseMaintenance*> mDatabaseMaintenances;
5075 nsresult mResultCode;
5076 Atomic<bool> mAborted;
5077 bool mOpenStorageForAllRepositoriesFailed;
5078 State mState;
5079
5080 public:
5081 explicit Maintenance(QuotaClient* aQuotaClient)
5082 : Runnable("dom::indexedDB::Maintenance"),
5083 mQuotaClient(aQuotaClient),
5084 mStartTime(PR_Now()),
5085 mResultCode(NS_OK),
5086 mAborted(false),
5087 mOpenStorageForAllRepositoriesFailed(false),
5088 mState(State::Initial) {
5089 AssertIsOnBackgroundThread();
5090 MOZ_ASSERT(aQuotaClient)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aQuotaClient)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aQuotaClient))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aQuotaClient", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5090); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aQuotaClient"
")"); do { *((volatile int*)__null) = 5090; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5091 MOZ_ASSERT(QuotaClient::GetInstance() == aQuotaClient)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(QuotaClient::GetInstance() == aQuotaClient)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(QuotaClient::GetInstance() == aQuotaClient))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("QuotaClient::GetInstance() == aQuotaClient"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5091); AnnotateMozCrashReason("MOZ_ASSERT" "(" "QuotaClient::GetInstance() == aQuotaClient"
")"); do { *((volatile int*)__null) = 5091; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5092 MOZ_ASSERT(mStartTime)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mStartTime)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mStartTime))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mStartTime", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5092); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mStartTime"
")"); do { *((volatile int*)__null) = 5092; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5093 }
5094
5095 nsIEventTarget* BackgroundThread() const {
5096 MOZ_ASSERT(mQuotaClient)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mQuotaClient)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mQuotaClient))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mQuotaClient", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5096); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mQuotaClient"
")"); do { *((volatile int*)__null) = 5096; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5097 return mQuotaClient->BackgroundThread();
5098 }
5099
5100 PRTime StartTime() const { return mStartTime; }
5101
5102 bool IsAborted() const { return mAborted; }
5103
5104 void RunImmediately() {
5105 MOZ_ASSERT(mState == State::Initial)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Initial)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Initial))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mState == State::Initial"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5105); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial"
")"); do { *((volatile int*)__null) = 5105; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5106
5107 Unused << this->Run();
5108 }
5109
5110 RefPtr<BoolPromise> OnResults() {
5111 AssertIsOnBackgroundThread();
5112
5113 return mPromiseHolder.Ensure(__func__);
5114 }
5115
5116 void Abort();
5117
5118 void RegisterDatabaseMaintenance(DatabaseMaintenance* aDatabaseMaintenance);
5119
5120 void UnregisterDatabaseMaintenance(DatabaseMaintenance* aDatabaseMaintenance);
5121
5122 bool HasDatabaseMaintenances() const { return mDatabaseMaintenances.Count(); }
5123
5124 RefPtr<DatabaseMaintenance> GetDatabaseMaintenance(
5125 const nsAString& aDatabasePath) const {
5126 AssertIsOnBackgroundThread();
5127
5128 return mDatabaseMaintenances.Get(aDatabasePath);
5129 }
5130
5131 void WaitForCompletion(nsIRunnable* aCallback) {
5132 AssertIsOnBackgroundThread();
5133 MOZ_ASSERT(mDatabaseMaintenances.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabaseMaintenances.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabaseMaintenances.Count(
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mDatabaseMaintenances.Count()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5133); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabaseMaintenances.Count()"
")"); do { *((volatile int*)__null) = 5133; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5134
5135 mCompleteCallbacks.AppendElement(aCallback);
5136 }
5137
5138 void Stringify(nsACString& aResult) const;
5139
5140 private:
5141 ~Maintenance() override {
5142 MOZ_ASSERT(mState == State::Complete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Complete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Complete)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("mState == State::Complete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5142); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Complete"
")"); do { *((volatile int*)__null) = 5142; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5143 MOZ_ASSERT(!mDatabaseMaintenances.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabaseMaintenances.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDatabaseMaintenances.Count
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mDatabaseMaintenances.Count()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5143); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabaseMaintenances.Count()"
")"); do { *((volatile int*)__null) = 5143; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5144 }
5145
5146 // Runs on the PBackground thread. Checks if IndexedDatabaseManager is
5147 // running. Calls OpenDirectory() or dispatches to the main thread on which
5148 // CreateIndexedDatabaseManager() is called.
5149 nsresult Start();
5150
5151 // Runs on the main thread. Once IndexedDatabaseManager is created it will
5152 // dispatch to the PBackground thread on which OpenDirectory() is called.
5153 nsresult CreateIndexedDatabaseManager();
5154
5155 RefPtr<UniversalDirectoryLockPromise> OpenStorageDirectory(
5156 const PersistenceScope& aPersistenceScope, bool aInitializeOrigins);
5157
5158 // Runs on the PBackground thread. Once QuotaManager has given a lock it will
5159 // call DirectoryOpen().
5160 nsresult OpenDirectory();
5161
5162 // Runs on the PBackground thread. Dispatches to the QuotaManager I/O thread.
5163 nsresult DirectoryOpen();
5164
5165 // Runs on the QuotaManager I/O thread. Once it finds databases it will
5166 // dispatch to the PBackground thread on which BeginDatabaseMaintenance()
5167 // is called.
5168 nsresult DirectoryWork();
5169
5170 // Runs on the PBackground thread. It dispatches a runnable for each database.
5171 nsresult BeginDatabaseMaintenance();
5172
5173 // Runs on the PBackground thread. Called when the maintenance is finished or
5174 // if any of above methods fails.
5175 void Finish();
5176
5177 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
5178
5179 void DirectoryLockAcquired(UniversalDirectoryLock* aLock);
5180
5181 void DirectoryLockFailed();
5182};
5183
5184Maintenance::DirectoryInfo::DirectoryInfo(PersistenceType aPersistenceType,
5185 OriginMetadata aOriginMetadata,
5186 nsTArray<nsString>&& aDatabasePaths)
5187 : mOriginMetadata(std::move(aOriginMetadata)),
5188 mDatabasePaths(std::move(aDatabasePaths)),
5189 mPersistenceType(aPersistenceType) {
5190 MOZ_ASSERT(aPersistenceType != PERSISTENCE_TYPE_INVALID)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aPersistenceType != PERSISTENCE_TYPE_INVALID)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aPersistenceType != PERSISTENCE_TYPE_INVALID))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aPersistenceType != PERSISTENCE_TYPE_INVALID"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5190); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aPersistenceType != PERSISTENCE_TYPE_INVALID"
")"); do { *((volatile int*)__null) = 5190; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5191 MOZ_ASSERT(!mOriginMetadata->mGroup.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mOriginMetadata->mGroup.IsEmpty())>::isValid,
"invalid assertion condition"); if ((__builtin_expect(!!(!(!
!(!mOriginMetadata->mGroup.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mOriginMetadata->mGroup.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5191); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mOriginMetadata->mGroup.IsEmpty()"
")"); do { *((volatile int*)__null) = 5191; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5192 MOZ_ASSERT(!mOriginMetadata->mOrigin.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mOriginMetadata->mOrigin.IsEmpty())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mOriginMetadata->mOrigin.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mOriginMetadata->mOrigin.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5192); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mOriginMetadata->mOrigin.IsEmpty()"
")"); do { *((volatile int*)__null) = 5192; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5193#ifdef DEBUG1
5194 MOZ_ASSERT(!mDatabasePaths->IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabasePaths->IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDatabasePaths->IsEmpty(
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mDatabasePaths->IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5194); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabasePaths->IsEmpty()"
")"); do { *((volatile int*)__null) = 5194; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5195 for (const nsAString& databasePath : *mDatabasePaths) {
5196 MOZ_ASSERT(!databasePath.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!databasePath.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!databasePath.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!databasePath.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5196); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!databasePath.IsEmpty()"
")"); do { *((volatile int*)__null) = 5196; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5197 }
5198#endif
5199
5200 MOZ_COUNT_CTOR(Maintenance::DirectoryInfo)do { static_assert(std::is_class_v<Maintenance::DirectoryInfo
>, "Token '" "Maintenance::DirectoryInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, Maintenance
::DirectoryInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "Maintenance::DirectoryInfo"
, sizeof(*this)); } while (0)
;
5201}
5202
5203class DatabaseMaintenance final : public Runnable {
5204 // The minimum amount of time that has passed since the last vacuum before we
5205 // will attempt to analyze the database for fragmentation.
5206 static const PRTime kMinVacuumAge =
5207 PRTime(PR_USEC_PER_SEC1000000L) * 60 * 60 * 24 * 7;
5208
5209 // If the percent of database pages that are not in contiguous order is higher
5210 // than this percentage we will attempt a vacuum.
5211 static const int32_t kPercentUnorderedThreshold = 30;
5212
5213 // If the percent of file size growth since the last vacuum is higher than
5214 // this percentage we will attempt a vacuum.
5215 static const int32_t kPercentFileSizeGrowthThreshold = 10;
5216
5217 // The number of freelist pages beyond which we will favor an incremental
5218 // vacuum over a full vacuum.
5219 static const int32_t kMaxFreelistThreshold = 5;
5220
5221 // If the percent of unused file bytes in the database exceeds this percentage
5222 // then we will attempt a full vacuum.
5223 static const int32_t kPercentUnusedThreshold = 20;
5224
5225 enum class MaintenanceAction { Nothing = 0, IncrementalVacuum, FullVacuum };
5226
5227 RefPtr<Maintenance> mMaintenance;
5228 // The directory lock is dropped in RunOnOwningThread which serves as a
5229 // cleanup method and is always called.
5230 RefPtr<ClientDirectoryLock> mDirectoryLock;
5231 const OriginMetadata mOriginMetadata;
5232 const nsString mDatabasePath;
5233 int64_t mDirectoryLockId;
5234 nsCOMPtr<nsIRunnable> mCompleteCallback;
5235 const PersistenceType mPersistenceType;
5236 const Maybe<CipherKey> mMaybeKey;
5237 Atomic<bool> mAborted;
5238 DataMutex<nsCOMPtr<mozIStorageConnection>> mSharedStorageConnection;
5239
5240 public:
5241 DatabaseMaintenance(Maintenance* aMaintenance,
5242 RefPtr<ClientDirectoryLock> aDirectoryLock,
5243 PersistenceType aPersistenceType,
5244 const OriginMetadata& aOriginMetadata,
5245 const nsAString& aDatabasePath,
5246 const Maybe<CipherKey>& aMaybeKey)
5247 : Runnable("dom::indexedDB::DatabaseMaintenance"),
5248 mMaintenance(aMaintenance),
5249 mDirectoryLock(std::move(aDirectoryLock)),
5250 mOriginMetadata(aOriginMetadata),
5251 mDatabasePath(aDatabasePath),
5252 mPersistenceType(aPersistenceType),
5253 mMaybeKey{aMaybeKey},
5254 mAborted(false),
5255 mSharedStorageConnection("sharedStorageConnection") {
5256 MOZ_ASSERT(mDirectoryLock)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDirectoryLock)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDirectoryLock))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mDirectoryLock"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDirectoryLock"
")"); do { *((volatile int*)__null) = 5256; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5257
5258 MOZ_ASSERT(mDirectoryLock->Id() >= 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDirectoryLock->Id() >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDirectoryLock->Id() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mDirectoryLock->Id() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5258); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDirectoryLock->Id() >= 0"
")"); do { *((volatile int*)__null) = 5258; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5259 mDirectoryLockId = mDirectoryLock->Id();
5260 }
5261
5262 const nsAString& DatabasePath() const { return mDatabasePath; }
5263
5264 void WaitForCompletion(nsIRunnable* aCallback) {
5265 AssertIsOnBackgroundThread();
5266 MOZ_ASSERT(!mCompleteCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mCompleteCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mCompleteCallback))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!mCompleteCallback"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5266); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mCompleteCallback"
")"); do { *((volatile int*)__null) = 5266; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5267
5268 mCompleteCallback = aCallback;
5269 }
5270
5271 void Stringify(nsACString& aResult) const;
5272
5273 nsresult Abort();
5274
5275 private:
5276 ~DatabaseMaintenance() override = default;
5277
5278 // Runs on maintenance thread pool. Does maintenance on the database.
5279 void PerformMaintenanceOnDatabase();
5280
5281 // Runs on maintenance thread pool as part of PerformMaintenanceOnDatabase.
5282 nsresult CheckIntegrity(mozIStorageConnection& aConnection, bool* aOk);
5283
5284 // Runs on maintenance thread pool as part of PerformMaintenanceOnDatabase.
5285 nsresult DetermineMaintenanceAction(mozIStorageConnection& aConnection,
5286 nsIFile* aDatabaseFile,
5287 MaintenanceAction* aMaintenanceAction);
5288
5289 // Runs on maintenance thread pool as part of PerformMaintenanceOnDatabase.
5290 void IncrementalVacuum(mozIStorageConnection& aConnection);
5291
5292 // Runs on maintenance thread pool as part of PerformMaintenanceOnDatabase.
5293 void FullVacuum(mozIStorageConnection& aConnection, nsIFile* aDatabaseFile);
5294
5295 // Runs on the PBackground thread. It dispatches a complete callback and
5296 // unregisters from Maintenance.
5297 void RunOnOwningThread();
5298
5299 // Runs on maintenance thread pool. Once it performs database maintenance
5300 // it will dispatch to the PBackground thread on which RunOnOwningThread()
5301 // is called.
5302 void RunOnConnectionThread();
5303
5304 // TODO: Could QuotaClient::IsShuttingDownOnNonBackgroundThread() call
5305 // be part of mMaintenance::IsAborted() ?
5306 inline bool IsAborted() const {
5307 return mMaintenance->IsAborted() || mAborted ||
5308 NS_WARN_IF(QuotaClient::IsShuttingDownOnNonBackgroundThread())NS_warn_if_impl(QuotaClient::IsShuttingDownOnNonBackgroundThread
(), "QuotaClient::IsShuttingDownOnNonBackgroundThread()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5308)
;
5309 }
5310
5311 NS_DECL_NSIRUNNABLEvirtual nsresult Run(void) override;
5312};
5313
5314#ifdef DEBUG1
5315
5316class DEBUGThreadSlower final : public nsIThreadObserver {
5317 public:
5318 DEBUGThreadSlower() {
5319 AssertIsOnBackgroundThread();
5320 MOZ_ASSERT(kDEBUGThreadSleepMS)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(kDEBUGThreadSleepMS)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(kDEBUGThreadSleepMS))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("kDEBUGThreadSleepMS"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5320); AnnotateMozCrashReason("MOZ_ASSERT" "(" "kDEBUGThreadSleepMS"
")"); do { *((volatile int*)__null) = 5320; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5321 }
5322
5323 NS_DECL_ISUPPORTSpublic: virtual nsresult QueryInterface(const nsIID& aIID
, void** aInstancePtr) override; virtual MozExternalRefCountType
AddRef(void) override; virtual MozExternalRefCountType Release
(void) override; using HasThreadSafeRefCnt = std::false_type;
protected: nsAutoRefCnt mRefCnt; nsAutoOwningThread _mOwningThread
; public:
5324
5325 private:
5326 ~DEBUGThreadSlower() { AssertIsOnBackgroundThread(); }
5327
5328 NS_DECL_NSITHREADOBSERVERvirtual nsresult OnDispatchedEvent(void) override; virtual nsresult
OnProcessNextEvent(nsIThreadInternal *thread, bool mayWait) override
; virtual nsresult AfterProcessNextEvent(nsIThreadInternal *thread
, bool eventWasProcessed) override;
5329};
5330
5331#endif // DEBUG
5332
5333/*******************************************************************************
5334 * Helper classes
5335 ******************************************************************************/
5336
5337// XXX Get rid of FileHelper and move the functions into DatabaseFileManager.
5338// Then, DatabaseFileManager::Get(Journal)Directory and
5339// DatabaseFileManager::GetFileForId might eventually be made private.
5340class MOZ_STACK_CLASS FileHelper final {
5341 const SafeRefPtr<DatabaseFileManager> mFileManager;
5342
5343 LazyInitializedOnce<const NotNull<nsCOMPtr<nsIFile>>> mFileDirectory;
5344 LazyInitializedOnce<const NotNull<nsCOMPtr<nsIFile>>> mJournalDirectory;
5345
5346 class ReadCallback;
5347 LazyInitializedOnce<const NotNull<RefPtr<ReadCallback>>> mReadCallback;
5348
5349 public:
5350 explicit FileHelper(SafeRefPtr<DatabaseFileManager>&& aFileManager)
5351 : mFileManager(std::move(aFileManager)) {
5352 MOZ_ASSERT(mFileManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mFileManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5352); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileManager"
")"); do { *((volatile int*)__null) = 5352; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5353 }
5354
5355 nsresult Init();
5356
5357 [[nodiscard]] nsCOMPtr<nsIFile> GetFile(const DatabaseFileInfo& aFileInfo);
5358
5359 [[nodiscard]] nsCOMPtr<nsIFile> GetJournalFile(
5360 const DatabaseFileInfo& aFileInfo);
5361
5362 nsresult CreateFileFromStream(nsIFile& aFile, nsIFile& aJournalFile,
5363 nsIInputStream& aInputStream, bool aCompress,
5364 const Maybe<CipherKey>& aMaybeKey);
5365
5366 private:
5367 nsresult SyncCopy(nsIInputStream& aInputStream,
5368 nsIOutputStream& aOutputStream, char* aBuffer,
5369 uint32_t aBufferSize);
5370
5371 nsresult SyncRead(nsIInputStream& aInputStream, char* aBuffer,
5372 uint32_t aBufferSize, uint32_t* aRead);
5373};
5374
5375/*******************************************************************************
5376 * Helper Functions
5377 ******************************************************************************/
5378
5379bool GetFilenameBase(const nsAString& aFilename, const nsAString& aSuffix,
5380 nsDependentSubstring& aFilenameBase) {
5381 MOZ_ASSERT(!aFilename.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aFilename.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aFilename.IsEmpty()))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!aFilename.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5381); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aFilename.IsEmpty()"
")"); do { *((volatile int*)__null) = 5381; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5382 MOZ_ASSERT(aFilenameBase.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aFilenameBase.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aFilenameBase.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aFilenameBase.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5382); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFilenameBase.IsEmpty()"
")"); do { *((volatile int*)__null) = 5382; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5383
5384 if (!StringEndsWith(aFilename, aSuffix) ||
5385 aFilename.Length() == aSuffix.Length()) {
5386 return false;
5387 }
5388
5389 MOZ_ASSERT(aFilename.Length() > aSuffix.Length())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aFilename.Length() > aSuffix.Length())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aFilename.Length() > aSuffix.Length()))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aFilename.Length() > aSuffix.Length()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5389); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFilename.Length() > aSuffix.Length()"
")"); do { *((volatile int*)__null) = 5389; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5390
5391 aFilenameBase.Rebind(aFilename, 0, aFilename.Length() - aSuffix.Length());
5392 return true;
5393}
5394
5395class EncryptedFileBlobImpl final : public FileBlobImpl {
5396 public:
5397 EncryptedFileBlobImpl(const nsCOMPtr<nsIFile>& aNativeFile,
5398 const DatabaseFileInfo::IdType aId,
5399 const CipherKey& aKey)
5400 : FileBlobImpl{aNativeFile}, mKey{aKey} {
5401 SetFileId(aId);
5402 }
5403
5404 uint64_t GetSize(ErrorResult& aRv) override {
5405 nsCOMPtr<nsIInputStream> inputStream;
5406 CreateInputStream(getter_AddRefs(inputStream), aRv);
5407
5408 if (aRv.Failed()) {
5409 return 0;
5410 }
5411
5412 MOZ_ASSERT(inputStream)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(inputStream)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(inputStream))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("inputStream", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5412); AnnotateMozCrashReason("MOZ_ASSERT" "(" "inputStream"
")"); do { *((volatile int*)__null) = 5412; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5413
5414 QM_TRY_RETURN(MOZ_TO_RESULT_INVOKE_MEMBER(inputStream, Available), 0,{auto tryResult847 = (::mozilla::ToResultInvokeMember( (inputStream
), &::mozilla::detail::DerefedType<decltype(inputStream
)>::Available)); if ((__builtin_expect(!!(tryResult847.isErr
()), 0))) { auto tryTempError = tryResult847.unwrapErr(); mozilla
::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (inputStream), &::mozilla::detail::DerefedType<decltype(inputStream)>::Available)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5415, mozilla::dom::quota::Severity::Error); [&aRv](const
nsresult rv) { aRv = rv; }(tryTempError); constexpr const auto
& func __attribute__((__unused__)) = __func__; return mozilla
::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (inputStream), &::mozilla::detail::DerefedType<decltype(inputStream)>::Available)"
, tryTempError, 0); } return tryResult847.unwrap();}
5415 [&aRv](const nsresult rv) { aRv = rv; }){auto tryResult847 = (::mozilla::ToResultInvokeMember( (inputStream
), &::mozilla::detail::DerefedType<decltype(inputStream
)>::Available)); if ((__builtin_expect(!!(tryResult847.isErr
()), 0))) { auto tryTempError = tryResult847.unwrapErr(); mozilla
::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (inputStream), &::mozilla::detail::DerefedType<decltype(inputStream)>::Available)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5415, mozilla::dom::quota::Severity::Error); [&aRv](const
nsresult rv) { aRv = rv; }(tryTempError); constexpr const auto
& func __attribute__((__unused__)) = __func__; return mozilla
::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (inputStream), &::mozilla::detail::DerefedType<decltype(inputStream)>::Available)"
, tryTempError, 0); } return tryResult847.unwrap();}
;
5416 }
5417
5418 void CreateInputStream(nsIInputStream** aInputStream,
5419 ErrorResult& aRv) const override {
5420 nsCOMPtr<nsIInputStream> baseInputStream;
5421 FileBlobImpl::CreateInputStream(getter_AddRefs(baseInputStream), aRv);
5422 if (NS_WARN_IF(aRv.Failed())NS_warn_if_impl(aRv.Failed(), "aRv.Failed()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5422)
) {
5423 return;
5424 }
5425
5426 *aInputStream =
5427 MakeAndAddRef<DecryptingInputStream<IndexedDBCipherStrategy>>(
5428 WrapNotNull(std::move(baseInputStream)), kEncryptedStreamBlockSize,
5429 mKey)
5430 .take();
5431 }
5432
5433 void GetBlobImplType(nsAString& aBlobImplType) const override {
5434 aBlobImplType = u"EncryptedFileBlobImpl"_ns;
5435 }
5436
5437 already_AddRefed<BlobImpl> CreateSlice(uint64_t aStart, uint64_t aLength,
5438 const nsAString& aContentType,
5439 ErrorResult& aRv) const override {
5440 MOZ_CRASH("Not implemented because this should be unreachable.")do { do { } while (false); MOZ_ReportCrash("" "Not implemented because this should be unreachable."
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5440); AnnotateMozCrashReason("MOZ_CRASH(" "Not implemented because this should be unreachable."
")"); do { *((volatile int*)__null) = 5440; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
5441 }
5442
5443 private:
5444 const CipherKey mKey;
5445};
5446
5447RefPtr<BlobImpl> CreateFileBlobImpl(const Database& aDatabase,
5448 const nsCOMPtr<nsIFile>& aNativeFile,
5449 const DatabaseFileInfo::IdType aId) {
5450 if (aDatabase.IsInPrivateBrowsing()) {
5451 nsCString keyId;
5452 keyId.AppendInt(aId);
5453
5454 const auto& key =
5455 aDatabase.GetFileManager().MutableCipherKeyManagerRef().Get(keyId);
5456
5457 MOZ_RELEASE_ASSERT(key.isSome())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(key.isSome())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(key.isSome()))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("key.isSome()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5457); AnnotateMozCrashReason("MOZ_RELEASE_ASSERT" "(" "key.isSome()"
")"); do { *((volatile int*)__null) = 5457; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5458 return MakeRefPtr<EncryptedFileBlobImpl>(aNativeFile, aId, *key);
5459 }
5460
5461 auto impl = MakeRefPtr<FileBlobImpl>(aNativeFile);
5462 impl->SetFileId(aId);
5463
5464 return impl;
5465}
5466
5467Result<nsTArray<SerializedStructuredCloneFile>, nsresult>
5468SerializeStructuredCloneFiles(const SafeRefPtr<Database>& aDatabase,
5469 const nsTArray<StructuredCloneFileParent>& aFiles,
5470 bool aForPreprocess) {
5471 AssertIsOnBackgroundThread();
5472 MOZ_ASSERT(aDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5472); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabase" ")"
); do { *((volatile int*)__null) = 5472; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5473
5474 if (aFiles.IsEmpty()) {
5475 return nsTArray<SerializedStructuredCloneFile>{};
5476 }
5477
5478 const nsCOMPtr<nsIFile> directory =
5479 aDatabase->GetFileManager().GetCheckedDirectory();
5480 QM_TRY(OkIf(directory), Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR),{auto tryResult848 = (OkIf(directory)); static_assert(std::is_empty_v
<typename decltype(tryResult848)::ok_type>); if ((__builtin_expect
(!!(tryResult848.isErr()), 0))) { auto tryTempError = tryResult848
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(directory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5481, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5481, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(directory)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
5481 IDB_REPORT_INTERNAL_ERR_LAMBDA){auto tryResult848 = (OkIf(directory)); static_assert(std::is_empty_v
<typename decltype(tryResult848)::ok_type>); if ((__builtin_expect
(!!(tryResult848.isErr()), 0))) { auto tryTempError = tryResult848
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(directory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5481, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5481, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(directory)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}
;
5482
5483 nsTArray<SerializedStructuredCloneFile> serializedStructuredCloneFiles;
5484 QM_TRY(OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(),{auto tryResult849 = (OkIf(serializedStructuredCloneFiles.SetCapacity
(aFiles.Length(), fallible))); static_assert(std::is_empty_v<
typename decltype(tryResult849)::ok_type>); if ((__builtin_expect
(!!(tryResult849.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult849.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(), fallible))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5486, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(), fallible))"
, tryTempError, Err(NS_ERROR_OUT_OF_MEMORY)); }}
5485 fallible)),{auto tryResult849 = (OkIf(serializedStructuredCloneFiles.SetCapacity
(aFiles.Length(), fallible))); static_assert(std::is_empty_v<
typename decltype(tryResult849)::ok_type>); if ((__builtin_expect
(!!(tryResult849.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult849.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(), fallible))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5486, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(), fallible))"
, tryTempError, Err(NS_ERROR_OUT_OF_MEMORY)); }}
5486 Err(NS_ERROR_OUT_OF_MEMORY)){auto tryResult849 = (OkIf(serializedStructuredCloneFiles.SetCapacity
(aFiles.Length(), fallible))); static_assert(std::is_empty_v<
typename decltype(tryResult849)::ok_type>); if ((__builtin_expect
(!!(tryResult849.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult849.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(), fallible))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5486, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(serializedStructuredCloneFiles.SetCapacity(aFiles.Length(), fallible))"
, tryTempError, Err(NS_ERROR_OUT_OF_MEMORY)); }}
;
5487
5488 QM_TRY(TransformIfAbortOnErr({auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5489 aFiles, MakeBackInserter(serializedStructuredCloneFiles),{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5490 [aForPreprocess](const auto& file) {{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5491 return !aForPreprocess ||{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5492 file.Type() == StructuredCloneFileBase::eStructuredClone;{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5493 },{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5494 [&directory, &aDatabase, aForPreprocess]({auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5495 const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> {{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5496 const int64_t fileId = file.FileInfo().Id();{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5497 MOZ_ASSERT(fileId > 0);{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5498
5499 const nsCOMPtr<nsIFile> nativeFile ={auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5500 mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId({auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5501 directory, fileId);{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5502 QM_TRY(OkIf(nativeFile), Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR),{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5503 IDB_REPORT_INTERNAL_ERR_LAMBDA);{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5504
5505 switch (file.Type()) {{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5506 case StructuredCloneFileBase::eStructuredClone:{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5507 if (!aForPreprocess) {{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5508 return SerializedStructuredCloneFile{{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5509 null_t(), StructuredCloneFileBase::eStructuredClone};{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5510 }{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5511
5512 [[fallthrough]];{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5513
5514 case StructuredCloneFileBase::eBlob: {{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5515 const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile,{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5516 file.FileInfo().Id());{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5517
5518 IPCBlob ipcBlob;{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5519
5520 // This can only fail if the child has crashed.{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5521 QM_TRY(MOZ_TO_RESULT(IPCBlobUtils::Serialize(impl, ipcBlob)),{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5522 Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR),{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5523 IDB_REPORT_INTERNAL_ERR_LAMBDA);{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5524
5525 aDatabase->MapBlob(ipcBlob, file.FileInfoPtr());{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5526
5527 return SerializedStructuredCloneFile{ipcBlob, file.Type()};{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5528 }{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5529
5530 case StructuredCloneFileBase::eMutableFile:{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5531 case StructuredCloneFileBase::eWasmBytecode:{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5532 case StructuredCloneFileBase::eWasmCompiled: {{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5533 // Set file() to null, support for storing WebAssembly.Modules has{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5534 // been removed in bug 1469395. Support for de-serialization of{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5535 // WebAssembly.Modules modules has been removed in bug 1561876.{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5536 // Support for MutableFile has been removed in bug 1500343. Full{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5537 // removal is tracked in bug 1487479.{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5538
5539 return SerializedStructuredCloneFile{null_t(), file.Type()};{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5540 }{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5541
5542 default:{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5543 MOZ_CRASH("Should never get here!");{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5544 }{auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
5545 })){auto tryResult852 = (TransformIfAbortOnErr( aFiles, MakeBackInserter
(serializedStructuredCloneFiles), [aForPreprocess](const auto
& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase
::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess
]( const auto& file) -> Result<SerializedStructuredCloneFile
, nsresult> { const int64_t fileId = file.FileInfo().Id();
do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("fileId > 0",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileId > 0"
")"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); const nsCOMPtr
<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager
::GetCheckedFileForId( directory, fileId); {auto tryResult850
= (OkIf(nativeFile)); static_assert(std::is_empty_v<typename
decltype(tryResult850)::ok_type>); if ((__builtin_expect(
!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(nativeFile)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5503, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "OkIf(nativeFile)", tryTempError
, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.
Type()) { case StructuredCloneFileBase::eStructuredClone: if (
!aForPreprocess) { return SerializedStructuredCloneFile{ null_t
(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough
]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl
(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob
; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl
, ipcBlob))); static_assert(std::is_empty_v<typename decltype
(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851
.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, mozilla::dom::quota::Severity::Error); [](const auto&
) { mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5523, "UnknownErr"); }(tryTempError); constexpr const auto&
func __attribute__((__unused__)) = __func__; return mozilla::
dom::quota::HandleCustomRetVal(func, "ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))"
, tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }};
aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile
{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile
: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase
::eWasmCompiled: { return SerializedStructuredCloneFile{null_t
(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash
("" "Should never get here!", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } })); static_assert
(std::is_empty_v<typename decltype(tryResult852)::ok_type>
); if ((__builtin_expect(!!(tryResult852.isErr()), 0))) { mozilla
::dom::quota::HandleError("TransformIfAbortOnErr( aFiles, MakeBackInserter(serializedStructuredCloneFiles), [aForPreprocess](const auto& file) { return !aForPreprocess || file.Type() == StructuredCloneFileBase::eStructuredClone; }, [&directory, &aDatabase, aForPreprocess]( const auto& file) -> Result<SerializedStructuredCloneFile, nsresult> { const int64_t fileId = file.FileInfo().Id(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(fileId > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(fileId > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"fileId > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5497); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"fileId > 0\" \")\"); do { *((volatile int*)__null) = 5497; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); const nsCOMPtr<nsIFile> nativeFile = mozilla::dom::indexedDB::DatabaseFileManager::GetCheckedFileForId( directory, fileId); {auto tryResult850 = (OkIf(nativeFile)); static_assert(std::is_empty_v<typename decltype(tryResult850)::ok_type>); if ((__builtin_expect(!!(tryResult850.isErr()), 0))) { auto tryTempError = tryResult850.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(nativeFile)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5503, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(nativeFile)\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; switch (file.Type()) { case StructuredCloneFileBase::eStructuredClone: if (!aForPreprocess) { return SerializedStructuredCloneFile{ null_t(), StructuredCloneFileBase::eStructuredClone}; } [[fallthrough]]; case StructuredCloneFileBase::eBlob: { const auto impl = CreateFileBlobImpl(*aDatabase, nativeFile, file.FileInfo().Id()); IPCBlob ipcBlob; {auto tryResult851 = (ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))); static_assert(std::is_empty_v<typename decltype(tryResult851)::ok_type>); if ((__builtin_expect(!!(tryResult851.isErr()), 0))) { auto tryTempError = tryResult851.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, mozilla::dom::quota::Severity::Error); [](const auto&) { mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5523, \"UnknownErr\"); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(IPCBlobUtils::Serialize(impl, ipcBlob))\", tryTempError, Err(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR)); }}; aDatabase->MapBlob(ipcBlob, file.FileInfoPtr()); return SerializedStructuredCloneFile{ipcBlob, file.Type()}; } case StructuredCloneFileBase::eMutableFile: case StructuredCloneFileBase::eWasmBytecode: case StructuredCloneFileBase::eWasmCompiled: { return SerializedStructuredCloneFile{null_t(), file.Type()}; } default: do { do { } while (false); MOZ_ReportCrash(\"\" \"Should never get here!\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5543); AnnotateMozCrashReason(\"MOZ_CRASH(\" \"Should never get here!\" \")\"); do { *((volatile int*)__null) = 5543; __attribute__((nomerge)) ::abort(); } while (false); } while (false); } })"
, tryResult852.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5545, mozilla::dom::quota::Severity::Error); return tryResult852
.propagateErr(); }}
;
5546
5547 return std::move(serializedStructuredCloneFiles);
5548}
5549
5550bool IsFileNotFoundError(const nsresult aRv) {
5551 return aRv == NS_ERROR_FILE_NOT_FOUND;
5552}
5553
5554enum struct Idempotency { Yes, No };
5555
5556// Delete a file, decreasing the quota usage as appropriate. If the file no
5557// longer exists but aIdempotency is Idempotency::Yes, success is returned,
5558// although quota usage can't be decreased. (With the assumption being that the
5559// file was already deleted prior to this logic running, and the non-existent
5560// file was no longer tracked by quota because it didn't exist at
5561// initialization time or a previous deletion call updated the usage.)
5562nsresult DeleteFile(nsIFile& aFile, QuotaManager* const aQuotaManager,
5563 const PersistenceType aPersistenceType,
5564 const OriginMetadata& aOriginMetadata,
5565 const Idempotency aIdempotency) {
5566 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5566); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 5566; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5567 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5567); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 5567; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5568
5569 // Callers which pass Idempotency::Yes call this function without checking if
5570 // the file already exists (idempotent usage). QM_OR_ELSE_WARN_IF is not used
5571 // here since we just want to log NS_ERROR_FILE_NOT_FOUND results and not spam
5572 // the reports.
5573 // Theoretically, there should be no QM_OR_ELSE_(WARN|LOG_VERBOSE)_IF when a
5574 // caller passes Idempotency::No, but it's simpler when the predicate just
5575 // always returns false in that case.
5576
5577 const auto isIgnorableError = [&aIdempotency]() -> bool (*)(nsresult) {
5578 if (aIdempotency == Idempotency::Yes) {
5579 return IsFileNotFoundError;
5580 }
5581
5582 return [](const nsresult rv) { return false; };
5583 }();
5584
5585 QM_TRY_INSPECT(auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5586 const auto& fileSize,auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5587 ([aQuotaManager, &aFile,auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5588 isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> {auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5589 if (aQuotaManager) {auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5590 QM_TRY_INSPECT(auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5591 const Maybe<int64_t>& fileSize,auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5592 QM_OR_ELSE_LOG_VERBOSE_IF(auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5593 // Expression.auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5594 MOZ_TO_RESULT_INVOKE_MEMBER(aFile, GetFileSize)auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5595 .map([](const int64_t val) { return Some(val); }),auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5596 // Predicate.auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5597 isIgnorableError,auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5598 // Fallback.auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5599 ErrToDefaultOk<Maybe<int64_t>>));auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5600
5601 // XXX Can we really assert that the file size is not 0 ifauto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5602 // it existed? This might be violated by externalauto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5603 // influences.auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5604 MOZ_ASSERT(!fileSize || fileSize.value() >= 0);auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5605
5606 return fileSize;auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5607 }auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5608
5609 return Some(int64_t(0));auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
5610 }()))auto tryResult854 = (([aQuotaManager, &aFile, isIgnorableError
]() -> Result<Maybe<int64_t>, nsresult> { if (
aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf
( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::
detail::DerefedType<decltype(aFile)>::GetFileSize) .map
([](const int64_t val) { return Some(val); })), [&](const
auto& firstRes) { bool res = isIgnorableError(firstRes);
mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)"
, tryResult853.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5599, mozilla::dom::quota::Severity::Error); return tryResult853
.propagateErr(); } const Maybe<int64_t>& fileSize =
tryResult853.inspect();; do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!fileSize || fileSize.value
() >= 0)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!fileSize || fileSize.value() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5604); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!fileSize || fileSize.value() >= 0"
")"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return fileSize
; } return Some(int64_t(0)); }())); if ((__builtin_expect(!!(
tryResult854.isErr()), 0))) { mozilla::dom::quota::HandleError
("([aQuotaManager, &aFile, isIgnorableError]() -> Result<Maybe<int64_t>, nsresult> { if (aQuotaManager) { auto tryResult853 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)); if ((__builtin_expect(!!(tryResult853.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (aFile), &::mozilla::detail::DerefedType<decltype(aFile)>::GetFileSize) .map([](const int64_t val) { return Some(val); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 5599, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<int64_t>>)\", tryResult853.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5599, mozilla::dom::quota::Severity::Error); return tryResult853.propagateErr(); } const Maybe<int64_t>& fileSize = tryResult853.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(!fileSize || fileSize.value() >= 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(!fileSize || fileSize.value() >= 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"!fileSize || fileSize.value() >= 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5604); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"!fileSize || fileSize.value() >= 0\" \")\"); do { *((volatile int*)__null) = 5604; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return fileSize; } return Some(int64_t(0)); }())"
, tryResult854.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5610, mozilla::dom::quota::Severity::Error); return tryResult854
.propagateErr(); } const auto& fileSize = tryResult854.inspect
();
;
5611
5612 if (!fileSize) {
5613 return NS_OK;
5614 }
5615
5616 QM_TRY_INSPECT(const auto& didExist,auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5617 QM_OR_ELSE_LOG_VERBOSE_IF(auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5618 // Expression.auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5619 MOZ_TO_RESULT(aFile.Remove(false)).map(Some<Ok>),auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5620 // Predicate.auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5621 isIgnorableError,auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5622 // Fallback.auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
5623 ErrToDefaultOk<Maybe<Ok>>))auto tryResult855 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(false)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = isIgnorableError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(false)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult855
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(false)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = isIgnorableError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(false)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5623, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult855.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5623, mozilla::dom::quota::Severity::Error); return tryResult855
.propagateErr(); } const auto& didExist = tryResult855.inspect
();
;
5624
5625 if (!didExist) {
5626 // XXX If we get here, this means that the file still existed when we
5627 // queried its size, but no longer when we tried to remove it. Not sure if
5628 // this should really be silently accepted in idempotent mode.
5629 return NS_OK;
5630 }
5631
5632 if (fileSize.value() > 0) {
5633 MOZ_ASSERT(aQuotaManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aQuotaManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aQuotaManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aQuotaManager",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5633); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aQuotaManager"
")"); do { *((volatile int*)__null) = 5633; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5634
5635 aQuotaManager->DecreaseUsageForClient(
5636 ClientMetadata{aOriginMetadata, Client::IDB}, fileSize.value());
5637 }
5638
5639 return NS_OK;
5640}
5641
5642nsresult DeleteFile(nsIFile& aDirectory, const nsAString& aFilename,
5643 QuotaManager* const aQuotaManager,
5644 const PersistenceType aPersistenceType,
5645 const OriginMetadata& aOriginMetadata,
5646 const Idempotency aIdempotent) {
5647 AssertIsOnIOThread();
5648 MOZ_ASSERT(!aFilename.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aFilename.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aFilename.IsEmpty()))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!aFilename.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5648); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aFilename.IsEmpty()"
")"); do { *((volatile int*)__null) = 5648; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5649
5650 QM_TRY_INSPECT(const auto& file, CloneFileAndAppend(aDirectory, aFilename))auto tryResult856 = (CloneFileAndAppend(aDirectory, aFilename
)); if ((__builtin_expect(!!(tryResult856.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(aDirectory, aFilename)"
, tryResult856.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5650, mozilla::dom::quota::Severity::Error); return tryResult856
.propagateErr(); } const auto& file = tryResult856.inspect
();
;
5651
5652 return DeleteFile(*file, aQuotaManager, aPersistenceType, aOriginMetadata,
5653 aIdempotent);
5654}
5655
5656// Delete files in a directory that you think exists. If the directory doesn't
5657// exist, an error will not be returned, but warning telemetry will be
5658// generated! So only call this on directories that you know exist (idempotent
5659// usage, but it's not recommended).
5660nsresult DeleteFilesNoQuota(nsIFile& aFile) {
5661 AssertIsOnIOThread();
5662
5663 QM_TRY_INSPECT(const auto& didExist,auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5664 QM_OR_ELSE_WARN_IF(auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5665 // Expression.auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5666 MOZ_TO_RESULT(aFile.Remove(true)).map(Some<Ok>),auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5667 // Predicate.auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5668 IsFileNotFoundError,auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5669 // Fallback.auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
5670 ErrToDefaultOk<Maybe<Ok>>))auto tryResult857 = (mozilla::dom::quota::OrElseIf( (ToResult
(aFile.Remove(true)).map(Some<Ok>)), [&](const auto
& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla
::dom::quota::HandleError("\"ToResult(aFile.Remove(true)).map(Some<Ok>)\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<Maybe<Ok>>)); if ((__builtin_expect(!!(tryResult857
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(aFile.Remove(true)).map(Some<Ok>)), [&](const auto& firstRes) { bool res = IsFileNotFoundError(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(aFile.Remove(true)).map(Some<Ok>)\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5670, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<Maybe<Ok>>)"
, tryResult857.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5670, mozilla::dom::quota::Severity::Error); return tryResult857
.propagateErr(); } const auto& didExist = tryResult857.inspect
();
;
5671
5672 Unused << didExist;
5673
5674 return NS_OK;
5675}
5676
5677nsresult DeleteFilesNoQuota(nsIFile* aDirectory, const nsAString& aFilename) {
5678 AssertIsOnIOThread();
5679 MOZ_ASSERT(aDirectory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectory))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5679); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectory"
")"); do { *((volatile int*)__null) = 5679; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5680 MOZ_ASSERT(!aFilename.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aFilename.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aFilename.IsEmpty()))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!aFilename.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5680); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aFilename.IsEmpty()"
")"); do { *((volatile int*)__null) = 5680; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5681
5682 // The current using function hasn't initialized the origin, so in here we
5683 // don't update the size of origin. Adding this assertion for preventing from
5684 // misusing.
5685 DebugOnly<QuotaManager*> quotaManager = QuotaManager::Get();
5686 MOZ_ASSERT(!quotaManager->IsTemporaryStorageInitializedInternal())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!quotaManager->IsTemporaryStorageInitializedInternal
())>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!quotaManager->IsTemporaryStorageInitializedInternal
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!quotaManager->IsTemporaryStorageInitializedInternal()",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5686); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!quotaManager->IsTemporaryStorageInitializedInternal()"
")"); do { *((volatile int*)__null) = 5686; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5687
5688 QM_TRY_INSPECT(const auto& file, CloneFileAndAppend(*aDirectory, aFilename))auto tryResult858 = (CloneFileAndAppend(*aDirectory, aFilename
)); if ((__builtin_expect(!!(tryResult858.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, aFilename)"
, tryResult858.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5688, mozilla::dom::quota::Severity::Error); return tryResult858
.propagateErr(); } const auto& file = tryResult858.inspect
();
;
5689
5690 QM_TRY(MOZ_TO_RESULT(DeleteFilesNoQuota(*file))){auto tryResult859 = (ToResult(DeleteFilesNoQuota(*file))); static_assert
(std::is_empty_v<typename decltype(tryResult859)::ok_type>
); if ((__builtin_expect(!!(tryResult859.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(*file))"
, tryResult859.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5690, mozilla::dom::quota::Severity::Error); return tryResult859
.propagateErr(); }}
;
5691
5692 return NS_OK;
5693}
5694
5695// CreateMarkerFile and RemoveMarkerFile are a pair of functions to indicate
5696// whether having removed all the files successfully. The marker file should
5697// be checked before executing the next operation or initialization.
5698Result<nsCOMPtr<nsIFile>, nsresult> CreateMarkerFile(
5699 nsIFile& aBaseDirectory, const nsAString& aDatabaseNameBase) {
5700 AssertIsOnIOThread();
5701 MOZ_ASSERT(!aDatabaseNameBase.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseNameBase.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseNameBase.IsEmpty()
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"!aDatabaseNameBase.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5701); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseNameBase.IsEmpty()"
")"); do { *((volatile int*)__null) = 5701; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5702
5703 QM_TRY_INSPECT(auto tryResult860 = (CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix
+ aDatabaseNameBase)); if ((__builtin_expect(!!(tryResult860
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix + aDatabaseNameBase)"
, tryResult860.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5706, mozilla::dom::quota::Severity::Error); return tryResult860
.propagateErr(); } const auto& markerFile = tryResult860.
inspect();
5704 const auto& markerFile,auto tryResult860 = (CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix
+ aDatabaseNameBase)); if ((__builtin_expect(!!(tryResult860
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix + aDatabaseNameBase)"
, tryResult860.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5706, mozilla::dom::quota::Severity::Error); return tryResult860
.propagateErr(); } const auto& markerFile = tryResult860.
inspect();
5705 CloneFileAndAppend(aBaseDirectory,auto tryResult860 = (CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix
+ aDatabaseNameBase)); if ((__builtin_expect(!!(tryResult860
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix + aDatabaseNameBase)"
, tryResult860.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5706, mozilla::dom::quota::Severity::Error); return tryResult860
.propagateErr(); } const auto& markerFile = tryResult860.
inspect();
5706 kIdbDeletionMarkerFilePrefix + aDatabaseNameBase))auto tryResult860 = (CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix
+ aDatabaseNameBase)); if ((__builtin_expect(!!(tryResult860
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(aBaseDirectory, kIdbDeletionMarkerFilePrefix + aDatabaseNameBase)"
, tryResult860.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5706, mozilla::dom::quota::Severity::Error); return tryResult860
.propagateErr(); } const auto& markerFile = tryResult860.
inspect();
;
5707
5708 // Callers call this function without checking if the file already exists
5709 // (idempotent usage). QM_OR_ELSE_WARN_IF is not used here since we just want
5710 // to log NS_ERROR_FILE_ALREADY_EXISTS result and not spam the reports.
5711 //
5712 // TODO: In theory if this file exists, then RemoveDatabaseFilesAndDirectory
5713 // should have cleaned it up, but obviously we can crash and not clean it up,
5714 // which is the whole point of the marker file. In that case, we'll realize
5715 // the marker file exists in OpenDatabaseOp::DoDatabaseWork or
5716 // GetUsageForOriginInternal and resume the removal by calling
5717 // RemoveDatabaseFilesAndDirectory again, but we will also try to create the
5718 // marker file again, so if we see this marker file, it is part
5719 // of our standard operating procedure to redundantly try and create the
5720 // marker here. We currently treat this as idempotent usage, but we could
5721 // add an additional argument to RemoveDatabaseFilesAndDirectory which would
5722 // indicate that we are resuming an unfinished removal, so the marker already
5723 // exists and doesn't have to be created, and change
5724 // QM_OR_ELSE_LOG_VERBOSE_IF to QM_OR_ELSE_WARN_IF in the end.
5725 QM_TRY(QM_OR_ELSE_LOG_VERBOSE_IF({auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
5726 // Expression.{auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
5727 MOZ_TO_RESULT(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644)),{auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
5728 // Predicate.{auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
5729 IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>,{auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
5730 // Fallback.{auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
5731 ErrToDefaultOk<>)){auto tryResult861 = (mozilla::dom::quota::OrElseIf( (ToResult
(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&
](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS
>(firstRes); mozilla::dom::quota::HandleError("\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<>)); static_assert(std::is_empty_v<typename decltype
(tryResult861)::ok_type>); if ((__builtin_expect(!!(tryResult861
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_FILE_ALREADY_EXISTS>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(markerFile->Create(nsIFile::NORMAL_FILE_TYPE, 0644))\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5731, res ? mozilla::dom::quota::Severity::Verbose : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<>)"
, tryResult861.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5731, mozilla::dom::quota::Severity::Error); return tryResult861
.propagateErr(); }}
;
5732
5733 return markerFile;
5734}
5735
5736nsresult RemoveMarkerFile(nsIFile* aMarkerFile) {
5737 AssertIsOnIOThread();
5738 MOZ_ASSERT(aMarkerFile)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMarkerFile)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMarkerFile))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aMarkerFile", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5738); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMarkerFile"
")"); do { *((volatile int*)__null) = 5738; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5739
5740 DebugOnly<bool> exists;
5741 MOZ_ASSERT(NS_SUCCEEDED(aMarkerFile->Exists(&exists)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(aMarkerFile
->Exists(&exists))), 1))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
!NS_FAILED_impl(aMarkerFile->Exists(&exists))), 1)))))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(aMarkerFile->Exists(&exists))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5741); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(aMarkerFile->Exists(&exists))), 1)))"
")"); do { *((volatile int*)__null) = 5741; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5742 MOZ_ASSERT(exists)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(exists)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(exists))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("exists", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5742); AnnotateMozCrashReason("MOZ_ASSERT" "(" "exists" ")"
); do { *((volatile int*)__null) = 5742; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5743
5744 QM_TRY(MOZ_TO_RESULT(aMarkerFile->Remove(false))){auto tryResult862 = (ToResult(aMarkerFile->Remove(false))
); static_assert(std::is_empty_v<typename decltype(tryResult862
)::ok_type>); if ((__builtin_expect(!!(tryResult862.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(aMarkerFile->Remove(false))"
, tryResult862.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5744, mozilla::dom::quota::Severity::Error); return tryResult862
.propagateErr(); }}
;
5745
5746 return NS_OK;
5747}
5748
5749Result<Ok, nsresult> DeleteFileManagerDirectory(
5750 nsIFile& aFileManagerDirectory, QuotaManager* aQuotaManager,
5751 const PersistenceType aPersistenceType,
5752 const OriginMetadata& aOriginMetadata) {
5753 // XXX In theory, deleting can continue for other files in case of a failure,
5754 // leaving only those files behind that cause the problem actually. However,
5755 // the current architecture doesn't allow having more databases (for the same
5756 // name) on disk, so trying to delete as much as possible won't help much
5757 // because we need to delete entire .files directory in the end anyway.
5758 QM_TRY(DatabaseFileManager::TraverseFiles({auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5759 aFileManagerDirectory,{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5760 // KnownDirEntryOp{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5761 [&aQuotaManager, aPersistenceType, &aOriginMetadata]({auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5762 nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> {{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5763 if (isDirectory) {{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5764 // The journal directory doesn't count towards quota.{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5765 QM_TRY_RETURN(MOZ_TO_RESULT(DeleteFilesNoQuota(file)));{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5766 }{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5767
5768 // Stored files do count towards quota.{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5769 QM_TRY_RETURN({auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5770 MOZ_TO_RESULT(DeleteFile(file, aQuotaManager, aPersistenceType,{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5771 aOriginMetadata, Idempotency::Yes)));{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5772 },{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5773 // UnknownDirEntryOp{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5774 [aPersistenceType, &aOriginMetadata]({auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5775 nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> {{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5776 // Unknown files and directories don't count towards quota.{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5777
5778 if (isDirectory) {{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5779 QM_TRY_RETURN(MOZ_TO_RESULT(DeleteFilesNoQuota(file)));{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5780 }{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5781
5782 QM_TRY_RETURN(MOZ_TO_RESULT({auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5783 DeleteFile(file, /* doesn't count */ nullptr, aPersistenceType,{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5784 aOriginMetadata, Idempotency::Yes)));{auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
5785 })){auto tryResult867 = (DatabaseFileManager::TraverseFiles( aFileManagerDirectory
, [&aQuotaManager, aPersistenceType, &aOriginMetadata
]( nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult
(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult863.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5765, mozilla::dom::quota::Severity::Error); } return tryResult863
;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult864.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5771, mozilla::dom::quota::Severity::Error); } return tryResult864
;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile&
file, const bool isDirectory) -> Result<Ok, nsresult>
{ if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota
(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))
) { mozilla::dom::quota::HandleError("ToResult(DeleteFilesNoQuota(file))"
, tryResult865.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5779, mozilla::dom::quota::Severity::Error); } return tryResult865
;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr
, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if (
(__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom
::quota::HandleError("ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult866.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5784, mozilla::dom::quota::Severity::Error); } return tryResult866
;}; })); static_assert(std::is_empty_v<typename decltype(tryResult867
)::ok_type>); if ((__builtin_expect(!!(tryResult867.isErr(
)), 0))) { mozilla::dom::quota::HandleError("DatabaseFileManager::TraverseFiles( aFileManagerDirectory, [&aQuotaManager, aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult863 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult863.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult863.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5765, mozilla::dom::quota::Severity::Error); } return tryResult863;}; } {auto tryResult864 = (ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult864.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult864.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5771, mozilla::dom::quota::Severity::Error); } return tryResult864;}; }, [aPersistenceType, &aOriginMetadata]( nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { {auto tryResult865 = (ToResult(DeleteFilesNoQuota(file))); if ((__builtin_expect(!!(tryResult865.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFilesNoQuota(file))\", tryResult865.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5779, mozilla::dom::quota::Severity::Error); } return tryResult865;}; } {auto tryResult866 = (ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))); if ((__builtin_expect(!!(tryResult866.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(DeleteFile(file, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))\", tryResult866.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 5784, mozilla::dom::quota::Severity::Error); } return tryResult866;}; })"
, tryResult867.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5785, mozilla::dom::quota::Severity::Error); return tryResult867
.propagateErr(); }}
;
5786
5787 QM_TRY_RETURN(MOZ_TO_RESULT(aFileManagerDirectory.Remove(false))){auto tryResult868 = (ToResult(aFileManagerDirectory.Remove(false
))); if ((__builtin_expect(!!(tryResult868.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(aFileManagerDirectory.Remove(false))"
, tryResult868.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5787, mozilla::dom::quota::Severity::Error); } return tryResult868
;}
;
5788}
5789
5790// Idempotently delete all the parts of an IndexedDB database including its
5791// SQLite database file, its WAL journal, it's shared-memory file, and its
5792// Blob/Files sub-directory. A marker file is created prior to performing the
5793// deletion so that in the event we crash or fail to successfully delete the
5794// database and its files, we will re-attempt the deletion the next time the
5795// origin is initialized using this method. Because this means the method may be
5796// called on a partially deleted database, this method uses DeleteFile which
5797// succeeds when the file we ask it to delete does not actually exist. The
5798// marker file is removed once deletion has successfully completed.
5799nsresult RemoveDatabaseFilesAndDirectory(nsIFile& aBaseDirectory,
5800 const nsAString& aDatabaseFilenameBase,
5801 QuotaManager* aQuotaManager,
5802 const PersistenceType aPersistenceType,
5803 const OriginMetadata& aOriginMetadata,
5804 const nsAString& aDatabaseName) {
5805 AssertIsOnIOThread();
5806 MOZ_ASSERT(!aDatabaseFilenameBase.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseFilenameBase.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseFilenameBase.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!aDatabaseFilenameBase.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5806); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseFilenameBase.IsEmpty()"
")"); do { *((volatile int*)__null) = 5806; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5807
5808 AUTO_PROFILER_LABEL("RemoveDatabaseFilesAndDirectory", DOM)mozilla::AutoProfilerLabel raiiObject5808( "RemoveDatabaseFilesAndDirectory"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
5809
5810 QM_TRY_UNWRAP(auto markerFile,auto tryResult869 = (CreateMarkerFile(aBaseDirectory, aDatabaseFilenameBase
)); if ((__builtin_expect(!!(tryResult869.isErr()), 0))) { mozilla
::dom::quota::HandleError("CreateMarkerFile(aBaseDirectory, aDatabaseFilenameBase)"
, tryResult869.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5811, mozilla::dom::quota::Severity::Error); return tryResult869
.propagateErr(); } auto markerFile = tryResult869.unwrap();
5811 CreateMarkerFile(aBaseDirectory, aDatabaseFilenameBase))auto tryResult869 = (CreateMarkerFile(aBaseDirectory, aDatabaseFilenameBase
)); if ((__builtin_expect(!!(tryResult869.isErr()), 0))) { mozilla
::dom::quota::HandleError("CreateMarkerFile(aBaseDirectory, aDatabaseFilenameBase)"
, tryResult869.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5811, mozilla::dom::quota::Severity::Error); return tryResult869
.propagateErr(); } auto markerFile = tryResult869.unwrap();
;
5812
5813 // The database file counts towards quota.
5814 QM_TRY(MOZ_TO_RESULT(DeleteFile({auto tryResult870 = (ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSuffix, aQuotaManager, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult870)::ok_type>); if ((__builtin_expect(
!!(tryResult870.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase + kSQLiteSuffix, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult870.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5816, mozilla::dom::quota::Severity::Error); return tryResult870
.propagateErr(); }}
5815 aBaseDirectory, aDatabaseFilenameBase + kSQLiteSuffix, aQuotaManager,{auto tryResult870 = (ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSuffix, aQuotaManager, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult870)::ok_type>); if ((__builtin_expect(
!!(tryResult870.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase + kSQLiteSuffix, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult870.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5816, mozilla::dom::quota::Severity::Error); return tryResult870
.propagateErr(); }}
5816 aPersistenceType, aOriginMetadata, Idempotency::Yes))){auto tryResult870 = (ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSuffix, aQuotaManager, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult870)::ok_type>); if ((__builtin_expect(
!!(tryResult870.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase + kSQLiteSuffix, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult870.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5816, mozilla::dom::quota::Severity::Error); return tryResult870
.propagateErr(); }}
;
5817
5818 // .sqlite-journal files don't count towards quota.
5819 QM_TRY(MOZ_TO_RESULT(DeleteFile(aBaseDirectory,{auto tryResult871 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult871)::ok_type>); if ((__builtin_expect(
!!(tryResult871.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult871.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5822, mozilla::dom::quota::Severity::Error); return tryResult871
.propagateErr(); }}
5820 aDatabaseFilenameBase + kSQLiteJournalSuffix,{auto tryResult871 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult871)::ok_type>); if ((__builtin_expect(
!!(tryResult871.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult871.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5822, mozilla::dom::quota::Severity::Error); return tryResult871
.propagateErr(); }}
5821 /* doesn't count */ nullptr, aPersistenceType,{auto tryResult871 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult871)::ok_type>); if ((__builtin_expect(
!!(tryResult871.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult871.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5822, mozilla::dom::quota::Severity::Error); return tryResult871
.propagateErr(); }}
5822 aOriginMetadata, Idempotency::Yes))){auto tryResult871 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult871)::ok_type>); if ((__builtin_expect(
!!(tryResult871.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteJournalSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult871.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5822, mozilla::dom::quota::Severity::Error); return tryResult871
.propagateErr(); }}
;
5823
5824 // .sqlite-shm files don't count towards quota.
5825 QM_TRY(MOZ_TO_RESULT(DeleteFile(aBaseDirectory,{auto tryResult872 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult872)::ok_type>); if ((__builtin_expect(
!!(tryResult872.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult872.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5828, mozilla::dom::quota::Severity::Error); return tryResult872
.propagateErr(); }}
5826 aDatabaseFilenameBase + kSQLiteSHMSuffix,{auto tryResult872 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult872)::ok_type>); if ((__builtin_expect(
!!(tryResult872.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult872.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5828, mozilla::dom::quota::Severity::Error); return tryResult872
.propagateErr(); }}
5827 /* doesn't count */ nullptr, aPersistenceType,{auto tryResult872 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult872)::ok_type>); if ((__builtin_expect(
!!(tryResult872.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult872.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5828, mozilla::dom::quota::Severity::Error); return tryResult872
.propagateErr(); }}
5828 aOriginMetadata, Idempotency::Yes))){auto tryResult872 = (ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult872)::ok_type>); if ((__builtin_expect(
!!(tryResult872.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile(aBaseDirectory, aDatabaseFilenameBase + kSQLiteSHMSuffix, nullptr, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult872.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5828, mozilla::dom::quota::Severity::Error); return tryResult872
.propagateErr(); }}
;
5829
5830 // .sqlite-wal files do count towards quota.
5831 QM_TRY(MOZ_TO_RESULT(DeleteFile({auto tryResult873 = (ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteWALSuffix, aQuotaManager, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult873)::ok_type>); if ((__builtin_expect(
!!(tryResult873.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase + kSQLiteWALSuffix, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult873.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5833, mozilla::dom::quota::Severity::Error); return tryResult873
.propagateErr(); }}
5832 aBaseDirectory, aDatabaseFilenameBase + kSQLiteWALSuffix, aQuotaManager,{auto tryResult873 = (ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteWALSuffix, aQuotaManager, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult873)::ok_type>); if ((__builtin_expect(
!!(tryResult873.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase + kSQLiteWALSuffix, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult873.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5833, mozilla::dom::quota::Severity::Error); return tryResult873
.propagateErr(); }}
5833 aPersistenceType, aOriginMetadata, Idempotency::Yes))){auto tryResult873 = (ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase
+ kSQLiteWALSuffix, aQuotaManager, aPersistenceType, aOriginMetadata
, Idempotency::Yes))); static_assert(std::is_empty_v<typename
decltype(tryResult873)::ok_type>); if ((__builtin_expect(
!!(tryResult873.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(DeleteFile( aBaseDirectory, aDatabaseFilenameBase + kSQLiteWALSuffix, aQuotaManager, aPersistenceType, aOriginMetadata, Idempotency::Yes))"
, tryResult873.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5833, mozilla::dom::quota::Severity::Error); return tryResult873
.propagateErr(); }}
;
5834
5835 // The files directory counts towards quota.
5836 QM_TRY_INSPECT(auto tryResult874 = (CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase
+ kFileManagerDirectoryNameSuffix)); if ((__builtin_expect(!
!(tryResult874.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase + kFileManagerDirectoryNameSuffix)"
, tryResult874.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5839, mozilla::dom::quota::Severity::Error); return tryResult874
.propagateErr(); } const auto& fmDirectory = tryResult874
.inspect();
5837 const auto& fmDirectory,auto tryResult874 = (CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase
+ kFileManagerDirectoryNameSuffix)); if ((__builtin_expect(!
!(tryResult874.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase + kFileManagerDirectoryNameSuffix)"
, tryResult874.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5839, mozilla::dom::quota::Severity::Error); return tryResult874
.propagateErr(); } const auto& fmDirectory = tryResult874
.inspect();
5838 CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase +auto tryResult874 = (CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase
+ kFileManagerDirectoryNameSuffix)); if ((__builtin_expect(!
!(tryResult874.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase + kFileManagerDirectoryNameSuffix)"
, tryResult874.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5839, mozilla::dom::quota::Severity::Error); return tryResult874
.propagateErr(); } const auto& fmDirectory = tryResult874
.inspect();
5839 kFileManagerDirectoryNameSuffix))auto tryResult874 = (CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase
+ kFileManagerDirectoryNameSuffix)); if ((__builtin_expect(!
!(tryResult874.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aBaseDirectory, aDatabaseFilenameBase + kFileManagerDirectoryNameSuffix)"
, tryResult874.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5839, mozilla::dom::quota::Severity::Error); return tryResult874
.propagateErr(); } const auto& fmDirectory = tryResult874
.inspect();
;
5840
5841 QM_TRY_INSPECT(const bool& exists,auto tryResult875 = (::mozilla::ToResultInvokeMember( (fmDirectory
), &::mozilla::detail::DerefedType<decltype(fmDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult875.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (fmDirectory), &::mozilla::detail::DerefedType<decltype(fmDirectory)>::Exists)"
, tryResult875.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5842, mozilla::dom::quota::Severity::Error); return tryResult875
.propagateErr(); } const bool& exists = tryResult875.inspect
();
5842 MOZ_TO_RESULT_INVOKE_MEMBER(fmDirectory, Exists))auto tryResult875 = (::mozilla::ToResultInvokeMember( (fmDirectory
), &::mozilla::detail::DerefedType<decltype(fmDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult875.isErr(
)), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (fmDirectory), &::mozilla::detail::DerefedType<decltype(fmDirectory)>::Exists)"
, tryResult875.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5842, mozilla::dom::quota::Severity::Error); return tryResult875
.propagateErr(); } const bool& exists = tryResult875.inspect
();
;
5843
5844 if (exists) {
5845 QM_TRY_INSPECT(const bool& isDirectory,auto tryResult876 = (::mozilla::ToResultInvokeMember( (fmDirectory
), &::mozilla::detail::DerefedType<decltype(fmDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult876.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (fmDirectory), &::mozilla::detail::DerefedType<decltype(fmDirectory)>::IsDirectory)"
, tryResult876.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5846, mozilla::dom::quota::Severity::Error); return tryResult876
.propagateErr(); } const bool& isDirectory = tryResult876
.inspect();
5846 MOZ_TO_RESULT_INVOKE_MEMBER(fmDirectory, IsDirectory))auto tryResult876 = (::mozilla::ToResultInvokeMember( (fmDirectory
), &::mozilla::detail::DerefedType<decltype(fmDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult876.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (fmDirectory), &::mozilla::detail::DerefedType<decltype(fmDirectory)>::IsDirectory)"
, tryResult876.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5846, mozilla::dom::quota::Severity::Error); return tryResult876
.propagateErr(); } const bool& isDirectory = tryResult876
.inspect();
;
5847
5848 QM_TRY(OkIf(isDirectory), NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR){auto tryResult877 = (OkIf(isDirectory)); static_assert(std::
is_empty_v<typename decltype(tryResult877)::ok_type>); if
((__builtin_expect(!!(tryResult877.isErr()), 0))) { auto tryTempError
__attribute__((__unused__)) = tryResult877.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(isDirectory)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5848, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(isDirectory)"
, tryTempError, NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR); }}
;
5849
5850 QM_TRY(DeleteFileManagerDirectory(*fmDirectory, aQuotaManager,{auto tryResult878 = (DeleteFileManagerDirectory(*fmDirectory
, aQuotaManager, aPersistenceType, aOriginMetadata)); static_assert
(std::is_empty_v<typename decltype(tryResult878)::ok_type>
); if ((__builtin_expect(!!(tryResult878.isErr()), 0))) { mozilla
::dom::quota::HandleError("DeleteFileManagerDirectory(*fmDirectory, aQuotaManager, aPersistenceType, aOriginMetadata)"
, tryResult878.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5851, mozilla::dom::quota::Severity::Error); return tryResult878
.propagateErr(); }}
5851 aPersistenceType, aOriginMetadata)){auto tryResult878 = (DeleteFileManagerDirectory(*fmDirectory
, aQuotaManager, aPersistenceType, aOriginMetadata)); static_assert
(std::is_empty_v<typename decltype(tryResult878)::ok_type>
); if ((__builtin_expect(!!(tryResult878.isErr()), 0))) { mozilla
::dom::quota::HandleError("DeleteFileManagerDirectory(*fmDirectory, aQuotaManager, aPersistenceType, aOriginMetadata)"
, tryResult878.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5851, mozilla::dom::quota::Severity::Error); return tryResult878
.propagateErr(); }}
;
5852 }
5853
5854 IndexedDatabaseManager* mgr = IndexedDatabaseManager::Get();
5855 MOZ_ASSERT_IF(aQuotaManager, mgr)do { if (aQuotaManager) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(mgr)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mgr))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("mgr", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5855); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mgr" ")"); do
{ *((volatile int*)__null) = 5855; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } } while (false
)
;
5856
5857 if (mgr) {
5858 mgr->InvalidateFileManager(aPersistenceType, aOriginMetadata.mOrigin,
5859 aDatabaseName);
5860 }
5861
5862 QM_TRY(MOZ_TO_RESULT(RemoveMarkerFile(markerFile))){auto tryResult879 = (ToResult(RemoveMarkerFile(markerFile)))
; static_assert(std::is_empty_v<typename decltype(tryResult879
)::ok_type>); if ((__builtin_expect(!!(tryResult879.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(RemoveMarkerFile(markerFile))"
, tryResult879.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5862, mozilla::dom::quota::Severity::Error); return tryResult879
.propagateErr(); }}
;
5863
5864 return NS_OK;
5865}
5866
5867/*******************************************************************************
5868 * Globals
5869 ******************************************************************************/
5870
5871// Counts the number of "live" Factory, FactoryOp and Database instances.
5872uint64_t gBusyCount = 0;
5873
5874using FactoryOpArray = nsTArray<CheckedUnsafePtr<FactoryOp>>;
5875
5876StaticAutoPtr<FactoryOpArray> gFactoryOps;
5877
5878// Maps a database id to information about live database actors.
5879using DatabaseActorHashtable =
5880 nsClassHashtable<nsCStringHashKey, DatabaseActorInfo>;
5881
5882StaticAutoPtr<DatabaseActorHashtable> gLiveDatabaseHashtable;
5883
5884StaticRefPtr<ConnectionPool> gConnectionPool;
5885
5886using DatabaseLoggingInfoHashtable =
5887 nsTHashMap<nsIDHashKey, DatabaseLoggingInfo*>;
5888
5889StaticAutoPtr<DatabaseLoggingInfoHashtable> gLoggingInfoHashtable;
5890
5891using TelemetryIdHashtable = nsTHashMap<nsUint32HashKey, uint32_t>;
5892
5893StaticAutoPtr<TelemetryIdHashtable> gTelemetryIdHashtable;
5894
5895// Protects all reads and writes to gTelemetryIdHashtable.
5896StaticAutoPtr<Mutex> gTelemetryIdMutex;
5897
5898// For private browsing, maps the raw database names provided by content to a
5899// replacement UUID in order to avoid exposing the name of the database on
5900// disk or a directly derived value, such as the non-private-browsing
5901// representation. This mapping will be the same for all databases with the
5902// same name across all storage keys/origins for the lifetime of the IDB
5903// QuotaClient. In tests, the QuotaClient may be created and destroyed multiple
5904// times, but for normal browser use the QuotaClient will last until the
5905// browser shuts down. Bug 1831835 will improve this implementation to avoid
5906// using the same mapping across storage keys and to deal with the resulting
5907// lifecycle issues of the additional memory use.
5908using StorageDatabaseNameHashtable = nsTHashMap<nsString, nsString>;
5909
5910StaticAutoPtr<StorageDatabaseNameHashtable> gStorageDatabaseNameHashtable;
5911
5912// Protects all reads and writes to gStorageDatabaseNameHashtable.
5913StaticAutoPtr<Mutex> gStorageDatabaseNameMutex;
5914
5915#ifdef DEBUG1
5916
5917StaticRefPtr<DEBUGThreadSlower> gDEBUGThreadSlower;
5918
5919#endif // DEBUG
5920
5921void IncreaseBusyCount() {
5922 AssertIsOnBackgroundThread();
5923
5924 // If this is the first instance then we need to do some initialization.
5925 if (!gBusyCount) {
5926 MOZ_ASSERT(!gFactoryOps)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!gFactoryOps)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!gFactoryOps))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!gFactoryOps", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5926); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!gFactoryOps"
")"); do { *((volatile int*)__null) = 5926; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5927 gFactoryOps = new FactoryOpArray();
5928
5929 MOZ_ASSERT(!gLiveDatabaseHashtable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!gLiveDatabaseHashtable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!gLiveDatabaseHashtable))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!gLiveDatabaseHashtable"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5929); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!gLiveDatabaseHashtable"
")"); do { *((volatile int*)__null) = 5929; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5930 gLiveDatabaseHashtable = new DatabaseActorHashtable();
5931
5932 MOZ_ASSERT(!gLoggingInfoHashtable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!gLoggingInfoHashtable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!gLoggingInfoHashtable))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!gLoggingInfoHashtable"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5932); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!gLoggingInfoHashtable"
")"); do { *((volatile int*)__null) = 5932; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5933 gLoggingInfoHashtable = new DatabaseLoggingInfoHashtable();
5934
5935#ifdef DEBUG1
5936 if (kDEBUGThreadPriority != nsISupportsPriority::PRIORITY_NORMAL) {
5937 NS_WARNING(NS_DebugBreak(NS_DEBUG_WARNING, "PBackground thread debugging enabled, priority has been "
"modified!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5939)
5938 "PBackground thread debugging enabled, priority has been "NS_DebugBreak(NS_DEBUG_WARNING, "PBackground thread debugging enabled, priority has been "
"modified!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5939)
5939 "modified!")NS_DebugBreak(NS_DEBUG_WARNING, "PBackground thread debugging enabled, priority has been "
"modified!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5939)
;
5940 nsCOMPtr<nsISupportsPriority> thread =
5941 do_QueryInterface(NS_GetCurrentThread());
5942 MOZ_ASSERT(thread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(thread)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(thread))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("thread", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5942); AnnotateMozCrashReason("MOZ_ASSERT" "(" "thread" ")"
); do { *((volatile int*)__null) = 5942; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5943
5944 MOZ_ALWAYS_SUCCEEDS(thread->SetPriority(kDEBUGThreadPriority))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(thread->SetPriority(kDEBUGThreadPriority))), 1)))), 1))) {
} else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(thread->SetPriority(kDEBUGThreadPriority))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5944); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(thread->SetPriority(kDEBUGThreadPriority))"
")"); do { *((volatile int*)__null) = 5944; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
5945 }
5946
5947 if (kDEBUGThreadSleepMS) {
5948 NS_WARNING(NS_DebugBreak(NS_DEBUG_WARNING, "PBackground thread debugging enabled, sleeping after every "
"event!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5950)
5949 "PBackground thread debugging enabled, sleeping after every "NS_DebugBreak(NS_DEBUG_WARNING, "PBackground thread debugging enabled, sleeping after every "
"event!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5950)
5950 "event!")NS_DebugBreak(NS_DEBUG_WARNING, "PBackground thread debugging enabled, sleeping after every "
"event!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5950)
;
5951 nsCOMPtr<nsIThreadInternal> thread =
5952 do_QueryInterface(NS_GetCurrentThread());
5953 MOZ_ASSERT(thread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(thread)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(thread))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("thread", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5953); AnnotateMozCrashReason("MOZ_ASSERT" "(" "thread" ")"
); do { *((volatile int*)__null) = 5953; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5954
5955 gDEBUGThreadSlower = new DEBUGThreadSlower();
5956
5957 MOZ_ALWAYS_SUCCEEDS(thread->AddObserver(gDEBUGThreadSlower))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(thread->AddObserver(gDEBUGThreadSlower))), 1)))), 1))) { }
else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(thread->AddObserver(gDEBUGThreadSlower))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5957); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(thread->AddObserver(gDEBUGThreadSlower))"
")"); do { *((volatile int*)__null) = 5957; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
5958 }
5959#endif // DEBUG
5960 }
5961
5962 gBusyCount++;
5963}
5964
5965void DecreaseBusyCount() {
5966 AssertIsOnBackgroundThread();
5967 MOZ_ASSERT(gBusyCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gBusyCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gBusyCount))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("gBusyCount", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5967); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gBusyCount"
")"); do { *((volatile int*)__null) = 5967; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5968
5969 // Clean up if there are no more instances.
5970 if (--gBusyCount == 0) {
5971 MOZ_ASSERT(gLoggingInfoHashtable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gLoggingInfoHashtable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gLoggingInfoHashtable))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("gLoggingInfoHashtable"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5971); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gLoggingInfoHashtable"
")"); do { *((volatile int*)__null) = 5971; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5972 gLoggingInfoHashtable = nullptr;
5973
5974 MOZ_ASSERT(gLiveDatabaseHashtable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gLiveDatabaseHashtable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gLiveDatabaseHashtable))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("gLiveDatabaseHashtable"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5974); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gLiveDatabaseHashtable"
")"); do { *((volatile int*)__null) = 5974; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5975 MOZ_ASSERT(!gLiveDatabaseHashtable->Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!gLiveDatabaseHashtable->Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!gLiveDatabaseHashtable->
Count()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!gLiveDatabaseHashtable->Count()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5975); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!gLiveDatabaseHashtable->Count()"
")"); do { *((volatile int*)__null) = 5975; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5976 gLiveDatabaseHashtable = nullptr;
5977
5978 MOZ_ASSERT(gFactoryOps)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gFactoryOps)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gFactoryOps))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("gFactoryOps", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5978); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gFactoryOps"
")"); do { *((volatile int*)__null) = 5978; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5979 MOZ_ASSERT(gFactoryOps->IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gFactoryOps->IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gFactoryOps->IsEmpty())))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("gFactoryOps->IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5979); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gFactoryOps->IsEmpty()"
")"); do { *((volatile int*)__null) = 5979; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5980 gFactoryOps = nullptr;
5981
5982#ifdef DEBUG1
5983 if (kDEBUGThreadPriority != nsISupportsPriority::PRIORITY_NORMAL) {
5984 nsCOMPtr<nsISupportsPriority> thread =
5985 do_QueryInterface(NS_GetCurrentThread());
5986 MOZ_ASSERT(thread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(thread)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(thread))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("thread", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5986); AnnotateMozCrashReason("MOZ_ASSERT" "(" "thread" ")"
); do { *((volatile int*)__null) = 5986; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5987
5988 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL)
)), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5989); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL))"
")"); do { *((volatile int*)__null) = 5989; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
5989 thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL)
)), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5989); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(thread->SetPriority(nsISupportsPriority::PRIORITY_NORMAL))"
")"); do { *((volatile int*)__null) = 5989; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
5990 }
5991
5992 if (kDEBUGThreadSleepMS) {
5993 MOZ_ASSERT(gDEBUGThreadSlower)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gDEBUGThreadSlower)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gDEBUGThreadSlower))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("gDEBUGThreadSlower"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5993); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gDEBUGThreadSlower"
")"); do { *((volatile int*)__null) = 5993; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5994
5995 nsCOMPtr<nsIThreadInternal> thread =
5996 do_QueryInterface(NS_GetCurrentThread());
5997 MOZ_ASSERT(thread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(thread)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(thread))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("thread", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5997); AnnotateMozCrashReason("MOZ_ASSERT" "(" "thread" ")"
); do { *((volatile int*)__null) = 5997; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
5998
5999 MOZ_ALWAYS_SUCCEEDS(thread->RemoveObserver(gDEBUGThreadSlower))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(thread->RemoveObserver(gDEBUGThreadSlower))), 1)))), 1)))
{ } else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(thread->RemoveObserver(gDEBUGThreadSlower))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 5999); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(thread->RemoveObserver(gDEBUGThreadSlower))"
")"); do { *((volatile int*)__null) = 5999; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6000
6001 gDEBUGThreadSlower = nullptr;
6002 }
6003#endif // DEBUG
6004 }
6005}
6006
6007template <typename Condition>
6008void InvalidateLiveDatabasesMatching(const Condition& aCondition) {
6009 AssertIsOnBackgroundThread();
6010
6011 if (!gLiveDatabaseHashtable) {
6012 return;
6013 }
6014
6015 // Invalidating a Database will cause it to be removed from the
6016 // gLiveDatabaseHashtable entries' mLiveDatabases, and, if it was the last
6017 // element in mLiveDatabases, to remove the whole hashtable entry. Therefore,
6018 // we need to make a temporary list of the databases to invalidate to avoid
6019 // iterator invalidation.
6020
6021 nsTArray<SafeRefPtr<Database>> databases;
6022
6023 for (const auto& liveDatabasesEntry : gLiveDatabaseHashtable->Values()) {
6024 for (const auto& database : liveDatabasesEntry->mLiveDatabases) {
6025 if (aCondition(*database)) {
6026 databases.AppendElement(
6027 SafeRefPtr{database.get(), AcquireStrongRefFromRawPtr{}});
6028 }
6029 }
6030 }
6031
6032 for (const auto& database : databases) {
6033 database->Invalidate();
6034 }
6035}
6036
6037uint32_t TelemetryIdForFile(nsIFile* aFile) {
6038 // May be called on any thread!
6039
6040 MOZ_ASSERT(aFile)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aFile)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(aFile))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("aFile", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6040); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFile" ")")
; do { *((volatile int*)__null) = 6040; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6041 MOZ_ASSERT(gTelemetryIdMutex)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gTelemetryIdMutex)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gTelemetryIdMutex))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("gTelemetryIdMutex"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6041); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gTelemetryIdMutex"
")"); do { *((volatile int*)__null) = 6041; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6042
6043 // The storage directory is structured like this:
6044 //
6045 // <profile>/storage/<persistence>/<origin>/idb/<filename>.sqlite
6046 //
6047 // For the purposes of this function we're only concerned with the
6048 // <persistence>, <origin>, and <filename> pieces.
6049
6050 nsString filename;
6051 MOZ_ALWAYS_SUCCEEDS(aFile->GetLeafName(filename))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aFile->GetLeafName(filename))), 1)))), 1))) { } else { do
{ do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(aFile->GetLeafName(filename))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6051); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aFile->GetLeafName(filename))"
")"); do { *((volatile int*)__null) = 6051; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6052
6053 // Make sure we were given a database file.
6054 MOZ_ASSERT(StringEndsWith(filename, kSQLiteSuffix))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(StringEndsWith(filename, kSQLiteSuffix))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(StringEndsWith(filename, kSQLiteSuffix)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("StringEndsWith(filename, kSQLiteSuffix)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6054); AnnotateMozCrashReason("MOZ_ASSERT" "(" "StringEndsWith(filename, kSQLiteSuffix)"
")"); do { *((volatile int*)__null) = 6054; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6055
6056 filename.Truncate(filename.Length() - kSQLiteSuffix.Length());
6057
6058 // Get the "idb" directory.
6059 nsCOMPtr<nsIFile> idbDirectory;
6060 MOZ_ALWAYS_SUCCEEDS(aFile->GetParent(getter_AddRefs(idbDirectory)))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aFile->GetParent(getter_AddRefs(idbDirectory)))), 1)))), 1
))) { } else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(aFile->GetParent(getter_AddRefs(idbDirectory)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6060); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aFile->GetParent(getter_AddRefs(idbDirectory)))"
")"); do { *((volatile int*)__null) = 6060; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6061
6062 DebugOnly<nsString> idbLeafName;
6063 MOZ_ASSERT(NS_SUCCEEDED(idbDirectory->GetLeafName(idbLeafName)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(idbDirectory
->GetLeafName(idbLeafName))), 1))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
!NS_FAILED_impl(idbDirectory->GetLeafName(idbLeafName))), 1
)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("((bool)(__builtin_expect(!!(!NS_FAILED_impl(idbDirectory->GetLeafName(idbLeafName))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6063); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(idbDirectory->GetLeafName(idbLeafName))), 1)))"
")"); do { *((volatile int*)__null) = 6063; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6064 MOZ_ASSERT(static_cast<nsString&>(idbLeafName).EqualsLiteral("idb"))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(static_cast<nsString&>(idbLeafName).EqualsLiteral
("idb"))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(static_cast<nsString&>(idbLeafName).EqualsLiteral
("idb")))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("static_cast<nsString&>(idbLeafName).EqualsLiteral(\"idb\")"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6064); AnnotateMozCrashReason("MOZ_ASSERT" "(" "static_cast<nsString&>(idbLeafName).EqualsLiteral(\"idb\")"
")"); do { *((volatile int*)__null) = 6064; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6065
6066 // Get the <origin> directory.
6067 nsCOMPtr<nsIFile> originDirectory;
6068 MOZ_ALWAYS_SUCCEEDS(idbDirectory->GetParent(getter_AddRefs(originDirectory)))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(idbDirectory->GetParent(getter_AddRefs(originDirectory)))
), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(idbDirectory->GetParent(getter_AddRefs(originDirectory)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6068); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(idbDirectory->GetParent(getter_AddRefs(originDirectory)))"
")"); do { *((volatile int*)__null) = 6068; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6069
6070 nsString origin;
6071 MOZ_ALWAYS_SUCCEEDS(originDirectory->GetLeafName(origin))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(originDirectory->GetLeafName(origin))), 1)))), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(originDirectory->GetLeafName(origin))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6071); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(originDirectory->GetLeafName(origin))"
")"); do { *((volatile int*)__null) = 6071; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6072
6073 // Any databases in these directories are owned by the application and should
6074 // not have their filenames masked. Hopefully they also appear in the
6075 // Telemetry.cpp whitelist.
6076 if (origin.EqualsLiteral("chrome") ||
6077 origin.EqualsLiteral("moz-safe-about+home")) {
6078 return 0;
6079 }
6080
6081 // Get the <persistence> directory.
6082 nsCOMPtr<nsIFile> persistenceDirectory;
6083 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(originDirectory->GetParent(getter_AddRefs(persistenceDirectory
)))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(originDirectory->GetParent(getter_AddRefs(persistenceDirectory)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6084); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(originDirectory->GetParent(getter_AddRefs(persistenceDirectory)))"
")"); do { *((volatile int*)__null) = 6084; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
6084 originDirectory->GetParent(getter_AddRefs(persistenceDirectory)))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(originDirectory->GetParent(getter_AddRefs(persistenceDirectory
)))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(originDirectory->GetParent(getter_AddRefs(persistenceDirectory)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6084); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(originDirectory->GetParent(getter_AddRefs(persistenceDirectory)))"
")"); do { *((volatile int*)__null) = 6084; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6085
6086 nsString persistence;
6087 MOZ_ALWAYS_SUCCEEDS(persistenceDirectory->GetLeafName(persistence))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(persistenceDirectory->GetLeafName(persistence))), 1)))), 1
))) { } else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(persistenceDirectory->GetLeafName(persistence))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6087); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(persistenceDirectory->GetLeafName(persistence))"
")"); do { *((volatile int*)__null) = 6087; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6088
6089 constexpr auto separator = u"*"_ns;
6090
6091 uint32_t hashValue =
6092 HashString(persistence + separator + origin + separator + filename);
6093
6094 MutexAutoLock lock(*gTelemetryIdMutex);
6095
6096 if (!gTelemetryIdHashtable) {
6097 gTelemetryIdHashtable = new TelemetryIdHashtable();
6098 }
6099
6100 return gTelemetryIdHashtable->LookupOrInsertWith(hashValue, [] {
6101 static uint32_t sNextId = 1;
6102
6103 // We're locked, no need for atomics.
6104 return sNextId++;
6105 });
6106}
6107
6108nsAutoString GetDatabaseFilenameBase(const nsAString& aDatabaseName,
6109 bool aIsPrivate) {
6110 nsAutoString databaseFilenameBase;
6111
6112 if (aIsPrivate) {
6113 MOZ_DIAGNOSTIC_ASSERT(gStorageDatabaseNameMutex)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gStorageDatabaseNameMutex)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gStorageDatabaseNameMutex)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("gStorageDatabaseNameMutex"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6113); AnnotateMozCrashReason("MOZ_DIAGNOSTIC_ASSERT" "(" "gStorageDatabaseNameMutex"
")"); do { *((volatile int*)__null) = 6113; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6114
6115 MutexAutoLock lock(*gStorageDatabaseNameMutex);
6116
6117 if (!gStorageDatabaseNameHashtable) {
6118 gStorageDatabaseNameHashtable = new StorageDatabaseNameHashtable();
6119 }
6120
6121 databaseFilenameBase.Append(
6122 gStorageDatabaseNameHashtable->LookupOrInsertWith(aDatabaseName, []() {
6123 return NSID_TrimBracketsUTF16(nsID::GenerateUUID());
6124 }));
6125
6126 return databaseFilenameBase;
6127 }
6128
6129 // WARNING: do not change this hash function. See the comment in HashName()
6130 // for details.
6131 databaseFilenameBase.AppendInt(HashName(aDatabaseName));
6132
6133 nsAutoCString escapedName;
6134 if (!NS_Escape(NS_ConvertUTF16toUTF8(aDatabaseName), escapedName,
6135 url_XPAlphas)) {
6136 MOZ_CRASH("Can't escape database name!")do { do { } while (false); MOZ_ReportCrash("" "Can't escape database name!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6136); AnnotateMozCrashReason("MOZ_CRASH(" "Can't escape database name!"
")"); do { *((volatile int*)__null) = 6136; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
6137 }
6138
6139 const char* forwardIter = escapedName.BeginReading();
6140 const char* backwardIter = escapedName.EndReading() - 1;
6141
6142 nsAutoCString substring;
6143 while (forwardIter <= backwardIter && substring.Length() < 21) {
6144 if (substring.Length() % 2) {
6145 substring.Append(*backwardIter--);
6146 } else {
6147 substring.Append(*forwardIter++);
6148 }
6149 }
6150
6151 databaseFilenameBase.AppendASCII(substring.get(), substring.Length());
6152
6153 return databaseFilenameBase;
6154}
6155
6156const CommonIndexOpenCursorParams& GetCommonIndexOpenCursorParams(
6157 const OpenCursorParams& aParams) {
6158 switch (aParams.type()) {
6159 case OpenCursorParams::TIndexOpenCursorParams:
6160 return aParams.get_IndexOpenCursorParams().commonIndexParams();
6161 case OpenCursorParams::TIndexOpenKeyCursorParams:
6162 return aParams.get_IndexOpenKeyCursorParams().commonIndexParams();
6163 default:
6164 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6164); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 6164; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
6165 }
6166}
6167
6168const CommonOpenCursorParams& GetCommonOpenCursorParams(
6169 const OpenCursorParams& aParams) {
6170 switch (aParams.type()) {
6171 case OpenCursorParams::TObjectStoreOpenCursorParams:
6172 return aParams.get_ObjectStoreOpenCursorParams().commonParams();
6173 case OpenCursorParams::TObjectStoreOpenKeyCursorParams:
6174 return aParams.get_ObjectStoreOpenKeyCursorParams().commonParams();
6175 case OpenCursorParams::TIndexOpenCursorParams:
6176 case OpenCursorParams::TIndexOpenKeyCursorParams:
6177 return GetCommonIndexOpenCursorParams(aParams).commonParams();
6178 default:
6179 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6179); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 6179; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
6180 }
6181}
6182
6183// TODO: Using nsCString as a return type here seems to lead to a dependency on
6184// some temporaries, which I did not expect. Is it a good idea that the default
6185// operator+ behaviour constructs such strings? It is certainly useful as an
6186// optimization, but this should be better done via an appropriately named
6187// function rather than an operator.
6188nsAutoCString MakeColumnPairSelectionList(
6189 const nsLiteralCString& aPlainColumnName,
6190 const nsLiteralCString& aLocaleAwareColumnName,
6191 const nsLiteralCString& aSortColumnAlias, const bool aIsLocaleAware) {
6192 return aPlainColumnName +
6193 (aIsLocaleAware ? EmptyCString() : " as "_ns + aSortColumnAlias) +
6194 ", "_ns + aLocaleAwareColumnName +
6195 (aIsLocaleAware ? " as "_ns + aSortColumnAlias : EmptyCString());
6196}
6197
6198constexpr bool IsIncreasingOrder(const IDBCursorDirection aDirection) {
6199 MOZ_ASSERT(aDirection == IDBCursorDirection::Next ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6202); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6202; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
6200 aDirection == IDBCursorDirection::Nextunique ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6202); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6202; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
6201 aDirection == IDBCursorDirection::Prev ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6202); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6202; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
6202 aDirection == IDBCursorDirection::Prevunique)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6202); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6202; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6203
6204 return aDirection == IDBCursorDirection::Next ||
6205 aDirection == IDBCursorDirection::Nextunique;
6206}
6207
6208constexpr bool IsUnique(const IDBCursorDirection aDirection) {
6209 MOZ_ASSERT(aDirection == IDBCursorDirection::Next ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6212); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6212; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
6210 aDirection == IDBCursorDirection::Nextunique ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6212); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6212; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
6211 aDirection == IDBCursorDirection::Prev ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6212); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6212; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
6212 aDirection == IDBCursorDirection::Prevunique)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aDirection == IDBCursorDirection::Next || aDirection
== IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection
::Prev || aDirection == IDBCursorDirection::Prevunique))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6212); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirection == IDBCursorDirection::Next || aDirection == IDBCursorDirection::Nextunique || aDirection == IDBCursorDirection::Prev || aDirection == IDBCursorDirection::Prevunique"
")"); do { *((volatile int*)__null) = 6212; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6213
6214 return aDirection == IDBCursorDirection::Nextunique ||
6215 aDirection == IDBCursorDirection::Prevunique;
6216}
6217
6218// TODO: In principle, this could be constexpr, if operator+(nsLiteralCString,
6219// nsLiteralCString) were constexpr and returned a literal type.
6220nsAutoCString MakeDirectionClause(const IDBCursorDirection aDirection) {
6221 return " ORDER BY "_ns + kColumnNameKey +
6222 (IsIncreasingOrder(aDirection) ? " ASC"_ns : " DESC"_ns);
6223}
6224
6225enum struct ComparisonOperator {
6226 LessThan,
6227 LessOrEquals,
6228 Equals,
6229 GreaterThan,
6230 GreaterOrEquals,
6231};
6232
6233constexpr nsLiteralCString GetComparisonOperatorString(
6234 const ComparisonOperator aComparisonOperator) {
6235 switch (aComparisonOperator) {
6236 case ComparisonOperator::LessThan:
6237 return "<"_ns;
6238 case ComparisonOperator::LessOrEquals:
6239 return "<="_ns;
6240 case ComparisonOperator::Equals:
6241 return "=="_ns;
6242 case ComparisonOperator::GreaterThan:
6243 return ">"_ns;
6244 case ComparisonOperator::GreaterOrEquals:
6245 return ">="_ns;
6246 }
6247
6248 // TODO: This is just to silence the "control reaches end of non-void
6249 // function" warning. Cannot use MOZ_CRASH in a constexpr function,
6250 // unfortunately.
6251 return ""_ns;
6252}
6253
6254nsAutoCString GetKeyClause(const nsACString& aColumnName,
6255 const ComparisonOperator aComparisonOperator,
6256 const nsLiteralCString& aStmtParamName) {
6257 return aColumnName + " "_ns +
6258 GetComparisonOperatorString(aComparisonOperator) + " :"_ns +
6259 aStmtParamName;
6260}
6261
6262nsAutoCString GetSortKeyClause(const ComparisonOperator aComparisonOperator,
6263 const nsLiteralCString& aStmtParamName) {
6264 return GetKeyClause(kColumnNameAliasSortKey, aComparisonOperator,
6265 aStmtParamName);
6266}
6267
6268template <IDBCursorType CursorType>
6269struct PopulateResponseHelper;
6270
6271struct CommonPopulateResponseHelper {
6272 explicit CommonPopulateResponseHelper(
6273 const TransactionDatabaseOperationBase& aOp)
6274 : mOp{aOp} {}
6275
6276 nsresult GetKeys(mozIStorageStatement* const aStmt,
6277 Key* const aOptOutSortKey) {
6278 QM_TRY(MOZ_TO_RESULT(GetCommonKeys(aStmt))){auto tryResult880 = (ToResult(GetCommonKeys(aStmt))); static_assert
(std::is_empty_v<typename decltype(tryResult880)::ok_type>
); if ((__builtin_expect(!!(tryResult880.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(GetCommonKeys(aStmt))", tryResult880
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6278, mozilla::dom::quota::Severity::Error); return tryResult880
.propagateErr(); }}
;
6279
6280 if (aOptOutSortKey) {
6281 *aOptOutSortKey = mPosition;
6282 }
6283
6284 return NS_OK;
6285 }
6286
6287 nsresult GetCommonKeys(mozIStorageStatement* const aStmt) {
6288 MOZ_ASSERT(mPosition.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mPosition.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mPosition.IsUnset()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mPosition.IsUnset()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6288); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mPosition.IsUnset()"
")"); do { *((volatile int*)__null) = 6288; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6289
6290 QM_TRY(MOZ_TO_RESULT(mPosition.SetFromStatement(aStmt, 0))){auto tryResult881 = (ToResult(mPosition.SetFromStatement(aStmt
, 0))); static_assert(std::is_empty_v<typename decltype(tryResult881
)::ok_type>); if ((__builtin_expect(!!(tryResult881.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(mPosition.SetFromStatement(aStmt, 0))"
, tryResult881.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6290, mozilla::dom::quota::Severity::Error); return tryResult881
.propagateErr(); }}
;
6291
6292 IDB_LOG_MARK_PARENT_TRANSACTION_REQUEST(mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" " " "Request[%" "l" "u" "]" ": "
"PRELOAD: Populating response with key %s", "IndexedDB %s: "
"P" " " "T[%" "l" "i" "]" " " "R[%" "l" "u" "]" ": " "Populating%.0s"
, mozilla::dom::indexedDB::LoggingIdString<true>(mOp.BackgroundChildLoggingId
()).get(), mOp.TransactionLoggingSerialNumber(), mOp.LoggingSerialNumber
(), mPosition.GetBuffer().get())
6293 "PRELOAD: Populating response with key %s", "Populating%.0s",mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" " " "Request[%" "l" "u" "]" ": "
"PRELOAD: Populating response with key %s", "IndexedDB %s: "
"P" " " "T[%" "l" "i" "]" " " "R[%" "l" "u" "]" ": " "Populating%.0s"
, mozilla::dom::indexedDB::LoggingIdString<true>(mOp.BackgroundChildLoggingId
()).get(), mOp.TransactionLoggingSerialNumber(), mOp.LoggingSerialNumber
(), mPosition.GetBuffer().get())
6294 IDB_LOG_ID_STRING(mOp.BackgroundChildLoggingId()),mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" " " "Request[%" "l" "u" "]" ": "
"PRELOAD: Populating response with key %s", "IndexedDB %s: "
"P" " " "T[%" "l" "i" "]" " " "R[%" "l" "u" "]" ": " "Populating%.0s"
, mozilla::dom::indexedDB::LoggingIdString<true>(mOp.BackgroundChildLoggingId
()).get(), mOp.TransactionLoggingSerialNumber(), mOp.LoggingSerialNumber
(), mPosition.GetBuffer().get())
6295 mOp.TransactionLoggingSerialNumber(), mOp.LoggingSerialNumber(),mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" " " "Request[%" "l" "u" "]" ": "
"PRELOAD: Populating response with key %s", "IndexedDB %s: "
"P" " " "T[%" "l" "i" "]" " " "R[%" "l" "u" "]" ": " "Populating%.0s"
, mozilla::dom::indexedDB::LoggingIdString<true>(mOp.BackgroundChildLoggingId
()).get(), mOp.TransactionLoggingSerialNumber(), mOp.LoggingSerialNumber
(), mPosition.GetBuffer().get())
6296 mPosition.GetBuffer().get())mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" " " "Request[%" "l" "u" "]" ": "
"PRELOAD: Populating response with key %s", "IndexedDB %s: "
"P" " " "T[%" "l" "i" "]" " " "R[%" "l" "u" "]" ": " "Populating%.0s"
, mozilla::dom::indexedDB::LoggingIdString<true>(mOp.BackgroundChildLoggingId
()).get(), mOp.TransactionLoggingSerialNumber(), mOp.LoggingSerialNumber
(), mPosition.GetBuffer().get())
;
6297
6298 return NS_OK;
6299 }
6300
6301 template <typename Response>
6302 void FillKeys(Response& aResponse) {
6303 MOZ_ASSERT(!mPosition.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mPosition.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mPosition.IsUnset()))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mPosition.IsUnset()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6303); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mPosition.IsUnset()"
")"); do { *((volatile int*)__null) = 6303; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6304 aResponse.key() = std::move(mPosition);
6305 }
6306
6307 template <typename Response>
6308 static size_t GetKeySize(const Response& aResponse) {
6309 return aResponse.key().GetBuffer().Length();
6310 }
6311
6312 protected:
6313 const Key& GetPosition() const { return mPosition; }
6314
6315 private:
6316 const TransactionDatabaseOperationBase& mOp;
6317 Key mPosition;
6318};
6319
6320struct IndexPopulateResponseHelper : CommonPopulateResponseHelper {
6321 using CommonPopulateResponseHelper::CommonPopulateResponseHelper;
6322
6323 nsresult GetKeys(mozIStorageStatement* const aStmt,
6324 Key* const aOptOutSortKey) {
6325 MOZ_ASSERT(mLocaleAwarePosition.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLocaleAwarePosition.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mLocaleAwarePosition.IsUnset
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mLocaleAwarePosition.IsUnset()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6325); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLocaleAwarePosition.IsUnset()"
")"); do { *((volatile int*)__null) = 6325; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6326 MOZ_ASSERT(mObjectStorePosition.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mObjectStorePosition.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mObjectStorePosition.IsUnset
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mObjectStorePosition.IsUnset()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6326); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mObjectStorePosition.IsUnset()"
")"); do { *((volatile int*)__null) = 6326; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6327
6328 QM_TRY(MOZ_TO_RESULT(CommonPopulateResponseHelper::GetCommonKeys(aStmt))){auto tryResult882 = (ToResult(CommonPopulateResponseHelper::
GetCommonKeys(aStmt))); static_assert(std::is_empty_v<typename
decltype(tryResult882)::ok_type>); if ((__builtin_expect(
!!(tryResult882.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(CommonPopulateResponseHelper::GetCommonKeys(aStmt))"
, tryResult882.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6328, mozilla::dom::quota::Severity::Error); return tryResult882
.propagateErr(); }}
;
6329
6330 QM_TRY(MOZ_TO_RESULT(mLocaleAwarePosition.SetFromStatement(aStmt, 1))){auto tryResult883 = (ToResult(mLocaleAwarePosition.SetFromStatement
(aStmt, 1))); static_assert(std::is_empty_v<typename decltype
(tryResult883)::ok_type>); if ((__builtin_expect(!!(tryResult883
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(mLocaleAwarePosition.SetFromStatement(aStmt, 1))"
, tryResult883.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6330, mozilla::dom::quota::Severity::Error); return tryResult883
.propagateErr(); }}
;
6331
6332 QM_TRY(MOZ_TO_RESULT(mObjectStorePosition.SetFromStatement(aStmt, 2))){auto tryResult884 = (ToResult(mObjectStorePosition.SetFromStatement
(aStmt, 2))); static_assert(std::is_empty_v<typename decltype
(tryResult884)::ok_type>); if ((__builtin_expect(!!(tryResult884
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(mObjectStorePosition.SetFromStatement(aStmt, 2))"
, tryResult884.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6332, mozilla::dom::quota::Severity::Error); return tryResult884
.propagateErr(); }}
;
6333
6334 if (aOptOutSortKey) {
6335 *aOptOutSortKey =
6336 mLocaleAwarePosition.IsUnset() ? GetPosition() : mLocaleAwarePosition;
6337 }
6338
6339 return NS_OK;
6340 }
6341
6342 template <typename Response>
6343 void FillKeys(Response& aResponse) {
6344 MOZ_ASSERT(!mLocaleAwarePosition.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mLocaleAwarePosition.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mLocaleAwarePosition.IsUnset
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mLocaleAwarePosition.IsUnset()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6344); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mLocaleAwarePosition.IsUnset()"
")"); do { *((volatile int*)__null) = 6344; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6345 MOZ_ASSERT(!mObjectStorePosition.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mObjectStorePosition.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mObjectStorePosition.IsUnset
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mObjectStorePosition.IsUnset()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6345); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mObjectStorePosition.IsUnset()"
")"); do { *((volatile int*)__null) = 6345; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6346
6347 CommonPopulateResponseHelper::FillKeys(aResponse);
6348 aResponse.sortKey() = std::move(mLocaleAwarePosition);
6349 aResponse.objectKey() = std::move(mObjectStorePosition);
6350 }
6351
6352 template <typename Response>
6353 static size_t GetKeySize(Response& aResponse) {
6354 return CommonPopulateResponseHelper::GetKeySize(aResponse) +
6355 aResponse.sortKey().GetBuffer().Length() +
6356 aResponse.objectKey().GetBuffer().Length();
6357 }
6358
6359 private:
6360 Key mLocaleAwarePosition, mObjectStorePosition;
6361};
6362
6363struct KeyPopulateResponseHelper {
6364 static constexpr nsresult MaybeGetCloneInfo(
6365 mozIStorageStatement* const /*aStmt*/, const CursorBase& /*aCursor*/) {
6366 return NS_OK;
6367 }
6368
6369 template <typename Response>
6370 static constexpr void MaybeFillCloneInfo(Response& /*aResponse*/,
6371 FilesArray* const /*aFiles*/) {}
6372
6373 template <typename Response>
6374 static constexpr size_t MaybeGetCloneInfoSize(const Response& /*aResponse*/) {
6375 return 0;
6376 }
6377};
6378
6379template <bool StatementHasIndexKeyBindings>
6380struct ValuePopulateResponseHelper {
6381 nsresult MaybeGetCloneInfo(mozIStorageStatement* const aStmt,
6382 const ValueCursorBase& aCursor) {
6383 constexpr auto offset = StatementHasIndexKeyBindings ? 2 : 0;
6384
6385 QM_TRY_UNWRAP(auto cloneInfo,auto tryResult885 = (GetStructuredCloneReadInfoFromStatement(
aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager)); if (
(__builtin_expect(!!(tryResult885.isErr()), 0))) { mozilla::dom
::quota::HandleError("GetStructuredCloneReadInfoFromStatement( aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager)"
, tryResult885.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6387, mozilla::dom::quota::Severity::Error); return tryResult885
.propagateErr(); } auto cloneInfo = tryResult885.unwrap();
6386 GetStructuredCloneReadInfoFromStatement(auto tryResult885 = (GetStructuredCloneReadInfoFromStatement(
aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager)); if (
(__builtin_expect(!!(tryResult885.isErr()), 0))) { mozilla::dom
::quota::HandleError("GetStructuredCloneReadInfoFromStatement( aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager)"
, tryResult885.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6387, mozilla::dom::quota::Severity::Error); return tryResult885
.propagateErr(); } auto cloneInfo = tryResult885.unwrap();
6387 aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager))auto tryResult885 = (GetStructuredCloneReadInfoFromStatement(
aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager)); if (
(__builtin_expect(!!(tryResult885.isErr()), 0))) { mozilla::dom
::quota::HandleError("GetStructuredCloneReadInfoFromStatement( aStmt, 2 + offset, 1 + offset, *aCursor.mFileManager)"
, tryResult885.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6387, mozilla::dom::quota::Severity::Error); return tryResult885
.propagateErr(); } auto cloneInfo = tryResult885.unwrap();
;
6388
6389 mCloneInfo.init(std::move(cloneInfo));
6390
6391 if (mCloneInfo->HasPreprocessInfo()) {
6392 IDB_WARNING("Preprocessing for cursors not yet implemented!")do { nsPrintfCString s("Preprocessing for cursors not yet implemented!"
); mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6392, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6392); } while (0)
;
6393 return NS_ERROR_NOT_IMPLEMENTED;
6394 }
6395
6396 return NS_OK;
6397 }
6398
6399 template <typename Response>
6400 void MaybeFillCloneInfo(Response& aResponse, FilesArray* const aFiles) {
6401 auto cloneInfo = mCloneInfo.release();
6402 aResponse.cloneInfo().data().data = cloneInfo.ReleaseData();
6403 aFiles->AppendElement(cloneInfo.ReleaseFiles());
6404 }
6405
6406 template <typename Response>
6407 static size_t MaybeGetCloneInfoSize(const Response& aResponse) {
6408 return aResponse.cloneInfo().data().data.Size();
6409 }
6410
6411 private:
6412 LazyInitializedOnceEarlyDestructible<const StructuredCloneReadInfoParent>
6413 mCloneInfo;
6414};
6415
6416template <>
6417struct PopulateResponseHelper<IDBCursorType::ObjectStore>
6418 : ValuePopulateResponseHelper<false>, CommonPopulateResponseHelper {
6419 using CommonPopulateResponseHelper::CommonPopulateResponseHelper;
6420
6421 static auto& GetTypedResponse(CursorResponse* const aResponse) {
6422 return aResponse->get_ArrayOfObjectStoreCursorResponse();
6423 }
6424};
6425
6426template <>
6427struct PopulateResponseHelper<IDBCursorType::ObjectStoreKey>
6428 : KeyPopulateResponseHelper, CommonPopulateResponseHelper {
6429 using CommonPopulateResponseHelper::CommonPopulateResponseHelper;
6430
6431 static auto& GetTypedResponse(CursorResponse* const aResponse) {
6432 return aResponse->get_ArrayOfObjectStoreKeyCursorResponse();
6433 }
6434};
6435
6436template <>
6437struct PopulateResponseHelper<IDBCursorType::Index>
6438 : ValuePopulateResponseHelper<true>, IndexPopulateResponseHelper {
6439 using IndexPopulateResponseHelper::IndexPopulateResponseHelper;
6440
6441 static auto& GetTypedResponse(CursorResponse* const aResponse) {
6442 return aResponse->get_ArrayOfIndexCursorResponse();
6443 }
6444};
6445
6446template <>
6447struct PopulateResponseHelper<IDBCursorType::IndexKey>
6448 : KeyPopulateResponseHelper, IndexPopulateResponseHelper {
6449 using IndexPopulateResponseHelper::IndexPopulateResponseHelper;
6450
6451 static auto& GetTypedResponse(CursorResponse* const aResponse) {
6452 return aResponse->get_ArrayOfIndexKeyCursorResponse();
6453 }
6454};
6455
6456nsresult DispatchAndReturnFileReferences(
6457 PersistenceType aPersistenceType, const nsACString& aOrigin,
6458 const nsAString& aDatabaseName, const int64_t aFileId,
6459 int32_t* const aMemRefCnt, int32_t* const aDBRefCnt, bool* const aResult) {
6460 AssertIsOnBackgroundThread();
6461 MOZ_ASSERT(aMemRefCnt)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMemRefCnt)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMemRefCnt))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aMemRefCnt", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6461); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMemRefCnt"
")"); do { *((volatile int*)__null) = 6461; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6462 MOZ_ASSERT(aDBRefCnt)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDBRefCnt)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDBRefCnt))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aDBRefCnt", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6462); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDBRefCnt" ")"
); do { *((volatile int*)__null) = 6462; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6463 MOZ_ASSERT(aResult)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aResult)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aResult))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aResult", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6463); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aResult" ")"
); do { *((volatile int*)__null) = 6463; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6464
6465 *aResult = false;
6466 *aMemRefCnt = -1;
6467 *aDBRefCnt = -1;
6468
6469 mozilla::Monitor monitor MOZ_ANNOTATED(__func__);
6470 bool waiting = true;
6471
6472 auto lambda = [&] {
6473 AssertIsOnIOThread();
6474
6475 {
6476 IndexedDatabaseManager* const mgr = IndexedDatabaseManager::Get();
6477 MOZ_ASSERT(mgr)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mgr)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(mgr))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("mgr", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6477); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mgr" ")"); do
{ *((volatile int*)__null) = 6477; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false)
;
6478
6479 const SafeRefPtr<DatabaseFileManager> fileManager =
6480 mgr->GetFileManager(aPersistenceType, aOrigin, aDatabaseName);
6481
6482 if (fileManager) {
6483 const SafeRefPtr<DatabaseFileInfo> fileInfo =
6484 fileManager->GetFileInfo(aFileId);
6485
6486 if (fileInfo) {
6487 fileInfo->GetReferences(aMemRefCnt, aDBRefCnt);
6488
6489 if (*aMemRefCnt != -1) {
6490 // We added an extra temp ref, so account for that accordingly.
6491 (*aMemRefCnt)--;
6492 }
6493
6494 *aResult = true;
6495 }
6496 }
6497 }
6498
6499 mozilla::MonitorAutoLock lock(monitor);
6500 MOZ_ASSERT(waiting)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(waiting)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(waiting))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("waiting", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6500); AnnotateMozCrashReason("MOZ_ASSERT" "(" "waiting" ")"
); do { *((volatile int*)__null) = 6500; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6501
6502 waiting = false;
6503 lock.Notify();
6504 };
6505
6506 QuotaManager* const quotaManager = QuotaManager::Get();
6507 MOZ_ASSERT(quotaManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(quotaManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(quotaManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("quotaManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6507); AnnotateMozCrashReason("MOZ_ASSERT" "(" "quotaManager"
")"); do { *((volatile int*)__null) = 6507; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6508
6509 // XXX can't we simply use NS_DispatchAndSpinEventLoopUntilComplete instead of
6510 // using a monitor?
6511 QM_TRY(MOZ_TO_RESULT(quotaManager->IOThread()->Dispatch({auto tryResult886 = (ToResult(quotaManager->IOThread()->
Dispatch( NS_NewRunnableFunction("GetFileReferences", std::move
(lambda)), nsIEventTarget::DISPATCH_NORMAL))); static_assert(
std::is_empty_v<typename decltype(tryResult886)::ok_type>
); if ((__builtin_expect(!!(tryResult886.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch( NS_NewRunnableFunction(\"GetFileReferences\", std::move(lambda)), nsIEventTarget::DISPATCH_NORMAL))"
, tryResult886.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6513, mozilla::dom::quota::Severity::Error); return tryResult886
.propagateErr(); }}
6512 NS_NewRunnableFunction("GetFileReferences", std::move(lambda)),{auto tryResult886 = (ToResult(quotaManager->IOThread()->
Dispatch( NS_NewRunnableFunction("GetFileReferences", std::move
(lambda)), nsIEventTarget::DISPATCH_NORMAL))); static_assert(
std::is_empty_v<typename decltype(tryResult886)::ok_type>
); if ((__builtin_expect(!!(tryResult886.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch( NS_NewRunnableFunction(\"GetFileReferences\", std::move(lambda)), nsIEventTarget::DISPATCH_NORMAL))"
, tryResult886.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6513, mozilla::dom::quota::Severity::Error); return tryResult886
.propagateErr(); }}
6513 NS_DISPATCH_NORMAL))){auto tryResult886 = (ToResult(quotaManager->IOThread()->
Dispatch( NS_NewRunnableFunction("GetFileReferences", std::move
(lambda)), nsIEventTarget::DISPATCH_NORMAL))); static_assert(
std::is_empty_v<typename decltype(tryResult886)::ok_type>
); if ((__builtin_expect(!!(tryResult886.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch( NS_NewRunnableFunction(\"GetFileReferences\", std::move(lambda)), nsIEventTarget::DISPATCH_NORMAL))"
, tryResult886.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6513, mozilla::dom::quota::Severity::Error); return tryResult886
.propagateErr(); }}
;
6514
6515 mozilla::MonitorAutoLock autolock(monitor);
6516 while (waiting) {
6517 autolock.Wait();
6518 }
6519
6520 return NS_OK;
6521}
6522
6523class DeserializeIndexValueHelper final : public Runnable {
6524 public:
6525 DeserializeIndexValueHelper(int64_t aIndexID, const KeyPath& aKeyPath,
6526 bool aMultiEntry, const nsACString& aLocale,
6527 StructuredCloneReadInfoParent& aCloneReadInfo,
6528 nsTArray<IndexUpdateInfo>& aUpdateInfoArray)
6529 : Runnable("DeserializeIndexValueHelper"),
6530 mMonitor("DeserializeIndexValueHelper::mMonitor"),
6531 mIndexID(aIndexID),
6532 mKeyPath(aKeyPath),
6533 mMultiEntry(aMultiEntry),
6534 mLocale(aLocale),
6535 mCloneReadInfo(aCloneReadInfo),
6536 mUpdateInfoArray(aUpdateInfoArray),
6537 mStatus(NS_ERROR_FAILURE) {}
6538
6539 nsresult DispatchAndWait() {
6540 // FIXME(Bug 1637530) Re-enable optimization using a non-system-principaled
6541 // JS context
6542#if 0
6543 // We don't need to go to the main-thread and use the sandbox. Let's create
6544 // the updateInfo data here.
6545 if (!mCloneReadInfo.Data().Size()) {
6546 AutoJSAPI jsapi;
6547 jsapi.Init();
6548
6549 JS::Rooted<JS::Value> value(jsapi.cx());
6550 value.setUndefined();
6551
6552 ErrorResult rv;
6553 IDBObjectStore::AppendIndexUpdateInfo(
6554 mIndexID, mKeyPath, mMultiEntry, &mUpdateInfoArray,
6555 /* aAutoIncrementedObjectStoreKeyPath */ VoidString(), &rv);
6556 return rv.Failed() ? rv.StealNSResult() : NS_OK;
6557 }
6558#endif
6559
6560 // The operation will continue on the main-thread.
6561
6562 MOZ_ASSERT(!(mCloneReadInfo.Data().Size() % sizeof(uint64_t)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!(mCloneReadInfo.Data().Size() % sizeof(uint64_t)))>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!(mCloneReadInfo.Data().Size() % sizeof(uint64_t))))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("!(mCloneReadInfo.Data().Size() % sizeof(uint64_t))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6562); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!(mCloneReadInfo.Data().Size() % sizeof(uint64_t))"
")"); do { *((volatile int*)__null) = 6562; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6563
6564 MonitorAutoLock lock(mMonitor);
6565
6566 RefPtr<Runnable> self = this;
6567 QM_TRY(MOZ_TO_RESULT(SchedulerGroup::Dispatch(self.forget()))){auto tryResult887 = (ToResult(SchedulerGroup::Dispatch(self.
forget()))); static_assert(std::is_empty_v<typename decltype
(tryResult887)::ok_type>); if ((__builtin_expect(!!(tryResult887
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(SchedulerGroup::Dispatch(self.forget()))"
, tryResult887.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6567, mozilla::dom::quota::Severity::Error); return tryResult887
.propagateErr(); }}
;
6568
6569 lock.Wait();
6570 return mStatus;
6571 }
6572
6573 NS_IMETHODvirtual nsresult
6574 Run() override {
6575 MOZ_ASSERT(NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6575); AnnotateMozCrashReason("MOZ_ASSERT" "(" "NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 6575; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6576
6577 AutoJSAPI jsapi;
6578 jsapi.Init();
6579 JSContext* const cx = jsapi.cx();
6580
6581 JS::Rooted<JSObject*> global(cx, GetSandbox(cx));
6582
6583 QM_TRY(OkIf(global), NS_OK,{auto tryResult888 = (OkIf(global)); static_assert(std::is_empty_v
<typename decltype(tryResult888)::ok_type>); if ((__builtin_expect
(!!(tryResult888.isErr()), 0))) { auto tryTempError = tryResult888
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(global)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6584, mozilla::dom::quota::Severity::Error); [this](const NotOk
) { OperationCompleted(NS_ERROR_FAILURE); }(tryTempError); constexpr
const auto& func __attribute__((__unused__)) = __func__;
return mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(global)"
, tryTempError, NS_OK); }}
6584 [this](const NotOk) { OperationCompleted(NS_ERROR_FAILURE); }){auto tryResult888 = (OkIf(global)); static_assert(std::is_empty_v
<typename decltype(tryResult888)::ok_type>); if ((__builtin_expect
(!!(tryResult888.isErr()), 0))) { auto tryTempError = tryResult888
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(global)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6584, mozilla::dom::quota::Severity::Error); [this](const NotOk
) { OperationCompleted(NS_ERROR_FAILURE); }(tryTempError); constexpr
const auto& func __attribute__((__unused__)) = __func__;
return mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(global)"
, tryTempError, NS_OK); }}
;
6585
6586 const JSAutoRealm ar(cx, global);
6587
6588 JS::Rooted<JS::Value> value(cx);
6589 QM_TRY(MOZ_TO_RESULT(DeserializeIndexValue(cx, &value)), NS_OK,{auto tryResult889 = (ToResult(DeserializeIndexValue(cx, &
value))); static_assert(std::is_empty_v<typename decltype(
tryResult889)::ok_type>); if ((__builtin_expect(!!(tryResult889
.isErr()), 0))) { auto tryTempError = tryResult889.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(DeserializeIndexValue(cx, &value))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6590, mozilla::dom::quota::Severity::Error); [this](const nsresult
rv) { OperationCompleted(rv); }(tryTempError); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(DeserializeIndexValue(cx, &value))"
, tryTempError, NS_OK); }}
6590 [this](const nsresult rv) { OperationCompleted(rv); }){auto tryResult889 = (ToResult(DeserializeIndexValue(cx, &
value))); static_assert(std::is_empty_v<typename decltype(
tryResult889)::ok_type>); if ((__builtin_expect(!!(tryResult889
.isErr()), 0))) { auto tryTempError = tryResult889.unwrapErr(
); mozilla::dom::quota::HandleError("ToResult(DeserializeIndexValue(cx, &value))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6590, mozilla::dom::quota::Severity::Error); [this](const nsresult
rv) { OperationCompleted(rv); }(tryTempError); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(DeserializeIndexValue(cx, &value))"
, tryTempError, NS_OK); }}
;
6591
6592 ErrorResult errorResult;
6593 IDBObjectStore::AppendIndexUpdateInfo(
6594 mIndexID, mKeyPath, mMultiEntry, mLocale, cx, value, &mUpdateInfoArray,
6595 /* aAutoIncrementedObjectStoreKeyPath */ VoidString(), &errorResult);
6596 QM_TRY(OkIf(!errorResult.Failed()), NS_OK,{auto tryResult890 = (OkIf(!errorResult.Failed())); static_assert
(std::is_empty_v<typename decltype(tryResult890)::ok_type>
); if ((__builtin_expect(!!(tryResult890.isErr()), 0))) { auto
tryTempError = tryResult890.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(!errorResult.Failed())", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6599, mozilla::dom::quota::Severity::Error); ([this, &errorResult
](const NotOk) { OperationCompleted(errorResult.StealNSResult
()); })(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "OkIf(!errorResult.Failed())", tryTempError, NS_OK); }
}
6597 ([this, &errorResult](const NotOk) {{auto tryResult890 = (OkIf(!errorResult.Failed())); static_assert
(std::is_empty_v<typename decltype(tryResult890)::ok_type>
); if ((__builtin_expect(!!(tryResult890.isErr()), 0))) { auto
tryTempError = tryResult890.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(!errorResult.Failed())", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6599, mozilla::dom::quota::Severity::Error); ([this, &errorResult
](const NotOk) { OperationCompleted(errorResult.StealNSResult
()); })(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "OkIf(!errorResult.Failed())", tryTempError, NS_OK); }
}
6598 OperationCompleted(errorResult.StealNSResult());{auto tryResult890 = (OkIf(!errorResult.Failed())); static_assert
(std::is_empty_v<typename decltype(tryResult890)::ok_type>
); if ((__builtin_expect(!!(tryResult890.isErr()), 0))) { auto
tryTempError = tryResult890.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(!errorResult.Failed())", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6599, mozilla::dom::quota::Severity::Error); ([this, &errorResult
](const NotOk) { OperationCompleted(errorResult.StealNSResult
()); })(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "OkIf(!errorResult.Failed())", tryTempError, NS_OK); }
}
6599 })){auto tryResult890 = (OkIf(!errorResult.Failed())); static_assert
(std::is_empty_v<typename decltype(tryResult890)::ok_type>
); if ((__builtin_expect(!!(tryResult890.isErr()), 0))) { auto
tryTempError = tryResult890.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(!errorResult.Failed())", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6599, mozilla::dom::quota::Severity::Error); ([this, &errorResult
](const NotOk) { OperationCompleted(errorResult.StealNSResult
()); })(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "OkIf(!errorResult.Failed())", tryTempError, NS_OK); }
}
;
6600
6601 OperationCompleted(NS_OK);
6602 return NS_OK;
6603 }
6604
6605 private:
6606 nsresult DeserializeIndexValue(JSContext* aCx,
6607 JS::MutableHandle<JS::Value> aValue) {
6608 static const JSStructuredCloneCallbacks callbacks = {
6609 StructuredCloneReadCallback<StructuredCloneReadInfoParent>,
6610 nullptr,
6611 nullptr,
6612 nullptr,
6613 nullptr,
6614 nullptr,
6615 nullptr,
6616 nullptr};
6617
6618 if (!JS_ReadStructuredClone(
6619 aCx, mCloneReadInfo.Data(), JS_STRUCTURED_CLONE_VERSION8,
6620 JS::StructuredCloneScope::DifferentProcessForIndexedDB, aValue,
6621 JS::CloneDataPolicy(), &callbacks, &mCloneReadInfo)) {
6622 return NS_ERROR_DOM_DATA_CLONE_ERR;
6623 }
6624
6625 return NS_OK;
6626 }
6627
6628 void OperationCompleted(nsresult aStatus) {
6629 mStatus = aStatus;
6630
6631 MonitorAutoLock lock(mMonitor);
6632 lock.Notify();
6633 }
6634
6635 Monitor mMonitor MOZ_UNANNOTATED;
6636
6637 const int64_t mIndexID;
6638 const KeyPath& mKeyPath;
6639 const bool mMultiEntry;
6640 const nsCString mLocale;
6641 StructuredCloneReadInfoParent& mCloneReadInfo;
6642 nsTArray<IndexUpdateInfo>& mUpdateInfoArray;
6643 nsresult mStatus;
6644};
6645
6646auto DeserializeIndexValueToUpdateInfos(
6647 int64_t aIndexID, const KeyPath& aKeyPath, bool aMultiEntry,
6648 const nsACString& aLocale, StructuredCloneReadInfoParent& aCloneReadInfo) {
6649 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6649); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 6649; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6650
6651 using ArrayType = AutoTArray<IndexUpdateInfo, 32>;
6652 using ResultType = Result<ArrayType, nsresult>;
6653
6654 ArrayType updateInfoArray;
6655 const auto helper = MakeRefPtr<DeserializeIndexValueHelper>(
6656 aIndexID, aKeyPath, aMultiEntry, aLocale, aCloneReadInfo,
6657 updateInfoArray);
6658 const nsresult rv = helper->DispatchAndWait();
6659 return NS_FAILED(rv)((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0))) ? Err(rv) : ResultType{std::move(updateInfoArray)};
6660}
6661
6662bool IsSome(
6663 const Maybe<CachingDatabaseConnection::BorrowedStatement>& aMaybeStmt) {
6664 return aMaybeStmt.isSome();
6665}
6666
6667already_AddRefed<nsIThreadPool> MakeConnectionIOTarget() {
6668 nsCOMPtr<nsIThreadPool> threadPool = new nsThreadPool();
6669
6670 MOZ_ALWAYS_SUCCEEDS(threadPool->SetThreadLimit(kMaxConnectionThreadCount))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetThreadLimit(kMaxConnectionThreadCount))), 1
)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetThreadLimit(kMaxConnectionThreadCount))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6670); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetThreadLimit(kMaxConnectionThreadCount))"
")"); do { *((volatile int*)__null) = 6670; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6671
6672 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6673); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount))"
")"); do { *((volatile int*)__null) = 6673; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
6673 threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6673); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadLimit(kMaxIdleConnectionThreadCount))"
")"); do { *((volatile int*)__null) = 6673; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6674
6675 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6676); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS))"
")"); do { *((volatile int*)__null) = 6676; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
6676 threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6676); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(kConnectionThreadMaxIdleMS))"
")"); do { *((volatile int*)__null) = 6676; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6677
6678 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6679); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS))"
")"); do { *((volatile int*)__null) = 6679; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
6679 threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6679); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadGraceTimeout(kConnectionThreadGraceIdleMS))"
")"); do { *((volatile int*)__null) = 6679; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6680
6681 MOZ_ALWAYS_SUCCEEDS(threadPool->SetName("IndexedDB IO"_ns))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetName("IndexedDB IO"_ns))), 1)))), 1))) { }
else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(threadPool->SetName(\"IndexedDB IO\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6681); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetName(\"IndexedDB IO\"_ns))"
")"); do { *((volatile int*)__null) = 6681; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
6682
6683 return threadPool.forget();
6684}
6685
6686} // namespace
6687
6688/*******************************************************************************
6689 * Exported functions
6690 ******************************************************************************/
6691
6692already_AddRefed<PBackgroundIDBFactoryParent> AllocPBackgroundIDBFactoryParent(
6693 const LoggingInfo& aLoggingInfo, const nsACString& aSystemLocale) {
6694 AssertIsOnBackgroundThread();
6695
6696 if (NS_WARN_IF(QuotaClient::IsShuttingDownOnBackgroundThread())NS_warn_if_impl(QuotaClient::IsShuttingDownOnBackgroundThread
(), "QuotaClient::IsShuttingDownOnBackgroundThread()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6696)
) {
6697 return nullptr;
6698 }
6699
6700 if (NS_AUUF_OR_WARN_IF(!aLoggingInfo.nextTransactionSerialNumber())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aLoggingInfo.nextTransactionSerialNumber()" ")"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6700); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aLoggingInfo.nextTransactionSerialNumber()" ")"); do { *((
volatile int*)__null) = 6700; __attribute__((nomerge)) ::abort
(); } while (false); } } while (false); } return aCond; }((!aLoggingInfo
.nextTransactionSerialNumber()))
||
6701 NS_AUUF_OR_WARN_IF([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aLoggingInfo.nextVersionChangeTransactionSerialNumber()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6702); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aLoggingInfo.nextVersionChangeTransactionSerialNumber()" ")"
); do { *((volatile int*)__null) = 6702; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((!aLoggingInfo.nextVersionChangeTransactionSerialNumber()
))
6702 !aLoggingInfo.nextVersionChangeTransactionSerialNumber())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aLoggingInfo.nextVersionChangeTransactionSerialNumber()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6702); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aLoggingInfo.nextVersionChangeTransactionSerialNumber()" ")"
); do { *((volatile int*)__null) = 6702; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((!aLoggingInfo.nextVersionChangeTransactionSerialNumber()
))
||
6703 NS_AUUF_OR_WARN_IF(!aLoggingInfo.nextRequestSerialNumber())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aLoggingInfo.nextRequestSerialNumber()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6703); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aLoggingInfo.nextRequestSerialNumber()" ")"); do { *((volatile
int*)__null) = 6703; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!aLoggingInfo
.nextRequestSerialNumber()))
) {
6704 return nullptr;
6705 }
6706
6707 SafeRefPtr<Factory> actor = Factory::Create(aLoggingInfo, aSystemLocale);
6708 MOZ_ASSERT(actor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(actor)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(actor))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("actor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6708); AnnotateMozCrashReason("MOZ_ASSERT" "(" "actor" ")")
; do { *((volatile int*)__null) = 6708; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6709
6710 return actor.forget();
6711}
6712
6713bool RecvPBackgroundIDBFactoryConstructor(
6714 PBackgroundIDBFactoryParent* aActor, const LoggingInfo& /* aLoggingInfo */,
6715 const nsACString& /* aSystemLocale */) {
6716 AssertIsOnBackgroundThread();
6717 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6717); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 6717; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6718 MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!QuotaClient::IsShuttingDownOnBackgroundThread())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!QuotaClient::IsShuttingDownOnBackgroundThread()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!QuotaClient::IsShuttingDownOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6718); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!QuotaClient::IsShuttingDownOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 6718; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6719
6720 return true;
6721}
6722
6723PBackgroundIndexedDBUtilsParent* AllocPBackgroundIndexedDBUtilsParent() {
6724 AssertIsOnBackgroundThread();
6725
6726 RefPtr<Utils> actor = new Utils();
6727
6728 return actor.forget().take();
6729}
6730
6731bool DeallocPBackgroundIndexedDBUtilsParent(
6732 PBackgroundIndexedDBUtilsParent* aActor) {
6733 AssertIsOnBackgroundThread();
6734 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6734); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 6734; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6735
6736 RefPtr<Utils> actor = dont_AddRef(static_cast<Utils*>(aActor));
6737 return true;
6738}
6739
6740bool RecvFlushPendingFileDeletions() {
6741 AssertIsOnBackgroundThread();
6742
6743 if (QuotaClient* quotaClient = QuotaClient::GetInstance()) {
6744 QM_WARNONLY_TRY(QM_TO_RESULT(quotaClient->FlushPendingFileDeletions())){auto tryResult891 = (ToResult<QMResult>(quotaClient->
FlushPendingFileDeletions())); static_assert(std::is_empty_v<
typename decltype(tryResult891)::ok_type>); if ((__builtin_expect
(!!(tryResult891.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult<QMResult>(quotaClient->FlushPendingFileDeletions())"
, tryResult891.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6744, mozilla::dom::quota::Severity::Warning); }}
;
6745 }
6746
6747 return true;
6748}
6749
6750RefPtr<mozilla::dom::quota::Client> CreateQuotaClient() {
6751 AssertIsOnBackgroundThread();
6752
6753 return MakeRefPtr<QuotaClient>();
6754}
6755
6756nsresult DatabaseFileManager::AsyncDeleteFile(int64_t aFileId) {
6757 AssertIsOnBackgroundThread();
6758 MOZ_ASSERT(!ContainsFileInfo(aFileId))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!ContainsFileInfo(aFileId))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!ContainsFileInfo(aFileId)))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("!ContainsFileInfo(aFileId)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6758); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!ContainsFileInfo(aFileId)"
")"); do { *((volatile int*)__null) = 6758; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6759
6760 QuotaClient* quotaClient = QuotaClient::GetInstance();
6761 if (quotaClient) {
6762 QM_TRY(MOZ_TO_RESULT(quotaClient->AsyncDeleteFile(this, aFileId))){auto tryResult892 = (ToResult(quotaClient->AsyncDeleteFile
(this, aFileId))); static_assert(std::is_empty_v<typename decltype
(tryResult892)::ok_type>); if ((__builtin_expect(!!(tryResult892
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(quotaClient->AsyncDeleteFile(this, aFileId))"
, tryResult892.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6762, mozilla::dom::quota::Severity::Error); return tryResult892
.propagateErr(); }}
;
6763 }
6764
6765 return NS_OK;
6766}
6767
6768/*******************************************************************************
6769 * DatabaseConnection implementation
6770 ******************************************************************************/
6771
6772DatabaseConnection::DatabaseConnection(
6773 MovingNotNull<nsCOMPtr<mozIStorageConnection>> aStorageConnection,
6774 MovingNotNull<SafeRefPtr<DatabaseFileManager>> aFileManager)
6775 : CachingDatabaseConnection(std::move(aStorageConnection)),
6776 mFileManager(std::move(aFileManager)),
6777 mLastDurability(IDBTransaction::Durability::Default),
6778 mInReadTransaction(false),
6779 mInWriteTransaction(false)
6780#ifdef DEBUG1
6781 ,
6782 mDEBUGSavepointCount(0)
6783#endif
6784{
6785 AssertIsOnConnectionThread();
6786 MOZ_ASSERT(mFileManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mFileManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6786); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileManager"
")"); do { *((volatile int*)__null) = 6786; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6787}
6788
6789DatabaseConnection::~DatabaseConnection() {
6790 MOZ_ASSERT(!mFileManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mFileManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mFileManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mFileManager",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6790); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mFileManager"
")"); do { *((volatile int*)__null) = 6790; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6791 MOZ_ASSERT(!mUpdateRefcountFunction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mUpdateRefcountFunction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mUpdateRefcountFunction))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!mUpdateRefcountFunction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6791); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mUpdateRefcountFunction"
")"); do { *((volatile int*)__null) = 6791; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6792 MOZ_DIAGNOSTIC_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6792); AnnotateMozCrashReason("MOZ_DIAGNOSTIC_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6792; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6793 MOZ_ASSERT(!mDEBUGSavepointCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDEBUGSavepointCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDEBUGSavepointCount))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("!mDEBUGSavepointCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6793); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDEBUGSavepointCount"
")"); do { *((volatile int*)__null) = 6793; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6794}
6795
6796nsresult DatabaseConnection::Init() {
6797 AssertIsOnConnectionThread();
6798 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6798); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 6798; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6799 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6799); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6799; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6800
6801 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement("BEGIN;"_ns))){auto tryResult893 = (ToResult(ExecuteCachedStatement("BEGIN;"_ns
))); static_assert(std::is_empty_v<typename decltype(tryResult893
)::ok_type>); if ((__builtin_expect(!!(tryResult893.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"BEGIN;\"_ns))"
, tryResult893.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6801, mozilla::dom::quota::Severity::Error); return tryResult893
.propagateErr(); }}
;
6802
6803 mInReadTransaction = true;
6804
6805 return NS_OK;
6806}
6807
6808nsresult DatabaseConnection::BeginWriteTransaction(
6809 const IDBTransaction::Durability aDurability) {
6810 AssertIsOnConnectionThread();
6811 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6811); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 6811; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6812 MOZ_ASSERT(mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInReadTransaction))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6812); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInReadTransaction"
")"); do { *((volatile int*)__null) = 6812; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6813 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6813); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6813; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6814
6815 AUTO_PROFILER_LABEL("DatabaseConnection::BeginWriteTransaction", DOM)mozilla::AutoProfilerLabel raiiObject6815( "DatabaseConnection::BeginWriteTransaction"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
6816
6817 // Release our read locks.
6818 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement("ROLLBACK;"_ns))){auto tryResult894 = (ToResult(ExecuteCachedStatement("ROLLBACK;"_ns
))); static_assert(std::is_empty_v<typename decltype(tryResult894
)::ok_type>); if ((__builtin_expect(!!(tryResult894.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"ROLLBACK;\"_ns))"
, tryResult894.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6818, mozilla::dom::quota::Severity::Error); return tryResult894
.propagateErr(); }}
;
6819
6820 mInReadTransaction = false;
6821
6822 if (mLastDurability != aDurability) {
6823 auto synchronousMode = [aDurability]() -> nsLiteralCString {
6824 switch (aDurability) {
6825 case IDBTransaction::Durability::Default:
6826 return GetDefaultSynchronousMode();
6827
6828 case IDBTransaction::Durability::Strict:
6829 return "EXTRA"_ns;
6830
6831 case IDBTransaction::Durability::Relaxed:
6832 return "OFF"_ns;
6833
6834 default:
6835 MOZ_CRASH("Unknown CheckpointMode!")do { do { } while (false); MOZ_ReportCrash("" "Unknown CheckpointMode!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6835); AnnotateMozCrashReason("MOZ_CRASH(" "Unknown CheckpointMode!"
")"); do { *((volatile int*)__null) = 6835; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
6836 }
6837 }();
6838
6839 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement("PRAGMA synchronous = "_ns +{auto tryResult895 = (ToResult(ExecuteCachedStatement("PRAGMA synchronous = "_ns
+ synchronousMode + ";"_ns))); static_assert(std::is_empty_v
<typename decltype(tryResult895)::ok_type>); if ((__builtin_expect
(!!(tryResult895.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(ExecuteCachedStatement(\"PRAGMA synchronous = \"_ns + synchronousMode + \";\"_ns))"
, tryResult895.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6840, mozilla::dom::quota::Severity::Error); return tryResult895
.propagateErr(); }}
6840 synchronousMode + ";"_ns))){auto tryResult895 = (ToResult(ExecuteCachedStatement("PRAGMA synchronous = "_ns
+ synchronousMode + ";"_ns))); static_assert(std::is_empty_v
<typename decltype(tryResult895)::ok_type>); if ((__builtin_expect
(!!(tryResult895.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(ExecuteCachedStatement(\"PRAGMA synchronous = \"_ns + synchronousMode + \";\"_ns))"
, tryResult895.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6840, mozilla::dom::quota::Severity::Error); return tryResult895
.propagateErr(); }}
;
6841
6842 mLastDurability = aDurability;
6843 }
6844
6845 if (!mUpdateRefcountFunction) {
6846 MOZ_ASSERT(mFileManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mFileManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6846); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileManager"
")"); do { *((volatile int*)__null) = 6846; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6847
6848 RefPtr<UpdateRefcountFunction> function =
6849 new UpdateRefcountFunction(this, **mFileManager);
6850
6851 QM_TRY(MOZ_TO_RESULT(MutableStorageConnection().CreateFunction({auto tryResult896 = (ToResult(MutableStorageConnection().CreateFunction
( "update_refcount"_ns, 2, function))); static_assert(std::is_empty_v
<typename decltype(tryResult896)::ok_type>); if ((__builtin_expect
(!!(tryResult896.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(MutableStorageConnection().CreateFunction( \"update_refcount\"_ns, 2, function))"
, tryResult896.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6853, mozilla::dom::quota::Severity::Error); return tryResult896
.propagateErr(); }}
6852 "update_refcount"_ns,{auto tryResult896 = (ToResult(MutableStorageConnection().CreateFunction
( "update_refcount"_ns, 2, function))); static_assert(std::is_empty_v
<typename decltype(tryResult896)::ok_type>); if ((__builtin_expect
(!!(tryResult896.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(MutableStorageConnection().CreateFunction( \"update_refcount\"_ns, 2, function))"
, tryResult896.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6853, mozilla::dom::quota::Severity::Error); return tryResult896
.propagateErr(); }}
6853 /* aNumArguments */ 2, function))){auto tryResult896 = (ToResult(MutableStorageConnection().CreateFunction
( "update_refcount"_ns, 2, function))); static_assert(std::is_empty_v
<typename decltype(tryResult896)::ok_type>); if ((__builtin_expect
(!!(tryResult896.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(MutableStorageConnection().CreateFunction( \"update_refcount\"_ns, 2, function))"
, tryResult896.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6853, mozilla::dom::quota::Severity::Error); return tryResult896
.propagateErr(); }}
;
6854
6855 mUpdateRefcountFunction = std::move(function);
6856 }
6857
6858 // This one cannot obviously use ExecuteCachedStatement because of the custom
6859 // error handling for Execute only. If only Execute can produce
6860 // NS_ERROR_STORAGE_BUSY, we could actually use ExecuteCachedStatement and
6861 // simplify this.
6862 QM_TRY_INSPECT(const auto& beginStmt,auto tryResult897 = (BorrowCachedStatement("BEGIN IMMEDIATE;"_ns
)); if ((__builtin_expect(!!(tryResult897.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"BEGIN IMMEDIATE;\"_ns)"
, tryResult897.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6863, mozilla::dom::quota::Severity::Error); return tryResult897
.propagateErr(); } const auto& beginStmt = tryResult897.inspect
();
6863 BorrowCachedStatement("BEGIN IMMEDIATE;"_ns))auto tryResult897 = (BorrowCachedStatement("BEGIN IMMEDIATE;"_ns
)); if ((__builtin_expect(!!(tryResult897.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"BEGIN IMMEDIATE;\"_ns)"
, tryResult897.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6863, mozilla::dom::quota::Severity::Error); return tryResult897
.propagateErr(); } const auto& beginStmt = tryResult897.inspect
();
;
6864
6865 QM_TRY(QM_OR_ELSE_WARN_IF({auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6866 // Expression.{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6867 MOZ_TO_RESULT(beginStmt->Execute()),{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6868 // Predicate.{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6869 IsSpecificError<NS_ERROR_STORAGE_BUSY>,{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6870 // Fallback.{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6871 ([&beginStmt](nsresult rv) {{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6872 NS_WARNING({auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6873 "Received NS_ERROR_STORAGE_BUSY when attempting to start write "{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6874 "transaction, retrying for up to 10 seconds");{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6875
6876 // Another thread must be using the database. Wait up to 10 seconds{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6877 // for that to complete.{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6878 const TimeStamp start = TimeStamp::NowLoRes();{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6879
6880 while (true) {{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6881 PR_Sleep(PR_MillisecondsToInterval(100));{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6882
6883 rv = beginStmt->Execute();{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6884 if (rv != NS_ERROR_STORAGE_BUSY ||{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6885 TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) {{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6886 break;{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6887 }{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6888 }{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6889
6890 return MOZ_TO_RESULT(rv);{auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
6891 }))){auto tryResult898 = (mozilla::dom::quota::OrElseIf( (ToResult
(beginStmt->Execute())), [&](const auto& firstRes)
{ bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes
); mozilla::dom::quota::HandleError("\"ToResult(beginStmt->Execute())\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ([&beginStmt
](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, "Received NS_ERROR_STORAGE_BUSY when attempting to start write "
"transaction, retrying for up to 10 seconds", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6874); const TimeStamp start = TimeStamp::NowLoRes(); while
(true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt
->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::
NowLoRes() - start > TimeDuration::FromSeconds(10)) { break
; } } return ToResult(rv); }))); static_assert(std::is_empty_v
<typename decltype(tryResult898)::ok_type>); if ((__builtin_expect
(!!(tryResult898.isErr()), 0))) { mozilla::dom::quota::HandleError
("mozilla::dom::quota::OrElseIf( (ToResult(beginStmt->Execute())), [&](const auto& firstRes) { bool res = IsSpecificError<NS_ERROR_STORAGE_BUSY>(firstRes); mozilla::dom::quota::HandleError(\"\\\"ToResult(beginStmt->Execute())\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6891, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ([&beginStmt](nsresult rv) { NS_DebugBreak(NS_DEBUG_WARNING, \"Received NS_ERROR_STORAGE_BUSY when attempting to start write \" \"transaction, retrying for up to 10 seconds\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 6874); const TimeStamp start = TimeStamp::NowLoRes(); while (true) { PR_Sleep(PR_MillisecondsToInterval(100)); rv = beginStmt->Execute(); if (rv != NS_ERROR_STORAGE_BUSY || TimeStamp::NowLoRes() - start > TimeDuration::FromSeconds(10)) { break; } } return ToResult(rv); }))"
, tryResult898.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6891, mozilla::dom::quota::Severity::Error); return tryResult898
.propagateErr(); }}
;
6892
6893 mInWriteTransaction = true;
6894
6895 return NS_OK;
6896}
6897
6898nsresult DatabaseConnection::CommitWriteTransaction() {
6899 AssertIsOnConnectionThread();
6900 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6900); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 6900; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6901 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6901); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 6901; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6902 MOZ_ASSERT(mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInWriteTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6902); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6902; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6903
6904 AUTO_PROFILER_LABEL("DatabaseConnection::CommitWriteTransaction", DOM)mozilla::AutoProfilerLabel raiiObject6904( "DatabaseConnection::CommitWriteTransaction"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
6905
6906 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement("COMMIT;"_ns))){auto tryResult899 = (ToResult(ExecuteCachedStatement("COMMIT;"_ns
))); static_assert(std::is_empty_v<typename decltype(tryResult899
)::ok_type>); if ((__builtin_expect(!!(tryResult899.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"COMMIT;\"_ns))"
, tryResult899.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6906, mozilla::dom::quota::Severity::Error); return tryResult899
.propagateErr(); }}
;
6907
6908 mInWriteTransaction = false;
6909 return NS_OK;
6910}
6911
6912void DatabaseConnection::RollbackWriteTransaction() {
6913 AssertIsOnConnectionThread();
6914 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6914); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 6914; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6915 MOZ_DIAGNOSTIC_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6915); AnnotateMozCrashReason("MOZ_DIAGNOSTIC_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 6915; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6916
6917 AUTO_PROFILER_LABEL("DatabaseConnection::RollbackWriteTransaction", DOM)mozilla::AutoProfilerLabel raiiObject6917( "DatabaseConnection::RollbackWriteTransaction"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
6918
6919 if (!mInWriteTransaction) {
6920 return;
6921 }
6922
6923 QM_WARNONLY_TRY({auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6924 BorrowCachedStatement("ROLLBACK;"_ns){auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6925 .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> {{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6926 // This may fail if SQLite already rolled back the transaction{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6927 // so ignore any errors.{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6928
6929 // XXX ROLLBACK can fail quite normmally if a previous statement{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6930 // failed to execute successfully so SQLite rolled back the{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6931 // transaction already. However, if it failed because of some other{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6932 // reason, we could try to close the connection.{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6933 Unused << stmt->Execute();{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6934
6935 self.mInWriteTransaction = false;{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6936 return Ok{};{auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
6937 })){auto tryResult900 = (BorrowCachedStatement("ROLLBACK;"_ns) .
andThen([&self = *this](const auto& stmt) -> Result
<Ok, nsresult> { Unused << stmt->Execute(); self
.mInWriteTransaction = false; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult900)::ok_type>
); if ((__builtin_expect(!!(tryResult900.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK;\"_ns) .andThen([&self = *this](const auto& stmt) -> Result<Ok, nsresult> { Unused << stmt->Execute(); self.mInWriteTransaction = false; return Ok{}; })"
, tryResult900.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6937, mozilla::dom::quota::Severity::Warning); }}
;
6938}
6939
6940void DatabaseConnection::FinishWriteTransaction() {
6941 AssertIsOnConnectionThread();
6942 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6942); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 6942; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6943 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6943); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 6943; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6944 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6944); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6944; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6945
6946 AUTO_PROFILER_LABEL("DatabaseConnection::FinishWriteTransaction", DOM)mozilla::AutoProfilerLabel raiiObject6946( "DatabaseConnection::FinishWriteTransaction"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
6947
6948 if (mUpdateRefcountFunction) {
6949 mUpdateRefcountFunction->Reset();
6950 }
6951
6952 QM_WARNONLY_TRY(MOZ_TO_RESULT(ExecuteCachedStatement("BEGIN;"_ns)){auto tryResult901 = (ToResult(ExecuteCachedStatement("BEGIN;"_ns
)) .andThen([&](const auto) -> Result<Ok, nsresult>
{ mInReadTransaction = true; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult901)::ok_type>
); if ((__builtin_expect(!!(tryResult901.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"BEGIN;\"_ns)) .andThen([&](const auto) -> Result<Ok, nsresult> { mInReadTransaction = true; return Ok{}; })"
, tryResult901.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6956, mozilla::dom::quota::Severity::Warning); }}
6953 .andThen([&](const auto) -> Result<Ok, nsresult> {{auto tryResult901 = (ToResult(ExecuteCachedStatement("BEGIN;"_ns
)) .andThen([&](const auto) -> Result<Ok, nsresult>
{ mInReadTransaction = true; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult901)::ok_type>
); if ((__builtin_expect(!!(tryResult901.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"BEGIN;\"_ns)) .andThen([&](const auto) -> Result<Ok, nsresult> { mInReadTransaction = true; return Ok{}; })"
, tryResult901.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6956, mozilla::dom::quota::Severity::Warning); }}
6954 mInReadTransaction = true;{auto tryResult901 = (ToResult(ExecuteCachedStatement("BEGIN;"_ns
)) .andThen([&](const auto) -> Result<Ok, nsresult>
{ mInReadTransaction = true; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult901)::ok_type>
); if ((__builtin_expect(!!(tryResult901.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"BEGIN;\"_ns)) .andThen([&](const auto) -> Result<Ok, nsresult> { mInReadTransaction = true; return Ok{}; })"
, tryResult901.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6956, mozilla::dom::quota::Severity::Warning); }}
6955 return Ok{};{auto tryResult901 = (ToResult(ExecuteCachedStatement("BEGIN;"_ns
)) .andThen([&](const auto) -> Result<Ok, nsresult>
{ mInReadTransaction = true; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult901)::ok_type>
); if ((__builtin_expect(!!(tryResult901.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"BEGIN;\"_ns)) .andThen([&](const auto) -> Result<Ok, nsresult> { mInReadTransaction = true; return Ok{}; })"
, tryResult901.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6956, mozilla::dom::quota::Severity::Warning); }}
6956 })){auto tryResult901 = (ToResult(ExecuteCachedStatement("BEGIN;"_ns
)) .andThen([&](const auto) -> Result<Ok, nsresult>
{ mInReadTransaction = true; return Ok{}; })); static_assert
(std::is_empty_v<typename decltype(tryResult901)::ok_type>
); if ((__builtin_expect(!!(tryResult901.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"BEGIN;\"_ns)) .andThen([&](const auto) -> Result<Ok, nsresult> { mInReadTransaction = true; return Ok{}; })"
, tryResult901.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6956, mozilla::dom::quota::Severity::Warning); }}
;
6957}
6958
6959nsresult DatabaseConnection::StartSavepoint() {
6960 AssertIsOnConnectionThread();
6961 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6961); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 6961; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6962 MOZ_ASSERT(mUpdateRefcountFunction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mUpdateRefcountFunction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mUpdateRefcountFunction))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mUpdateRefcountFunction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6962); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mUpdateRefcountFunction"
")"); do { *((volatile int*)__null) = 6962; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6963 MOZ_ASSERT(mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInWriteTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6963); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6963; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6964
6965 AUTO_PROFILER_LABEL("DatabaseConnection::StartSavepoint", DOM)mozilla::AutoProfilerLabel raiiObject6965( "DatabaseConnection::StartSavepoint"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
6966
6967 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement(SAVEPOINT_CLAUSE))){auto tryResult902 = (ToResult(ExecuteCachedStatement("SAVEPOINT sp;"_ns
))); static_assert(std::is_empty_v<typename decltype(tryResult902
)::ok_type>); if ((__builtin_expect(!!(tryResult902.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(ExecuteCachedStatement(\"SAVEPOINT sp;\"_ns))"
, tryResult902.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6967, mozilla::dom::quota::Severity::Error); return tryResult902
.propagateErr(); }}
;
6968
6969 mUpdateRefcountFunction->StartSavepoint();
6970
6971#ifdef DEBUG1
6972 MOZ_ASSERT(mDEBUGSavepointCount < UINT32_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGSavepointCount < (4294967295U))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mDEBUGSavepointCount < (4294967295U)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDEBUGSavepointCount < (4294967295U)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6972); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGSavepointCount < (4294967295U)"
")"); do { *((volatile int*)__null) = 6972; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6973 mDEBUGSavepointCount++;
6974#endif
6975
6976 return NS_OK;
6977}
6978
6979nsresult DatabaseConnection::ReleaseSavepoint() {
6980 AssertIsOnConnectionThread();
6981 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6981); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 6981; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6982 MOZ_ASSERT(mUpdateRefcountFunction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mUpdateRefcountFunction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mUpdateRefcountFunction))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mUpdateRefcountFunction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6982); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mUpdateRefcountFunction"
")"); do { *((volatile int*)__null) = 6982; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6983 MOZ_ASSERT(mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInWriteTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6983); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInWriteTransaction"
")"); do { *((volatile int*)__null) = 6983; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6984
6985 AUTO_PROFILER_LABEL("DatabaseConnection::ReleaseSavepoint", DOM)mozilla::AutoProfilerLabel raiiObject6985( "DatabaseConnection::ReleaseSavepoint"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
6986
6987 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement("RELEASE "_ns SAVEPOINT_CLAUSE))){auto tryResult903 = (ToResult(ExecuteCachedStatement("RELEASE "_ns
"SAVEPOINT sp;"_ns))); static_assert(std::is_empty_v<typename
decltype(tryResult903)::ok_type>); if ((__builtin_expect(
!!(tryResult903.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(ExecuteCachedStatement(\"RELEASE \"_ns \"SAVEPOINT sp;\"_ns))"
, tryResult903.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6987, mozilla::dom::quota::Severity::Error); return tryResult903
.propagateErr(); }}
;
6988
6989 mUpdateRefcountFunction->ReleaseSavepoint();
6990
6991#ifdef DEBUG1
6992 MOZ_ASSERT(mDEBUGSavepointCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGSavepointCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGSavepointCount))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGSavepointCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 6992); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGSavepointCount"
")"); do { *((volatile int*)__null) = 6992; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
6993 mDEBUGSavepointCount--;
6994#endif
6995
6996 return NS_OK;
6997}
6998
6999nsresult DatabaseConnection::RollbackSavepoint() {
7000 AssertIsOnConnectionThread();
7001 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7001); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 7001; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7002 MOZ_ASSERT(mUpdateRefcountFunction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mUpdateRefcountFunction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mUpdateRefcountFunction))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mUpdateRefcountFunction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7002); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mUpdateRefcountFunction"
")"); do { *((volatile int*)__null) = 7002; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7003 MOZ_ASSERT(mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInWriteTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7003); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7003; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7004
7005 AUTO_PROFILER_LABEL("DatabaseConnection::RollbackSavepoint", DOM)mozilla::AutoProfilerLabel raiiObject7005( "DatabaseConnection::RollbackSavepoint"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7006
7007#ifdef DEBUG1
7008 MOZ_ASSERT(mDEBUGSavepointCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGSavepointCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGSavepointCount))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGSavepointCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7008); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGSavepointCount"
")"); do { *((volatile int*)__null) = 7008; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7009 mDEBUGSavepointCount--;
7010#endif
7011
7012 mUpdateRefcountFunction->RollbackSavepoint();
7013
7014 QM_TRY_INSPECT(const auto& stmt,auto tryResult904 = (BorrowCachedStatement("ROLLBACK TO "_ns "SAVEPOINT sp;"_ns
)); if ((__builtin_expect(!!(tryResult904.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK TO \"_ns \"SAVEPOINT sp;\"_ns)"
, tryResult904.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7015, mozilla::dom::quota::Severity::Error); return tryResult904
.propagateErr(); } const auto& stmt = tryResult904.inspect
();
7015 BorrowCachedStatement("ROLLBACK TO "_ns SAVEPOINT_CLAUSE))auto tryResult904 = (BorrowCachedStatement("ROLLBACK TO "_ns "SAVEPOINT sp;"_ns
)); if ((__builtin_expect(!!(tryResult904.isErr()), 0))) { mozilla
::dom::quota::HandleError("BorrowCachedStatement(\"ROLLBACK TO \"_ns \"SAVEPOINT sp;\"_ns)"
, tryResult904.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7015, mozilla::dom::quota::Severity::Error); return tryResult904
.propagateErr(); } const auto& stmt = tryResult904.inspect
();
;
7016
7017 // This may fail if SQLite already rolled back the savepoint so ignore any
7018 // errors.
7019 Unused << stmt->Execute();
7020
7021 return NS_OK;
7022}
7023
7024nsresult DatabaseConnection::CheckpointInternal(CheckpointMode aMode) {
7025 AssertIsOnConnectionThread();
7026 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7026); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 7026; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7027 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7027); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7027; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7028
7029 AUTO_PROFILER_LABEL("DatabaseConnection::CheckpointInternal", DOM)mozilla::AutoProfilerLabel raiiObject7029( "DatabaseConnection::CheckpointInternal"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7030
7031 nsAutoCString stmtString;
7032 stmtString.AssignLiteral("PRAGMA wal_checkpoint(");
7033
7034 switch (aMode) {
7035 case CheckpointMode::Full:
7036 // Ensures that the database is completely checkpointed and flushed to
7037 // disk.
7038 stmtString.AppendLiteral("FULL");
7039 break;
7040
7041 case CheckpointMode::Restart:
7042 // Like Full, but also ensures that the next write will start overwriting
7043 // the existing WAL file rather than letting the WAL file grow.
7044 stmtString.AppendLiteral("RESTART");
7045 break;
7046
7047 case CheckpointMode::Truncate:
7048 // Like Restart but also truncates the existing WAL file.
7049 stmtString.AppendLiteral("TRUNCATE");
7050 break;
7051
7052 default:
7053 MOZ_CRASH("Unknown CheckpointMode!")do { do { } while (false); MOZ_ReportCrash("" "Unknown CheckpointMode!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7053); AnnotateMozCrashReason("MOZ_CRASH(" "Unknown CheckpointMode!"
")"); do { *((volatile int*)__null) = 7053; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
7054 }
7055
7056 stmtString.AppendLiteral(");");
7057
7058 QM_TRY(MOZ_TO_RESULT(ExecuteCachedStatement(stmtString))){auto tryResult905 = (ToResult(ExecuteCachedStatement(stmtString
))); static_assert(std::is_empty_v<typename decltype(tryResult905
)::ok_type>); if ((__builtin_expect(!!(tryResult905.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(ExecuteCachedStatement(stmtString))"
, tryResult905.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7058, mozilla::dom::quota::Severity::Error); return tryResult905
.propagateErr(); }}
;
7059
7060 return NS_OK;
7061}
7062
7063void DatabaseConnection::DoIdleProcessing(bool aNeedsCheckpoint,
7064 const Atomic<bool>& aInterrupted) {
7065 AssertIsOnConnectionThread();
7066 MOZ_ASSERT(mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInReadTransaction))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7066); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInReadTransaction"
")"); do { *((volatile int*)__null) = 7066; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7067 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7067); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7067; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7068
7069 AUTO_PROFILER_LABEL("DatabaseConnection::DoIdleProcessing", DOM)mozilla::AutoProfilerLabel raiiObject7069( "DatabaseConnection::DoIdleProcessing"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7070
7071 CachingDatabaseConnection::CachedStatement freelistStmt;
7072 const uint32_t freelistCount = [this, &freelistStmt] {
7073 QM_TRY_RETURN(GetFreelistCount(freelistStmt), 0u){auto tryResult906 = (GetFreelistCount(freelistStmt)); if ((__builtin_expect
(!!(tryResult906.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult906.unwrapErr(); mozilla::dom::quota
::HandleError("GetFreelistCount(freelistStmt)", tryResult906.
inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7073, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "GetFreelistCount(freelistStmt)"
, tryTempError, 0u); } return tryResult906.unwrap();}
;
7074 }();
7075
7076 CachedStatement rollbackStmt;
7077 CachedStatement beginStmt;
7078 if (aNeedsCheckpoint || freelistCount) {
7079 QM_TRY_UNWRAP(rollbackStmt, GetCachedStatement("ROLLBACK;"_ns), QM_VOID)auto tryResult907 = (GetCachedStatement("ROLLBACK;"_ns)); if (
(__builtin_expect(!!(tryResult907.isErr()), 0))) { auto tryTempError
__attribute__((__unused__)) = tryResult907.unwrapErr(); mozilla
::dom::quota::HandleError("GetCachedStatement(\"ROLLBACK;\"_ns)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7079, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
; } rollbackStmt = tryResult907.unwrap();
;
7080 QM_TRY_UNWRAP(beginStmt, GetCachedStatement("BEGIN;"_ns), QM_VOID)auto tryResult908 = (GetCachedStatement("BEGIN;"_ns)); if ((__builtin_expect
(!!(tryResult908.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult908.unwrapErr(); mozilla::dom::quota
::HandleError("GetCachedStatement(\"BEGIN;\"_ns)", tryTempError
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7080, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
; } beginStmt = tryResult908.unwrap();
;
7081
7082 // Release the connection's normal transaction. It's possible that it could
7083 // fail, but that isn't a problem here.
7084 Unused << rollbackStmt.Borrow()->Execute();
7085
7086 mInReadTransaction = false;
7087 }
7088
7089 const bool freedSomePages =
7090 freelistCount && [this, &freelistStmt, &rollbackStmt, freelistCount,
7091 aNeedsCheckpoint, &aInterrupted] {
7092 // Warn in case of an error, but do not propagate it. Just indicate we
7093 // didn't free any pages.
7094 QM_TRY_INSPECT(auto tryResult909 = (ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt
, freelistCount, aNeedsCheckpoint, aInterrupted)); if ((__builtin_expect
(!!(tryResult909.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult909.unwrapErr(); mozilla::dom::quota
::HandleError("ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7098, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, false); } const bool& res = tryResult909.
inspect();
7095 const bool& res,auto tryResult909 = (ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt
, freelistCount, aNeedsCheckpoint, aInterrupted)); if ((__builtin_expect
(!!(tryResult909.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult909.unwrapErr(); mozilla::dom::quota
::HandleError("ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7098, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, false); } const bool& res = tryResult909.
inspect();
7096 ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount,auto tryResult909 = (ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt
, freelistCount, aNeedsCheckpoint, aInterrupted)); if ((__builtin_expect
(!!(tryResult909.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult909.unwrapErr(); mozilla::dom::quota
::HandleError("ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7098, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, false); } const bool& res = tryResult909.
inspect();
7097 aNeedsCheckpoint, aInterrupted),auto tryResult909 = (ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt
, freelistCount, aNeedsCheckpoint, aInterrupted)); if ((__builtin_expect
(!!(tryResult909.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult909.unwrapErr(); mozilla::dom::quota
::HandleError("ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7098, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, false); } const bool& res = tryResult909.
inspect();
7098 false)auto tryResult909 = (ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt
, freelistCount, aNeedsCheckpoint, aInterrupted)); if ((__builtin_expect
(!!(tryResult909.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult909.unwrapErr(); mozilla::dom::quota
::HandleError("ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7098, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ReclaimFreePagesWhileIdle(freelistStmt, rollbackStmt, freelistCount, aNeedsCheckpoint, aInterrupted)"
, tryTempError, false); } const bool& res = tryResult909.
inspect();
;
7099
7100 // Make sure we didn't leave a transaction running.
7101 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7101); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 7101; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7102 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7102); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7102; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7103
7104 return res;
7105 }();
7106
7107 // Truncate the WAL if we were asked to or if we managed to free some space.
7108 if (aNeedsCheckpoint || freedSomePages) {
7109 QM_WARNONLY_TRY(QM_TO_RESULT(CheckpointInternal(CheckpointMode::Truncate))){auto tryResult910 = (ToResult<QMResult>(CheckpointInternal
(CheckpointMode::Truncate))); static_assert(std::is_empty_v<
typename decltype(tryResult910)::ok_type>); if ((__builtin_expect
(!!(tryResult910.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult<QMResult>(CheckpointInternal(CheckpointMode::Truncate))"
, tryResult910.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7109, mozilla::dom::quota::Severity::Warning); }}
;
7110 }
7111
7112 // Finally try to restart the read transaction if we rolled it back earlier.
7113 if (beginStmt) {
7114 QM_WARNONLY_TRY({auto tryResult911 = (ToResult(beginStmt.Borrow()->Execute
()) .andThen([&self = *this](const Ok) -> Result<Ok
, nsresult> { self.mInReadTransaction = true; return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult911
)::ok_type>); if ((__builtin_expect(!!(tryResult911.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(beginStmt.Borrow()->Execute()) .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> { self.mInReadTransaction = true; return Ok{}; })"
, tryResult911.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7119, mozilla::dom::quota::Severity::Warning); }}
7115 MOZ_TO_RESULT(beginStmt.Borrow()->Execute()){auto tryResult911 = (ToResult(beginStmt.Borrow()->Execute
()) .andThen([&self = *this](const Ok) -> Result<Ok
, nsresult> { self.mInReadTransaction = true; return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult911
)::ok_type>); if ((__builtin_expect(!!(tryResult911.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(beginStmt.Borrow()->Execute()) .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> { self.mInReadTransaction = true; return Ok{}; })"
, tryResult911.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7119, mozilla::dom::quota::Severity::Warning); }}
7116 .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> {{auto tryResult911 = (ToResult(beginStmt.Borrow()->Execute
()) .andThen([&self = *this](const Ok) -> Result<Ok
, nsresult> { self.mInReadTransaction = true; return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult911
)::ok_type>); if ((__builtin_expect(!!(tryResult911.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(beginStmt.Borrow()->Execute()) .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> { self.mInReadTransaction = true; return Ok{}; })"
, tryResult911.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7119, mozilla::dom::quota::Severity::Warning); }}
7117 self.mInReadTransaction = true;{auto tryResult911 = (ToResult(beginStmt.Borrow()->Execute
()) .andThen([&self = *this](const Ok) -> Result<Ok
, nsresult> { self.mInReadTransaction = true; return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult911
)::ok_type>); if ((__builtin_expect(!!(tryResult911.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(beginStmt.Borrow()->Execute()) .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> { self.mInReadTransaction = true; return Ok{}; })"
, tryResult911.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7119, mozilla::dom::quota::Severity::Warning); }}
7118 return Ok{};{auto tryResult911 = (ToResult(beginStmt.Borrow()->Execute
()) .andThen([&self = *this](const Ok) -> Result<Ok
, nsresult> { self.mInReadTransaction = true; return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult911
)::ok_type>); if ((__builtin_expect(!!(tryResult911.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(beginStmt.Borrow()->Execute()) .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> { self.mInReadTransaction = true; return Ok{}; })"
, tryResult911.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7119, mozilla::dom::quota::Severity::Warning); }}
7119 })){auto tryResult911 = (ToResult(beginStmt.Borrow()->Execute
()) .andThen([&self = *this](const Ok) -> Result<Ok
, nsresult> { self.mInReadTransaction = true; return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult911
)::ok_type>); if ((__builtin_expect(!!(tryResult911.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(beginStmt.Borrow()->Execute()) .andThen([&self = *this](const Ok) -> Result<Ok, nsresult> { self.mInReadTransaction = true; return Ok{}; })"
, tryResult911.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7119, mozilla::dom::quota::Severity::Warning); }}
;
7120 }
7121}
7122
7123Result<bool, nsresult> DatabaseConnection::ReclaimFreePagesWhileIdle(
7124 CachedStatement& aFreelistStatement, CachedStatement& aRollbackStatement,
7125 uint32_t aFreelistCount, bool aNeedsCheckpoint,
7126 const Atomic<bool>& aInterrupted) {
7127 AssertIsOnConnectionThread();
7128 MOZ_ASSERT(aFreelistStatement)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aFreelistStatement)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aFreelistStatement))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("aFreelistStatement"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7128); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFreelistStatement"
")"); do { *((volatile int*)__null) = 7128; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7129 MOZ_ASSERT(aRollbackStatement)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aRollbackStatement)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aRollbackStatement))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("aRollbackStatement"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7129); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aRollbackStatement"
")"); do { *((volatile int*)__null) = 7129; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7130 MOZ_ASSERT(aFreelistCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aFreelistCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aFreelistCount))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aFreelistCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7130); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFreelistCount"
")"); do { *((volatile int*)__null) = 7130; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7131 MOZ_ASSERT(!mInReadTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInReadTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInReadTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mInReadTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7131); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInReadTransaction"
")"); do { *((volatile int*)__null) = 7131; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7132 MOZ_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7132); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7132; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7133
7134 AUTO_PROFILER_LABEL("DatabaseConnection::ReclaimFreePagesWhileIdle", DOM)mozilla::AutoProfilerLabel raiiObject7134( "DatabaseConnection::ReclaimFreePagesWhileIdle"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7135
7136 uint32_t pauseOnConnectionThreadMs = StaticPrefs::
7137 dom_indexedDB_connectionIdleMaintenance_pauseOnConnectionThreadMs();
7138 if (pauseOnConnectionThreadMs > 0) {
7139 PR_Sleep(PR_MillisecondsToInterval(pauseOnConnectionThreadMs));
7140 }
7141
7142 // Make sure we don't keep working if anything else needs this thread.
7143 if (aInterrupted) {
7144 return false;
7145 }
7146
7147 // Make all the statements we'll need up front.
7148
7149 // Only try to free 10% at a time so that we can bail out if this connection
7150 // suddenly becomes active or if the thread is needed otherwise.
7151 QM_TRY_INSPECT(auto tryResult912 = (GetCachedStatement( "PRAGMA incremental_vacuum("_ns
+ IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount
/ 10))) + ");"_ns)); if ((__builtin_expect(!!(tryResult912.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetCachedStatement( \"PRAGMA incremental_vacuum(\"_ns + IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) + \");\"_ns)"
, tryResult912.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7156, mozilla::dom::quota::Severity::Error); return tryResult912
.propagateErr(); } const auto& incrementalVacuumStmt = tryResult912
.inspect();
7152 const auto& incrementalVacuumStmt,auto tryResult912 = (GetCachedStatement( "PRAGMA incremental_vacuum("_ns
+ IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount
/ 10))) + ");"_ns)); if ((__builtin_expect(!!(tryResult912.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetCachedStatement( \"PRAGMA incremental_vacuum(\"_ns + IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) + \");\"_ns)"
, tryResult912.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7156, mozilla::dom::quota::Severity::Error); return tryResult912
.propagateErr(); } const auto& incrementalVacuumStmt = tryResult912
.inspect();
7153 GetCachedStatement(auto tryResult912 = (GetCachedStatement( "PRAGMA incremental_vacuum("_ns
+ IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount
/ 10))) + ");"_ns)); if ((__builtin_expect(!!(tryResult912.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetCachedStatement( \"PRAGMA incremental_vacuum(\"_ns + IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) + \");\"_ns)"
, tryResult912.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7156, mozilla::dom::quota::Severity::Error); return tryResult912
.propagateErr(); } const auto& incrementalVacuumStmt = tryResult912
.inspect();
7154 "PRAGMA incremental_vacuum("_ns +auto tryResult912 = (GetCachedStatement( "PRAGMA incremental_vacuum("_ns
+ IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount
/ 10))) + ");"_ns)); if ((__builtin_expect(!!(tryResult912.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetCachedStatement( \"PRAGMA incremental_vacuum(\"_ns + IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) + \");\"_ns)"
, tryResult912.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7156, mozilla::dom::quota::Severity::Error); return tryResult912
.propagateErr(); } const auto& incrementalVacuumStmt = tryResult912
.inspect();
7155 IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) +auto tryResult912 = (GetCachedStatement( "PRAGMA incremental_vacuum("_ns
+ IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount
/ 10))) + ");"_ns)); if ((__builtin_expect(!!(tryResult912.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetCachedStatement( \"PRAGMA incremental_vacuum(\"_ns + IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) + \");\"_ns)"
, tryResult912.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7156, mozilla::dom::quota::Severity::Error); return tryResult912
.propagateErr(); } const auto& incrementalVacuumStmt = tryResult912
.inspect();
7156 ");"_ns))auto tryResult912 = (GetCachedStatement( "PRAGMA incremental_vacuum("_ns
+ IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount
/ 10))) + ");"_ns)); if ((__builtin_expect(!!(tryResult912.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetCachedStatement( \"PRAGMA incremental_vacuum(\"_ns + IntToCString(std::max(uint64_t(1), uint64_t(aFreelistCount / 10))) + \");\"_ns)"
, tryResult912.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7156, mozilla::dom::quota::Severity::Error); return tryResult912
.propagateErr(); } const auto& incrementalVacuumStmt = tryResult912
.inspect();
;
7157
7158 QM_TRY_INSPECT(const auto& beginImmediateStmt,auto tryResult913 = (GetCachedStatement("BEGIN IMMEDIATE;"_ns
)); if ((__builtin_expect(!!(tryResult913.isErr()), 0))) { mozilla
::dom::quota::HandleError("GetCachedStatement(\"BEGIN IMMEDIATE;\"_ns)"
, tryResult913.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7159, mozilla::dom::quota::Severity::Error); return tryResult913
.propagateErr(); } const auto& beginImmediateStmt = tryResult913
.inspect();
7159 GetCachedStatement("BEGIN IMMEDIATE;"_ns))auto tryResult913 = (GetCachedStatement("BEGIN IMMEDIATE;"_ns
)); if ((__builtin_expect(!!(tryResult913.isErr()), 0))) { mozilla
::dom::quota::HandleError("GetCachedStatement(\"BEGIN IMMEDIATE;\"_ns)"
, tryResult913.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7159, mozilla::dom::quota::Severity::Error); return tryResult913
.propagateErr(); } const auto& beginImmediateStmt = tryResult913
.inspect();
;
7160
7161 QM_TRY_INSPECT(const auto& commitStmt, GetCachedStatement("COMMIT;"_ns))auto tryResult914 = (GetCachedStatement("COMMIT;"_ns)); if ((
__builtin_expect(!!(tryResult914.isErr()), 0))) { mozilla::dom
::quota::HandleError("GetCachedStatement(\"COMMIT;\"_ns)", tryResult914
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7161, mozilla::dom::quota::Severity::Error); return tryResult914
.propagateErr(); } const auto& commitStmt = tryResult914.
inspect();
;
7162
7163 if (aNeedsCheckpoint) {
7164 // Freeing pages is a journaled operation, so it will require additional WAL
7165 // space. However, we're idle and are about to checkpoint anyway, so doing a
7166 // RESTART checkpoint here should allow us to reuse any existing space.
7167 QM_TRY(MOZ_TO_RESULT(CheckpointInternal(CheckpointMode::Restart))){auto tryResult915 = (ToResult(CheckpointInternal(CheckpointMode
::Restart))); static_assert(std::is_empty_v<typename decltype
(tryResult915)::ok_type>); if ((__builtin_expect(!!(tryResult915
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(CheckpointInternal(CheckpointMode::Restart))"
, tryResult915.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7167, mozilla::dom::quota::Severity::Error); return tryResult915
.propagateErr(); }}
;
7168 }
7169
7170 // Start the write transaction.
7171 QM_TRY(MOZ_TO_RESULT(beginImmediateStmt.Borrow()->Execute())){auto tryResult916 = (ToResult(beginImmediateStmt.Borrow()->
Execute())); static_assert(std::is_empty_v<typename decltype
(tryResult916)::ok_type>); if ((__builtin_expect(!!(tryResult916
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(beginImmediateStmt.Borrow()->Execute())"
, tryResult916.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7171, mozilla::dom::quota::Severity::Error); return tryResult916
.propagateErr(); }}
;
7172
7173 mInWriteTransaction = true;
7174
7175 bool freedSomePages = false;
7176
7177 const auto rollback = [&aRollbackStatement, this](const auto&) {
7178 MOZ_ASSERT(mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInWriteTransaction))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7178); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7178; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7179
7180 // Something failed, make sure we roll everything back.
7181 Unused << aRollbackStatement.Borrow()->Execute();
7182
7183 // XXX Is rollback infallible? Shouldn't we check the result?
7184
7185 mInWriteTransaction = false;
7186 };
7187
7188 uint64_t previousFreelistCount = (uint64_t)aFreelistCount + 1;
7189
7190 QM_TRY(CollectWhile({auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7191 [&aFreelistCount, &previousFreelistCount,{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7192 &aInterrupted]() -> Result<bool, nsresult> {{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7193 if (aInterrupted) {{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7194 // On interrupt, abort and roll back this transaction. It's ok{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7195 // if we never make progress here because the idle service{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7196 // should eventually reclaim this space.{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7197 return false;{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7198 }{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7199 // If we were not able to free anything, we might either see{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7200 // a DB that has no auto-vacuum support at all or some other{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7201 // (hopefully temporary) condition that prevents vacuum from{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7202 // working. Just carry on in non-DEBUG.{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7203 bool madeProgress = previousFreelistCount != aFreelistCount;{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7204 previousFreelistCount = aFreelistCount;{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7205 MOZ_ASSERT(madeProgress);{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7206 QM_WARNONLY_TRY(MOZ_TO_RESULT(madeProgress));{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7207 return madeProgress && (aFreelistCount != 0);{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7208 },{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7209 [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt,{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7210 &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> {{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7211 QM_TRY(MOZ_TO_RESULT(incrementalVacuumStmt.Borrow()->Execute()));{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7212
7213 freedSomePages = true;{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7214
7215 QM_TRY_UNWRAP(aFreelistCount,{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7216 GetFreelistCount(aFreelistStatement));{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7217
7218 return Ok{};{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7219 }){auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7220 .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback,{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7221 this](Ok) -> Result<Ok, nsresult> {{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7222 if (aInterrupted) {{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7223 rollback(Ok{});{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7224 freedSomePages = false;{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7225 }{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7226
7227 if (freedSomePages) {{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7228 // Commit the write transaction.{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7229 QM_TRY(MOZ_TO_RESULT(commitStmt.Borrow()->Execute()),{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7230 QM_PROPAGATE,{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7231 [](const auto&) { NS_WARNING("Failed to commit!"); });{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7232
7233 mInWriteTransaction = false;{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7234 }{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7235
7236 return Ok{};{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7237 }),{auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
7238 QM_PROPAGATE, rollback){auto tryResult921 = (CollectWhile( [&aFreelistCount, &
previousFreelistCount, &aInterrupted]() -> Result<bool
, nsresult> { if (aInterrupted) { return false; } bool madeProgress
= previousFreelistCount != aFreelistCount; previousFreelistCount
= aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(madeProgress)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("madeProgress", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "madeProgress"
")"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); {auto tryResult917
= (ToResult(madeProgress)); static_assert(std::is_empty_v<
typename decltype(tryResult917)::ok_type>); if ((__builtin_expect
(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(madeProgress)", tryResult917.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress
&& (aFreelistCount != 0); }, [&aFreelistStatement
, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages
, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918
= (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert
(std::is_empty_v<typename decltype(tryResult918)::ok_type>
); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(incrementalVacuumStmt.Borrow()->Execute())"
, tryResult918.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7211, mozilla::dom::quota::Severity::Error); return tryResult918
.propagateErr(); }}; freedSomePages = true; auto tryResult919
= (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect
(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError
("GetFreelistCount(aFreelistStatement)", tryResult919.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7216, mozilla::dom::quota::Severity::Error); return tryResult919
.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return
Ok{}; }) .andThen([&commitStmt, &freedSomePages, &
aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult
> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false
; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt
.Borrow()->Execute())); static_assert(std::is_empty_v<typename
decltype(tryResult920)::ok_type>); if ((__builtin_expect(
!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(commitStmt.Borrow()->Execute())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231, mozilla::dom::quota::Severity::Error); [](const auto&
) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to commit!", nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7231); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal
(func, "ToResult(commitStmt.Borrow()->Execute())", tryTempError
, Err(tryTempError)); }}; mInWriteTransaction = false; } return
Ok{}; })); static_assert(std::is_empty_v<typename decltype
(tryResult921)::ok_type>); if ((__builtin_expect(!!(tryResult921
.isErr()), 0))) { auto tryTempError = tryResult921.unwrapErr(
); mozilla::dom::quota::HandleError("CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7238, mozilla::dom::quota::Severity::Error); rollback(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return mozilla::dom::quota::HandleCustomRetVal(func
, "CollectWhile( [&aFreelistCount, &previousFreelistCount, &aInterrupted]() -> Result<bool, nsresult> { if (aInterrupted) { return false; } bool madeProgress = previousFreelistCount != aFreelistCount; previousFreelistCount = aFreelistCount; do { static_assert( mozilla::detail::AssertionConditionType<decltype(madeProgress)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(madeProgress))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"madeProgress\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7205); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"madeProgress\" \")\"); do { *((volatile int*)__null) = 7205; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); {auto tryResult917 = (ToResult(madeProgress)); static_assert(std::is_empty_v<typename decltype(tryResult917)::ok_type>); if ((__builtin_expect(!!(tryResult917.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(madeProgress)\", tryResult917.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7206, mozilla::dom::quota::Severity::Warning); }}; return madeProgress && (aFreelistCount != 0); }, [&aFreelistStatement, &aFreelistCount, &incrementalVacuumStmt, &freedSomePages, this]() -> mozilla::Result<Ok, nsresult> { {auto tryResult918 = (ToResult(incrementalVacuumStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult918)::ok_type>); if ((__builtin_expect(!!(tryResult918.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(incrementalVacuumStmt.Borrow()->Execute())\", tryResult918.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7211, mozilla::dom::quota::Severity::Error); return tryResult918.propagateErr(); }}; freedSomePages = true; auto tryResult919 = (GetFreelistCount(aFreelistStatement)); if ((__builtin_expect(!!(tryResult919.isErr()), 0))) { mozilla::dom::quota::HandleError(\"GetFreelistCount(aFreelistStatement)\", tryResult919.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7216, mozilla::dom::quota::Severity::Error); return tryResult919.propagateErr(); } aFreelistCount = tryResult919.unwrap();; return Ok{}; }) .andThen([&commitStmt, &freedSomePages, &aInterrupted, &rollback, this](Ok) -> Result<Ok, nsresult> { if (aInterrupted) { rollback(Ok{}); freedSomePages = false; } if (freedSomePages) { {auto tryResult920 = (ToResult(commitStmt.Borrow()->Execute())); static_assert(std::is_empty_v<typename decltype(tryResult920)::ok_type>); if ((__builtin_expect(!!(tryResult920.isErr()), 0))) { auto tryTempError = tryResult920.unwrapErr(); mozilla::dom::quota::HandleError(\"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231, mozilla::dom::quota::Severity::Error); [](const auto&) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to commit!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7231); }(tryTempError); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"ToResult(commitStmt.Borrow()->Execute())\", tryTempError, Err(tryTempError)); }}; mInWriteTransaction = false; } return Ok{}; })"
, tryTempError, Err(tryTempError)); }}
;
7239
7240 return freedSomePages;
7241}
7242
7243Result<uint32_t, nsresult> DatabaseConnection::GetFreelistCount(
7244 CachedStatement& aCachedStatement) {
7245 AssertIsOnConnectionThread();
7246
7247 AUTO_PROFILER_LABEL("DatabaseConnection::GetFreelistCount", DOM)mozilla::AutoProfilerLabel raiiObject7247( "DatabaseConnection::GetFreelistCount"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7248
7249 if (!aCachedStatement) {
7250 QM_TRY_UNWRAP(aCachedStatement,auto tryResult922 = (GetCachedStatement("PRAGMA freelist_count;"_ns
)); if ((__builtin_expect(!!(tryResult922.isErr()), 0))) { mozilla
::dom::quota::HandleError("GetCachedStatement(\"PRAGMA freelist_count;\"_ns)"
, tryResult922.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7251, mozilla::dom::quota::Severity::Error); return tryResult922
.propagateErr(); } aCachedStatement = tryResult922.unwrap();
7251 GetCachedStatement("PRAGMA freelist_count;"_ns))auto tryResult922 = (GetCachedStatement("PRAGMA freelist_count;"_ns
)); if ((__builtin_expect(!!(tryResult922.isErr()), 0))) { mozilla
::dom::quota::HandleError("GetCachedStatement(\"PRAGMA freelist_count;\"_ns)"
, tryResult922.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7251, mozilla::dom::quota::Severity::Error); return tryResult922
.propagateErr(); } aCachedStatement = tryResult922.unwrap();
;
7252 }
7253
7254 const auto borrowedStatement = aCachedStatement.Borrow();
7255
7256 QM_TRY_UNWRAP(const DebugOnly<bool> hasResult,auto tryResult923 = (::mozilla::ToResultInvokeMember( (&*
borrowedStatement), &::mozilla::detail::DerefedType<decltype
(&*borrowedStatement)>::ExecuteStep)); if ((__builtin_expect
(!!(tryResult923.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (&*borrowedStatement), &::mozilla::detail::DerefedType<decltype(&*borrowedStatement)>::ExecuteStep)"
, tryResult923.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7257, mozilla::dom::quota::Severity::Error); return tryResult923
.propagateErr(); } const DebugOnly<bool> hasResult = tryResult923
.unwrap();
7257 MOZ_TO_RESULT_INVOKE_MEMBER(&*borrowedStatement, ExecuteStep))auto tryResult923 = (::mozilla::ToResultInvokeMember( (&*
borrowedStatement), &::mozilla::detail::DerefedType<decltype
(&*borrowedStatement)>::ExecuteStep)); if ((__builtin_expect
(!!(tryResult923.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (&*borrowedStatement), &::mozilla::detail::DerefedType<decltype(&*borrowedStatement)>::ExecuteStep)"
, tryResult923.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7257, mozilla::dom::quota::Severity::Error); return tryResult923
.propagateErr(); } const DebugOnly<bool> hasResult = tryResult923
.unwrap();
;
7258
7259 MOZ_ASSERT(hasResult)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(hasResult)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(hasResult))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("hasResult", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7259); AnnotateMozCrashReason("MOZ_ASSERT" "(" "hasResult" ")"
); do { *((volatile int*)__null) = 7259; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7260
7261 QM_TRY_INSPECT(const int32_t& freelistCount,auto tryResult924 = (::mozilla::ToResultInvokeMember( (*borrowedStatement
), &::mozilla::detail::DerefedType<decltype(*borrowedStatement
)>::GetInt32, 0)); if ((__builtin_expect(!!(tryResult924.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (*borrowedStatement), &::mozilla::detail::DerefedType<decltype(*borrowedStatement)>::GetInt32, 0)"
, tryResult924.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7262, mozilla::dom::quota::Severity::Error); return tryResult924
.propagateErr(); } const int32_t& freelistCount = tryResult924
.inspect();
7262 MOZ_TO_RESULT_INVOKE_MEMBER(*borrowedStatement, GetInt32, 0))auto tryResult924 = (::mozilla::ToResultInvokeMember( (*borrowedStatement
), &::mozilla::detail::DerefedType<decltype(*borrowedStatement
)>::GetInt32, 0)); if ((__builtin_expect(!!(tryResult924.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (*borrowedStatement), &::mozilla::detail::DerefedType<decltype(*borrowedStatement)>::GetInt32, 0)"
, tryResult924.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7262, mozilla::dom::quota::Severity::Error); return tryResult924
.propagateErr(); } const int32_t& freelistCount = tryResult924
.inspect();
;
7263
7264 MOZ_ASSERT(freelistCount >= 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(freelistCount >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(freelistCount >= 0))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("freelistCount >= 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7264); AnnotateMozCrashReason("MOZ_ASSERT" "(" "freelistCount >= 0"
")"); do { *((volatile int*)__null) = 7264; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7265
7266 return uint32_t(freelistCount);
7267}
7268
7269void DatabaseConnection::Close() {
7270 AssertIsOnConnectionThread();
7271 MOZ_ASSERT(!mDEBUGSavepointCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDEBUGSavepointCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDEBUGSavepointCount))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("!mDEBUGSavepointCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7271); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDEBUGSavepointCount"
")"); do { *((volatile int*)__null) = 7271; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7272 MOZ_DIAGNOSTIC_ASSERT(!mInWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInWriteTransaction))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mInWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7272); AnnotateMozCrashReason("MOZ_DIAGNOSTIC_ASSERT" "(" "!mInWriteTransaction"
")"); do { *((volatile int*)__null) = 7272; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7273
7274 AUTO_PROFILER_LABEL("DatabaseConnection::Close", DOM)mozilla::AutoProfilerLabel raiiObject7274( "DatabaseConnection::Close"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7275
7276 if (mUpdateRefcountFunction) {
7277 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(MutableStorageConnection().RemoveFunction("update_refcount"_ns
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(MutableStorageConnection().RemoveFunction(\"update_refcount\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7278); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(MutableStorageConnection().RemoveFunction(\"update_refcount\"_ns))"
")"); do { *((volatile int*)__null) = 7278; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
7278 MutableStorageConnection().RemoveFunction("update_refcount"_ns))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(MutableStorageConnection().RemoveFunction("update_refcount"_ns
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(MutableStorageConnection().RemoveFunction(\"update_refcount\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7278); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(MutableStorageConnection().RemoveFunction(\"update_refcount\"_ns))"
")"); do { *((volatile int*)__null) = 7278; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
7279 mUpdateRefcountFunction = nullptr;
7280 }
7281
7282 CachingDatabaseConnection::Close();
7283
7284 mFileManager.destroy();
7285}
7286
7287nsresult DatabaseConnection::DisableQuotaChecks() {
7288 AssertIsOnConnectionThread();
7289 MOZ_ASSERT(HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(HasStorageConnection())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(HasStorageConnection()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7289); AnnotateMozCrashReason("MOZ_ASSERT" "(" "HasStorageConnection()"
")"); do { *((volatile int*)__null) = 7289; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7290
7291 if (!mQuotaObject) {
7292 MOZ_ASSERT(!mJournalQuotaObject)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mJournalQuotaObject)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mJournalQuotaObject))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mJournalQuotaObject"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7292); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mJournalQuotaObject"
")"); do { *((volatile int*)__null) = 7292; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7293
7294 QM_TRY(MOZ_TO_RESULT(MutableStorageConnection().GetQuotaObjects({auto tryResult925 = (ToResult(MutableStorageConnection().GetQuotaObjects
( getter_AddRefs(mQuotaObject), getter_AddRefs(mJournalQuotaObject
)))); static_assert(std::is_empty_v<typename decltype(tryResult925
)::ok_type>); if ((__builtin_expect(!!(tryResult925.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(MutableStorageConnection().GetQuotaObjects( getter_AddRefs(mQuotaObject), getter_AddRefs(mJournalQuotaObject)))"
, tryResult925.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7295, mozilla::dom::quota::Severity::Error); return tryResult925
.propagateErr(); }}
7295 getter_AddRefs(mQuotaObject), getter_AddRefs(mJournalQuotaObject)))){auto tryResult925 = (ToResult(MutableStorageConnection().GetQuotaObjects
( getter_AddRefs(mQuotaObject), getter_AddRefs(mJournalQuotaObject
)))); static_assert(std::is_empty_v<typename decltype(tryResult925
)::ok_type>); if ((__builtin_expect(!!(tryResult925.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(MutableStorageConnection().GetQuotaObjects( getter_AddRefs(mQuotaObject), getter_AddRefs(mJournalQuotaObject)))"
, tryResult925.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7295, mozilla::dom::quota::Severity::Error); return tryResult925
.propagateErr(); }}
;
7296
7297 MOZ_ASSERT(mQuotaObject)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mQuotaObject)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mQuotaObject))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mQuotaObject", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7297); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mQuotaObject"
")"); do { *((volatile int*)__null) = 7297; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7298 MOZ_ASSERT(mJournalQuotaObject)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mJournalQuotaObject)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mJournalQuotaObject))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mJournalQuotaObject"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7298); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mJournalQuotaObject"
")"); do { *((volatile int*)__null) = 7298; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7299 }
7300
7301 mQuotaObject->DisableQuotaCheck();
7302 mJournalQuotaObject->DisableQuotaCheck();
7303
7304 return NS_OK;
7305}
7306
7307void DatabaseConnection::EnableQuotaChecks() {
7308 AssertIsOnConnectionThread();
7309 if (!mQuotaObject) {
7310 MOZ_ASSERT(!mJournalQuotaObject)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mJournalQuotaObject)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mJournalQuotaObject))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mJournalQuotaObject"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7310); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mJournalQuotaObject"
")"); do { *((volatile int*)__null) = 7310; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7311
7312 // DisableQuotaChecks failed earlier, so we don't need to enable quota
7313 // checks again.
7314 return;
7315 }
7316
7317 MOZ_ASSERT(mJournalQuotaObject)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mJournalQuotaObject)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mJournalQuotaObject))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mJournalQuotaObject"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7317); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mJournalQuotaObject"
")"); do { *((volatile int*)__null) = 7317; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7318
7319 const RefPtr<QuotaObject> quotaObject = std::move(mQuotaObject);
7320 const RefPtr<QuotaObject> journalQuotaObject = std::move(mJournalQuotaObject);
7321
7322 quotaObject->EnableQuotaCheck();
7323 journalQuotaObject->EnableQuotaCheck();
7324
7325 QM_TRY_INSPECT(const int64_t& fileSize, GetFileSize(quotaObject->Path()),auto tryResult926 = (GetFileSize(quotaObject->Path())); if
((__builtin_expect(!!(tryResult926.isErr()), 0))) { auto tryTempError
__attribute__((__unused__)) = tryResult926.unwrapErr(); mozilla
::dom::quota::HandleError("GetFileSize(quotaObject->Path())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7326, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
; } const int64_t& fileSize = tryResult926.inspect();
7326 QM_VOID)auto tryResult926 = (GetFileSize(quotaObject->Path())); if
((__builtin_expect(!!(tryResult926.isErr()), 0))) { auto tryTempError
__attribute__((__unused__)) = tryResult926.unwrapErr(); mozilla
::dom::quota::HandleError("GetFileSize(quotaObject->Path())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7326, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
; } const int64_t& fileSize = tryResult926.inspect();
;
7327 QM_TRY_INSPECT(const int64_t& journalFileSize,auto tryResult927 = (GetFileSize(journalQuotaObject->Path(
))); if ((__builtin_expect(!!(tryResult927.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult927.unwrapErr
(); mozilla::dom::quota::HandleError("GetFileSize(journalQuotaObject->Path())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7328, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
; } const int64_t& journalFileSize = tryResult927.inspect
();
7328 GetFileSize(journalQuotaObject->Path()), QM_VOID)auto tryResult927 = (GetFileSize(journalQuotaObject->Path(
))); if ((__builtin_expect(!!(tryResult927.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult927.unwrapErr
(); mozilla::dom::quota::HandleError("GetFileSize(journalQuotaObject->Path())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7328, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
; } const int64_t& journalFileSize = tryResult927.inspect
();
;
7329
7330 DebugOnly<bool> result = journalQuotaObject->MaybeUpdateSize(
7331 journalFileSize, /* aTruncate */ true);
7332 MOZ_ASSERT(result)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(result)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(result))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("result", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7332); AnnotateMozCrashReason("MOZ_ASSERT" "(" "result" ")"
); do { *((volatile int*)__null) = 7332; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7333
7334 result = quotaObject->MaybeUpdateSize(fileSize, /* aTruncate */ true);
7335 MOZ_ASSERT(result)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(result)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(result))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("result", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7335); AnnotateMozCrashReason("MOZ_ASSERT" "(" "result" ")"
); do { *((volatile int*)__null) = 7335; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7336}
7337
7338Result<int64_t, nsresult> DatabaseConnection::GetFileSize(
7339 const nsAString& aPath) {
7340 MOZ_ASSERT(!aPath.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aPath.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aPath.IsEmpty()))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!aPath.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7340); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aPath.IsEmpty()"
")"); do { *((volatile int*)__null) = 7340; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7341
7342 QM_TRY_INSPECT(const auto& file, QM_NewLocalFile(aPath))auto tryResult928 = (QM_NewLocalFile(aPath)); if ((__builtin_expect
(!!(tryResult928.isErr()), 0))) { mozilla::dom::quota::HandleError
("QM_NewLocalFile(aPath)", tryResult928.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7342, mozilla::dom::quota::Severity::Error); return tryResult928
.propagateErr(); } const auto& file = tryResult928.inspect
();
;
7343 QM_TRY_INSPECT(const bool& exists, MOZ_TO_RESULT_INVOKE_MEMBER(file, Exists))auto tryResult929 = (::mozilla::ToResultInvokeMember( (file),
&::mozilla::detail::DerefedType<decltype(file)>::Exists
)); if ((__builtin_expect(!!(tryResult929.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::Exists)"
, tryResult929.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7343, mozilla::dom::quota::Severity::Error); return tryResult929
.propagateErr(); } const bool& exists = tryResult929.inspect
();
;
7344
7345 if (exists) {
7346 QM_TRY_RETURN(MOZ_TO_RESULT_INVOKE_MEMBER(file, GetFileSize)){auto tryResult930 = (::mozilla::ToResultInvokeMember( (file)
, &::mozilla::detail::DerefedType<decltype(file)>::
GetFileSize)); if ((__builtin_expect(!!(tryResult930.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize)"
, tryResult930.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7346, mozilla::dom::quota::Severity::Error); } return tryResult930
;}
;
7347 }
7348
7349 return 0;
7350}
7351
7352DatabaseConnection::AutoSavepoint::AutoSavepoint()
7353 : mConnection(nullptr)
7354#ifdef DEBUG1
7355 ,
7356 mDEBUGTransaction(nullptr)
7357#endif
7358{
7359 MOZ_COUNT_CTOR(DatabaseConnection::AutoSavepoint)do { static_assert(std::is_class_v<DatabaseConnection::AutoSavepoint
>, "Token '" "DatabaseConnection::AutoSavepoint" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, DatabaseConnection
::AutoSavepoint>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "DatabaseConnection::AutoSavepoint"
, sizeof(*this)); } while (0)
;
7360}
7361
7362DatabaseConnection::AutoSavepoint::~AutoSavepoint() {
7363 MOZ_COUNT_DTOR(DatabaseConnection::AutoSavepoint)do { static_assert(std::is_class_v<DatabaseConnection::AutoSavepoint
>, "Token '" "DatabaseConnection::AutoSavepoint" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, DatabaseConnection
::AutoSavepoint>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "DatabaseConnection::AutoSavepoint"
, sizeof(*this)); } while (0)
;
7364
7365 if (mConnection) {
7366 mConnection->AssertIsOnConnectionThread();
7367 MOZ_ASSERT(mDEBUGTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7367); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction"
")"); do { *((volatile int*)__null) = 7367; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7368 MOZ_ASSERT(do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction->GetMode() == IDBTransaction::Mode
::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::VersionChange)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction->GetMode
() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->
GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::VersionChange))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7372); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7372; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7369 mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction->GetMode() == IDBTransaction::Mode
::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::VersionChange)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction->GetMode
() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->
GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::VersionChange))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7372); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7372; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7370 mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction->GetMode() == IDBTransaction::Mode
::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::VersionChange)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction->GetMode
() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->
GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::VersionChange))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7372); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7372; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7371 mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction->GetMode() == IDBTransaction::Mode
::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::VersionChange)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction->GetMode
() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->
GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::VersionChange))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7372); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7372; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7372 mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction->GetMode() == IDBTransaction::Mode
::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction
::Mode::VersionChange)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction->GetMode
() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->
GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction
->GetMode() == IDBTransaction::Mode::VersionChange))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7372); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWrite || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::ReadWriteFlush || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::Cleanup || mDEBUGTransaction->GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7372; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7373
7374 QM_WARNONLY_TRY(QM_TO_RESULT(mConnection->RollbackSavepoint())){auto tryResult931 = (ToResult<QMResult>(mConnection->
RollbackSavepoint())); static_assert(std::is_empty_v<typename
decltype(tryResult931)::ok_type>); if ((__builtin_expect(
!!(tryResult931.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult<QMResult>(mConnection->RollbackSavepoint())"
, tryResult931.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7374, mozilla::dom::quota::Severity::Warning); }}
;
7375 }
7376}
7377
7378nsresult DatabaseConnection::AutoSavepoint::Start(
7379 const TransactionBase& aTransaction) {
7380 MOZ_ASSERT(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7383); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7383; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7381 aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7383); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7383; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7382 aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7383); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7383; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7383 aTransaction.GetMode() == IDBTransaction::Mode::VersionChange)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite
|| aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush
|| aTransaction.GetMode() == IDBTransaction::Mode::Cleanup ||
aTransaction.GetMode() == IDBTransaction::Mode::VersionChange
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7383); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aTransaction.GetMode() == IDBTransaction::Mode::ReadWrite || aTransaction.GetMode() == IDBTransaction::Mode::ReadWriteFlush || aTransaction.GetMode() == IDBTransaction::Mode::Cleanup || aTransaction.GetMode() == IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 7383; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7384
7385 DatabaseConnection* connection = aTransaction.GetDatabase().GetConnection();
7386 MOZ_ASSERT(connection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(connection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(connection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("connection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7386); AnnotateMozCrashReason("MOZ_ASSERT" "(" "connection"
")"); do { *((volatile int*)__null) = 7386; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7387 connection->AssertIsOnConnectionThread();
7388
7389 // The previous operation failed to begin a write transaction and the
7390 // following opertion jumped to the connection thread before the previous
7391 // operation has updated its failure to the transaction.
7392 if (!connection->GetUpdateRefcountFunction()) {
7393 NS_WARNING(NS_DebugBreak(NS_DEBUG_WARNING, "The connection was closed because the previous operation "
"failed!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7395)
7394 "The connection was closed because the previous operation "NS_DebugBreak(NS_DEBUG_WARNING, "The connection was closed because the previous operation "
"failed!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7395)
7395 "failed!")NS_DebugBreak(NS_DEBUG_WARNING, "The connection was closed because the previous operation "
"failed!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7395)
;
7396 return NS_ERROR_DOM_INDEXEDDB_ABORT_ERR;
7397 }
7398
7399 MOZ_ASSERT(!mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mConnection))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7399); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mConnection"
")"); do { *((volatile int*)__null) = 7399; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7400 MOZ_ASSERT(!mDEBUGTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDEBUGTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDEBUGTransaction))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!mDEBUGTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7400); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDEBUGTransaction"
")"); do { *((volatile int*)__null) = 7400; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7401
7402 QM_TRY(MOZ_TO_RESULT(connection->StartSavepoint())){auto tryResult932 = (ToResult(connection->StartSavepoint(
))); static_assert(std::is_empty_v<typename decltype(tryResult932
)::ok_type>); if ((__builtin_expect(!!(tryResult932.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(connection->StartSavepoint())"
, tryResult932.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7402, mozilla::dom::quota::Severity::Error); return tryResult932
.propagateErr(); }}
;
7403
7404 mConnection = connection;
7405#ifdef DEBUG1
7406 mDEBUGTransaction = &aTransaction;
7407#endif
7408
7409 return NS_OK;
7410}
7411
7412nsresult DatabaseConnection::AutoSavepoint::Commit() {
7413 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7413); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7413; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7414 mConnection->AssertIsOnConnectionThread();
7415 MOZ_ASSERT(mDEBUGTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDEBUGTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDEBUGTransaction))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mDEBUGTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7415); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDEBUGTransaction"
")"); do { *((volatile int*)__null) = 7415; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7416
7417 QM_TRY(MOZ_TO_RESULT(mConnection->ReleaseSavepoint())){auto tryResult933 = (ToResult(mConnection->ReleaseSavepoint
())); static_assert(std::is_empty_v<typename decltype(tryResult933
)::ok_type>); if ((__builtin_expect(!!(tryResult933.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(mConnection->ReleaseSavepoint())"
, tryResult933.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7417, mozilla::dom::quota::Severity::Error); return tryResult933
.propagateErr(); }}
;
7418
7419 mConnection = nullptr;
7420#ifdef DEBUG1
7421 mDEBUGTransaction = nullptr;
7422#endif
7423
7424 return NS_OK;
7425}
7426
7427DatabaseConnection::UpdateRefcountFunction::UpdateRefcountFunction(
7428 DatabaseConnection* const aConnection, DatabaseFileManager& aFileManager)
7429 : mConnection(aConnection),
7430 mFileManager(aFileManager),
7431 mInSavepoint(false) {
7432 MOZ_ASSERT(aConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7432); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aConnection"
")"); do { *((volatile int*)__null) = 7432; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7433 aConnection->AssertIsOnConnectionThread();
7434}
7435
7436nsresult DatabaseConnection::UpdateRefcountFunction::WillCommit() {
7437 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7437); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7437; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7438 mConnection->AssertIsOnConnectionThread();
7439 MOZ_ASSERT(mConnection->HasStorageConnection())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection->HasStorageConnection())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mConnection->HasStorageConnection()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mConnection->HasStorageConnection()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7439); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection->HasStorageConnection()"
")"); do { *((volatile int*)__null) = 7439; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7440
7441 AUTO_PROFILER_LABEL("DatabaseConnection::UpdateRefcountFunction::WillCommit",mozilla::AutoProfilerLabel raiiObject7442( "DatabaseConnection::UpdateRefcountFunction::WillCommit"
, nullptr, JS::ProfilingCategoryPair::DOM)
7442 DOM)mozilla::AutoProfilerLabel raiiObject7442( "DatabaseConnection::UpdateRefcountFunction::WillCommit"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7443
7444 // The parameter names are not used, parameters are bound by index
7445 // only locally in the same function.
7446 auto update =
7447 [updateStatement = LazyStatement{*mConnection,
7448 "UPDATE file "
7449 "SET refcount = refcount + :delta "
7450 "WHERE id = :id"_ns},
7451 selectStatement = LazyStatement{*mConnection,
7452 "SELECT id "
7453 "FROM file "
7454 "WHERE id = :id"_ns},
7455 insertStatement =
7456 LazyStatement{
7457 *mConnection,
7458 "INSERT INTO file (id, refcount) VALUES(:id, :delta)"_ns},
7459 this](int64_t aId, int32_t aDelta) mutable -> Result<Ok, nsresult> {
7460 AUTO_PROFILER_LABEL(mozilla::AutoProfilerLabel raiiObject7461( "DatabaseConnection::UpdateRefcountFunction::WillCommit::Update"
, nullptr, JS::ProfilingCategoryPair::DOM)
7461 "DatabaseConnection::UpdateRefcountFunction::WillCommit::Update", DOM)mozilla::AutoProfilerLabel raiiObject7461( "DatabaseConnection::UpdateRefcountFunction::WillCommit::Update"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7462 {
7463 QM_TRY_INSPECT(const auto& borrowedUpdateStatement,auto tryResult934 = (updateStatement.Borrow()); if ((__builtin_expect
(!!(tryResult934.isErr()), 0))) { mozilla::dom::quota::HandleError
("updateStatement.Borrow()", tryResult934.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7464, mozilla::dom::quota::Severity::Error); return tryResult934
.propagateErr(); } const auto& borrowedUpdateStatement = tryResult934
.inspect();
7464 updateStatement.Borrow())auto tryResult934 = (updateStatement.Borrow()); if ((__builtin_expect
(!!(tryResult934.isErr()), 0))) { mozilla::dom::quota::HandleError
("updateStatement.Borrow()", tryResult934.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7464, mozilla::dom::quota::Severity::Error); return tryResult934
.propagateErr(); } const auto& borrowedUpdateStatement = tryResult934
.inspect();
;
7465
7466 QM_TRY({auto tryResult935 = (ToResult(borrowedUpdateStatement->BindInt32ByIndex
(0, aDelta))); static_assert(std::is_empty_v<typename decltype
(tryResult935)::ok_type>); if ((__builtin_expect(!!(tryResult935
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedUpdateStatement->BindInt32ByIndex(0, aDelta))"
, tryResult935.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7467, mozilla::dom::quota::Severity::Error); return tryResult935
.propagateErr(); }}
7467 MOZ_TO_RESULT(borrowedUpdateStatement->BindInt32ByIndex(0, aDelta))){auto tryResult935 = (ToResult(borrowedUpdateStatement->BindInt32ByIndex
(0, aDelta))); static_assert(std::is_empty_v<typename decltype
(tryResult935)::ok_type>); if ((__builtin_expect(!!(tryResult935
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedUpdateStatement->BindInt32ByIndex(0, aDelta))"
, tryResult935.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7467, mozilla::dom::quota::Severity::Error); return tryResult935
.propagateErr(); }}
;
7468 QM_TRY(MOZ_TO_RESULT(borrowedUpdateStatement->BindInt64ByIndex(1, aId))){auto tryResult936 = (ToResult(borrowedUpdateStatement->BindInt64ByIndex
(1, aId))); static_assert(std::is_empty_v<typename decltype
(tryResult936)::ok_type>); if ((__builtin_expect(!!(tryResult936
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedUpdateStatement->BindInt64ByIndex(1, aId))"
, tryResult936.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7468, mozilla::dom::quota::Severity::Error); return tryResult936
.propagateErr(); }}
;
7469 QM_TRY(MOZ_TO_RESULT(borrowedUpdateStatement->Execute())){auto tryResult937 = (ToResult(borrowedUpdateStatement->Execute
())); static_assert(std::is_empty_v<typename decltype(tryResult937
)::ok_type>); if ((__builtin_expect(!!(tryResult937.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedUpdateStatement->Execute())"
, tryResult937.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7469, mozilla::dom::quota::Severity::Error); return tryResult937
.propagateErr(); }}
;
7470 }
7471
7472 QM_TRY_INSPECT(auto tryResult938 = (::mozilla::ToResultInvokeMember( (mConnection
->MutableStorageConnection()), &::mozilla::detail::DerefedType
<decltype(mConnection->MutableStorageConnection())>::
GetAffectedRows)); if ((__builtin_expect(!!(tryResult938.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (mConnection->MutableStorageConnection()), &::mozilla::detail::DerefedType<decltype(mConnection->MutableStorageConnection())>::GetAffectedRows)"
, tryResult938.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7475, mozilla::dom::quota::Severity::Error); return tryResult938
.propagateErr(); } const int32_t& rows = tryResult938.inspect
();
7473 const int32_t& rows,auto tryResult938 = (::mozilla::ToResultInvokeMember( (mConnection
->MutableStorageConnection()), &::mozilla::detail::DerefedType
<decltype(mConnection->MutableStorageConnection())>::
GetAffectedRows)); if ((__builtin_expect(!!(tryResult938.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (mConnection->MutableStorageConnection()), &::mozilla::detail::DerefedType<decltype(mConnection->MutableStorageConnection())>::GetAffectedRows)"
, tryResult938.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7475, mozilla::dom::quota::Severity::Error); return tryResult938
.propagateErr(); } const int32_t& rows = tryResult938.inspect
();
7474 MOZ_TO_RESULT_INVOKE_MEMBER(mConnection->MutableStorageConnection(),auto tryResult938 = (::mozilla::ToResultInvokeMember( (mConnection
->MutableStorageConnection()), &::mozilla::detail::DerefedType
<decltype(mConnection->MutableStorageConnection())>::
GetAffectedRows)); if ((__builtin_expect(!!(tryResult938.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (mConnection->MutableStorageConnection()), &::mozilla::detail::DerefedType<decltype(mConnection->MutableStorageConnection())>::GetAffectedRows)"
, tryResult938.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7475, mozilla::dom::quota::Severity::Error); return tryResult938
.propagateErr(); } const int32_t& rows = tryResult938.inspect
();
7475 GetAffectedRows))auto tryResult938 = (::mozilla::ToResultInvokeMember( (mConnection
->MutableStorageConnection()), &::mozilla::detail::DerefedType
<decltype(mConnection->MutableStorageConnection())>::
GetAffectedRows)); if ((__builtin_expect(!!(tryResult938.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (mConnection->MutableStorageConnection()), &::mozilla::detail::DerefedType<decltype(mConnection->MutableStorageConnection())>::GetAffectedRows)"
, tryResult938.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7475, mozilla::dom::quota::Severity::Error); return tryResult938
.propagateErr(); } const int32_t& rows = tryResult938.inspect
();
;
7476
7477 if (rows > 0) {
7478 QM_TRY_INSPECT(auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7479 const bool& hasResult,auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7480 selectStatementauto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7481 .BorrowAndExecuteSingleStep(auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7482 [aId](auto& stmt) -> Result<Ok, nsresult> {auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7483 QM_TRY(MOZ_TO_RESULT(stmt.BindInt64ByIndex(0, aId)));auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7484 return Ok{};auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7485 })auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
7486 .map(IsSome))auto tryResult940 = (selectStatement .BorrowAndExecuteSingleStep
( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto
tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert
(std::is_empty_v<typename decltype(tryResult939)::ok_type>
); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(stmt.BindInt64ByIndex(0, aId))"
, tryResult939.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7483, mozilla::dom::quota::Severity::Error); return tryResult939
.propagateErr(); }}; return Ok{}; }) .map(IsSome)); if ((__builtin_expect
(!!(tryResult940.isErr()), 0))) { mozilla::dom::quota::HandleError
("selectStatement .BorrowAndExecuteSingleStep( [aId](auto& stmt) -> Result<Ok, nsresult> { {auto tryResult939 = (ToResult(stmt.BindInt64ByIndex(0, aId))); static_assert(std::is_empty_v<typename decltype(tryResult939)::ok_type>); if ((__builtin_expect(!!(tryResult939.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.BindInt64ByIndex(0, aId))\", tryResult939.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7483, mozilla::dom::quota::Severity::Error); return tryResult939.propagateErr(); }}; return Ok{}; }) .map(IsSome)"
, tryResult940.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7486, mozilla::dom::quota::Severity::Error); return tryResult940
.propagateErr(); } const bool& hasResult = tryResult940.inspect
();
;
7487
7488 if (!hasResult) {
7489 // Don't have to create the journal here, we can create all at once,
7490 // just before commit
7491 mJournalsToCreateBeforeCommit.AppendElement(aId);
7492 }
7493
7494 return Ok{};
7495 }
7496
7497 QM_TRY_INSPECT(const auto& borrowedInsertStatement,auto tryResult941 = (insertStatement.Borrow()); if ((__builtin_expect
(!!(tryResult941.isErr()), 0))) { mozilla::dom::quota::HandleError
("insertStatement.Borrow()", tryResult941.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7498, mozilla::dom::quota::Severity::Error); return tryResult941
.propagateErr(); } const auto& borrowedInsertStatement = tryResult941
.inspect();
7498 insertStatement.Borrow())auto tryResult941 = (insertStatement.Borrow()); if ((__builtin_expect
(!!(tryResult941.isErr()), 0))) { mozilla::dom::quota::HandleError
("insertStatement.Borrow()", tryResult941.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7498, mozilla::dom::quota::Severity::Error); return tryResult941
.propagateErr(); } const auto& borrowedInsertStatement = tryResult941
.inspect();
;
7499
7500 QM_TRY(MOZ_TO_RESULT(borrowedInsertStatement->BindInt64ByIndex(0, aId))){auto tryResult942 = (ToResult(borrowedInsertStatement->BindInt64ByIndex
(0, aId))); static_assert(std::is_empty_v<typename decltype
(tryResult942)::ok_type>); if ((__builtin_expect(!!(tryResult942
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedInsertStatement->BindInt64ByIndex(0, aId))"
, tryResult942.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7500, mozilla::dom::quota::Severity::Error); return tryResult942
.propagateErr(); }}
;
7501 QM_TRY(MOZ_TO_RESULT(borrowedInsertStatement->BindInt32ByIndex(1, aDelta))){auto tryResult943 = (ToResult(borrowedInsertStatement->BindInt32ByIndex
(1, aDelta))); static_assert(std::is_empty_v<typename decltype
(tryResult943)::ok_type>); if ((__builtin_expect(!!(tryResult943
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedInsertStatement->BindInt32ByIndex(1, aDelta))"
, tryResult943.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7501, mozilla::dom::quota::Severity::Error); return tryResult943
.propagateErr(); }}
;
7502 QM_TRY(MOZ_TO_RESULT(borrowedInsertStatement->Execute())){auto tryResult944 = (ToResult(borrowedInsertStatement->Execute
())); static_assert(std::is_empty_v<typename decltype(tryResult944
)::ok_type>); if ((__builtin_expect(!!(tryResult944.isErr(
)), 0))) { mozilla::dom::quota::HandleError("ToResult(borrowedInsertStatement->Execute())"
, tryResult944.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7502, mozilla::dom::quota::Severity::Error); return tryResult944
.propagateErr(); }}
;
7503
7504 mJournalsToRemoveAfterCommit.AppendElement(aId);
7505
7506 return Ok{};
7507 };
7508
7509 QM_TRY(CollectEachInRange({auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7510 mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> {{auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7511 const auto delta = entry.GetData()->Delta();{auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7512 if (delta) {{auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7513 QM_TRY(update(entry.GetKey(), delta));{auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7514 }{auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7515
7516 return Ok{};{auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
7517 })){auto tryResult946 = (CollectEachInRange( mFileInfoEntries, [
&update](const auto& entry) -> Result<Ok, nsresult
> { const auto delta = entry.GetData()->Delta(); if (delta
) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert
(std::is_empty_v<typename decltype(tryResult945)::ok_type>
); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla
::dom::quota::HandleError("update(entry.GetKey(), delta)", tryResult945
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7513, mozilla::dom::quota::Severity::Error); return tryResult945
.propagateErr(); }}; } return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult946)::ok_type>); if ((__builtin_expect
(!!(tryResult946.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( mFileInfoEntries, [&update](const auto& entry) -> Result<Ok, nsresult> { const auto delta = entry.GetData()->Delta(); if (delta) { {auto tryResult945 = (update(entry.GetKey(), delta)); static_assert(std::is_empty_v<typename decltype(tryResult945)::ok_type>); if ((__builtin_expect(!!(tryResult945.isErr()), 0))) { mozilla::dom::quota::HandleError(\"update(entry.GetKey(), delta)\", tryResult945.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 7513, mozilla::dom::quota::Severity::Error); return tryResult945.propagateErr(); }}; } return Ok{}; })"
, tryResult946.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7517, mozilla::dom::quota::Severity::Error); return tryResult946
.propagateErr(); }}
;
7518
7519 QM_TRY(MOZ_TO_RESULT(CreateJournals())){auto tryResult947 = (ToResult(CreateJournals())); static_assert
(std::is_empty_v<typename decltype(tryResult947)::ok_type>
); if ((__builtin_expect(!!(tryResult947.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(CreateJournals())", tryResult947
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7519, mozilla::dom::quota::Severity::Error); return tryResult947
.propagateErr(); }}
;
7520
7521 return NS_OK;
7522}
7523
7524void DatabaseConnection::UpdateRefcountFunction::DidCommit() {
7525 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7525); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7525; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7526 mConnection->AssertIsOnConnectionThread();
7527
7528 AUTO_PROFILER_LABEL("DatabaseConnection::UpdateRefcountFunction::DidCommit",mozilla::AutoProfilerLabel raiiObject7529( "DatabaseConnection::UpdateRefcountFunction::DidCommit"
, nullptr, JS::ProfilingCategoryPair::DOM)
7529 DOM)mozilla::AutoProfilerLabel raiiObject7529( "DatabaseConnection::UpdateRefcountFunction::DidCommit"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7530
7531 for (const auto& entry : mFileInfoEntries.Values()) {
7532 entry->MaybeUpdateDBRefs();
7533 }
7534
7535 QM_WARNONLY_TRY(QM_TO_RESULT(RemoveJournals(mJournalsToRemoveAfterCommit))){auto tryResult948 = (ToResult<QMResult>(RemoveJournals
(mJournalsToRemoveAfterCommit))); static_assert(std::is_empty_v
<typename decltype(tryResult948)::ok_type>); if ((__builtin_expect
(!!(tryResult948.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult<QMResult>(RemoveJournals(mJournalsToRemoveAfterCommit))"
, tryResult948.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7535, mozilla::dom::quota::Severity::Warning); }}
;
7536}
7537
7538void DatabaseConnection::UpdateRefcountFunction::DidAbort() {
7539 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7539); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7539; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7540 mConnection->AssertIsOnConnectionThread();
7541
7542 AUTO_PROFILER_LABEL("DatabaseConnection::UpdateRefcountFunction::DidAbort",mozilla::AutoProfilerLabel raiiObject7543( "DatabaseConnection::UpdateRefcountFunction::DidAbort"
, nullptr, JS::ProfilingCategoryPair::DOM)
7543 DOM)mozilla::AutoProfilerLabel raiiObject7543( "DatabaseConnection::UpdateRefcountFunction::DidAbort"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7544
7545 QM_WARNONLY_TRY(QM_TO_RESULT(RemoveJournals(mJournalsToRemoveAfterAbort))){auto tryResult949 = (ToResult<QMResult>(RemoveJournals
(mJournalsToRemoveAfterAbort))); static_assert(std::is_empty_v
<typename decltype(tryResult949)::ok_type>); if ((__builtin_expect
(!!(tryResult949.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult<QMResult>(RemoveJournals(mJournalsToRemoveAfterAbort))"
, tryResult949.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7545, mozilla::dom::quota::Severity::Warning); }}
;
7546}
7547
7548void DatabaseConnection::UpdateRefcountFunction::StartSavepoint() {
7549 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7549); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7549; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7550 mConnection->AssertIsOnConnectionThread();
7551 MOZ_ASSERT(!mInSavepoint)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInSavepoint)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInSavepoint))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mInSavepoint",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7551); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInSavepoint"
")"); do { *((volatile int*)__null) = 7551; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7552 MOZ_ASSERT(!mSavepointEntriesIndex.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mSavepointEntriesIndex.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mSavepointEntriesIndex.Count
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mSavepointEntriesIndex.Count()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7552); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mSavepointEntriesIndex.Count()"
")"); do { *((volatile int*)__null) = 7552; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7553
7554 mInSavepoint = true;
7555}
7556
7557void DatabaseConnection::UpdateRefcountFunction::ReleaseSavepoint() {
7558 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7558); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7558; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7559 mConnection->AssertIsOnConnectionThread();
7560 MOZ_ASSERT(mInSavepoint)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInSavepoint)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInSavepoint))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mInSavepoint", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7560); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInSavepoint"
")"); do { *((volatile int*)__null) = 7560; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7561
7562 mSavepointEntriesIndex.Clear();
7563 mInSavepoint = false;
7564}
7565
7566void DatabaseConnection::UpdateRefcountFunction::RollbackSavepoint() {
7567 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7567); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7567; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7568 mConnection->AssertIsOnConnectionThread();
7569 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7569); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 7569; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7570 MOZ_ASSERT(mInSavepoint)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInSavepoint)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInSavepoint))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mInSavepoint", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7570); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInSavepoint"
")"); do { *((volatile int*)__null) = 7570; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7571
7572 for (const auto& entry : mSavepointEntriesIndex.Values()) {
7573 entry->DecBySavepointDelta();
7574 }
7575
7576 mInSavepoint = false;
7577 mSavepointEntriesIndex.Clear();
7578}
7579
7580void DatabaseConnection::UpdateRefcountFunction::Reset() {
7581 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7581); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7581; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7582 mConnection->AssertIsOnConnectionThread();
7583 MOZ_ASSERT(!mSavepointEntriesIndex.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mSavepointEntriesIndex.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mSavepointEntriesIndex.Count
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mSavepointEntriesIndex.Count()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7583); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mSavepointEntriesIndex.Count()"
")"); do { *((volatile int*)__null) = 7583; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7584 MOZ_ASSERT(!mInSavepoint)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInSavepoint)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInSavepoint))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mInSavepoint",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7584); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInSavepoint"
")"); do { *((volatile int*)__null) = 7584; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7585
7586 mJournalsToCreateBeforeCommit.Clear();
7587 mJournalsToRemoveAfterCommit.Clear();
7588 mJournalsToRemoveAfterAbort.Clear();
7589
7590 // DatabaseFileInfo implementation automatically removes unreferenced files,
7591 // but it's done asynchronously and with a delay. We want to remove them (and
7592 // decrease quota usage) before we fire the commit event.
7593 for (const auto& entry : mFileInfoEntries.Values()) {
7594 // We need to move mFileInfo into a raw pointer in order to release it
7595 // explicitly with aSyncDeleteFile == true.
7596 DatabaseFileInfo* const fileInfo = entry->ReleaseFileInfo().forget().take();
7597 MOZ_ASSERT(fileInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(fileInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(fileInfo))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("fileInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7597); AnnotateMozCrashReason("MOZ_ASSERT" "(" "fileInfo" ")"
); do { *((volatile int*)__null) = 7597; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7598
7599 fileInfo->Release(/* aSyncDeleteFile */ true);
7600 }
7601
7602 mFileInfoEntries.Clear();
7603}
7604
7605nsresult DatabaseConnection::UpdateRefcountFunction::ProcessValue(
7606 mozIStorageValueArray* aValues, int32_t aIndex, UpdateType aUpdateType) {
7607 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7607); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7607; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7608 mConnection->AssertIsOnConnectionThread();
7609 MOZ_ASSERT(aValues)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aValues)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aValues))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aValues", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7609); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aValues" ")"
); do { *((volatile int*)__null) = 7609; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7610
7611 AUTO_PROFILER_LABEL(mozilla::AutoProfilerLabel raiiObject7612( "DatabaseConnection::UpdateRefcountFunction::ProcessValue"
, nullptr, JS::ProfilingCategoryPair::DOM)
7612 "DatabaseConnection::UpdateRefcountFunction::ProcessValue", DOM)mozilla::AutoProfilerLabel raiiObject7612( "DatabaseConnection::UpdateRefcountFunction::ProcessValue"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7613
7614 QM_TRY_INSPECT(const int32_t& type,auto tryResult950 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, aIndex)); if ((__builtin_expect(!!(tryResult950
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, aIndex)"
, tryResult950.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7615, mozilla::dom::quota::Severity::Error); return tryResult950
.propagateErr(); } const int32_t& type = tryResult950.inspect
();
7615 MOZ_TO_RESULT_INVOKE_MEMBER(aValues, GetTypeOfIndex, aIndex))auto tryResult950 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, aIndex)); if ((__builtin_expect(!!(tryResult950
.isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, aIndex)"
, tryResult950.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7615, mozilla::dom::quota::Severity::Error); return tryResult950
.propagateErr(); } const int32_t& type = tryResult950.inspect
();
;
7616
7617 if (type == mozIStorageValueArray::VALUE_TYPE_NULL) {
7618 return NS_OK;
7619 }
7620
7621 QM_TRY_INSPECT(const auto& ids, MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult951 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(aValues)>::GetString), (aValues), aIndex)); if ((__builtin_expect
(!!(tryResult951.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aValues)>::GetString), (aValues), aIndex)"
, tryResult951.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7622, mozilla::dom::quota::Severity::Error); return tryResult951
.propagateErr(); } const auto& ids = tryResult951.inspect
();
7622 nsString, aValues, GetString, aIndex))auto tryResult951 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(aValues)>::GetString), (aValues), aIndex)); if ((__builtin_expect
(!!(tryResult951.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aValues)>::GetString), (aValues), aIndex)"
, tryResult951.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7622, mozilla::dom::quota::Severity::Error); return tryResult951
.propagateErr(); } const auto& ids = tryResult951.inspect
();
;
7623
7624 QM_TRY_INSPECT(const auto& files,auto tryResult952 = (DeserializeStructuredCloneFiles(mFileManager
, ids)); if ((__builtin_expect(!!(tryResult952.isErr()), 0)))
{ mozilla::dom::quota::HandleError("DeserializeStructuredCloneFiles(mFileManager, ids)"
, tryResult952.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7625, mozilla::dom::quota::Severity::Error); return tryResult952
.propagateErr(); } const auto& files = tryResult952.inspect
();
7625 DeserializeStructuredCloneFiles(mFileManager, ids))auto tryResult952 = (DeserializeStructuredCloneFiles(mFileManager
, ids)); if ((__builtin_expect(!!(tryResult952.isErr()), 0)))
{ mozilla::dom::quota::HandleError("DeserializeStructuredCloneFiles(mFileManager, ids)"
, tryResult952.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7625, mozilla::dom::quota::Severity::Error); return tryResult952
.propagateErr(); } const auto& files = tryResult952.inspect
();
;
7626
7627 for (const StructuredCloneFileParent& file : files) {
7628 const int64_t id = file.FileInfo().Id();
7629 MOZ_ASSERT(id > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(id > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(id > 0))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("id > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7629); AnnotateMozCrashReason("MOZ_ASSERT" "(" "id > 0" ")"
); do { *((volatile int*)__null) = 7629; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7630
7631 const auto entry =
7632 WrapNotNull(mFileInfoEntries.GetOrInsertNew(id, file.FileInfoPtr()));
7633
7634 if (mInSavepoint) {
7635 mSavepointEntriesIndex.InsertOrUpdate(id, entry);
7636 }
7637
7638 switch (aUpdateType) {
7639 case UpdateType::Increment:
7640 entry->IncDeltas(mInSavepoint);
7641 break;
7642 case UpdateType::Decrement:
7643 entry->DecDeltas(mInSavepoint);
7644 break;
7645 default:
7646 MOZ_CRASH("Unknown update type!")do { do { } while (false); MOZ_ReportCrash("" "Unknown update type!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7646); AnnotateMozCrashReason("MOZ_CRASH(" "Unknown update type!"
")"); do { *((volatile int*)__null) = 7646; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
7647 }
7648 }
7649
7650 return NS_OK;
7651}
7652
7653nsresult DatabaseConnection::UpdateRefcountFunction::CreateJournals() {
7654 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7654); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7654; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7655 mConnection->AssertIsOnConnectionThread();
7656
7657 AUTO_PROFILER_LABEL(mozilla::AutoProfilerLabel raiiObject7658( "DatabaseConnection::UpdateRefcountFunction::CreateJournals"
, nullptr, JS::ProfilingCategoryPair::DOM)
7658 "DatabaseConnection::UpdateRefcountFunction::CreateJournals", DOM)mozilla::AutoProfilerLabel raiiObject7658( "DatabaseConnection::UpdateRefcountFunction::CreateJournals"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7659
7660 const nsCOMPtr<nsIFile> journalDirectory = mFileManager.GetJournalDirectory();
7661 QM_TRY(OkIf(journalDirectory), NS_ERROR_FAILURE){auto tryResult953 = (OkIf(journalDirectory)); static_assert(
std::is_empty_v<typename decltype(tryResult953)::ok_type>
); if ((__builtin_expect(!!(tryResult953.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult953.unwrapErr
(); mozilla::dom::quota::HandleError("OkIf(journalDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7661, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(journalDirectory)"
, tryTempError, NS_ERROR_FAILURE); }}
;
7662
7663 for (const int64_t id : mJournalsToCreateBeforeCommit) {
7664 const nsCOMPtr<nsIFile> file =
7665 DatabaseFileManager::GetFileForId(journalDirectory, id);
7666 QM_TRY(OkIf(file), NS_ERROR_FAILURE){auto tryResult954 = (OkIf(file)); static_assert(std::is_empty_v
<typename decltype(tryResult954)::ok_type>); if ((__builtin_expect
(!!(tryResult954.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult954.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(file)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7666, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(file)", tryTempError
, NS_ERROR_FAILURE); }}
;
7667
7668 QM_TRY(MOZ_TO_RESULT(file->Create(nsIFile::NORMAL_FILE_TYPE, 0644))){auto tryResult955 = (ToResult(file->Create(nsIFile::NORMAL_FILE_TYPE
, 0644))); static_assert(std::is_empty_v<typename decltype
(tryResult955)::ok_type>); if ((__builtin_expect(!!(tryResult955
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(file->Create(nsIFile::NORMAL_FILE_TYPE, 0644))"
, tryResult955.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7668, mozilla::dom::quota::Severity::Error); return tryResult955
.propagateErr(); }}
;
7669
7670 mJournalsToRemoveAfterAbort.AppendElement(id);
7671 }
7672
7673 return NS_OK;
7674}
7675
7676nsresult DatabaseConnection::UpdateRefcountFunction::RemoveJournals(
7677 const nsTArray<int64_t>& aJournals) {
7678 MOZ_ASSERT(mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7678); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnection"
")"); do { *((volatile int*)__null) = 7678; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7679 mConnection->AssertIsOnConnectionThread();
7680
7681 AUTO_PROFILER_LABEL(mozilla::AutoProfilerLabel raiiObject7682( "DatabaseConnection::UpdateRefcountFunction::RemoveJournals"
, nullptr, JS::ProfilingCategoryPair::DOM)
7682 "DatabaseConnection::UpdateRefcountFunction::RemoveJournals", DOM)mozilla::AutoProfilerLabel raiiObject7682( "DatabaseConnection::UpdateRefcountFunction::RemoveJournals"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7683
7684 nsCOMPtr<nsIFile> journalDirectory = mFileManager.GetJournalDirectory();
7685 QM_TRY(OkIf(journalDirectory), NS_ERROR_FAILURE){auto tryResult956 = (OkIf(journalDirectory)); static_assert(
std::is_empty_v<typename decltype(tryResult956)::ok_type>
); if ((__builtin_expect(!!(tryResult956.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult956.unwrapErr
(); mozilla::dom::quota::HandleError("OkIf(journalDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7685, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(journalDirectory)"
, tryTempError, NS_ERROR_FAILURE); }}
;
7686
7687 for (const auto& journal : aJournals) {
7688 nsCOMPtr<nsIFile> file =
7689 DatabaseFileManager::GetFileForId(journalDirectory, journal);
7690 QM_TRY(OkIf(file), NS_ERROR_FAILURE){auto tryResult957 = (OkIf(file)); static_assert(std::is_empty_v
<typename decltype(tryResult957)::ok_type>); if ((__builtin_expect
(!!(tryResult957.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult957.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(file)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7690, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(file)", tryTempError
, NS_ERROR_FAILURE); }}
;
7691
7692 QM_WARNONLY_TRY(QM_TO_RESULT(file->Remove(false))){auto tryResult958 = (ToResult<QMResult>(file->Remove
(false))); static_assert(std::is_empty_v<typename decltype
(tryResult958)::ok_type>); if ((__builtin_expect(!!(tryResult958
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult<QMResult>(file->Remove(false))"
, tryResult958.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7692, mozilla::dom::quota::Severity::Warning); }}
;
7693 }
7694
7695 return NS_OK;
7696}
7697
7698NS_IMPL_ISUPPORTS(DatabaseConnection::UpdateRefcountFunction,MozExternalRefCountType DatabaseConnection::UpdateRefcountFunction
::AddRef(void) { static_assert(!std::is_destructible_v<DatabaseConnection
::UpdateRefcountFunction>, "Reference-counted class " "DatabaseConnection::UpdateRefcountFunction"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
7699; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); do { static_assert( mozilla::detail::AssertionConditionType
<decltype("DatabaseConnection::UpdateRefcountFunction" != nullptr
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!("DatabaseConnection::UpdateRefcountFunction" != nullptr
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"\"DatabaseConnection::UpdateRefcountFunction\" != nullptr" " ("
"Must specify a name" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "\"DatabaseConnection::UpdateRefcountFunction\" != nullptr"
") (" "Must specify a name" ")"); do { *((volatile int*)__null
) = 7699; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); if (!mRefCnt.isThreadSafe) _mOwningThread
.AssertOwnership("DatabaseConnection::UpdateRefcountFunction"
" not thread-safe"); nsrefcnt count = ++mRefCnt; NS_LogAddRef
((this), (count), ("DatabaseConnection::UpdateRefcountFunction"
), (uint32_t)(sizeof(*this))); return count; } MozExternalRefCountType
DatabaseConnection::UpdateRefcountFunction::Release(void) { do
{ static_assert( mozilla::detail::AssertionConditionType<
decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 7699
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); do { static_assert( mozilla::detail::AssertionConditionType
<decltype("DatabaseConnection::UpdateRefcountFunction" != nullptr
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!("DatabaseConnection::UpdateRefcountFunction" != nullptr
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"\"DatabaseConnection::UpdateRefcountFunction\" != nullptr" " ("
"Must specify a name" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "\"DatabaseConnection::UpdateRefcountFunction\" != nullptr"
") (" "Must specify a name" ")"); do { *((volatile int*)__null
) = 7699; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); if (!mRefCnt.isThreadSafe) _mOwningThread
.AssertOwnership("DatabaseConnection::UpdateRefcountFunction"
" not thread-safe"); const char* const nametmp = "DatabaseConnection::UpdateRefcountFunction"
; nsrefcnt count = --mRefCnt; NS_LogRelease((this), (count), (
nametmp)); if (count == 0) { mRefCnt = 1; delete (this); return
0; } return count; } nsresult DatabaseConnection::UpdateRefcountFunction
::QueryInterface(const nsIID& aIID, void** aInstancePtr) {
do { if (!(aInstancePtr)) { NS_DebugBreak(NS_DEBUG_ASSERTION
, "QueryInterface requires a non-NULL destination!", "aInstancePtr"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); MOZ_PretendNoReturn(); } } while (0); nsresult rv = NS_ERROR_FAILURE
; static_assert(1 > 0, "Need more arguments to NS_INTERFACE_TABLE"
); static const QITableEntry table[] = { {&mozilla::detail
::kImplementedIID<DatabaseConnection::UpdateRefcountFunction
, mozIStorageFunction>, int32_t( reinterpret_cast<char*
>(static_cast<mozIStorageFunction*>((DatabaseConnection
::UpdateRefcountFunction*)0x1000)) - reinterpret_cast<char
*>((DatabaseConnection::UpdateRefcountFunction*)0x1000))},
{&mozilla::detail::kImplementedIID<DatabaseConnection
::UpdateRefcountFunction, nsISupports>, int32_t(reinterpret_cast
<char*>(static_cast<nsISupports*>( static_cast<
mozIStorageFunction*>((DatabaseConnection::UpdateRefcountFunction
*)0x1000))) - reinterpret_cast<char*>((DatabaseConnection
::UpdateRefcountFunction*)0x1000))}, { nullptr, 0 } } ; static_assert
(std::size(table) > 1, "need at least 1 interface"); rv = NS_TableDrivenQI
(static_cast<void*>(this), aIID, aInstancePtr, table); return
rv; }
7699 mozIStorageFunction)MozExternalRefCountType DatabaseConnection::UpdateRefcountFunction
::AddRef(void) { static_assert(!std::is_destructible_v<DatabaseConnection
::UpdateRefcountFunction>, "Reference-counted class " "DatabaseConnection::UpdateRefcountFunction"
" should not have a public destructor. " "Make this class's destructor non-public"
); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(int32_t(mRefCnt) >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) >= 0))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) >= 0"
" (" "illegal refcnt" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) >= 0"
") (" "illegal refcnt" ")"); do { *((volatile int*)__null) =
7699; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); do { static_assert( mozilla::detail::AssertionConditionType
<decltype("DatabaseConnection::UpdateRefcountFunction" != nullptr
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!("DatabaseConnection::UpdateRefcountFunction" != nullptr
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"\"DatabaseConnection::UpdateRefcountFunction\" != nullptr" " ("
"Must specify a name" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "\"DatabaseConnection::UpdateRefcountFunction\" != nullptr"
") (" "Must specify a name" ")"); do { *((volatile int*)__null
) = 7699; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); if (!mRefCnt.isThreadSafe) _mOwningThread
.AssertOwnership("DatabaseConnection::UpdateRefcountFunction"
" not thread-safe"); nsrefcnt count = ++mRefCnt; NS_LogAddRef
((this), (count), ("DatabaseConnection::UpdateRefcountFunction"
), (uint32_t)(sizeof(*this))); return count; } MozExternalRefCountType
DatabaseConnection::UpdateRefcountFunction::Release(void) { do
{ static_assert( mozilla::detail::AssertionConditionType<
decltype(int32_t(mRefCnt) > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(int32_t(mRefCnt) > 0))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("int32_t(mRefCnt) > 0"
" (" "dup release" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "int32_t(mRefCnt) > 0"
") (" "dup release" ")"); do { *((volatile int*)__null) = 7699
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); do { static_assert( mozilla::detail::AssertionConditionType
<decltype("DatabaseConnection::UpdateRefcountFunction" != nullptr
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!("DatabaseConnection::UpdateRefcountFunction" != nullptr
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"\"DatabaseConnection::UpdateRefcountFunction\" != nullptr" " ("
"Must specify a name" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "\"DatabaseConnection::UpdateRefcountFunction\" != nullptr"
") (" "Must specify a name" ")"); do { *((volatile int*)__null
) = 7699; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); if (!mRefCnt.isThreadSafe) _mOwningThread
.AssertOwnership("DatabaseConnection::UpdateRefcountFunction"
" not thread-safe"); const char* const nametmp = "DatabaseConnection::UpdateRefcountFunction"
; nsrefcnt count = --mRefCnt; NS_LogRelease((this), (count), (
nametmp)); if (count == 0) { mRefCnt = 1; delete (this); return
0; } return count; } nsresult DatabaseConnection::UpdateRefcountFunction
::QueryInterface(const nsIID& aIID, void** aInstancePtr) {
do { if (!(aInstancePtr)) { NS_DebugBreak(NS_DEBUG_ASSERTION
, "QueryInterface requires a non-NULL destination!", "aInstancePtr"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7699); MOZ_PretendNoReturn(); } } while (0); nsresult rv = NS_ERROR_FAILURE
; static_assert(1 > 0, "Need more arguments to NS_INTERFACE_TABLE"
); static const QITableEntry table[] = { {&mozilla::detail
::kImplementedIID<DatabaseConnection::UpdateRefcountFunction
, mozIStorageFunction>, int32_t( reinterpret_cast<char*
>(static_cast<mozIStorageFunction*>((DatabaseConnection
::UpdateRefcountFunction*)0x1000)) - reinterpret_cast<char
*>((DatabaseConnection::UpdateRefcountFunction*)0x1000))},
{&mozilla::detail::kImplementedIID<DatabaseConnection
::UpdateRefcountFunction, nsISupports>, int32_t(reinterpret_cast
<char*>(static_cast<nsISupports*>( static_cast<
mozIStorageFunction*>((DatabaseConnection::UpdateRefcountFunction
*)0x1000))) - reinterpret_cast<char*>((DatabaseConnection
::UpdateRefcountFunction*)0x1000))}, { nullptr, 0 } } ; static_assert
(std::size(table) > 1, "need at least 1 interface"); rv = NS_TableDrivenQI
(static_cast<void*>(this), aIID, aInstancePtr, table); return
rv; }
7700
7701NS_IMETHODIMPnsresult
7702DatabaseConnection::UpdateRefcountFunction::OnFunctionCall(
7703 mozIStorageValueArray* aValues, nsIVariant** _retval) {
7704 MOZ_ASSERT(aValues)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aValues)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aValues))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aValues", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7704); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aValues" ")"
); do { *((volatile int*)__null) = 7704; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7705 MOZ_ASSERT(_retval)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(_retval)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(_retval))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("_retval", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7705); AnnotateMozCrashReason("MOZ_ASSERT" "(" "_retval" ")"
); do { *((volatile int*)__null) = 7705; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7706
7707 AUTO_PROFILER_LABEL(mozilla::AutoProfilerLabel raiiObject7708( "DatabaseConnection::UpdateRefcountFunction::OnFunctionCall"
, nullptr, JS::ProfilingCategoryPair::DOM)
7708 "DatabaseConnection::UpdateRefcountFunction::OnFunctionCall", DOM)mozilla::AutoProfilerLabel raiiObject7708( "DatabaseConnection::UpdateRefcountFunction::OnFunctionCall"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7709
7710#ifdef DEBUG1
7711 {
7712 QM_TRY_INSPECT(const uint32_t& numEntries,auto tryResult959 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetNumEntries)); if ((__builtin_expect(!!(tryResult959.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult959
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetNumEntries)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7714, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetNumEntries)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7714); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7714; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const uint32_t
& numEntries = tryResult959.inspect();
7713 MOZ_TO_RESULT_INVOKE_MEMBER(aValues, GetNumEntries),auto tryResult959 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetNumEntries)); if ((__builtin_expect(!!(tryResult959.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult959
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetNumEntries)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7714, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetNumEntries)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7714); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7714; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const uint32_t
& numEntries = tryResult959.inspect();
7714 QM_ASSERT_UNREACHABLE)auto tryResult959 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetNumEntries)); if ((__builtin_expect(!!(tryResult959.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult959
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetNumEntries)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7714, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetNumEntries)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7714); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7714; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const uint32_t
& numEntries = tryResult959.inspect();
;
7715
7716 MOZ_ASSERT(numEntries == 2)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(numEntries == 2)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(numEntries == 2))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("numEntries == 2"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7716); AnnotateMozCrashReason("MOZ_ASSERT" "(" "numEntries == 2"
")"); do { *((volatile int*)__null) = 7716; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7717
7718 QM_TRY_INSPECT(const int32_t& type1,auto tryResult960 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, 0)); if ((__builtin_expect(!!(tryResult960.
isErr()), 0))) { auto tryTempError __attribute__((__unused__)
) = tryResult960.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 0)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7720, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 0)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7720); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7720; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& type1 = tryResult960.inspect();
7719 MOZ_TO_RESULT_INVOKE_MEMBER(aValues, GetTypeOfIndex, 0),auto tryResult960 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, 0)); if ((__builtin_expect(!!(tryResult960.
isErr()), 0))) { auto tryTempError __attribute__((__unused__)
) = tryResult960.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 0)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7720, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 0)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7720); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7720; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& type1 = tryResult960.inspect();
7720 QM_ASSERT_UNREACHABLE)auto tryResult960 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, 0)); if ((__builtin_expect(!!(tryResult960.
isErr()), 0))) { auto tryTempError __attribute__((__unused__)
) = tryResult960.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 0)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7720, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 0)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7720); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7720; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& type1 = tryResult960.inspect();
;
7721
7722 QM_TRY_INSPECT(const int32_t& type2,auto tryResult961 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, 1)); if ((__builtin_expect(!!(tryResult961.
isErr()), 0))) { auto tryTempError __attribute__((__unused__)
) = tryResult961.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 1)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7724, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 1)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7724); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7724; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& type2 = tryResult961.inspect();
7723 MOZ_TO_RESULT_INVOKE_MEMBER(aValues, GetTypeOfIndex, 1),auto tryResult961 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, 1)); if ((__builtin_expect(!!(tryResult961.
isErr()), 0))) { auto tryTempError __attribute__((__unused__)
) = tryResult961.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 1)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7724, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 1)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7724); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7724; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& type2 = tryResult961.inspect();
7724 QM_ASSERT_UNREACHABLE)auto tryResult961 = (::mozilla::ToResultInvokeMember( (aValues
), &::mozilla::detail::DerefedType<decltype(aValues)>
::GetTypeOfIndex, 1)); if ((__builtin_expect(!!(tryResult961.
isErr()), 0))) { auto tryTempError __attribute__((__unused__)
) = tryResult961.unwrapErr(); mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 1)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7724, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (aValues), &::mozilla::detail::DerefedType<decltype(aValues)>::GetTypeOfIndex, 1)"
, tryTempError, [](const char*, const char*) -> ::mozilla::
GenericErrorResult<nsresult> { do { do { } while (false
); MOZ_ReportCrash("" "Should never be reached.", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7724); AnnotateMozCrashReason("MOZ_CRASH(" "Should never be reached."
")"); do { *((volatile int*)__null) = 7724; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); }); } const int32_t
& type2 = tryResult961.inspect();
;
7725
7726 MOZ_ASSERT(!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL &&do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL &&
type2 == mozIStorageValueArray::VALUE_TYPE_NULL))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL &&
type2 == mozIStorageValueArray::VALUE_TYPE_NULL)))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL && type2 == mozIStorageValueArray::VALUE_TYPE_NULL)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7727); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL && type2 == mozIStorageValueArray::VALUE_TYPE_NULL)"
")"); do { *((volatile int*)__null) = 7727; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
7727 type2 == mozIStorageValueArray::VALUE_TYPE_NULL))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL &&
type2 == mozIStorageValueArray::VALUE_TYPE_NULL))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL &&
type2 == mozIStorageValueArray::VALUE_TYPE_NULL)))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL && type2 == mozIStorageValueArray::VALUE_TYPE_NULL)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7727); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!(type1 == mozIStorageValueArray::VALUE_TYPE_NULL && type2 == mozIStorageValueArray::VALUE_TYPE_NULL)"
")"); do { *((volatile int*)__null) = 7727; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7728 }
7729#endif
7730
7731 QM_TRY(MOZ_TO_RESULT(ProcessValue(aValues, 0, UpdateType::Decrement))){auto tryResult962 = (ToResult(ProcessValue(aValues, 0, UpdateType
::Decrement))); static_assert(std::is_empty_v<typename decltype
(tryResult962)::ok_type>); if ((__builtin_expect(!!(tryResult962
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(ProcessValue(aValues, 0, UpdateType::Decrement))"
, tryResult962.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7731, mozilla::dom::quota::Severity::Error); return tryResult962
.propagateErr(); }}
;
7732
7733 QM_TRY(MOZ_TO_RESULT(ProcessValue(aValues, 1, UpdateType::Increment))){auto tryResult963 = (ToResult(ProcessValue(aValues, 1, UpdateType
::Increment))); static_assert(std::is_empty_v<typename decltype
(tryResult963)::ok_type>); if ((__builtin_expect(!!(tryResult963
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(ProcessValue(aValues, 1, UpdateType::Increment))"
, tryResult963.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7733, mozilla::dom::quota::Severity::Error); return tryResult963
.propagateErr(); }}
;
7734
7735 return NS_OK;
7736}
7737
7738/*******************************************************************************
7739 * ConnectionPool implementation
7740 ******************************************************************************/
7741
7742ConnectionPool::ConnectionPool()
7743 : mDatabasesMutex("ConnectionPool::mDatabasesMutex"),
7744 mIOTarget(MakeConnectionIOTarget()),
7745 mIdleTimer(NS_NewTimer()),
7746 mNextTransactionId(0) {
7747 AssertIsOnOwningThread();
7748 AssertIsOnBackgroundThread();
7749 MOZ_ASSERT(mIdleTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIdleTimer)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mIdleTimer))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mIdleTimer", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7749); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleTimer"
")"); do { *((volatile int*)__null) = 7749; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7750}
7751
7752ConnectionPool::~ConnectionPool() {
7753 AssertIsOnOwningThread();
7754 MOZ_ASSERT(mIdleDatabases.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIdleDatabases.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mIdleDatabases.IsEmpty()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mIdleDatabases.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7754); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleDatabases.IsEmpty()"
")"); do { *((volatile int*)__null) = 7754; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7755 MOZ_ASSERT(!mIdleTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mIdleTimer)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mIdleTimer))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("!mIdleTimer", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7755); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mIdleTimer"
")"); do { *((volatile int*)__null) = 7755; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7756 MOZ_ASSERT(mTargetIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mTargetIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mTargetIdleTime.IsNull()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mTargetIdleTime.IsNull()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7756); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mTargetIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 7756; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7757 MOZ_ASSERT(!mDatabases.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabases.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDatabases.Count()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mDatabases.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7757); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabases.Count()"
")"); do { *((volatile int*)__null) = 7757; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7758 MOZ_ASSERT(!mTransactions.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mTransactions.Count()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mTransactions.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7758); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Count()"
")"); do { *((volatile int*)__null) = 7758; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7759 MOZ_ASSERT(mQueuedTransactions.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mQueuedTransactions.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mQueuedTransactions.IsEmpty(
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mQueuedTransactions.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7759); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mQueuedTransactions.IsEmpty()"
")"); do { *((volatile int*)__null) = 7759; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7760 MOZ_ASSERT(mCompleteCallbacks.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mCompleteCallbacks.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mCompleteCallbacks.IsEmpty()
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"mCompleteCallbacks.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7760); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCompleteCallbacks.IsEmpty()"
")"); do { *((volatile int*)__null) = 7760; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7761 MOZ_ASSERT(mShutdownRequested)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mShutdownRequested)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mShutdownRequested))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mShutdownRequested"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7761); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mShutdownRequested"
")"); do { *((volatile int*)__null) = 7761; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7762 MOZ_ASSERT(mShutdownComplete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mShutdownComplete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mShutdownComplete))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mShutdownComplete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7762); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mShutdownComplete"
")"); do { *((volatile int*)__null) = 7762; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7763}
7764
7765// static
7766void ConnectionPool::IdleTimerCallback(nsITimer* aTimer, void* aClosure) {
7767 MOZ_ASSERT(aTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aTimer)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aTimer))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aTimer", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7767); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aTimer" ")"
); do { *((volatile int*)__null) = 7767; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7768 MOZ_ASSERT(aClosure)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aClosure)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aClosure))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aClosure", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7768); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aClosure" ")"
); do { *((volatile int*)__null) = 7768; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7769
7770 AUTO_PROFILER_LABEL("ConnectionPool::IdleTimerCallback", DOM)mozilla::AutoProfilerLabel raiiObject7770( "ConnectionPool::IdleTimerCallback"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7771
7772 auto& self = *static_cast<ConnectionPool*>(aClosure);
7773 MOZ_ASSERT(self.mIdleTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(self.mIdleTimer)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(self.mIdleTimer))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("self.mIdleTimer"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7773); AnnotateMozCrashReason("MOZ_ASSERT" "(" "self.mIdleTimer"
")"); do { *((volatile int*)__null) = 7773; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7774 MOZ_ASSERT(SameCOMIdentity(self.mIdleTimer, aTimer))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(SameCOMIdentity(self.mIdleTimer, aTimer))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(SameCOMIdentity(self.mIdleTimer, aTimer)))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("SameCOMIdentity(self.mIdleTimer, aTimer)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7774); AnnotateMozCrashReason("MOZ_ASSERT" "(" "SameCOMIdentity(self.mIdleTimer, aTimer)"
")"); do { *((volatile int*)__null) = 7774; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7775 MOZ_ASSERT(!self.mTargetIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!self.mTargetIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!self.mTargetIdleTime.IsNull
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!self.mTargetIdleTime.IsNull()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7775); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!self.mTargetIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 7775; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7776
7777 self.mTargetIdleTime = TimeStamp();
7778
7779 // Cheat a little.
7780 const TimeStamp now =
7781 TimeStamp::NowLoRes() + TimeDuration::FromMilliseconds(500);
7782
7783 // XXX Move this to ArrayAlgorithm.h?
7784 const auto removeUntil = [](auto& array, auto&& cond) {
7785 const auto begin = array.begin(), end = array.end();
7786 array.RemoveElementsRange(
7787 begin, std::find_if(begin, end, std::forward<decltype(cond)>(cond)));
7788 };
7789
7790 removeUntil(self.mIdleDatabases, [now, &self](const auto& info) {
7791 if (now >= info.mIdleTime) {
7792 if ((*info.mDatabaseInfo)->mIdle) {
7793 self.PerformIdleDatabaseMaintenance(*info.mDatabaseInfo.ref());
7794 } else {
7795 self.CloseDatabase(*info.mDatabaseInfo.ref());
7796 }
7797
7798 return false;
7799 }
7800
7801 return true;
7802 });
7803
7804 self.AdjustIdleTimer();
7805}
7806
7807Result<RefPtr<DatabaseConnection>, nsresult>
7808ConnectionPool::GetOrCreateConnection(const Database& aDatabase) {
7809 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7809); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 7809; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7810 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7810); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 7810; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7811
7812 AUTO_PROFILER_LABEL("ConnectionPool::GetOrCreateConnection", DOM)mozilla::AutoProfilerLabel raiiObject7812( "ConnectionPool::GetOrCreateConnection"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7813
7814 DatabaseInfo* dbInfo;
7815 {
7816 MutexAutoLock lock(mDatabasesMutex);
7817
7818 dbInfo = mDatabases.Get(aDatabase.Id());
7819 }
7820
7821 MOZ_ASSERT(dbInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(dbInfo))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("dbInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7821); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo" ")"
); do { *((volatile int*)__null) = 7821; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7822
7823 if (dbInfo->mConnection) {
7824 dbInfo->AssertIsOnConnectionThread();
7825
7826 return dbInfo->mConnection;
7827 }
7828
7829 MOZ_ASSERT(!dbInfo->mDEBUGConnectionEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo->mDEBUGConnectionEventTarget)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!dbInfo->mDEBUGConnectionEventTarget))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!dbInfo->mDEBUGConnectionEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7829); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo->mDEBUGConnectionEventTarget"
")"); do { *((volatile int*)__null) = 7829; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7830
7831 QM_TRY_UNWRAP(auto tryResult964 = (GetStorageConnection(aDatabase.FilePath(
), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase
.MaybeKeyRef())); if ((__builtin_expect(!!(tryResult964.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetStorageConnection(aDatabase.FilePath(), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase.MaybeKeyRef())"
, tryResult964.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7834, mozilla::dom::quota::Severity::Error); return tryResult964
.propagateErr(); } MovingNotNull<nsCOMPtr<mozIStorageConnection
>> storageConnection = tryResult964.unwrap();
7832 MovingNotNull<nsCOMPtr<mozIStorageConnection>> storageConnection,auto tryResult964 = (GetStorageConnection(aDatabase.FilePath(
), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase
.MaybeKeyRef())); if ((__builtin_expect(!!(tryResult964.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetStorageConnection(aDatabase.FilePath(), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase.MaybeKeyRef())"
, tryResult964.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7834, mozilla::dom::quota::Severity::Error); return tryResult964
.propagateErr(); } MovingNotNull<nsCOMPtr<mozIStorageConnection
>> storageConnection = tryResult964.unwrap();
7833 GetStorageConnection(aDatabase.FilePath(), aDatabase.DirectoryLockId(),auto tryResult964 = (GetStorageConnection(aDatabase.FilePath(
), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase
.MaybeKeyRef())); if ((__builtin_expect(!!(tryResult964.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetStorageConnection(aDatabase.FilePath(), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase.MaybeKeyRef())"
, tryResult964.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7834, mozilla::dom::quota::Severity::Error); return tryResult964
.propagateErr(); } MovingNotNull<nsCOMPtr<mozIStorageConnection
>> storageConnection = tryResult964.unwrap();
7834 aDatabase.TelemetryId(), aDatabase.MaybeKeyRef()))auto tryResult964 = (GetStorageConnection(aDatabase.FilePath(
), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase
.MaybeKeyRef())); if ((__builtin_expect(!!(tryResult964.isErr
()), 0))) { mozilla::dom::quota::HandleError("GetStorageConnection(aDatabase.FilePath(), aDatabase.DirectoryLockId(), aDatabase.TelemetryId(), aDatabase.MaybeKeyRef())"
, tryResult964.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7834, mozilla::dom::quota::Severity::Error); return tryResult964
.propagateErr(); } MovingNotNull<nsCOMPtr<mozIStorageConnection
>> storageConnection = tryResult964.unwrap();
;
7835
7836 RefPtr<DatabaseConnection> connection = new DatabaseConnection(
7837 std::move(storageConnection), aDatabase.GetFileManagerPtr());
7838
7839 QM_TRY(MOZ_TO_RESULT(connection->Init())){auto tryResult965 = (ToResult(connection->Init())); static_assert
(std::is_empty_v<typename decltype(tryResult965)::ok_type>
); if ((__builtin_expect(!!(tryResult965.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(connection->Init())", tryResult965
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7839, mozilla::dom::quota::Severity::Error); return tryResult965
.propagateErr(); }}
;
7840
7841 dbInfo->mConnection = connection;
7842
7843 IDB_DEBUG_LOG(("ConnectionPool created connection 0x%p for '%s'",
7844 dbInfo->mConnection.get(),
7845 NS_ConvertUTF16toUTF8(aDatabase.FilePath()).get()));
7846
7847#ifdef DEBUG1
7848 dbInfo->mDEBUGConnectionEventTarget = GetCurrentSerialEventTarget();
7849#endif
7850
7851 return connection;
7852}
7853
7854uint64_t ConnectionPool::Start(
7855 const nsID& aBackgroundChildLoggingId, const nsACString& aDatabaseId,
7856 int64_t aLoggingSerialNumber, const nsTArray<nsString>& aObjectStoreNames,
7857 bool aIsWriteTransaction,
7858 TransactionDatabaseOperationBase* aTransactionOp) {
7859 AssertIsOnOwningThread();
7860 MOZ_ASSERT(!aDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseId.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseId.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7860); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 7860; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7861 MOZ_ASSERT(mNextTransactionId < UINT64_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mNextTransactionId < (18446744073709551615UL))>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mNextTransactionId < (18446744073709551615UL)))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mNextTransactionId < (18446744073709551615UL)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7861); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mNextTransactionId < (18446744073709551615UL)"
")"); do { *((volatile int*)__null) = 7861; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7862 MOZ_ASSERT(!mShutdownRequested)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mShutdownRequested)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mShutdownRequested))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mShutdownRequested"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7862); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mShutdownRequested"
")"); do { *((volatile int*)__null) = 7862; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7863
7864 AUTO_PROFILER_LABEL("ConnectionPool::Start", DOM)mozilla::AutoProfilerLabel raiiObject7864( "ConnectionPool::Start"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7865
7866 const uint64_t transactionId = ++mNextTransactionId;
7867
7868 // To avoid always acquiring a lock, we don't use WithEntryHandle here, which
7869 // would require a lock in any case.
7870 DatabaseInfo* dbInfo = mDatabases.Get(aDatabaseId);
7871
7872 const bool databaseInfoIsNew = !dbInfo;
7873
7874 if (databaseInfoIsNew) {
7875 MutexAutoLock lock(mDatabasesMutex);
7876
7877 dbInfo = mDatabases
7878 .InsertOrUpdate(aDatabaseId,
7879 MakeUnique<DatabaseInfo>(this, aDatabaseId))
7880 .get();
7881 }
7882
7883 MOZ_ASSERT(!mTransactions.Contains(transactionId))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Contains(transactionId))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mTransactions.Contains(transactionId)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mTransactions.Contains(transactionId)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7883); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Contains(transactionId)"
")"); do { *((volatile int*)__null) = 7883; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7884 auto& transactionInfo = *mTransactions.InsertOrUpdate(
7885 transactionId, MakeUnique<TransactionInfo>(
7886 *dbInfo, aBackgroundChildLoggingId, aDatabaseId,
7887 transactionId, aLoggingSerialNumber, aObjectStoreNames,
7888 aIsWriteTransaction, aTransactionOp));
7889
7890 if (aIsWriteTransaction) {
7891 MOZ_ASSERT(dbInfo->mWriteTransactionCount < UINT32_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo->mWriteTransactionCount < (4294967295U)
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(dbInfo->mWriteTransactionCount < (4294967295U)
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"dbInfo->mWriteTransactionCount < (4294967295U)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7891); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo->mWriteTransactionCount < (4294967295U)"
")"); do { *((volatile int*)__null) = 7891; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7892 dbInfo->mWriteTransactionCount++;
7893 } else {
7894 MOZ_ASSERT(dbInfo->mReadTransactionCount < UINT32_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo->mReadTransactionCount < (4294967295U))
>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(dbInfo->mReadTransactionCount < (4294967295U))
)), 0))) { do { } while (false); MOZ_ReportAssertionFailure("dbInfo->mReadTransactionCount < (4294967295U)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7894); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo->mReadTransactionCount < (4294967295U)"
")"); do { *((volatile int*)__null) = 7894; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7895 dbInfo->mReadTransactionCount++;
7896 }
7897
7898 auto& blockingTransactions = dbInfo->mBlockingTransactions;
7899
7900 for (const nsAString& objectStoreName : aObjectStoreNames) {
7901 TransactionInfoPair* blockInfo =
7902 blockingTransactions.GetOrInsertNew(objectStoreName);
7903
7904 // Mark what we are blocking on.
7905 if (const auto maybeBlockingRead = blockInfo->mLastBlockingReads) {
7906 transactionInfo.mBlockedOn.Insert(&maybeBlockingRead.ref());
7907 maybeBlockingRead->AddBlockingTransaction(transactionInfo);
7908 }
7909
7910 if (aIsWriteTransaction) {
7911 for (const auto blockingWrite : blockInfo->mLastBlockingWrites) {
7912 transactionInfo.mBlockedOn.Insert(blockingWrite);
7913 blockingWrite->AddBlockingTransaction(transactionInfo);
7914 }
7915
7916 blockInfo->mLastBlockingReads = SomeRef(transactionInfo);
7917 blockInfo->mLastBlockingWrites.Clear();
7918 } else {
7919 blockInfo->mLastBlockingWrites.AppendElement(
7920 WrapNotNullUnchecked(&transactionInfo));
7921 }
7922 }
7923
7924 if (!transactionInfo.mBlockedOn.Count()) {
7925 Unused << ScheduleTransaction(transactionInfo,
7926 /* aFromQueuedTransactions */ false);
7927 }
7928
7929 if (!databaseInfoIsNew &&
7930 (mIdleDatabases.RemoveElement(dbInfo) ||
7931 mDatabasesPerformingIdleMaintenance.RemoveElement(dbInfo))) {
7932 AdjustIdleTimer();
7933 }
7934
7935 return transactionId;
7936}
7937
7938void ConnectionPool::Dispatch(uint64_t aTransactionId, nsIRunnable* aRunnable) {
7939 AssertIsOnOwningThread();
7940 MOZ_ASSERT(aRunnable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aRunnable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aRunnable))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aRunnable", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7940); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aRunnable" ")"
); do { *((volatile int*)__null) = 7940; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7941
7942 AUTO_PROFILER_LABEL("ConnectionPool::Dispatch", DOM)mozilla::AutoProfilerLabel raiiObject7942( "ConnectionPool::Dispatch"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7943
7944 auto* const transactionInfo = mTransactions.Get(aTransactionId);
7945 MOZ_ASSERT(transactionInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(transactionInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(transactionInfo))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("transactionInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7945); AnnotateMozCrashReason("MOZ_ASSERT" "(" "transactionInfo"
")"); do { *((volatile int*)__null) = 7945; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7946 MOZ_ASSERT(!transactionInfo->mFinished)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!transactionInfo->mFinished)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!transactionInfo->mFinished
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"!transactionInfo->mFinished", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7946); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!transactionInfo->mFinished"
")"); do { *((volatile int*)__null) = 7946; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7947
7948 if (transactionInfo->mRunning) {
7949 DatabaseInfo& dbInfo = transactionInfo->mDatabaseInfo;
7950 MOZ_ASSERT(dbInfo.mEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo.mEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mEventTarget))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("dbInfo.mEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7950); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mEventTarget"
")"); do { *((volatile int*)__null) = 7950; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7951 MOZ_ASSERT(!dbInfo.mClosing)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo.mClosing)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!dbInfo.mClosing))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!dbInfo.mClosing"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7951); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo.mClosing"
")"); do { *((volatile int*)__null) = 7951; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7952 MOZ_ASSERT_IF(do { if (transactionInfo->mIsWriteTransaction) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(dbInfo.
mRunningWriteTransaction && dbInfo.mRunningWriteTransaction
.refEquals(*transactionInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mRunningWriteTransaction
&& dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7955); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
")"); do { *((volatile int*)__null) = 7955; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
7953 transactionInfo->mIsWriteTransaction,do { if (transactionInfo->mIsWriteTransaction) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(dbInfo.
mRunningWriteTransaction && dbInfo.mRunningWriteTransaction
.refEquals(*transactionInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mRunningWriteTransaction
&& dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7955); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
")"); do { *((volatile int*)__null) = 7955; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
7954 dbInfo.mRunningWriteTransaction &&do { if (transactionInfo->mIsWriteTransaction) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(dbInfo.
mRunningWriteTransaction && dbInfo.mRunningWriteTransaction
.refEquals(*transactionInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mRunningWriteTransaction
&& dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7955); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
")"); do { *((volatile int*)__null) = 7955; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
7955 dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo))do { if (transactionInfo->mIsWriteTransaction) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(dbInfo.
mRunningWriteTransaction && dbInfo.mRunningWriteTransaction
.refEquals(*transactionInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mRunningWriteTransaction
&& dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7955); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mRunningWriteTransaction && dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)"
")"); do { *((volatile int*)__null) = 7955; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
7956
7957 MOZ_ALWAYS_SUCCEEDS(dbInfo.Dispatch(do_AddRef(aRunnable)))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(dbInfo.Dispatch(do_AddRef(aRunnable)))), 1)))), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(dbInfo.Dispatch(do_AddRef(aRunnable)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7957); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(dbInfo.Dispatch(do_AddRef(aRunnable)))"
")"); do { *((volatile int*)__null) = 7957; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
7958 } else {
7959 transactionInfo->mQueuedRunnables.AppendElement(aRunnable);
7960 }
7961}
7962
7963void ConnectionPool::Finish(uint64_t aTransactionId,
7964 FinishCallback* aCallback) {
7965 AssertIsOnOwningThread();
7966
7967#ifdef DEBUG1
7968 auto* const transactionInfo = mTransactions.Get(aTransactionId);
7969 MOZ_ASSERT(transactionInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(transactionInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(transactionInfo))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("transactionInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7969); AnnotateMozCrashReason("MOZ_ASSERT" "(" "transactionInfo"
")"); do { *((volatile int*)__null) = 7969; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7970 MOZ_ASSERT(!transactionInfo->mFinished)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!transactionInfo->mFinished)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!transactionInfo->mFinished
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"!transactionInfo->mFinished", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7970); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!transactionInfo->mFinished"
")"); do { *((volatile int*)__null) = 7970; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7971#endif
7972
7973 AUTO_PROFILER_LABEL("ConnectionPool::Finish", DOM)mozilla::AutoProfilerLabel raiiObject7973( "ConnectionPool::Finish"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7974
7975 RefPtr<FinishCallbackWrapper> wrapper =
7976 new FinishCallbackWrapper(this, aTransactionId, aCallback);
7977
7978 Dispatch(aTransactionId, wrapper);
7979
7980#ifdef DEBUG1
7981 transactionInfo->mFinished.Flip();
7982#endif
7983}
7984
7985void ConnectionPool::WaitForDatabaseToComplete(const nsCString& aDatabaseId,
7986 nsIRunnable* aCallback) {
7987 AssertIsOnOwningThread();
7988 MOZ_ASSERT(!aDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseId.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseId.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7988); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 7988; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7989 MOZ_ASSERT(aCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 7989); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCallback" ")"
); do { *((volatile int*)__null) = 7989; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
7990
7991 AUTO_PROFILER_LABEL("ConnectionPool::WaitForDatabaseToComplete", DOM)mozilla::AutoProfilerLabel raiiObject7991( "ConnectionPool::WaitForDatabaseToComplete"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
7992
7993 if (!CloseDatabaseWhenIdleInternal(aDatabaseId)) {
7994 Unused << aCallback->Run();
7995 return;
7996 }
7997
7998 mCompleteCallbacks.EmplaceBack(
7999 MakeUnique<DatabaseCompleteCallback>(aDatabaseId, aCallback));
8000}
8001
8002void ConnectionPool::Shutdown() {
8003 AssertIsOnOwningThread();
8004 MOZ_ASSERT(!mShutdownComplete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mShutdownComplete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mShutdownComplete))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!mShutdownComplete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8004); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mShutdownComplete"
")"); do { *((volatile int*)__null) = 8004; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8005
8006 AUTO_PROFILER_LABEL("ConnectionPool::Shutdown", DOM)mozilla::AutoProfilerLabel raiiObject8006( "ConnectionPool::Shutdown"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8007
8008 mShutdownRequested.Flip();
8009
8010 CancelIdleTimer();
8011 MOZ_ASSERT(mTargetIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mTargetIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mTargetIdleTime.IsNull()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mTargetIdleTime.IsNull()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8011); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mTargetIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 8011; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8012
8013 mIdleTimer = nullptr;
8014
8015 CloseIdleDatabases();
8016
8017 if (!mDatabases.Count()) {
8018 MOZ_ASSERT(!mTransactions.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mTransactions.Count()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mTransactions.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8018); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Count()"
")"); do { *((volatile int*)__null) = 8018; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8019
8020 Cleanup();
8021
8022 MOZ_ASSERT(mShutdownComplete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mShutdownComplete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mShutdownComplete))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mShutdownComplete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8022); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mShutdownComplete"
")"); do { *((volatile int*)__null) = 8022; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8023
8024 mIOTarget->Shutdown();
8025
8026 return;
8027 }
8028
8029 MOZ_ALWAYS_TRUE(SpinEventLoopUntil("ConnectionPool::Shutdown"_ns, [&]() {do { if ((__builtin_expect(!!(SpinEventLoopUntil("ConnectionPool::Shutdown"_ns
, [&]() { return static_cast<bool>(mShutdownComplete
); })), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "SpinEventLoopUntil(\"ConnectionPool::Shutdown\"_ns, [&]() { return static_cast<bool>(mShutdownComplete); })"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8031); AnnotateMozCrashReason("MOZ_CRASH(" "SpinEventLoopUntil(\"ConnectionPool::Shutdown\"_ns, [&]() { return static_cast<bool>(mShutdownComplete); })"
")"); do { *((volatile int*)__null) = 8031; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8030 return static_cast<bool>(mShutdownComplete);do { if ((__builtin_expect(!!(SpinEventLoopUntil("ConnectionPool::Shutdown"_ns
, [&]() { return static_cast<bool>(mShutdownComplete
); })), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "SpinEventLoopUntil(\"ConnectionPool::Shutdown\"_ns, [&]() { return static_cast<bool>(mShutdownComplete); })"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8031); AnnotateMozCrashReason("MOZ_CRASH(" "SpinEventLoopUntil(\"ConnectionPool::Shutdown\"_ns, [&]() { return static_cast<bool>(mShutdownComplete); })"
")"); do { *((volatile int*)__null) = 8031; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8031 }))do { if ((__builtin_expect(!!(SpinEventLoopUntil("ConnectionPool::Shutdown"_ns
, [&]() { return static_cast<bool>(mShutdownComplete
); })), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "SpinEventLoopUntil(\"ConnectionPool::Shutdown\"_ns, [&]() { return static_cast<bool>(mShutdownComplete); })"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8031); AnnotateMozCrashReason("MOZ_CRASH(" "SpinEventLoopUntil(\"ConnectionPool::Shutdown\"_ns, [&]() { return static_cast<bool>(mShutdownComplete); })"
")"); do { *((volatile int*)__null) = 8031; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8032
8033 mIOTarget->Shutdown();
8034}
8035
8036void ConnectionPool::Cleanup() {
8037 AssertIsOnOwningThread();
8038 MOZ_ASSERT(mShutdownRequested)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mShutdownRequested)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mShutdownRequested))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mShutdownRequested"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8038); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mShutdownRequested"
")"); do { *((volatile int*)__null) = 8038; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8039 MOZ_ASSERT(!mShutdownComplete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mShutdownComplete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mShutdownComplete))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!mShutdownComplete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8039); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mShutdownComplete"
")"); do { *((volatile int*)__null) = 8039; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8040 MOZ_ASSERT(!mDatabases.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabases.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDatabases.Count()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mDatabases.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8040); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabases.Count()"
")"); do { *((volatile int*)__null) = 8040; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8041 MOZ_ASSERT(!mTransactions.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mTransactions.Count()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mTransactions.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8041); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Count()"
")"); do { *((volatile int*)__null) = 8041; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8042
8043 AUTO_PROFILER_LABEL("ConnectionPool::Cleanup", DOM)mozilla::AutoProfilerLabel raiiObject8043( "ConnectionPool::Cleanup"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8044
8045 if (!mCompleteCallbacks.IsEmpty()) {
8046 // Run all callbacks manually now.
8047
8048 {
8049 auto completeCallbacks = std::move(mCompleteCallbacks);
8050 for (const auto& completeCallback : completeCallbacks) {
8051 MOZ_ASSERT(completeCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(completeCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(completeCallback))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("completeCallback"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8051); AnnotateMozCrashReason("MOZ_ASSERT" "(" "completeCallback"
")"); do { *((volatile int*)__null) = 8051; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8052 MOZ_ASSERT(completeCallback->mCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(completeCallback->mCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(completeCallback->mCallback
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"completeCallback->mCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8052); AnnotateMozCrashReason("MOZ_ASSERT" "(" "completeCallback->mCallback"
")"); do { *((volatile int*)__null) = 8052; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8053
8054 Unused << completeCallback->mCallback->Run();
8055 }
8056
8057 // We expect no new callbacks being completed by running the existing
8058 // ones.
8059 MOZ_ASSERT(mCompleteCallbacks.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mCompleteCallbacks.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mCompleteCallbacks.IsEmpty()
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"mCompleteCallbacks.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8059); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCompleteCallbacks.IsEmpty()"
")"); do { *((volatile int*)__null) = 8059; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8060 }
8061
8062 // And make sure they get processed.
8063 nsIThread* currentThread = NS_GetCurrentThread();
8064 MOZ_ASSERT(currentThread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(currentThread)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(currentThread))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("currentThread",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8064); AnnotateMozCrashReason("MOZ_ASSERT" "(" "currentThread"
")"); do { *((volatile int*)__null) = 8064; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8065
8066 MOZ_ALWAYS_SUCCEEDS(NS_ProcessPendingEvents(currentThread))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(NS_ProcessPendingEvents(currentThread))), 1)))), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(NS_ProcessPendingEvents(currentThread))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8066); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(NS_ProcessPendingEvents(currentThread))"
")"); do { *((volatile int*)__null) = 8066; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8067 }
8068
8069 mShutdownComplete.Flip();
8070}
8071
8072void ConnectionPool::AdjustIdleTimer() {
8073 AssertIsOnOwningThread();
8074 MOZ_ASSERT(mIdleTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIdleTimer)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mIdleTimer))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mIdleTimer", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8074); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleTimer"
")"); do { *((volatile int*)__null) = 8074; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8075
8076 AUTO_PROFILER_LABEL("ConnectionPool::AdjustIdleTimer", DOM)mozilla::AutoProfilerLabel raiiObject8076( "ConnectionPool::AdjustIdleTimer"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8077
8078 // Figure out the next time at which we should release idle resources. This
8079 // includes both databases and threads.
8080 TimeStamp newTargetIdleTime;
8081 MOZ_ASSERT(newTargetIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(newTargetIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(newTargetIdleTime.IsNull()))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("newTargetIdleTime.IsNull()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8081); AnnotateMozCrashReason("MOZ_ASSERT" "(" "newTargetIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 8081; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8082
8083 if (!mIdleDatabases.IsEmpty()) {
8084 newTargetIdleTime = mIdleDatabases[0].mIdleTime;
8085 }
8086
8087 MOZ_ASSERT_IF(newTargetIdleTime.IsNull(), mIdleDatabases.IsEmpty())do { if (newTargetIdleTime.IsNull()) { do { static_assert( mozilla
::detail::AssertionConditionType<decltype(mIdleDatabases.IsEmpty
())>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mIdleDatabases.IsEmpty()))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("mIdleDatabases.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8087); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleDatabases.IsEmpty()"
")"); do { *((volatile int*)__null) = 8087; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
8088
8089 // Cancel the timer if it was running and the new target time is different.
8090 if (!mTargetIdleTime.IsNull() &&
8091 (newTargetIdleTime.IsNull() || mTargetIdleTime != newTargetIdleTime)) {
8092 CancelIdleTimer();
8093
8094 MOZ_ASSERT(mTargetIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mTargetIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mTargetIdleTime.IsNull()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mTargetIdleTime.IsNull()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8094); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mTargetIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 8094; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8095 }
8096
8097 // Schedule the timer if we have a target time different than before.
8098 if (!newTargetIdleTime.IsNull() &&
8099 (mTargetIdleTime.IsNull() || mTargetIdleTime != newTargetIdleTime)) {
8100 double delta = (newTargetIdleTime - TimeStamp::NowLoRes()).ToMilliseconds();
8101
8102 uint32_t delay;
8103 if (delta > 0) {
8104 delay = uint32_t(std::min(delta, double(UINT32_MAX(4294967295U))));
8105 } else {
8106 delay = 0;
8107 }
8108
8109 MOZ_ALWAYS_SUCCEEDS(mIdleTimer->InitWithNamedFuncCallback(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback,
this, delay, nsITimer::TYPE_ONE_SHOT, "ConnectionPool::IdleTimerCallback"
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT, \"ConnectionPool::IdleTimerCallback\"))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8111); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT, \"ConnectionPool::IdleTimerCallback\"))"
")"); do { *((volatile int*)__null) = 8111; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8110 IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT,do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback,
this, delay, nsITimer::TYPE_ONE_SHOT, "ConnectionPool::IdleTimerCallback"
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT, \"ConnectionPool::IdleTimerCallback\"))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8111); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT, \"ConnectionPool::IdleTimerCallback\"))"
")"); do { *((volatile int*)__null) = 8111; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8111 "ConnectionPool::IdleTimerCallback"))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback,
this, delay, nsITimer::TYPE_ONE_SHOT, "ConnectionPool::IdleTimerCallback"
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT, \"ConnectionPool::IdleTimerCallback\"))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8111); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(mIdleTimer->InitWithNamedFuncCallback( IdleTimerCallback, this, delay, nsITimer::TYPE_ONE_SHOT, \"ConnectionPool::IdleTimerCallback\"))"
")"); do { *((volatile int*)__null) = 8111; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8112
8113 mTargetIdleTime = newTargetIdleTime;
8114 }
8115}
8116
8117void ConnectionPool::CancelIdleTimer() {
8118 AssertIsOnOwningThread();
8119 MOZ_ASSERT(mIdleTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIdleTimer)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mIdleTimer))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mIdleTimer", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8119); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleTimer"
")"); do { *((volatile int*)__null) = 8119; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8120
8121 if (!mTargetIdleTime.IsNull()) {
8122 MOZ_ALWAYS_SUCCEEDS(mIdleTimer->Cancel())do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mIdleTimer->Cancel())), 1)))), 1))) { } else { do { do { }
while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(mIdleTimer->Cancel())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8122); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(mIdleTimer->Cancel())"
")"); do { *((volatile int*)__null) = 8122; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8123
8124 mTargetIdleTime = TimeStamp();
8125 MOZ_ASSERT(mTargetIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mTargetIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mTargetIdleTime.IsNull()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mTargetIdleTime.IsNull()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8125); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mTargetIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 8125; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8126 }
8127}
8128
8129void ConnectionPool::CloseIdleDatabases() {
8130 AssertIsOnOwningThread();
8131 MOZ_ASSERT(mShutdownRequested)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mShutdownRequested)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mShutdownRequested))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mShutdownRequested"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8131); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mShutdownRequested"
")"); do { *((volatile int*)__null) = 8131; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8132
8133 AUTO_PROFILER_LABEL("ConnectionPool::CloseIdleDatabases", DOM)mozilla::AutoProfilerLabel raiiObject8133( "ConnectionPool::CloseIdleDatabases"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8134
8135 if (!mIdleDatabases.IsEmpty()) {
8136 for (IdleDatabaseInfo& idleInfo : mIdleDatabases) {
8137 CloseDatabase(*idleInfo.mDatabaseInfo.ref());
8138 }
8139 mIdleDatabases.Clear();
8140 }
8141
8142 if (!mDatabasesPerformingIdleMaintenance.IsEmpty()) {
8143 for (PerformingIdleMaintenanceDatabaseInfo& performingIdleMaintenanceInfo :
8144 mDatabasesPerformingIdleMaintenance) {
8145 CloseDatabase(*performingIdleMaintenanceInfo.mDatabaseInfo);
8146 }
8147 mDatabasesPerformingIdleMaintenance.Clear();
8148 }
8149}
8150
8151bool ConnectionPool::ScheduleTransaction(TransactionInfo& aTransactionInfo,
8152 bool aFromQueuedTransactions) {
8153 AssertIsOnOwningThread();
8154
8155 AUTO_PROFILER_LABEL("ConnectionPool::ScheduleTransaction", DOM)mozilla::AutoProfilerLabel raiiObject8155( "ConnectionPool::ScheduleTransaction"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8156
8157 DatabaseInfo& dbInfo = aTransactionInfo.mDatabaseInfo;
8158
8159 dbInfo.mIdle = false;
8160
8161 if (dbInfo.mClosing) {
8162 MOZ_ASSERT(!mIdleDatabases.Contains(&dbInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mIdleDatabases.Contains(&dbInfo))>::isValid,
"invalid assertion condition"); if ((__builtin_expect(!!(!(!
!(!mIdleDatabases.Contains(&dbInfo)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mIdleDatabases.Contains(&dbInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8162); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mIdleDatabases.Contains(&dbInfo)"
")"); do { *((volatile int*)__null) = 8162; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8163 MOZ_ASSERT(do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo.mTransactionsScheduledDuringClose.Contains(&
aTransactionInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!dbInfo.mTransactionsScheduledDuringClose
.Contains(&aTransactionInfo)))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("!dbInfo.mTransactionsScheduledDuringClose.Contains(&aTransactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8164); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo.mTransactionsScheduledDuringClose.Contains(&aTransactionInfo)"
")"); do { *((volatile int*)__null) = 8164; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
8164 !dbInfo.mTransactionsScheduledDuringClose.Contains(&aTransactionInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo.mTransactionsScheduledDuringClose.Contains(&
aTransactionInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!dbInfo.mTransactionsScheduledDuringClose
.Contains(&aTransactionInfo)))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("!dbInfo.mTransactionsScheduledDuringClose.Contains(&aTransactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8164); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo.mTransactionsScheduledDuringClose.Contains(&aTransactionInfo)"
")"); do { *((volatile int*)__null) = 8164; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8165
8166 dbInfo.mTransactionsScheduledDuringClose.AppendElement(
8167 WrapNotNullUnchecked(&aTransactionInfo));
8168 return true;
8169 }
8170
8171 if (!dbInfo.mEventTarget) {
8172 const uint32_t serialNumber = SerialNumber();
8173 const nsCString serialName =
8174 nsPrintfCString("IndexedDB #%" PRIu32"u", serialNumber);
8175
8176 dbInfo.mEventTarget =
8177 TaskQueue::Create(do_AddRef(mIOTarget), serialName.get());
8178 MOZ_ASSERT(dbInfo.mEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo.mEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mEventTarget))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("dbInfo.mEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8178); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mEventTarget"
")"); do { *((volatile int*)__null) = 8178; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8179 IDB_DEBUG_LOG(("ConnectionPool created task queue %" PRIu32"u", serialNumber));
8180 }
8181
8182 // The number of active operations equals the number of databases minus idle
8183 // databases. The maximum number of database operations which can make
8184 // progress at the same time is kMaxConnectionThreadCount. If we are at this
8185 // limit, all idle processing is interrupted to make room for user
8186 // transactions.
8187 if (mDatabases.Count() >=
8188 (mIdleDatabases.Length() + kMaxConnectionThreadCount) &&
8189 !mDatabasesPerformingIdleMaintenance.IsEmpty()) {
8190 const auto& busyDbs = mDatabasesPerformingIdleMaintenance;
8191 for (auto dbInfo = busyDbs.rbegin(); dbInfo != busyDbs.rend(); ++dbInfo) {
8192 (*dbInfo).mIdleConnectionRunnable->Interrupt();
8193 }
8194 }
8195
8196 if (aTransactionInfo.mIsWriteTransaction) {
8197 if (dbInfo.mRunningWriteTransaction) {
8198 // SQLite only allows one write transaction at a time so queue this
8199 // transaction for later.
8200 MOZ_ASSERT(do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8201); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo)"
")"); do { *((volatile int*)__null) = 8201; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
8201 !dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8201); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo.mScheduledWriteTransactions.Contains(&aTransactionInfo)"
")"); do { *((volatile int*)__null) = 8201; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8202
8203 dbInfo.mScheduledWriteTransactions.AppendElement(
8204 WrapNotNullUnchecked(&aTransactionInfo));
8205 return true;
8206 }
8207
8208 dbInfo.mRunningWriteTransaction = SomeRef(aTransactionInfo);
8209 dbInfo.mNeedsCheckpoint = true;
8210 }
8211
8212 MOZ_ASSERT(!aTransactionInfo.mRunning)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aTransactionInfo.mRunning)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aTransactionInfo.mRunning))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("!aTransactionInfo.mRunning"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8212); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aTransactionInfo.mRunning"
")"); do { *((volatile int*)__null) = 8212; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8213 aTransactionInfo.mRunning = true;
8214
8215 nsTArray<nsCOMPtr<nsIRunnable>>& queuedRunnables =
8216 aTransactionInfo.mQueuedRunnables;
8217
8218 if (!queuedRunnables.IsEmpty()) {
8219 for (auto& queuedRunnable : queuedRunnables) {
8220 MOZ_ALWAYS_SUCCEEDS(dbInfo.Dispatch(queuedRunnable.forget()))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(dbInfo.Dispatch(queuedRunnable.forget()))), 1)))), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(dbInfo.Dispatch(queuedRunnable.forget()))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8220); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(dbInfo.Dispatch(queuedRunnable.forget()))"
")"); do { *((volatile int*)__null) = 8220; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8221 }
8222
8223 queuedRunnables.Clear();
8224 }
8225
8226 return true;
8227}
8228
8229void ConnectionPool::NoteFinishedTransaction(uint64_t aTransactionId) {
8230 AssertIsOnOwningThread();
8231
8232 AUTO_PROFILER_LABEL("ConnectionPool::NoteFinishedTransaction", DOM)mozilla::AutoProfilerLabel raiiObject8232( "ConnectionPool::NoteFinishedTransaction"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8233
8234 auto* const transactionInfo = mTransactions.Get(aTransactionId);
8235 MOZ_ASSERT(transactionInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(transactionInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(transactionInfo))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("transactionInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8235); AnnotateMozCrashReason("MOZ_ASSERT" "(" "transactionInfo"
")"); do { *((volatile int*)__null) = 8235; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8236 MOZ_ASSERT(transactionInfo->mRunning)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(transactionInfo->mRunning)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(transactionInfo->mRunning
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"transactionInfo->mRunning", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8236); AnnotateMozCrashReason("MOZ_ASSERT" "(" "transactionInfo->mRunning"
")"); do { *((volatile int*)__null) = 8236; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8237 MOZ_ASSERT(transactionInfo->mFinished)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(transactionInfo->mFinished)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(transactionInfo->mFinished
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"transactionInfo->mFinished", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8237); AnnotateMozCrashReason("MOZ_ASSERT" "(" "transactionInfo->mFinished"
")"); do { *((volatile int*)__null) = 8237; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8238
8239 transactionInfo->mRunning = false;
8240
8241 DatabaseInfo& dbInfo = transactionInfo->mDatabaseInfo;
8242 MOZ_ASSERT(mDatabases.Get(transactionInfo->mDatabaseId) == &dbInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabases.Get(transactionInfo->mDatabaseId) == &
dbInfo)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mDatabases.Get(transactionInfo->mDatabaseId) == &
dbInfo))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mDatabases.Get(transactionInfo->mDatabaseId) == &dbInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8242); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabases.Get(transactionInfo->mDatabaseId) == &dbInfo"
")"); do { *((volatile int*)__null) = 8242; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8243 MOZ_ASSERT(dbInfo.mEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo.mEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mEventTarget))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("dbInfo.mEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8243); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mEventTarget"
")"); do { *((volatile int*)__null) = 8243; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8244
8245 // Schedule the next write transaction if there are any queued.
8246 if (dbInfo.mRunningWriteTransaction &&
8247 dbInfo.mRunningWriteTransaction.refEquals(*transactionInfo)) {
8248 MOZ_ASSERT(transactionInfo->mIsWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(transactionInfo->mIsWriteTransaction)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(transactionInfo->mIsWriteTransaction))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("transactionInfo->mIsWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8248); AnnotateMozCrashReason("MOZ_ASSERT" "(" "transactionInfo->mIsWriteTransaction"
")"); do { *((volatile int*)__null) = 8248; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8249 MOZ_ASSERT(dbInfo.mNeedsCheckpoint)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo.mNeedsCheckpoint)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mNeedsCheckpoint))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("dbInfo.mNeedsCheckpoint"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8249); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mNeedsCheckpoint"
")"); do { *((volatile int*)__null) = 8249; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8250
8251 dbInfo.mRunningWriteTransaction = Nothing();
8252
8253 if (!dbInfo.mScheduledWriteTransactions.IsEmpty()) {
8254 const auto nextWriteTransaction = dbInfo.mScheduledWriteTransactions[0];
8255
8256 dbInfo.mScheduledWriteTransactions.RemoveElementAt(0);
8257
8258 MOZ_ALWAYS_TRUE(ScheduleTransaction(*nextWriteTransaction,do { if ((__builtin_expect(!!(ScheduleTransaction(*nextWriteTransaction
, false)), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "ScheduleTransaction(*nextWriteTransaction, false)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8259); AnnotateMozCrashReason("MOZ_CRASH(" "ScheduleTransaction(*nextWriteTransaction, false)"
")"); do { *((volatile int*)__null) = 8259; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8259 /* aFromQueuedTransactions */ false))do { if ((__builtin_expect(!!(ScheduleTransaction(*nextWriteTransaction
, false)), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "ScheduleTransaction(*nextWriteTransaction, false)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8259); AnnotateMozCrashReason("MOZ_CRASH(" "ScheduleTransaction(*nextWriteTransaction, false)"
")"); do { *((volatile int*)__null) = 8259; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8260 }
8261 }
8262
8263 for (const auto& objectStoreName : transactionInfo->mObjectStoreNames) {
8264 TransactionInfoPair* blockInfo =
8265 dbInfo.mBlockingTransactions.Get(objectStoreName);
8266 MOZ_ASSERT(blockInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(blockInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(blockInfo))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("blockInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8266); AnnotateMozCrashReason("MOZ_ASSERT" "(" "blockInfo" ")"
); do { *((volatile int*)__null) = 8266; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8267
8268 if (transactionInfo->mIsWriteTransaction && blockInfo->mLastBlockingReads &&
8269 blockInfo->mLastBlockingReads.refEquals(*transactionInfo)) {
8270 blockInfo->mLastBlockingReads = Nothing();
8271 }
8272
8273 blockInfo->mLastBlockingWrites.RemoveElement(transactionInfo);
8274 }
8275
8276 transactionInfo->RemoveBlockingTransactions();
8277
8278 if (transactionInfo->mIsWriteTransaction) {
8279 MOZ_ASSERT(dbInfo.mWriteTransactionCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo.mWriteTransactionCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mWriteTransactionCount
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"dbInfo.mWriteTransactionCount", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8279); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mWriteTransactionCount"
")"); do { *((volatile int*)__null) = 8279; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8280 dbInfo.mWriteTransactionCount--;
8281 } else {
8282 MOZ_ASSERT(dbInfo.mReadTransactionCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbInfo.mReadTransactionCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbInfo.mReadTransactionCount
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"dbInfo.mReadTransactionCount", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8282); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbInfo.mReadTransactionCount"
")"); do { *((volatile int*)__null) = 8282; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8283 dbInfo.mReadTransactionCount--;
8284 }
8285
8286 mTransactions.Remove(aTransactionId);
8287
8288 if (!dbInfo.TotalTransactionCount()) {
8289 MOZ_ASSERT(!dbInfo.mIdle)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!dbInfo.mIdle)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!dbInfo.mIdle))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!dbInfo.mIdle",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8289); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!dbInfo.mIdle"
")"); do { *((volatile int*)__null) = 8289; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8290 dbInfo.mIdle = true;
8291
8292 NoteIdleDatabase(dbInfo);
8293 }
8294}
8295
8296void ConnectionPool::ScheduleQueuedTransactions() {
8297 AssertIsOnOwningThread();
8298 MOZ_ASSERT(!mQueuedTransactions.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mQueuedTransactions.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mQueuedTransactions.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mQueuedTransactions.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8298); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mQueuedTransactions.IsEmpty()"
")"); do { *((volatile int*)__null) = 8298; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8299
8300 AUTO_PROFILER_LABEL("ConnectionPool::ScheduleQueuedTransactions", DOM)mozilla::AutoProfilerLabel raiiObject8300( "ConnectionPool::ScheduleQueuedTransactions"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8301
8302 const auto foundIt = std::find_if(
8303 mQueuedTransactions.begin(), mQueuedTransactions.end(),
8304 [&me = *this](const auto& queuedTransaction) {
8305 return !me.ScheduleTransaction(*queuedTransaction,
8306 /* aFromQueuedTransactions */ true);
8307 });
8308
8309 mQueuedTransactions.RemoveElementsRange(mQueuedTransactions.begin(), foundIt);
8310
8311 AdjustIdleTimer();
8312}
8313
8314void ConnectionPool::NoteIdleDatabase(DatabaseInfo& aDatabaseInfo) {
8315 AssertIsOnOwningThread();
8316 MOZ_ASSERT(!aDatabaseInfo.TotalTransactionCount())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseInfo.TotalTransactionCount())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!aDatabaseInfo.TotalTransactionCount()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!aDatabaseInfo.TotalTransactionCount()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8316); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseInfo.TotalTransactionCount()"
")"); do { *((volatile int*)__null) = 8316; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8317 MOZ_ASSERT(aDatabaseInfo.mEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabaseInfo.mEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabaseInfo.mEventTarget))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("aDatabaseInfo.mEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8317); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabaseInfo.mEventTarget"
")"); do { *((volatile int*)__null) = 8317; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8318 MOZ_ASSERT(!mIdleDatabases.Contains(&aDatabaseInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mIdleDatabases.Contains(&aDatabaseInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mIdleDatabases.Contains(&aDatabaseInfo)))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mIdleDatabases.Contains(&aDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8318); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mIdleDatabases.Contains(&aDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8318; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8319
8320 AUTO_PROFILER_LABEL("ConnectionPool::NoteIdleDatabase", DOM)mozilla::AutoProfilerLabel raiiObject8320( "ConnectionPool::NoteIdleDatabase"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8321
8322 const bool otherDatabasesWaiting = !mQueuedTransactions.IsEmpty();
8323
8324 // We check mShutdownRequested because when it is true, mIdleTimer is null.
8325 if (mShutdownRequested || otherDatabasesWaiting ||
8326 aDatabaseInfo.mCloseOnIdle) {
8327 // Make sure we close the connection if we're shutting down or giving the
8328 // thread to another database.
8329 CloseDatabase(aDatabaseInfo);
8330
8331 if (otherDatabasesWaiting) {
8332 ScheduleQueuedTransactions();
8333 }
8334
8335 return;
8336 }
8337
8338 mIdleDatabases.InsertElementSorted(IdleDatabaseInfo{aDatabaseInfo});
8339
8340 AdjustIdleTimer();
8341}
8342
8343void ConnectionPool::NoteClosedDatabase(DatabaseInfo& aDatabaseInfo) {
8344 AssertIsOnOwningThread();
8345 MOZ_ASSERT(aDatabaseInfo.mClosing)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabaseInfo.mClosing)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabaseInfo.mClosing))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aDatabaseInfo.mClosing"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8345); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabaseInfo.mClosing"
")"); do { *((volatile int*)__null) = 8345; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8346 MOZ_ASSERT(!mIdleDatabases.Contains(&aDatabaseInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mIdleDatabases.Contains(&aDatabaseInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mIdleDatabases.Contains(&aDatabaseInfo)))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mIdleDatabases.Contains(&aDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8346); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mIdleDatabases.Contains(&aDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8346; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8347
8348 AUTO_PROFILER_LABEL("ConnectionPool::NoteClosedDatabase", DOM)mozilla::AutoProfilerLabel raiiObject8348( "ConnectionPool::NoteClosedDatabase"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8349
8350 aDatabaseInfo.mClosing = false;
8351
8352 // Schedule any transactions that were started while we were closing the
8353 // connection.
8354 if (!mQueuedTransactions.IsEmpty()) {
8355 ScheduleQueuedTransactions();
8356 } else if (!aDatabaseInfo.TotalTransactionCount() && !mShutdownRequested) {
8357 AdjustIdleTimer();
8358 }
8359
8360 // Schedule any transactions that were started while we were closing the
8361 // connection.
8362 if (aDatabaseInfo.TotalTransactionCount()) {
8363 auto& scheduledTransactions =
8364 aDatabaseInfo.mTransactionsScheduledDuringClose;
8365
8366 MOZ_ASSERT(!scheduledTransactions.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!scheduledTransactions.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!scheduledTransactions.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!scheduledTransactions.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8366); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!scheduledTransactions.IsEmpty()"
")"); do { *((volatile int*)__null) = 8366; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8367
8368 for (const auto& scheduledTransaction : scheduledTransactions) {
8369 Unused << ScheduleTransaction(*scheduledTransaction,
8370 /* aFromQueuedTransactions */ false);
8371 }
8372
8373 scheduledTransactions.Clear();
8374
8375 return;
8376 }
8377
8378 // There are no more transactions and the connection has been closed. We're
8379 // done with this database.
8380 {
8381 MutexAutoLock lock(mDatabasesMutex);
8382
8383 mDatabases.Remove(aDatabaseInfo.mDatabaseId);
8384 }
8385
8386 // That just deleted |aDatabaseInfo|, we must not access that below.
8387
8388 // See if we need to fire any complete callbacks now that the database is
8389 // finished.
8390 mCompleteCallbacks.RemoveLastElements(
8391 mCompleteCallbacks.end() -
8392 std::remove_if(mCompleteCallbacks.begin(), mCompleteCallbacks.end(),
8393 [&me = *this](const auto& completeCallback) {
8394 return me.MaybeFireCallback(completeCallback.get());
8395 }));
8396
8397 // If that was the last database and we're supposed to be shutting down then
8398 // we are finished.
8399 if (mShutdownRequested && !mDatabases.Count()) {
8400 MOZ_ASSERT(!mTransactions.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mTransactions.Count()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mTransactions.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8400); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Count()"
")"); do { *((volatile int*)__null) = 8400; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8401 Cleanup();
8402 }
8403}
8404
8405bool ConnectionPool::MaybeFireCallback(DatabaseCompleteCallback* aCallback) {
8406 AssertIsOnOwningThread();
8407 MOZ_ASSERT(aCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8407); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCallback" ")"
); do { *((volatile int*)__null) = 8407; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8408 MOZ_ASSERT(!aCallback->mDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aCallback->mDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aCallback->mDatabaseId.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!aCallback->mDatabaseId.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8408); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aCallback->mDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 8408; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8409 MOZ_ASSERT(aCallback->mCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCallback->mCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCallback->mCallback))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aCallback->mCallback"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8409); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCallback->mCallback"
")"); do { *((volatile int*)__null) = 8409; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8410
8411 AUTO_PROFILER_LABEL("ConnectionPool::MaybeFireCallback", DOM)mozilla::AutoProfilerLabel raiiObject8411( "ConnectionPool::MaybeFireCallback"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8412
8413 if (mDatabases.Get(aCallback->mDatabaseId)) {
8414 return false;
8415 }
8416
8417 Unused << aCallback->mCallback->Run();
8418 return true;
8419}
8420
8421void ConnectionPool::PerformIdleDatabaseMaintenance(
8422 DatabaseInfo& aDatabaseInfo) {
8423 AssertIsOnOwningThread();
8424 MOZ_ASSERT(!aDatabaseInfo.TotalTransactionCount())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseInfo.TotalTransactionCount())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!aDatabaseInfo.TotalTransactionCount()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!aDatabaseInfo.TotalTransactionCount()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8424); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseInfo.TotalTransactionCount()"
")"); do { *((volatile int*)__null) = 8424; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8425 MOZ_ASSERT(aDatabaseInfo.mEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabaseInfo.mEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabaseInfo.mEventTarget))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("aDatabaseInfo.mEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8425); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabaseInfo.mEventTarget"
")"); do { *((volatile int*)__null) = 8425; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8426 MOZ_ASSERT(aDatabaseInfo.mIdle)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabaseInfo.mIdle)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabaseInfo.mIdle))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("aDatabaseInfo.mIdle"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8426); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabaseInfo.mIdle"
")"); do { *((volatile int*)__null) = 8426; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8427 MOZ_ASSERT(!aDatabaseInfo.mCloseOnIdle)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseInfo.mCloseOnIdle)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseInfo.mCloseOnIdle)
)), 0))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseInfo.mCloseOnIdle"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8427); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseInfo.mCloseOnIdle"
")"); do { *((volatile int*)__null) = 8427; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8428 MOZ_ASSERT(!aDatabaseInfo.mClosing)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseInfo.mClosing)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseInfo.mClosing))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseInfo.mClosing"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8428); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseInfo.mClosing"
")"); do { *((volatile int*)__null) = 8428; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8429 MOZ_ASSERT(mIdleDatabases.Contains(&aDatabaseInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIdleDatabases.Contains(&aDatabaseInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mIdleDatabases.Contains(&aDatabaseInfo)))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mIdleDatabases.Contains(&aDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8429); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleDatabases.Contains(&aDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8429; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8430 MOZ_ASSERT(!mDatabasesPerformingIdleMaintenance.Contains(&aDatabaseInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabasesPerformingIdleMaintenance.Contains(&aDatabaseInfo
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!mDatabasesPerformingIdleMaintenance.Contains(&aDatabaseInfo
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mDatabasesPerformingIdleMaintenance.Contains(&aDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8430); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabasesPerformingIdleMaintenance.Contains(&aDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8430; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8431
8432 const bool neededCheckpoint = aDatabaseInfo.mNeedsCheckpoint;
8433
8434 aDatabaseInfo.mNeedsCheckpoint = false;
8435 aDatabaseInfo.mIdle = false;
8436
8437 auto idleConnectionRunnable =
8438 MakeRefPtr<IdleConnectionRunnable>(aDatabaseInfo, neededCheckpoint);
8439
8440 mDatabasesPerformingIdleMaintenance.AppendElement(
8441 PerformingIdleMaintenanceDatabaseInfo{aDatabaseInfo,
8442 idleConnectionRunnable});
8443
8444 MOZ_ALWAYS_SUCCEEDS(aDatabaseInfo.mEventTarget->Dispatch(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aDatabaseInfo.mEventTarget->Dispatch( idleConnectionRunnable
.forget(), nsIEventTarget::DISPATCH_NORMAL))), 1)))), 1))) { }
else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(aDatabaseInfo.mEventTarget->Dispatch( idleConnectionRunnable.forget(), nsIEventTarget::DISPATCH_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8445); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aDatabaseInfo.mEventTarget->Dispatch( idleConnectionRunnable.forget(), nsIEventTarget::DISPATCH_NORMAL))"
")"); do { *((volatile int*)__null) = 8445; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8445 idleConnectionRunnable.forget(), NS_DISPATCH_NORMAL))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aDatabaseInfo.mEventTarget->Dispatch( idleConnectionRunnable
.forget(), nsIEventTarget::DISPATCH_NORMAL))), 1)))), 1))) { }
else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(aDatabaseInfo.mEventTarget->Dispatch( idleConnectionRunnable.forget(), nsIEventTarget::DISPATCH_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8445); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aDatabaseInfo.mEventTarget->Dispatch( idleConnectionRunnable.forget(), nsIEventTarget::DISPATCH_NORMAL))"
")"); do { *((volatile int*)__null) = 8445; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8446}
8447
8448void ConnectionPool::CloseDatabase(DatabaseInfo& aDatabaseInfo) const {
8449 AssertIsOnOwningThread();
8450 MOZ_DIAGNOSTIC_ASSERT(!aDatabaseInfo.TotalTransactionCount())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseInfo.TotalTransactionCount())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!aDatabaseInfo.TotalTransactionCount()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!aDatabaseInfo.TotalTransactionCount()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8450); AnnotateMozCrashReason("MOZ_DIAGNOSTIC_ASSERT" "(" "!aDatabaseInfo.TotalTransactionCount()"
")"); do { *((volatile int*)__null) = 8450; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8451 MOZ_ASSERT(aDatabaseInfo.mEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabaseInfo.mEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabaseInfo.mEventTarget))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("aDatabaseInfo.mEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8451); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabaseInfo.mEventTarget"
")"); do { *((volatile int*)__null) = 8451; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8452 MOZ_ASSERT(!aDatabaseInfo.mClosing)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseInfo.mClosing)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseInfo.mClosing))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseInfo.mClosing"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8452); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseInfo.mClosing"
")"); do { *((volatile int*)__null) = 8452; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8453
8454 aDatabaseInfo.mIdle = false;
8455 aDatabaseInfo.mNeedsCheckpoint = false;
8456 aDatabaseInfo.mClosing = true;
8457
8458 MOZ_ALWAYS_SUCCEEDS(aDatabaseInfo.Dispatch(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aDatabaseInfo.Dispatch( MakeAndAddRef<CloseConnectionRunnable
>(aDatabaseInfo)))), 1)))), 1))) { } else { do { do { } while
(false); MOZ_ReportCrash("" "NS_SUCCEEDED(aDatabaseInfo.Dispatch( MakeAndAddRef<CloseConnectionRunnable>(aDatabaseInfo)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8459); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aDatabaseInfo.Dispatch( MakeAndAddRef<CloseConnectionRunnable>(aDatabaseInfo)))"
")"); do { *((volatile int*)__null) = 8459; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8459 MakeAndAddRef<CloseConnectionRunnable>(aDatabaseInfo)))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(aDatabaseInfo.Dispatch( MakeAndAddRef<CloseConnectionRunnable
>(aDatabaseInfo)))), 1)))), 1))) { } else { do { do { } while
(false); MOZ_ReportCrash("" "NS_SUCCEEDED(aDatabaseInfo.Dispatch( MakeAndAddRef<CloseConnectionRunnable>(aDatabaseInfo)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8459); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(aDatabaseInfo.Dispatch( MakeAndAddRef<CloseConnectionRunnable>(aDatabaseInfo)))"
")"); do { *((volatile int*)__null) = 8459; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8460}
8461
8462bool ConnectionPool::CloseDatabaseWhenIdleInternal(
8463 const nsACString& aDatabaseId) {
8464 AssertIsOnOwningThread();
8465 MOZ_ASSERT(!aDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseId.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseId.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8465); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 8465; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8466
8467 AUTO_PROFILER_LABEL("ConnectionPool::CloseDatabaseWhenIdleInternal", DOM)mozilla::AutoProfilerLabel raiiObject8467( "ConnectionPool::CloseDatabaseWhenIdleInternal"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8468
8469 if (DatabaseInfo* dbInfo = mDatabases.Get(aDatabaseId)) {
8470 if (mIdleDatabases.RemoveElement(dbInfo) ||
8471 mDatabasesPerformingIdleMaintenance.RemoveElement(dbInfo)) {
8472 CloseDatabase(*dbInfo);
8473 AdjustIdleTimer();
8474 } else {
8475 dbInfo->mCloseOnIdle.EnsureFlipped();
8476 }
8477
8478 return true;
8479 }
8480
8481 return false;
8482}
8483
8484ConnectionPool::ConnectionRunnable::ConnectionRunnable(
8485 DatabaseInfo& aDatabaseInfo)
8486 : Runnable("dom::indexedDB::ConnectionPool::ConnectionRunnable"),
8487 mDatabaseInfo(aDatabaseInfo),
8488 mOwningEventTarget(GetCurrentSerialEventTarget()) {
8489 AssertIsOnBackgroundThread();
8490 MOZ_ASSERT(aDatabaseInfo.mConnectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDatabaseInfo.mConnectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDatabaseInfo.mConnectionPool
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aDatabaseInfo.mConnectionPool", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8490); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDatabaseInfo.mConnectionPool"
")"); do { *((volatile int*)__null) = 8490; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8491 aDatabaseInfo.mConnectionPool->AssertIsOnOwningThread();
8492 MOZ_ASSERT(mOwningEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOwningEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOwningEventTarget))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mOwningEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8492); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOwningEventTarget"
")"); do { *((volatile int*)__null) = 8492; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8493}
8494
8495NS_IMETHODIMPnsresult
8496ConnectionPool::IdleConnectionRunnable::Run() {
8497 MOZ_ASSERT(!mDatabaseInfo.mIdle)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabaseInfo.mIdle)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDatabaseInfo.mIdle))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mDatabaseInfo.mIdle"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8497); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabaseInfo.mIdle"
")"); do { *((volatile int*)__null) = 8497; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8498
8499 const nsCOMPtr<nsIEventTarget> owningThread = std::move(mOwningEventTarget);
8500
8501 if (owningThread) {
8502 mDatabaseInfo.AssertIsOnConnectionThread();
8503
8504 // The connection could be null if EnsureConnection() didn't run or was not
8505 // successful in TransactionDatabaseOperationBase::RunOnConnectionThread().
8506 if (mDatabaseInfo.mConnection) {
8507 mDatabaseInfo.mConnection->DoIdleProcessing(mNeedsCheckpoint,
8508 mInterrupted);
8509 }
8510
8511 MOZ_ALWAYS_SUCCEEDS(owningThread->Dispatch(this, NS_DISPATCH_NORMAL))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(owningThread->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(owningThread->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8511); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(owningThread->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL))"
")"); do { *((volatile int*)__null) = 8511; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8512 return NS_OK;
8513 }
8514
8515 AssertIsOnBackgroundThread();
8516
8517 RefPtr<ConnectionPool> connectionPool = mDatabaseInfo.mConnectionPool;
8518 MOZ_ASSERT(connectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(connectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(connectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("connectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8518); AnnotateMozCrashReason("MOZ_ASSERT" "(" "connectionPool"
")"); do { *((volatile int*)__null) = 8518; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8519
8520 if (mDatabaseInfo.mClosing || mDatabaseInfo.TotalTransactionCount()) {
8521 MOZ_ASSERT(!connectionPool->mDatabasesPerformingIdleMaintenance.Contains(do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!connectionPool->mDatabasesPerformingIdleMaintenance
.Contains( &mDatabaseInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!connectionPool->mDatabasesPerformingIdleMaintenance
.Contains( &mDatabaseInfo)))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("!connectionPool->mDatabasesPerformingIdleMaintenance.Contains( &mDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8522); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!connectionPool->mDatabasesPerformingIdleMaintenance.Contains( &mDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8522; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
8522 &mDatabaseInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!connectionPool->mDatabasesPerformingIdleMaintenance
.Contains( &mDatabaseInfo))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!connectionPool->mDatabasesPerformingIdleMaintenance
.Contains( &mDatabaseInfo)))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("!connectionPool->mDatabasesPerformingIdleMaintenance.Contains( &mDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8522); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!connectionPool->mDatabasesPerformingIdleMaintenance.Contains( &mDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8522; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8523 } else {
8524 MOZ_ALWAYS_TRUE(do { if ((__builtin_expect(!!(connectionPool->mDatabasesPerformingIdleMaintenance
.RemoveElement( &mDatabaseInfo)), 1))) { } else { do { do
{ } while (false); MOZ_ReportCrash("" "connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement( &mDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8526); AnnotateMozCrashReason("MOZ_CRASH(" "connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement( &mDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8526; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8525 connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement(do { if ((__builtin_expect(!!(connectionPool->mDatabasesPerformingIdleMaintenance
.RemoveElement( &mDatabaseInfo)), 1))) { } else { do { do
{ } while (false); MOZ_ReportCrash("" "connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement( &mDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8526); AnnotateMozCrashReason("MOZ_CRASH(" "connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement( &mDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8526; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8526 &mDatabaseInfo))do { if ((__builtin_expect(!!(connectionPool->mDatabasesPerformingIdleMaintenance
.RemoveElement( &mDatabaseInfo)), 1))) { } else { do { do
{ } while (false); MOZ_ReportCrash("" "connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement( &mDatabaseInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8526); AnnotateMozCrashReason("MOZ_CRASH(" "connectionPool->mDatabasesPerformingIdleMaintenance.RemoveElement( &mDatabaseInfo)"
")"); do { *((volatile int*)__null) = 8526; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8527
8528 connectionPool->NoteIdleDatabase(mDatabaseInfo);
8529 }
8530
8531 return NS_OK;
8532}
8533
8534NS_IMETHODIMPnsresult
8535ConnectionPool::CloseConnectionRunnable::Run() {
8536 AUTO_PROFILER_LABEL("ConnectionPool::CloseConnectionRunnable::Run", DOM)mozilla::AutoProfilerLabel raiiObject8536( "ConnectionPool::CloseConnectionRunnable::Run"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8537
8538 if (mOwningEventTarget) {
8539 MOZ_ASSERT(mDatabaseInfo.mClosing)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabaseInfo.mClosing)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabaseInfo.mClosing))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mDatabaseInfo.mClosing"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8539); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabaseInfo.mClosing"
")"); do { *((volatile int*)__null) = 8539; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8540
8541 const nsCOMPtr<nsIEventTarget> owningThread = std::move(mOwningEventTarget);
8542
8543 // The connection could be null if EnsureConnection() didn't run or was not
8544 // successful in TransactionDatabaseOperationBase::RunOnConnectionThread().
8545 if (mDatabaseInfo.mConnection) {
8546 mDatabaseInfo.AssertIsOnConnectionThread();
8547
8548 mDatabaseInfo.mConnection->Close();
8549
8550 IDB_DEBUG_LOG(("ConnectionPool closed connection 0x%p",
8551 mDatabaseInfo.mConnection.get()));
8552
8553 mDatabaseInfo.mConnection = nullptr;
8554
8555#ifdef DEBUG1
8556 mDatabaseInfo.mDEBUGConnectionEventTarget = nullptr;
8557#endif
8558 }
8559
8560 MOZ_ALWAYS_SUCCEEDS(owningThread->Dispatch(this, NS_DISPATCH_NORMAL))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(owningThread->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(owningThread->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8560); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(owningThread->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL))"
")"); do { *((volatile int*)__null) = 8560; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8561 return NS_OK;
8562 }
8563
8564 RefPtr<ConnectionPool> connectionPool = mDatabaseInfo.mConnectionPool;
8565 MOZ_ASSERT(connectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(connectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(connectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("connectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8565); AnnotateMozCrashReason("MOZ_ASSERT" "(" "connectionPool"
")"); do { *((volatile int*)__null) = 8565; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8566
8567 connectionPool->NoteClosedDatabase(mDatabaseInfo);
8568 return NS_OK;
8569}
8570
8571ConnectionPool::DatabaseInfo::DatabaseInfo(ConnectionPool* aConnectionPool,
8572 const nsACString& aDatabaseId)
8573 : mConnectionPool(aConnectionPool),
8574 mDatabaseId(aDatabaseId),
8575 mReadTransactionCount(0),
8576 mWriteTransactionCount(0),
8577 mNeedsCheckpoint(false),
8578 mIdle(false),
8579 mClosing(false)
8580#ifdef DEBUG1
8581 ,
8582 mDEBUGConnectionEventTarget(nullptr)
8583#endif
8584{
8585 AssertIsOnBackgroundThread();
8586 MOZ_ASSERT(aConnectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aConnectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aConnectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aConnectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8586); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aConnectionPool"
")"); do { *((volatile int*)__null) = 8586; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8587 aConnectionPool->AssertIsOnOwningThread();
8588 MOZ_ASSERT(!aDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aDatabaseId.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aDatabaseId.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8588); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 8588; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8589
8590 MOZ_COUNT_CTOR(ConnectionPool::DatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::DatabaseInfo
>, "Token '" "ConnectionPool::DatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::DatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::DatabaseInfo"
, sizeof(*this)); } while (0)
;
8591}
8592
8593ConnectionPool::DatabaseInfo::~DatabaseInfo() {
8594 AssertIsOnBackgroundThread();
8595 MOZ_ASSERT(!mConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mConnection))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8595); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mConnection"
")"); do { *((volatile int*)__null) = 8595; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8596 MOZ_ASSERT(mScheduledWriteTransactions.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mScheduledWriteTransactions.IsEmpty())>::isValid,
"invalid assertion condition"); if ((__builtin_expect(!!(!(!
!(mScheduledWriteTransactions.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mScheduledWriteTransactions.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8596); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mScheduledWriteTransactions.IsEmpty()"
")"); do { *((volatile int*)__null) = 8596; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8597 MOZ_ASSERT(!mRunningWriteTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mRunningWriteTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mRunningWriteTransaction)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("!mRunningWriteTransaction"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8597); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mRunningWriteTransaction"
")"); do { *((volatile int*)__null) = 8597; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8598 MOZ_ASSERT(!TotalTransactionCount())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!TotalTransactionCount())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!TotalTransactionCount()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!TotalTransactionCount()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8598); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!TotalTransactionCount()"
")"); do { *((volatile int*)__null) = 8598; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8599
8600 MOZ_COUNT_DTOR(ConnectionPool::DatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::DatabaseInfo
>, "Token '" "ConnectionPool::DatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::DatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::DatabaseInfo"
, sizeof(*this)); } while (0)
;
8601}
8602
8603nsresult ConnectionPool::DatabaseInfo::Dispatch(
8604 already_AddRefed<nsIRunnable> aRunnable) {
8605 nsCOMPtr<nsIRunnable> runnable = aRunnable;
8606
8607#ifdef DEBUG1
8608 if (kDEBUGTransactionThreadSleepMS) {
8609 runnable = MakeRefPtr<TransactionRunnable>(std::move(runnable));
8610 }
8611#endif
8612
8613 return mEventTarget->Dispatch(runnable.forget(), NS_DISPATCH_NORMALnsIEventTarget::DISPATCH_NORMAL);
8614}
8615
8616ConnectionPool::DatabaseCompleteCallback::DatabaseCompleteCallback(
8617 const nsCString& aDatabaseId, nsIRunnable* aCallback)
8618 : mDatabaseId(aDatabaseId), mCallback(aCallback) {
8619 AssertIsOnBackgroundThread();
8620 MOZ_ASSERT(!mDatabaseId.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mDatabaseId.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mDatabaseId.IsEmpty()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mDatabaseId.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8620); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mDatabaseId.IsEmpty()"
")"); do { *((volatile int*)__null) = 8620; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8621 MOZ_ASSERT(aCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8621); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCallback" ")"
); do { *((volatile int*)__null) = 8621; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8622
8623 MOZ_COUNT_CTOR(ConnectionPool::DatabaseCompleteCallback)do { static_assert(std::is_class_v<ConnectionPool::DatabaseCompleteCallback
>, "Token '" "ConnectionPool::DatabaseCompleteCallback" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::DatabaseCompleteCallback>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::DatabaseCompleteCallback"
, sizeof(*this)); } while (0)
;
8624}
8625
8626ConnectionPool::DatabaseCompleteCallback::~DatabaseCompleteCallback() {
8627 AssertIsOnBackgroundThread();
8628
8629 MOZ_COUNT_DTOR(ConnectionPool::DatabaseCompleteCallback)do { static_assert(std::is_class_v<ConnectionPool::DatabaseCompleteCallback
>, "Token '" "ConnectionPool::DatabaseCompleteCallback" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::DatabaseCompleteCallback>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::DatabaseCompleteCallback"
, sizeof(*this)); } while (0)
;
8630}
8631
8632ConnectionPool::FinishCallbackWrapper::FinishCallbackWrapper(
8633 ConnectionPool* aConnectionPool, uint64_t aTransactionId,
8634 FinishCallback* aCallback)
8635 : Runnable("dom::indexedDB::ConnectionPool::FinishCallbackWrapper"),
8636 mConnectionPool(aConnectionPool),
8637 mCallback(aCallback),
8638 mOwningEventTarget(GetCurrentSerialEventTarget()),
8639 mTransactionId(aTransactionId),
8640 mHasRunOnce(false) {
8641 AssertIsOnBackgroundThread();
8642 MOZ_ASSERT(aConnectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aConnectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aConnectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aConnectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8642); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aConnectionPool"
")"); do { *((volatile int*)__null) = 8642; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8643 MOZ_ASSERT(aCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8643); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aCallback" ")"
); do { *((volatile int*)__null) = 8643; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8644 MOZ_ASSERT(mOwningEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOwningEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOwningEventTarget))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mOwningEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8644); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOwningEventTarget"
")"); do { *((volatile int*)__null) = 8644; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8645}
8646
8647ConnectionPool::FinishCallbackWrapper::~FinishCallbackWrapper() {
8648 MOZ_ASSERT(!mConnectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mConnectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mConnectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mConnectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8648); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mConnectionPool"
")"); do { *((volatile int*)__null) = 8648; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8649 MOZ_ASSERT(!mCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mCallback))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("!mCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8649); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mCallback"
")"); do { *((volatile int*)__null) = 8649; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8650}
8651
8652nsresult ConnectionPool::FinishCallbackWrapper::Run() {
8653 MOZ_ASSERT(mConnectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mConnectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mConnectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mConnectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8653); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mConnectionPool"
")"); do { *((volatile int*)__null) = 8653; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8654 MOZ_ASSERT(mCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8654); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCallback" ")"
); do { *((volatile int*)__null) = 8654; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8655 MOZ_ASSERT(mOwningEventTarget)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOwningEventTarget)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOwningEventTarget))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("mOwningEventTarget"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8655); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOwningEventTarget"
")"); do { *((volatile int*)__null) = 8655; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8656
8657 AUTO_PROFILER_LABEL("ConnectionPool::FinishCallbackWrapper::Run", DOM)mozilla::AutoProfilerLabel raiiObject8657( "ConnectionPool::FinishCallbackWrapper::Run"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
8658
8659 if (!mHasRunOnce) {
8660 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8660); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 8660; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8661
8662 mHasRunOnce = true;
8663
8664 Unused << mCallback->Run();
8665
8666 MOZ_ALWAYS_SUCCEEDS(mOwningEventTarget->Dispatch(this, NS_DISPATCH_NORMAL))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mOwningEventTarget->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(mOwningEventTarget->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8666); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(mOwningEventTarget->Dispatch(this, nsIEventTarget::DISPATCH_NORMAL))"
")"); do { *((volatile int*)__null) = 8666; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8667
8668 return NS_OK;
8669 }
8670
8671 mConnectionPool->AssertIsOnOwningThread();
8672 MOZ_ASSERT(mHasRunOnce)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mHasRunOnce)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mHasRunOnce))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mHasRunOnce", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8672); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mHasRunOnce"
")"); do { *((volatile int*)__null) = 8672; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8673
8674 RefPtr<ConnectionPool> connectionPool = std::move(mConnectionPool);
8675 RefPtr<FinishCallback> callback = std::move(mCallback);
8676
8677 callback->TransactionFinishedBeforeUnblock();
8678
8679 connectionPool->NoteFinishedTransaction(mTransactionId);
8680
8681 callback->TransactionFinishedAfterUnblock();
8682
8683 return NS_OK;
8684}
8685
8686uint32_t ConnectionPool::sSerialNumber = 0u;
8687
8688#ifdef DEBUG1
8689
8690ConnectionPool::TransactionRunnable::TransactionRunnable(
8691 nsCOMPtr<nsIRunnable> aRunnable)
8692 : Runnable("dom::indexedDB::ConnectionPool::TransactionRunnable"),
8693 mRunnable(std::move(aRunnable)) {
8694 AssertIsOnBackgroundThread();
8695 MOZ_ASSERT(kDEBUGTransactionThreadSleepMS)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(kDEBUGTransactionThreadSleepMS)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(kDEBUGTransactionThreadSleepMS
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"kDEBUGTransactionThreadSleepMS", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8695); AnnotateMozCrashReason("MOZ_ASSERT" "(" "kDEBUGTransactionThreadSleepMS"
")"); do { *((volatile int*)__null) = 8695; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8696}
8697
8698nsresult ConnectionPool::TransactionRunnable::Run() {
8699 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8699); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 8699; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8700
8701 QM_TRY(MOZ_TO_RESULT(mRunnable->Run())){auto tryResult966 = (ToResult(mRunnable->Run())); static_assert
(std::is_empty_v<typename decltype(tryResult966)::ok_type>
); if ((__builtin_expect(!!(tryResult966.isErr()), 0))) { mozilla
::dom::quota::HandleError("ToResult(mRunnable->Run())", tryResult966
.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8701, mozilla::dom::quota::Severity::Error); return tryResult966
.propagateErr(); }}
;
8702
8703 MOZ_ALWAYS_TRUE(PR_Sleep(PR_MillisecondsToInterval(do { if ((__builtin_expect(!!(PR_Sleep(PR_MillisecondsToInterval
( kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "PR_Sleep(PR_MillisecondsToInterval( kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8704); AnnotateMozCrashReason("MOZ_CRASH(" "PR_Sleep(PR_MillisecondsToInterval( kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS"
")"); do { *((volatile int*)__null) = 8704; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
8704 kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS)do { if ((__builtin_expect(!!(PR_Sleep(PR_MillisecondsToInterval
( kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "PR_Sleep(PR_MillisecondsToInterval( kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8704); AnnotateMozCrashReason("MOZ_CRASH(" "PR_Sleep(PR_MillisecondsToInterval( kDEBUGTransactionThreadSleepMS)) == PR_SUCCESS"
")"); do { *((volatile int*)__null) = 8704; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
8705
8706 return NS_OK;
8707}
8708
8709#endif
8710
8711ConnectionPool::IdleResource::IdleResource(const TimeStamp& aIdleTime)
8712 : mIdleTime(aIdleTime) {
8713 AssertIsOnBackgroundThread();
8714 MOZ_ASSERT(!aIdleTime.IsNull())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aIdleTime.IsNull())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aIdleTime.IsNull()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!aIdleTime.IsNull()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8714); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aIdleTime.IsNull()"
")"); do { *((volatile int*)__null) = 8714; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8715
8716 MOZ_COUNT_CTOR(ConnectionPool::IdleResource)do { static_assert(std::is_class_v<ConnectionPool::IdleResource
>, "Token '" "ConnectionPool::IdleResource" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::IdleResource>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::IdleResource"
, sizeof(*this)); } while (0)
;
8717}
8718
8719ConnectionPool::IdleResource::~IdleResource() {
8720 AssertIsOnBackgroundThread();
8721
8722 MOZ_COUNT_DTOR(ConnectionPool::IdleResource)do { static_assert(std::is_class_v<ConnectionPool::IdleResource
>, "Token '" "ConnectionPool::IdleResource" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::IdleResource>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::IdleResource"
, sizeof(*this)); } while (0)
;
8723}
8724
8725ConnectionPool::IdleDatabaseInfo::IdleDatabaseInfo(DatabaseInfo& aDatabaseInfo)
8726 : IdleResource(
8727 TimeStamp::NowLoRes() +
8728 (aDatabaseInfo.mIdle
8729 ? TimeDuration::FromMilliseconds(kConnectionIdleMaintenanceMS)
8730 : TimeDuration::FromMilliseconds(kConnectionIdleCloseMS))),
8731 mDatabaseInfo(WrapNotNullUnchecked(&aDatabaseInfo)) {
8732 AssertIsOnBackgroundThread();
8733
8734 MOZ_COUNT_CTOR(ConnectionPool::IdleDatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::IdleDatabaseInfo
>, "Token '" "ConnectionPool::IdleDatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::IdleDatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::IdleDatabaseInfo"
, sizeof(*this)); } while (0)
;
8735}
8736
8737ConnectionPool::IdleDatabaseInfo::~IdleDatabaseInfo() {
8738 AssertIsOnBackgroundThread();
8739
8740 MOZ_COUNT_DTOR(ConnectionPool::IdleDatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::IdleDatabaseInfo
>, "Token '" "ConnectionPool::IdleDatabaseInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::IdleDatabaseInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::IdleDatabaseInfo"
, sizeof(*this)); } while (0)
;
8741}
8742
8743ConnectionPool::PerformingIdleMaintenanceDatabaseInfo::
8744 PerformingIdleMaintenanceDatabaseInfo(
8745 DatabaseInfo& aDatabaseInfo,
8746 RefPtr<IdleConnectionRunnable> aIdleConnectionRunnable)
8747 : mDatabaseInfo(WrapNotNullUnchecked(&aDatabaseInfo)),
8748 mIdleConnectionRunnable(std::move(aIdleConnectionRunnable)) {
8749 AssertIsOnBackgroundThread();
8750 MOZ_ASSERT(mIdleConnectionRunnable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mIdleConnectionRunnable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mIdleConnectionRunnable))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("mIdleConnectionRunnable"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8750); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mIdleConnectionRunnable"
")"); do { *((volatile int*)__null) = 8750; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8751
8752 MOZ_COUNT_CTOR(ConnectionPool::PerformingIdleMaintenanceDatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::PerformingIdleMaintenanceDatabaseInfo
>, "Token '" "ConnectionPool::PerformingIdleMaintenanceDatabaseInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ConnectionPool::PerformingIdleMaintenanceDatabaseInfo
>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::PerformingIdleMaintenanceDatabaseInfo"
, sizeof(*this)); } while (0)
;
8753}
8754
8755ConnectionPool::PerformingIdleMaintenanceDatabaseInfo::
8756 ~PerformingIdleMaintenanceDatabaseInfo() {
8757 AssertIsOnBackgroundThread();
8758
8759 MOZ_COUNT_DTOR(ConnectionPool::PerformingIdleMaintenanceDatabaseInfo)do { static_assert(std::is_class_v<ConnectionPool::PerformingIdleMaintenanceDatabaseInfo
>, "Token '" "ConnectionPool::PerformingIdleMaintenanceDatabaseInfo"
"' is not a class type."); static_assert(!std::is_base_of<
nsISupports, ConnectionPool::PerformingIdleMaintenanceDatabaseInfo
>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::PerformingIdleMaintenanceDatabaseInfo"
, sizeof(*this)); } while (0)
;
8760}
8761
8762ConnectionPool::TransactionInfo::TransactionInfo(
8763 DatabaseInfo& aDatabaseInfo, const nsID& aBackgroundChildLoggingId,
8764 const nsACString& aDatabaseId, uint64_t aTransactionId,
8765 int64_t aLoggingSerialNumber, const nsTArray<nsString>& aObjectStoreNames,
8766 bool aIsWriteTransaction, TransactionDatabaseOperationBase* aTransactionOp)
8767 : mDatabaseInfo(aDatabaseInfo),
8768 mBackgroundChildLoggingId(aBackgroundChildLoggingId),
8769 mDatabaseId(aDatabaseId),
8770 mTransactionId(aTransactionId),
8771 mLoggingSerialNumber(aLoggingSerialNumber),
8772 mObjectStoreNames(aObjectStoreNames.Clone()),
8773 mIsWriteTransaction(aIsWriteTransaction),
8774 mRunning(false) {
8775 AssertIsOnBackgroundThread();
8776 aDatabaseInfo.mConnectionPool->AssertIsOnOwningThread();
8777
8778 MOZ_COUNT_CTOR(ConnectionPool::TransactionInfo)do { static_assert(std::is_class_v<ConnectionPool::TransactionInfo
>, "Token '" "ConnectionPool::TransactionInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::TransactionInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::TransactionInfo"
, sizeof(*this)); } while (0)
;
8779
8780 if (aTransactionOp) {
8781 mQueuedRunnables.AppendElement(aTransactionOp);
8782 }
8783}
8784
8785ConnectionPool::TransactionInfo::~TransactionInfo() {
8786 AssertIsOnBackgroundThread();
8787 MOZ_ASSERT(!mBlockedOn.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mBlockedOn.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mBlockedOn.Count()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!mBlockedOn.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8787); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mBlockedOn.Count()"
")"); do { *((volatile int*)__null) = 8787; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8788 MOZ_ASSERT(mQueuedRunnables.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mQueuedRunnables.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mQueuedRunnables.IsEmpty()))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("mQueuedRunnables.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8788); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mQueuedRunnables.IsEmpty()"
")"); do { *((volatile int*)__null) = 8788; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8789 MOZ_ASSERT(!mRunning)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mRunning)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mRunning))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mRunning", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8789); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mRunning" ")"
); do { *((volatile int*)__null) = 8789; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8790 MOZ_ASSERT(mFinished)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFinished)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFinished))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mFinished", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8790); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFinished" ")"
); do { *((volatile int*)__null) = 8790; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8791
8792 MOZ_COUNT_DTOR(ConnectionPool::TransactionInfo)do { static_assert(std::is_class_v<ConnectionPool::TransactionInfo
>, "Token '" "ConnectionPool::TransactionInfo" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::TransactionInfo>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::TransactionInfo"
, sizeof(*this)); } while (0)
;
8793}
8794
8795void ConnectionPool::TransactionInfo::AddBlockingTransaction(
8796 TransactionInfo& aTransactionInfo) {
8797 AssertIsOnBackgroundThread();
8798
8799 // XXX Does it really make sense to have both mBlocking and mBlockingOrdered,
8800 // just to reduce the algorithmic complexity of this Contains check? This was
8801 // mentioned in the context of Bug 1290853, but no real justification was
8802 // given. There was the suggestion of encapsulating this in an
8803 // insertion-ordered hashtable implementation, which seems like a good idea.
8804 // If we had that, this would be the appropriate data structure to use here.
8805 if (mBlocking.EnsureInserted(&aTransactionInfo)) {
8806 mBlockingOrdered.AppendElement(WrapNotNullUnchecked(&aTransactionInfo));
8807 }
8808}
8809
8810void ConnectionPool::TransactionInfo::RemoveBlockingTransactions() {
8811 AssertIsOnBackgroundThread();
8812
8813 for (const auto blockedInfo : mBlockingOrdered) {
8814 blockedInfo->MaybeUnblock(*this);
8815 }
8816
8817 mBlocking.Clear();
8818 mBlockingOrdered.Clear();
8819}
8820
8821void ConnectionPool::TransactionInfo::MaybeUnblock(
8822 TransactionInfo& aTransactionInfo) {
8823 AssertIsOnBackgroundThread();
8824 MOZ_ASSERT(mBlockedOn.Contains(&aTransactionInfo))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mBlockedOn.Contains(&aTransactionInfo))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mBlockedOn.Contains(&aTransactionInfo)))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mBlockedOn.Contains(&aTransactionInfo)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8824); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mBlockedOn.Contains(&aTransactionInfo)"
")"); do { *((volatile int*)__null) = 8824; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8825
8826 mBlockedOn.Remove(&aTransactionInfo);
8827 if (mBlockedOn.IsEmpty()) {
8828 ConnectionPool* connectionPool = mDatabaseInfo.mConnectionPool;
8829 MOZ_ASSERT(connectionPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(connectionPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(connectionPool))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("connectionPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8829); AnnotateMozCrashReason("MOZ_ASSERT" "(" "connectionPool"
")"); do { *((volatile int*)__null) = 8829; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8830 connectionPool->AssertIsOnOwningThread();
8831
8832 Unused << connectionPool->ScheduleTransaction(
8833 *this,
8834 /* aFromQueuedTransactions */ false);
8835 }
8836}
8837
8838#if defined(DEBUG1) || defined(NS_BUILD_REFCNT_LOGGING1)
8839ConnectionPool::TransactionInfoPair::TransactionInfoPair() {
8840 AssertIsOnBackgroundThread();
8841
8842 MOZ_COUNT_CTOR(ConnectionPool::TransactionInfoPair)do { static_assert(std::is_class_v<ConnectionPool::TransactionInfoPair
>, "Token '" "ConnectionPool::TransactionInfoPair" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::TransactionInfoPair>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogCtor((void*)this, "ConnectionPool::TransactionInfoPair"
, sizeof(*this)); } while (0)
;
8843}
8844
8845ConnectionPool::TransactionInfoPair::~TransactionInfoPair() {
8846 AssertIsOnBackgroundThread();
8847
8848 MOZ_COUNT_DTOR(ConnectionPool::TransactionInfoPair)do { static_assert(std::is_class_v<ConnectionPool::TransactionInfoPair
>, "Token '" "ConnectionPool::TransactionInfoPair" "' is not a class type."
); static_assert(!std::is_base_of<nsISupports, ConnectionPool
::TransactionInfoPair>::value, "nsISupports classes don't need to call MOZ_COUNT_CTOR or "
"MOZ_COUNT_DTOR");; NS_LogDtor((void*)this, "ConnectionPool::TransactionInfoPair"
, sizeof(*this)); } while (0)
;
8849}
8850#endif
8851
8852/*******************************************************************************
8853 * Metadata classes
8854 ******************************************************************************/
8855
8856bool FullObjectStoreMetadata::HasLiveIndexes() const {
8857 AssertIsOnBackgroundThread();
8858
8859 return std::any_of(mIndexes.Values().cbegin(), mIndexes.Values().cend(),
8860 [](const auto& entry) { return !entry->mDeleted; });
8861}
8862
8863SafeRefPtr<FullDatabaseMetadata> FullDatabaseMetadata::Duplicate() const {
8864 AssertIsOnBackgroundThread();
8865
8866 // FullDatabaseMetadata contains two hash tables of pointers that we need to
8867 // duplicate so we can't just use the copy constructor.
8868 auto newMetadata = MakeSafeRefPtr<FullDatabaseMetadata>(mCommonMetadata);
8869
8870 newMetadata->mDatabaseId = mDatabaseId;
8871 newMetadata->mFilePath = mFilePath;
8872 newMetadata->mNextObjectStoreId = mNextObjectStoreId;
8873 newMetadata->mNextIndexId = mNextIndexId;
8874
8875 for (const auto& objectStoreEntry : mObjectStores) {
8876 const auto& objectStoreValue = objectStoreEntry.GetData();
8877
8878 auto newOSMetadata = MakeSafeRefPtr<FullObjectStoreMetadata>(
8879 objectStoreValue->mCommonMetadata, [&objectStoreValue] {
8880 const auto&& srcLocked = objectStoreValue->mAutoIncrementIds.Lock();
8881 return *srcLocked;
8882 }());
8883
8884 for (const auto& indexEntry : objectStoreValue->mIndexes) {
8885 const auto& value = indexEntry.GetData();
8886
8887 auto newIndexMetadata = MakeSafeRefPtr<FullIndexMetadata>();
8888
8889 newIndexMetadata->mCommonMetadata = value->mCommonMetadata;
8890
8891 if (NS_WARN_IF(!newOSMetadata->mIndexes.InsertOrUpdate(NS_warn_if_impl(!newOSMetadata->mIndexes.InsertOrUpdate( indexEntry
.GetKey(), std::move(newIndexMetadata), fallible), "!newOSMetadata->mIndexes.InsertOrUpdate( indexEntry.GetKey(), std::move(newIndexMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8892)
8892 indexEntry.GetKey(), std::move(newIndexMetadata), fallible))NS_warn_if_impl(!newOSMetadata->mIndexes.InsertOrUpdate( indexEntry
.GetKey(), std::move(newIndexMetadata), fallible), "!newOSMetadata->mIndexes.InsertOrUpdate( indexEntry.GetKey(), std::move(newIndexMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8892)
) {
8893 return nullptr;
8894 }
8895 }
8896
8897 MOZ_ASSERT(objectStoreValue->mIndexes.Count() ==do { static_assert( mozilla::detail::AssertionConditionType<
decltype(objectStoreValue->mIndexes.Count() == newOSMetadata
->mIndexes.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(objectStoreValue->mIndexes
.Count() == newOSMetadata->mIndexes.Count()))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("objectStoreValue->mIndexes.Count() == newOSMetadata->mIndexes.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8898); AnnotateMozCrashReason("MOZ_ASSERT" "(" "objectStoreValue->mIndexes.Count() == newOSMetadata->mIndexes.Count()"
")"); do { *((volatile int*)__null) = 8898; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
8898 newOSMetadata->mIndexes.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(objectStoreValue->mIndexes.Count() == newOSMetadata
->mIndexes.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(objectStoreValue->mIndexes
.Count() == newOSMetadata->mIndexes.Count()))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("objectStoreValue->mIndexes.Count() == newOSMetadata->mIndexes.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8898); AnnotateMozCrashReason("MOZ_ASSERT" "(" "objectStoreValue->mIndexes.Count() == newOSMetadata->mIndexes.Count()"
")"); do { *((volatile int*)__null) = 8898; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8899
8900 if (NS_WARN_IF(!newMetadata->mObjectStores.InsertOrUpdate(NS_warn_if_impl(!newMetadata->mObjectStores.InsertOrUpdate
( objectStoreEntry.GetKey(), std::move(newOSMetadata), fallible
), "!newMetadata->mObjectStores.InsertOrUpdate( objectStoreEntry.GetKey(), std::move(newOSMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8901)
8901 objectStoreEntry.GetKey(), std::move(newOSMetadata), fallible))NS_warn_if_impl(!newMetadata->mObjectStores.InsertOrUpdate
( objectStoreEntry.GetKey(), std::move(newOSMetadata), fallible
), "!newMetadata->mObjectStores.InsertOrUpdate( objectStoreEntry.GetKey(), std::move(newOSMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8901)
) {
8902 return nullptr;
8903 }
8904 }
8905
8906 MOZ_ASSERT(mObjectStores.Count() == newMetadata->mObjectStores.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mObjectStores.Count() == newMetadata->mObjectStores
.Count())>::isValid, "invalid assertion condition"); if ((
__builtin_expect(!!(!(!!(mObjectStores.Count() == newMetadata
->mObjectStores.Count()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mObjectStores.Count() == newMetadata->mObjectStores.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8906); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mObjectStores.Count() == newMetadata->mObjectStores.Count()"
")"); do { *((volatile int*)__null) = 8906; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8907
8908 return newMetadata;
8909}
8910
8911DatabaseLoggingInfo::~DatabaseLoggingInfo() {
8912 AssertIsOnBackgroundThread();
8913
8914 if (gLoggingInfoHashtable) {
8915 const nsID& backgroundChildLoggingId =
8916 mLoggingInfo.backgroundChildLoggingId();
8917
8918 MOZ_ASSERT(gLoggingInfoHashtable->Get(backgroundChildLoggingId) == this)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gLoggingInfoHashtable->Get(backgroundChildLoggingId
) == this)>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(gLoggingInfoHashtable->Get(backgroundChildLoggingId
) == this))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("gLoggingInfoHashtable->Get(backgroundChildLoggingId) == this"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8918); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gLoggingInfoHashtable->Get(backgroundChildLoggingId) == this"
")"); do { *((volatile int*)__null) = 8918; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8919
8920 gLoggingInfoHashtable->Remove(backgroundChildLoggingId);
8921 }
8922}
8923
8924/*******************************************************************************
8925 * Factory
8926 ******************************************************************************/
8927
8928Factory::Factory(RefPtr<DatabaseLoggingInfo> aLoggingInfo,
8929 const nsACString& aSystemLocale)
8930 : mSystemLocale(aSystemLocale),
8931 mLoggingInfo(std::move(aLoggingInfo))
8932#ifdef DEBUG1
8933 ,
8934 mActorDestroyed(false)
8935#endif
8936{
8937 AssertIsOnBackgroundThread();
8938 MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!QuotaClient::IsShuttingDownOnBackgroundThread())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!QuotaClient::IsShuttingDownOnBackgroundThread()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!QuotaClient::IsShuttingDownOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8938); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!QuotaClient::IsShuttingDownOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 8938; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8939}
8940
8941Factory::~Factory() { MOZ_ASSERT(mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8941); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mActorDestroyed"
")"); do { *((volatile int*)__null) = 8941; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
; }
8942
8943// static
8944SafeRefPtr<Factory> Factory::Create(const LoggingInfo& aLoggingInfo,
8945 const nsACString& aSystemLocale) {
8946 AssertIsOnBackgroundThread();
8947 MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!QuotaClient::IsShuttingDownOnBackgroundThread())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!QuotaClient::IsShuttingDownOnBackgroundThread()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!QuotaClient::IsShuttingDownOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8947); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!QuotaClient::IsShuttingDownOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 8947; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8948
8949 // Balanced in ActoryDestroy().
8950 IncreaseBusyCount();
8951
8952 MOZ_ASSERT(gLoggingInfoHashtable)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gLoggingInfoHashtable)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gLoggingInfoHashtable))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("gLoggingInfoHashtable"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8952); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gLoggingInfoHashtable"
")"); do { *((volatile int*)__null) = 8952; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8953 RefPtr<DatabaseLoggingInfo> loggingInfo =
8954 gLoggingInfoHashtable->WithEntryHandle(
8955 aLoggingInfo.backgroundChildLoggingId(), [&](auto&& entry) {
8956 if (entry) {
8957 [[maybe_unused]] const auto& loggingInfo = entry.Data();
8958 MOZ_ASSERT(aLoggingInfo.backgroundChildLoggingId() ==do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aLoggingInfo.backgroundChildLoggingId() == loggingInfo
->Id())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aLoggingInfo.backgroundChildLoggingId
() == loggingInfo->Id()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aLoggingInfo.backgroundChildLoggingId() == loggingInfo->Id()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8959); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aLoggingInfo.backgroundChildLoggingId() == loggingInfo->Id()"
")"); do { *((volatile int*)__null) = 8959; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
8959 loggingInfo->Id())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aLoggingInfo.backgroundChildLoggingId() == loggingInfo
->Id())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aLoggingInfo.backgroundChildLoggingId
() == loggingInfo->Id()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aLoggingInfo.backgroundChildLoggingId() == loggingInfo->Id()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8959); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aLoggingInfo.backgroundChildLoggingId() == loggingInfo->Id()"
")"); do { *((volatile int*)__null) = 8959; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8960#if !FUZZING
8961 NS_WARNING_ASSERTION(do { if (!(aLoggingInfo.nextTransactionSerialNumber() == loggingInfo
->mLoggingInfo.nextTransactionSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextTransactionSerialNumber() == loggingInfo->mLoggingInfo.nextTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8964); } } while (false)
8962 aLoggingInfo.nextTransactionSerialNumber() ==do { if (!(aLoggingInfo.nextTransactionSerialNumber() == loggingInfo
->mLoggingInfo.nextTransactionSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextTransactionSerialNumber() == loggingInfo->mLoggingInfo.nextTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8964); } } while (false)
8963 loggingInfo->mLoggingInfo.nextTransactionSerialNumber(),do { if (!(aLoggingInfo.nextTransactionSerialNumber() == loggingInfo
->mLoggingInfo.nextTransactionSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextTransactionSerialNumber() == loggingInfo->mLoggingInfo.nextTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8964); } } while (false)
8964 "NextTransactionSerialNumber doesn't match!")do { if (!(aLoggingInfo.nextTransactionSerialNumber() == loggingInfo
->mLoggingInfo.nextTransactionSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextTransactionSerialNumber() == loggingInfo->mLoggingInfo.nextTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8964); } } while (false)
;
8965 NS_WARNING_ASSERTION(do { if (!(aLoggingInfo.nextVersionChangeTransactionSerialNumber
() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber
())) { NS_DebugBreak(NS_DEBUG_WARNING, "NextVersionChangeTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextVersionChangeTransactionSerialNumber() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8969); } } while (false)
8966 aLoggingInfo.nextVersionChangeTransactionSerialNumber() ==do { if (!(aLoggingInfo.nextVersionChangeTransactionSerialNumber
() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber
())) { NS_DebugBreak(NS_DEBUG_WARNING, "NextVersionChangeTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextVersionChangeTransactionSerialNumber() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8969); } } while (false)
8967 loggingInfo->mLoggingInfodo { if (!(aLoggingInfo.nextVersionChangeTransactionSerialNumber
() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber
())) { NS_DebugBreak(NS_DEBUG_WARNING, "NextVersionChangeTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextVersionChangeTransactionSerialNumber() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8969); } } while (false)
8968 .nextVersionChangeTransactionSerialNumber(),do { if (!(aLoggingInfo.nextVersionChangeTransactionSerialNumber
() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber
())) { NS_DebugBreak(NS_DEBUG_WARNING, "NextVersionChangeTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextVersionChangeTransactionSerialNumber() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8969); } } while (false)
8969 "NextVersionChangeTransactionSerialNumber doesn't match!")do { if (!(aLoggingInfo.nextVersionChangeTransactionSerialNumber
() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber
())) { NS_DebugBreak(NS_DEBUG_WARNING, "NextVersionChangeTransactionSerialNumber doesn't match!"
, "aLoggingInfo.nextVersionChangeTransactionSerialNumber() == loggingInfo->mLoggingInfo .nextVersionChangeTransactionSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8969); } } while (false)
;
8970 NS_WARNING_ASSERTION(do { if (!(aLoggingInfo.nextRequestSerialNumber() == loggingInfo
->mLoggingInfo.nextRequestSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextRequestSerialNumber doesn't match!", "aLoggingInfo.nextRequestSerialNumber() == loggingInfo->mLoggingInfo.nextRequestSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8973); } } while (false)
8971 aLoggingInfo.nextRequestSerialNumber() ==do { if (!(aLoggingInfo.nextRequestSerialNumber() == loggingInfo
->mLoggingInfo.nextRequestSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextRequestSerialNumber doesn't match!", "aLoggingInfo.nextRequestSerialNumber() == loggingInfo->mLoggingInfo.nextRequestSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8973); } } while (false)
8972 loggingInfo->mLoggingInfo.nextRequestSerialNumber(),do { if (!(aLoggingInfo.nextRequestSerialNumber() == loggingInfo
->mLoggingInfo.nextRequestSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextRequestSerialNumber doesn't match!", "aLoggingInfo.nextRequestSerialNumber() == loggingInfo->mLoggingInfo.nextRequestSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8973); } } while (false)
8973 "NextRequestSerialNumber doesn't match!")do { if (!(aLoggingInfo.nextRequestSerialNumber() == loggingInfo
->mLoggingInfo.nextRequestSerialNumber())) { NS_DebugBreak
(NS_DEBUG_WARNING, "NextRequestSerialNumber doesn't match!", "aLoggingInfo.nextRequestSerialNumber() == loggingInfo->mLoggingInfo.nextRequestSerialNumber()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8973); } } while (false)
;
8974#endif // !FUZZING
8975 } else {
8976 entry.Insert(new DatabaseLoggingInfo(aLoggingInfo));
8977 }
8978
8979 return do_AddRef(entry.Data());
8980 });
8981
8982 return MakeSafeRefPtr<Factory>(std::move(loggingInfo), aSystemLocale);
8983}
8984
8985void Factory::ActorDestroy(ActorDestroyReason aWhy) {
8986 AssertIsOnBackgroundThread();
8987 MOZ_ASSERT(!mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8987); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mActorDestroyed"
")"); do { *((volatile int*)__null) = 8987; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
8988
8989#ifdef DEBUG1
8990 mActorDestroyed = true;
8991#endif
8992
8993 // Match the IncreaseBusyCount in Create().
8994 DecreaseBusyCount();
8995}
8996
8997mozilla::ipc::IPCResult Factory::RecvDeleteMe() {
8998 AssertIsOnBackgroundThread();
8999 MOZ_ASSERT(!mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 8999); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mActorDestroyed"
")"); do { *((volatile int*)__null) = 8999; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9000
9001 QM_WARNONLY_TRY(OkIf(PBackgroundIDBFactoryParent::Send__delete__(this))){auto tryResult967 = (OkIf(PBackgroundIDBFactoryParent::Send__delete__
(this))); static_assert(std::is_empty_v<typename decltype(
tryResult967)::ok_type>); if ((__builtin_expect(!!(tryResult967
.isErr()), 0))) { mozilla::dom::quota::HandleError("OkIf(PBackgroundIDBFactoryParent::Send__delete__(this))"
, tryResult967.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9001, mozilla::dom::quota::Severity::Warning); }}
;
9002
9003 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9004}
9005
9006PBackgroundIDBFactoryRequestParent*
9007Factory::AllocPBackgroundIDBFactoryRequestParent(
9008 const FactoryRequestParams& aParams) {
9009 AssertIsOnBackgroundThread();
9010 MOZ_ASSERT(aParams.type() != FactoryRequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != FactoryRequestParams::T__None)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aParams.type() != FactoryRequestParams::T__None))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aParams.type() != FactoryRequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9010); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != FactoryRequestParams::T__None"
")"); do { *((volatile int*)__null) = 9010; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9011
9012 if (NS_WARN_IF(QuotaClient::IsShuttingDownOnBackgroundThread())NS_warn_if_impl(QuotaClient::IsShuttingDownOnBackgroundThread
(), "QuotaClient::IsShuttingDownOnBackgroundThread()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9012)
) {
9013 return nullptr;
9014 }
9015
9016 const CommonFactoryRequestParams* commonParams;
9017
9018 switch (aParams.type()) {
9019 case FactoryRequestParams::TOpenDatabaseRequestParams: {
9020 const OpenDatabaseRequestParams& params =
9021 aParams.get_OpenDatabaseRequestParams();
9022 commonParams = &params.commonParams();
9023 break;
9024 }
9025
9026 case FactoryRequestParams::TDeleteDatabaseRequestParams: {
9027 const DeleteDatabaseRequestParams& params =
9028 aParams.get_DeleteDatabaseRequestParams();
9029 commonParams = &params.commonParams();
9030 break;
9031 }
9032
9033 default:
9034 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9034); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 9034; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
9035 }
9036
9037 MOZ_ASSERT(commonParams)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(commonParams)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(commonParams))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("commonParams", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9037); AnnotateMozCrashReason("MOZ_ASSERT" "(" "commonParams"
")"); do { *((volatile int*)__null) = 9037; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9038
9039 const DatabaseMetadata& metadata = commonParams->metadata();
9040
9041 if (NS_AUUF_OR_WARN_IF(!IsValidPersistenceType(metadata.persistenceType()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!IsValidPersistenceType(metadata.persistenceType())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9041); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!IsValidPersistenceType(metadata.persistenceType())" ")"); do
{ *((volatile int*)__null) = 9041; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!IsValidPersistenceType(metadata.persistenceType())))
) {
9042 return nullptr;
9043 }
9044
9045 const PrincipalInfo& principalInfo = commonParams->principalInfo();
9046
9047 if (NS_AUUF_OR_WARN_IF(!quota::IsPrincipalInfoValid(principalInfo))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!quota::IsPrincipalInfoValid(principalInfo)" ")"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9047); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!quota::IsPrincipalInfoValid(principalInfo)" ")"); do { *((
volatile int*)__null) = 9047; __attribute__((nomerge)) ::abort
(); } while (false); } } while (false); } return aCond; }((!quota
::IsPrincipalInfoValid(principalInfo)))
) {
9048 IPC_FAIL(this, "Invalid principal!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Invalid principal!"
))
;
9049 return nullptr;
9050 }
9051
9052 MOZ_ASSERT(principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || principalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9053); AnnotateMozCrashReason("MOZ_ASSERT" "(" "principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || principalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
")"); do { *((volatile int*)__null) = 9053; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9053 principalInfo.type() == PrincipalInfo::TContentPrincipalInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || principalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9053); AnnotateMozCrashReason("MOZ_ASSERT" "(" "principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || principalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
")"); do { *((volatile int*)__null) = 9053; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9054
9055 if (NS_AUUF_OR_WARN_IF([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9057); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9057; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
&& metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT
))
9056 principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9057); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9057; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
&& metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT
))
9057 metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9057); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9057; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
&& metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT
))
) {
9058 return nullptr;
9059 }
9060
9061 if (NS_AUUF_OR_WARN_IF([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9065); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9065; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
&& QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo
().originNoSuffix()) && metadata.persistenceType() !=
PERSISTENCE_TYPE_PERSISTENT))
9062 principalInfo.type() == PrincipalInfo::TContentPrincipalInfo &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9065); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9065; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
&& QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo
().originNoSuffix()) && metadata.persistenceType() !=
PERSISTENCE_TYPE_PERSISTENT))
9063 QuotaManager::IsOriginInternal([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9065); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9065; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
&& QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo
().originNoSuffix()) && metadata.persistenceType() !=
PERSISTENCE_TYPE_PERSISTENT))
9064 principalInfo.get_ContentPrincipalInfo().originNoSuffix()) &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9065); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9065; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
&& QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo
().originNoSuffix()) && metadata.persistenceType() !=
PERSISTENCE_TYPE_PERSISTENT))
9065 metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9065); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"principalInfo.type() == PrincipalInfo::TContentPrincipalInfo && QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo().originNoSuffix()) && metadata.persistenceType() != PERSISTENCE_TYPE_PERSISTENT"
")"); do { *((volatile int*)__null) = 9065; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((principalInfo.type() == PrincipalInfo::TContentPrincipalInfo
&& QuotaManager::IsOriginInternal( principalInfo.get_ContentPrincipalInfo
().originNoSuffix()) && metadata.persistenceType() !=
PERSISTENCE_TYPE_PERSISTENT))
) {
9066 return nullptr;
9067 }
9068
9069 Maybe<ContentParentId> contentParentId = GetContentParentId();
9070
9071 auto actor = [&]() -> RefPtr<FactoryRequestOp> {
9072 if (aParams.type() == FactoryRequestParams::TOpenDatabaseRequestParams) {
9073 return MakeRefPtr<OpenDatabaseOp>(SafeRefPtrFromThis(), contentParentId,
9074 *commonParams);
9075 } else {
9076 return MakeRefPtr<DeleteDatabaseOp>(SafeRefPtrFromThis(), contentParentId,
9077 *commonParams);
9078 }
9079 }();
9080
9081 gFactoryOps->AppendElement(actor);
9082
9083 // Balanced in CleanupMetadata() which is/must always called by SendResults().
9084 IncreaseBusyCount();
9085
9086 // Transfer ownership to IPDL.
9087 return actor.forget().take();
9088}
9089
9090mozilla::ipc::IPCResult Factory::RecvPBackgroundIDBFactoryRequestConstructor(
9091 PBackgroundIDBFactoryRequestParent* aActor,
9092 const FactoryRequestParams& aParams) {
9093 AssertIsOnBackgroundThread();
9094 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9094); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 9094; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9095 MOZ_ASSERT(aParams.type() != FactoryRequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != FactoryRequestParams::T__None)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aParams.type() != FactoryRequestParams::T__None))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aParams.type() != FactoryRequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9095); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != FactoryRequestParams::T__None"
")"); do { *((volatile int*)__null) = 9095; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9096 MOZ_ASSERT(!QuotaClient::IsShuttingDownOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!QuotaClient::IsShuttingDownOnBackgroundThread())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!QuotaClient::IsShuttingDownOnBackgroundThread()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!QuotaClient::IsShuttingDownOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9096); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!QuotaClient::IsShuttingDownOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 9096; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9097
9098 auto* op = static_cast<FactoryRequestOp*>(aActor);
9099
9100 MOZ_ALWAYS_SUCCEEDS(NS_DispatchToCurrentThread(op))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(NS_DispatchToCurrentThread(op))), 1)))), 1))) { } else { do {
do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(NS_DispatchToCurrentThread(op))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9100); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(NS_DispatchToCurrentThread(op))"
")"); do { *((volatile int*)__null) = 9100; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9101 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9102}
9103
9104bool Factory::DeallocPBackgroundIDBFactoryRequestParent(
9105 PBackgroundIDBFactoryRequestParent* aActor) {
9106 AssertIsOnBackgroundThread();
9107 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9107); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 9107; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9108
9109 // Transfer ownership back from IPDL.
9110 RefPtr<FactoryRequestOp> op =
9111 dont_AddRef(static_cast<FactoryRequestOp*>(aActor));
9112 return true;
9113}
9114
9115mozilla::ipc::IPCResult Factory::RecvGetDatabases(
9116 const PersistenceType& aPersistenceType,
9117 const PrincipalInfo& aPrincipalInfo, GetDatabasesResolver&& aResolve) {
9118 AssertIsOnBackgroundThread();
9119
9120 auto ResolveGetDatabasesAndReturn = [&aResolve](const nsresult rv) {
9121 aResolve(rv);
9122 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9123 };
9124
9125 QM_TRY(MOZ_TO_RESULT(!QuotaClient::IsShuttingDownOnBackgroundThread()),{auto tryResult968 = (ToResult(!QuotaClient::IsShuttingDownOnBackgroundThread
())); static_assert(std::is_empty_v<typename decltype(tryResult968
)::ok_type>); if ((__builtin_expect(!!(tryResult968.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult968
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(!QuotaClient::IsShuttingDownOnBackgroundThread())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9126, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(!QuotaClient::IsShuttingDownOnBackgroundThread())"
, tryTempError, ResolveGetDatabasesAndReturn); }}
9126 ResolveGetDatabasesAndReturn){auto tryResult968 = (ToResult(!QuotaClient::IsShuttingDownOnBackgroundThread
())); static_assert(std::is_empty_v<typename decltype(tryResult968
)::ok_type>); if ((__builtin_expect(!!(tryResult968.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult968
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(!QuotaClient::IsShuttingDownOnBackgroundThread())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9126, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(!QuotaClient::IsShuttingDownOnBackgroundThread())"
, tryTempError, ResolveGetDatabasesAndReturn); }}
;
9127
9128 QM_TRY(MOZ_TO_RESULT(IsValidPersistenceType(aPersistenceType)),{auto tryResult969 = (ToResult(IsValidPersistenceType(aPersistenceType
))); static_assert(std::is_empty_v<typename decltype(tryResult969
)::ok_type>); if ((__builtin_expect(!!(tryResult969.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult969
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(IsValidPersistenceType(aPersistenceType))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9129, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(IsValidPersistenceType(aPersistenceType))"
, tryTempError, mozilla::dom::quota::detail::IpcFailCustomRetVal
(mozilla::WrapNotNull(this))); }}
9129 QM_IPC_FAIL(this)){auto tryResult969 = (ToResult(IsValidPersistenceType(aPersistenceType
))); static_assert(std::is_empty_v<typename decltype(tryResult969
)::ok_type>); if ((__builtin_expect(!!(tryResult969.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult969
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(IsValidPersistenceType(aPersistenceType))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9129, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(IsValidPersistenceType(aPersistenceType))"
, tryTempError, mozilla::dom::quota::detail::IpcFailCustomRetVal
(mozilla::WrapNotNull(this))); }}
;
9130
9131 QM_TRY(MOZ_TO_RESULT(quota::IsPrincipalInfoValid(aPrincipalInfo)),{auto tryResult970 = (ToResult(quota::IsPrincipalInfoValid(aPrincipalInfo
))); static_assert(std::is_empty_v<typename decltype(tryResult970
)::ok_type>); if ((__builtin_expect(!!(tryResult970.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult970
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(quota::IsPrincipalInfoValid(aPrincipalInfo))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9132, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(quota::IsPrincipalInfoValid(aPrincipalInfo))"
, tryTempError, mozilla::dom::quota::detail::IpcFailCustomRetVal
(mozilla::WrapNotNull(this))); }}
9132 QM_IPC_FAIL(this)){auto tryResult970 = (ToResult(quota::IsPrincipalInfoValid(aPrincipalInfo
))); static_assert(std::is_empty_v<typename decltype(tryResult970
)::ok_type>); if ((__builtin_expect(!!(tryResult970.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult970
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(quota::IsPrincipalInfoValid(aPrincipalInfo))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9132, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(quota::IsPrincipalInfoValid(aPrincipalInfo))"
, tryTempError, mozilla::dom::quota::detail::IpcFailCustomRetVal
(mozilla::WrapNotNull(this))); }}
;
9133
9134 MOZ_ASSERT(aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9135); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
")"); do { *((volatile int*)__null) = 9135; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9135 aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo
|| aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9135); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aPrincipalInfo.type() == PrincipalInfo::TSystemPrincipalInfo || aPrincipalInfo.type() == PrincipalInfo::TContentPrincipalInfo"
")"); do { *((volatile int*)__null) = 9135; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9136
9137 PersistenceType persistenceType =
9138 IDBFactory::GetPersistenceType(aPrincipalInfo);
9139
9140 QM_TRY(MOZ_TO_RESULT(aPersistenceType == persistenceType), QM_IPC_FAIL(this)){auto tryResult971 = (ToResult(aPersistenceType == persistenceType
)); static_assert(std::is_empty_v<typename decltype(tryResult971
)::ok_type>); if ((__builtin_expect(!!(tryResult971.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult971
.unwrapErr(); mozilla::dom::quota::HandleError("ToResult(aPersistenceType == persistenceType)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9140, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(aPersistenceType == persistenceType)"
, tryTempError, mozilla::dom::quota::detail::IpcFailCustomRetVal
(mozilla::WrapNotNull(this))); }}
;
9141
9142 Maybe<ContentParentId> contentParentId = GetContentParentId();
9143
9144 auto op = MakeRefPtr<GetDatabasesOp>(SafeRefPtrFromThis(), contentParentId,
9145 aPersistenceType, aPrincipalInfo,
9146 std::move(aResolve));
9147
9148 gFactoryOps->AppendElement(op);
9149
9150 // Balanced in CleanupMetadata() which is/must always called by SendResults().
9151 IncreaseBusyCount();
9152
9153 MOZ_ALWAYS_SUCCEEDS(NS_DispatchToCurrentThread(op))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(NS_DispatchToCurrentThread(op))), 1)))), 1))) { } else { do {
do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(NS_DispatchToCurrentThread(op))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9153); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(NS_DispatchToCurrentThread(op))"
")"); do { *((volatile int*)__null) = 9153; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9154
9155 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9156}
9157
9158Maybe<ContentParentId> Factory::GetContentParentId() const {
9159 uint64_t childID = BackgroundParent::GetChildID(Manager());
9160 if (childID) {
9161 // If childID is not zero we are dealing with an other-process actor. We
9162 // want to initialize OpenDatabaseOp/DeleteDatabaseOp here with the ID
9163 // (and later also Database) in that case, so Database::IsOwnedByProcess
9164 // can find Databases belonging to a particular content process when
9165 // QuotaClient::AbortOperationsForProcess is called which is currently used
9166 // to abort operations for content processes only.
9167 return Some(ContentParentId(childID));
9168 }
9169
9170 return Nothing();
9171}
9172
9173/*******************************************************************************
9174 * WaitForTransactionsHelper
9175 ******************************************************************************/
9176
9177void WaitForTransactionsHelper::WaitForTransactions() {
9178 MOZ_ASSERT(mState == State::Initial)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Initial)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Initial))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mState == State::Initial"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9178); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial"
")"); do { *((volatile int*)__null) = 9178; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9179
9180 Unused << this->Run();
9181}
9182
9183void WaitForTransactionsHelper::MaybeWaitForTransactions() {
9184 AssertIsOnBackgroundThread();
9185 MOZ_ASSERT(mState == State::Initial)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Initial)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState == State::Initial))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("mState == State::Initial"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9185); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial"
")"); do { *((volatile int*)__null) = 9185; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9186
9187 RefPtr<ConnectionPool> connectionPool = gConnectionPool.get();
9188 if (connectionPool) {
9189 mState = State::WaitingForTransactions;
9190
9191 connectionPool->WaitForDatabaseToComplete(mDatabaseId, this);
9192
9193 return;
9194 }
9195
9196 CallCallback();
9197}
9198
9199void WaitForTransactionsHelper::CallCallback() {
9200 AssertIsOnBackgroundThread();
9201 MOZ_ASSERT(mState == State::Initial ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Initial || mState == State::WaitingForTransactions
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mState == State::Initial || mState == State::WaitingForTransactions
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"mState == State::Initial || mState == State::WaitingForTransactions"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9202); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial || mState == State::WaitingForTransactions"
")"); do { *((volatile int*)__null) = 9202; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9202 mState == State::WaitingForTransactions)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState == State::Initial || mState == State::WaitingForTransactions
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mState == State::Initial || mState == State::WaitingForTransactions
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"mState == State::Initial || mState == State::WaitingForTransactions"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9202); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState == State::Initial || mState == State::WaitingForTransactions"
")"); do { *((volatile int*)__null) = 9202; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9203
9204 const nsCOMPtr<nsIRunnable> callback = std::move(mCallback);
9205
9206 callback->Run();
9207
9208 mState = State::Complete;
9209}
9210
9211NS_IMETHODIMPnsresult
9212WaitForTransactionsHelper::Run() {
9213 MOZ_ASSERT(mState != State::Complete)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mState != State::Complete)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mState != State::Complete)))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("mState != State::Complete"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9213); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mState != State::Complete"
")"); do { *((volatile int*)__null) = 9213; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9214 MOZ_ASSERT(mCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mCallback)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mCallback", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9214); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCallback" ")"
); do { *((volatile int*)__null) = 9214; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9215
9216 switch (mState) {
9217 case State::Initial:
9218 MaybeWaitForTransactions();
9219 break;
9220
9221 case State::WaitingForTransactions:
9222 CallCallback();
9223 break;
9224
9225 default:
9226 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9226); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 9226; __attribute__((nomerge
)) ::abort(); } while (false); } while (false)
;
9227 }
9228
9229 return NS_OK;
9230}
9231
9232/*******************************************************************************
9233 * Database
9234 ******************************************************************************/
9235
9236Database::Database(SafeRefPtr<Factory> aFactory,
9237 const PrincipalInfo& aPrincipalInfo,
9238 const Maybe<ContentParentId>& aOptionalContentParentId,
9239 const quota::OriginMetadata& aOriginMetadata,
9240 uint32_t aTelemetryId,
9241 SafeRefPtr<FullDatabaseMetadata> aMetadata,
9242 SafeRefPtr<DatabaseFileManager> aFileManager,
9243 RefPtr<ClientDirectoryLock> aDirectoryLock,
9244 bool aInPrivateBrowsing,
9245 const Maybe<const CipherKey>& aMaybeKey)
9246 : mFactory(std::move(aFactory)),
9247 mMetadata(std::move(aMetadata)),
9248 mFileManager(std::move(aFileManager)),
9249 mDirectoryLock(std::move(aDirectoryLock)),
9250 mPrincipalInfo(aPrincipalInfo),
9251 mOptionalContentParentId(aOptionalContentParentId),
9252 mOriginMetadata(aOriginMetadata),
9253 mId(mMetadata->mDatabaseId),
9254 mFilePath(mMetadata->mFilePath),
9255 mKey(aMaybeKey),
9256 mTelemetryId(aTelemetryId),
9257 mPersistenceType(mMetadata->mCommonMetadata.persistenceType()),
9258 mInPrivateBrowsing(aInPrivateBrowsing),
9259 mBackgroundThread(GetCurrentSerialEventTarget())
9260#ifdef DEBUG1
9261 ,
9262 mAllBlobsUnmapped(false)
9263#endif
9264{
9265 AssertIsOnBackgroundThread();
9266 MOZ_ASSERT(mFactory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFactory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFactory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mFactory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9266); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFactory" ")"
); do { *((volatile int*)__null) = 9266; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9267 MOZ_ASSERT(mMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mMetadata))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9267); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mMetadata" ")"
); do { *((volatile int*)__null) = 9267; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9268 MOZ_ASSERT(mFileManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mFileManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mFileManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mFileManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9268); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mFileManager"
")"); do { *((volatile int*)__null) = 9268; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9269
9270 MOZ_ASSERT(mDirectoryLock)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDirectoryLock)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDirectoryLock))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mDirectoryLock"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9270); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDirectoryLock"
")"); do { *((volatile int*)__null) = 9270; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9271 MOZ_ASSERT(mDirectoryLock->Id() >= 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDirectoryLock->Id() >= 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDirectoryLock->Id() >=
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("mDirectoryLock->Id() >= 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9271); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDirectoryLock->Id() >= 0"
")"); do { *((volatile int*)__null) = 9271; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9272 mDirectoryLockId = mDirectoryLock->Id();
9273}
9274
9275template <typename T>
9276bool Database::InvalidateAll(const nsTBaseHashSet<nsPtrHashKey<T>>& aTable) {
9277 AssertIsOnBackgroundThread();
9278
9279 const uint32_t count = aTable.Count();
9280 if (!count) {
9281 return true;
9282 }
9283
9284 // XXX Does this really need to be fallible?
9285 QM_TRY_INSPECT(const auto& elementsToInvalidate,auto tryResult972 = (TransformIntoNewArray( aTable, [](const auto
& entry) { return entry; }, fallible)); if ((__builtin_expect
(!!(tryResult972.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult972.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9288, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, false); } const auto& elementsToInvalidate
= tryResult972.inspect();
9286 TransformIntoNewArray(auto tryResult972 = (TransformIntoNewArray( aTable, [](const auto
& entry) { return entry; }, fallible)); if ((__builtin_expect
(!!(tryResult972.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult972.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9288, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, false); } const auto& elementsToInvalidate
= tryResult972.inspect();
9287 aTable, [](const auto& entry) { return entry; }, fallible),auto tryResult972 = (TransformIntoNewArray( aTable, [](const auto
& entry) { return entry; }, fallible)); if ((__builtin_expect
(!!(tryResult972.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult972.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9288, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, false); } const auto& elementsToInvalidate
= tryResult972.inspect();
9288 false)auto tryResult972 = (TransformIntoNewArray( aTable, [](const auto
& entry) { return entry; }, fallible)); if ((__builtin_expect
(!!(tryResult972.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult972.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9288, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArray( aTable, [](const auto& entry) { return entry; }, fallible)"
, tryTempError, false); } const auto& elementsToInvalidate
= tryResult972.inspect();
;
9289
9290 IDB_REPORT_INTERNAL_ERR()mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9290, "UnknownErr")
;
9291
9292 for (const auto& elementToInvalidate : elementsToInvalidate) {
9293 MOZ_ASSERT(elementToInvalidate)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(elementToInvalidate)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(elementToInvalidate))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("elementToInvalidate"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9293); AnnotateMozCrashReason("MOZ_ASSERT" "(" "elementToInvalidate"
")"); do { *((volatile int*)__null) = 9293; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9294
9295 elementToInvalidate->Invalidate();
9296 }
9297
9298 return true;
9299}
9300
9301void Database::Invalidate() {
9302 AssertIsOnBackgroundThread();
9303
9304 if (mInvalidated) {
9305 return;
9306 }
9307
9308 mInvalidated.Flip();
9309
9310 if (mActorWasAlive && !mActorDestroyed) {
9311 Unused << SendInvalidate();
9312 }
9313
9314 QM_WARNONLY_TRY(OkIf(InvalidateAll(mTransactions))){auto tryResult973 = (OkIf(InvalidateAll(mTransactions))); static_assert
(std::is_empty_v<typename decltype(tryResult973)::ok_type>
); if ((__builtin_expect(!!(tryResult973.isErr()), 0))) { mozilla
::dom::quota::HandleError("OkIf(InvalidateAll(mTransactions))"
, tryResult973.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9314, mozilla::dom::quota::Severity::Warning); }}
;
9315
9316 MOZ_ALWAYS_TRUE(CloseInternal())do { if ((__builtin_expect(!!(CloseInternal()), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "CloseInternal()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9316); AnnotateMozCrashReason("MOZ_CRASH(" "CloseInternal()"
")"); do { *((volatile int*)__null) = 9316; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9317}
9318
9319nsresult Database::EnsureConnection() {
9320 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9320); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 9320; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9321 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9321); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 9321; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9322
9323 AUTO_PROFILER_LABEL("Database::EnsureConnection", DOM)mozilla::AutoProfilerLabel raiiObject9323( "Database::EnsureConnection"
, nullptr, JS::ProfilingCategoryPair::DOM)
;
9324
9325 if (!mConnection || !mConnection->HasStorageConnection()) {
9326 QM_TRY_UNWRAP(mConnection, gConnectionPool->GetOrCreateConnection(*this))auto tryResult974 = (gConnectionPool->GetOrCreateConnection
(*this)); if ((__builtin_expect(!!(tryResult974.isErr()), 0))
) { mozilla::dom::quota::HandleError("gConnectionPool->GetOrCreateConnection(*this)"
, tryResult974.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9326, mozilla::dom::quota::Severity::Error); return tryResult974
.propagateErr(); } mConnection = tryResult974.unwrap();
;
9327 }
9328
9329 AssertIsOnConnectionThread();
9330
9331 return NS_OK;
9332}
9333
9334bool Database::RegisterTransaction(TransactionBase& aTransaction) {
9335 AssertIsOnBackgroundThread();
9336 MOZ_ASSERT(!mTransactions.Contains(&aTransaction))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Contains(&aTransaction))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mTransactions.Contains(&aTransaction)))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mTransactions.Contains(&aTransaction)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9336); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Contains(&aTransaction)"
")"); do { *((volatile int*)__null) = 9336; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9337 MOZ_ASSERT(mDirectoryLock)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDirectoryLock)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDirectoryLock))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mDirectoryLock"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9337); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDirectoryLock"
")"); do { *((volatile int*)__null) = 9337; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9338 MOZ_ASSERT(!mInvalidated)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mInvalidated)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mInvalidated))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mInvalidated",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9338); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mInvalidated"
")"); do { *((volatile int*)__null) = 9338; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9339 MOZ_ASSERT(!mClosed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mClosed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mClosed))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mClosed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9339); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mClosed" ")"
); do { *((volatile int*)__null) = 9339; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9340
9341 if (NS_WARN_IF(!mTransactions.Insert(&aTransaction, fallible))NS_warn_if_impl(!mTransactions.Insert(&aTransaction, fallible
), "!mTransactions.Insert(&aTransaction, fallible)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9341)
) {
9342 return false;
9343 }
9344
9345 return true;
9346}
9347
9348void Database::UnregisterTransaction(TransactionBase& aTransaction) {
9349 AssertIsOnBackgroundThread();
9350 MOZ_ASSERT(mTransactions.Contains(&aTransaction))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mTransactions.Contains(&aTransaction))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mTransactions.Contains(&aTransaction)))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("mTransactions.Contains(&aTransaction)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9350); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mTransactions.Contains(&aTransaction)"
")"); do { *((volatile int*)__null) = 9350; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9351
9352 mTransactions.Remove(&aTransaction);
9353
9354 MaybeCloseConnection();
9355}
9356
9357void Database::SetActorAlive() {
9358 AssertIsOnBackgroundThread();
9359 MOZ_ASSERT(!mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9359); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mActorDestroyed"
")"); do { *((volatile int*)__null) = 9359; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9360
9361 mActorWasAlive.Flip();
9362}
9363
9364void Database::MapBlob(const IPCBlob& aIPCBlob,
9365 SafeRefPtr<DatabaseFileInfo> aFileInfo) {
9366 AssertIsOnBackgroundThread();
9367
9368 const RemoteLazyStream& stream = aIPCBlob.inputStream();
9369 MOZ_ASSERT(stream.type() == RemoteLazyStream::TRemoteLazyInputStream)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(stream.type() == RemoteLazyStream::TRemoteLazyInputStream
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(stream.type() == RemoteLazyStream::TRemoteLazyInputStream
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"stream.type() == RemoteLazyStream::TRemoteLazyInputStream", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9369); AnnotateMozCrashReason("MOZ_ASSERT" "(" "stream.type() == RemoteLazyStream::TRemoteLazyInputStream"
")"); do { *((volatile int*)__null) = 9369; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9370
9371 nsID id{};
9372 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(stream.get_RemoteLazyInputStream()->GetInternalStreamID(id
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(stream.get_RemoteLazyInputStream()->GetInternalStreamID(id))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9373); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(stream.get_RemoteLazyInputStream()->GetInternalStreamID(id))"
")"); do { *((volatile int*)__null) = 9373; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
9373 stream.get_RemoteLazyInputStream()->GetInternalStreamID(id))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(stream.get_RemoteLazyInputStream()->GetInternalStreamID(id
))), 1)))), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(stream.get_RemoteLazyInputStream()->GetInternalStreamID(id))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9373); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(stream.get_RemoteLazyInputStream()->GetInternalStreamID(id))"
")"); do { *((volatile int*)__null) = 9373; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9374
9375 MOZ_ASSERT(!mMappedBlobs.Contains(id))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mMappedBlobs.Contains(id))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mMappedBlobs.Contains(id)))
), 0))) { do { } while (false); MOZ_ReportAssertionFailure("!mMappedBlobs.Contains(id)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9375); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mMappedBlobs.Contains(id)"
")"); do { *((volatile int*)__null) = 9375; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9376 mMappedBlobs.InsertOrUpdate(id, std::move(aFileInfo));
9377
9378 RefPtr<UnmapBlobCallback> callback =
9379 new UnmapBlobCallback(SafeRefPtrFromThis());
9380
9381 auto storage = RemoteLazyInputStreamStorage::Get();
9382 MOZ_ASSERT(storage.isOk())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(storage.isOk())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(storage.isOk()))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("storage.isOk()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9382); AnnotateMozCrashReason("MOZ_ASSERT" "(" "storage.isOk()"
")"); do { *((volatile int*)__null) = 9382; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9383 storage.inspect()->StoreCallback(id, callback);
9384}
9385
9386void Database::Stringify(nsACString& aResult) const {
9387 AssertIsOnBackgroundThread();
9388
9389 constexpr auto kQuotaGenericDelimiterString = "|"_ns;
9390
9391 aResult.Append(
9392 "DirectoryLock:"_ns + IntToCString(!!mDirectoryLock) +
9393 kQuotaGenericDelimiterString +
9394 //
9395 "Transactions:"_ns + IntToCString(mTransactions.Count()) +
9396 kQuotaGenericDelimiterString +
9397 //
9398 "OtherProcessActor:"_ns +
9399 IntToCString(
9400 BackgroundParent::IsOtherProcessActor(GetBackgroundParent())) +
9401 kQuotaGenericDelimiterString +
9402 //
9403 "Origin:"_ns + AnonymizedOriginString(mOriginMetadata.mOrigin) +
9404 kQuotaGenericDelimiterString +
9405 //
9406 "PersistenceType:"_ns + PersistenceTypeToString(mPersistenceType) +
9407 kQuotaGenericDelimiterString +
9408 //
9409 "Closed:"_ns + IntToCString(static_cast<bool>(mClosed)) +
9410 kQuotaGenericDelimiterString +
9411 //
9412 "Invalidated:"_ns + IntToCString(static_cast<bool>(mInvalidated)) +
9413 kQuotaGenericDelimiterString +
9414 //
9415 "ActorWasAlive:"_ns + IntToCString(static_cast<bool>(mActorWasAlive)) +
9416 kQuotaGenericDelimiterString +
9417 //
9418 "ActorDestroyed:"_ns + IntToCString(static_cast<bool>(mActorDestroyed)));
9419}
9420
9421SafeRefPtr<DatabaseFileInfo> Database::GetBlob(const IPCBlob& aIPCBlob) {
9422 AssertIsOnBackgroundThread();
9423
9424 RefPtr<RemoteLazyInputStream> lazyStream;
9425 switch (aIPCBlob.inputStream().type()) {
9426 case RemoteLazyStream::TIPCStream: {
9427 const InputStreamParams& inputStreamParams =
9428 aIPCBlob.inputStream().get_IPCStream().stream();
9429 if (inputStreamParams.type() !=
9430 InputStreamParams::TRemoteLazyInputStreamParams) {
9431 return nullptr;
9432 }
9433 lazyStream = inputStreamParams.get_RemoteLazyInputStreamParams().stream();
9434 break;
9435 }
9436 case RemoteLazyStream::TRemoteLazyInputStream:
9437 lazyStream = aIPCBlob.inputStream().get_RemoteLazyInputStream();
9438 break;
9439 default:
9440 MOZ_ASSERT_UNREACHABLE("Unknown RemoteLazyStream type")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" "MOZ_ASSERT_UNREACHABLE: "
"Unknown RemoteLazyStream type" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9440); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"MOZ_ASSERT_UNREACHABLE: " "Unknown RemoteLazyStream type" ")"
); do { *((volatile int*)__null) = 9440; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9441 return nullptr;
9442 }
9443
9444 if (!lazyStream) {
9445 MOZ_ASSERT_UNREACHABLE("Unexpected null stream")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" "MOZ_ASSERT_UNREACHABLE: "
"Unexpected null stream" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9445); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"MOZ_ASSERT_UNREACHABLE: " "Unexpected null stream" ")"); do
{ *((volatile int*)__null) = 9445; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false)
;
9446 return nullptr;
9447 }
9448
9449 nsID id{};
9450 nsresult rv = lazyStream->GetInternalStreamID(id);
9451 if (NS_FAILED(rv)((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) {
9452 MOZ_ASSERT_UNREACHABLE(do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" "MOZ_ASSERT_UNREACHABLE: "
"Received RemoteLazyInputStream doesn't have an actor connection"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9453); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"MOZ_ASSERT_UNREACHABLE: " "Received RemoteLazyInputStream doesn't have an actor connection"
")"); do { *((volatile int*)__null) = 9453; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9453 "Received RemoteLazyInputStream doesn't have an actor connection")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" "MOZ_ASSERT_UNREACHABLE: "
"Received RemoteLazyInputStream doesn't have an actor connection"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9453); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"MOZ_ASSERT_UNREACHABLE: " "Received RemoteLazyInputStream doesn't have an actor connection"
")"); do { *((volatile int*)__null) = 9453; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9454 return nullptr;
9455 }
9456
9457 const auto fileInfo = mMappedBlobs.Lookup(id);
9458 return fileInfo ? fileInfo->clonePtr() : nullptr;
9459}
9460
9461void Database::UnmapBlob(const nsID& aID) {
9462 AssertIsOnBackgroundThread();
9463
9464 MOZ_ASSERT_IF(!mAllBlobsUnmapped, mMappedBlobs.Contains(aID))do { if (!mAllBlobsUnmapped) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(mMappedBlobs.Contains(aID
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mMappedBlobs.Contains(aID)))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("mMappedBlobs.Contains(aID)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9464); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mMappedBlobs.Contains(aID)"
")"); do { *((volatile int*)__null) = 9464; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
9465 mMappedBlobs.Remove(aID);
9466}
9467
9468void Database::UnmapAllBlobs() {
9469 AssertIsOnBackgroundThread();
9470
9471#ifdef DEBUG1
9472 mAllBlobsUnmapped = true;
9473#endif
9474
9475 mMappedBlobs.Clear();
9476}
9477
9478bool Database::CloseInternal() {
9479 AssertIsOnBackgroundThread();
9480
9481 if (mClosed) {
9482 if (NS_WARN_IF(!IsInvalidated())NS_warn_if_impl(!IsInvalidated(), "!IsInvalidated()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9482)
) {
9483 // Signal misbehaving child for sending the close message twice.
9484 return false;
9485 }
9486
9487 // Ignore harmless race when we just invalidated the database.
9488 return true;
9489 }
9490
9491 mClosed.Flip();
9492
9493 if (gConnectionPool) {
9494 gConnectionPool->CloseDatabaseWhenIdle(Id());
9495 }
9496
9497 DatabaseActorInfo* info;
9498 MOZ_ALWAYS_TRUE(gLiveDatabaseHashtable->Get(Id(), &info))do { if ((__builtin_expect(!!(gLiveDatabaseHashtable->Get(
Id(), &info)), 1))) { } else { do { do { } while (false);
MOZ_ReportCrash("" "gLiveDatabaseHashtable->Get(Id(), &info)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9498); AnnotateMozCrashReason("MOZ_CRASH(" "gLiveDatabaseHashtable->Get(Id(), &info)"
")"); do { *((volatile int*)__null) = 9498; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9499
9500 MOZ_ASSERT(info->mLiveDatabases.Contains(this))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(info->mLiveDatabases.Contains(this))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(info->mLiveDatabases.Contains(this)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("info->mLiveDatabases.Contains(this)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9500); AnnotateMozCrashReason("MOZ_ASSERT" "(" "info->mLiveDatabases.Contains(this)"
")"); do { *((volatile int*)__null) = 9500; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9501
9502 if (info->mWaitingFactoryOp) {
9503 info->mWaitingFactoryOp->NoteDatabaseClosed(this);
9504 }
9505
9506 MaybeCloseConnection();
9507
9508 return true;
9509}
9510
9511void Database::MaybeCloseConnection() {
9512 AssertIsOnBackgroundThread();
9513
9514 if (!mTransactions.Count() && IsClosed() && mDirectoryLock) {
9515 nsCOMPtr<nsIRunnable> callback =
9516 NewRunnableMethod("dom::indexedDB::Database::ConnectionClosedCallback",
9517 this, &Database::ConnectionClosedCallback);
9518
9519 RefPtr<WaitForTransactionsHelper> helper =
9520 new WaitForTransactionsHelper(Id(), callback);
9521 helper->WaitForTransactions();
9522 }
9523}
9524
9525void Database::ConnectionClosedCallback() {
9526 AssertIsOnBackgroundThread();
9527 MOZ_ASSERT(mClosed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mClosed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mClosed))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mClosed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9527); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mClosed" ")"
); do { *((volatile int*)__null) = 9527; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9528 MOZ_ASSERT(!mTransactions.Count())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mTransactions.Count())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mTransactions.Count()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mTransactions.Count()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9528); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mTransactions.Count()"
")"); do { *((volatile int*)__null) = 9528; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9529
9530 DropDirectoryLock(mDirectoryLock);
9531
9532 CleanupMetadata();
9533
9534 UnmapAllBlobs();
9535
9536 if (IsInvalidated() && IsActorAlive()) {
9537 // Step 3 and 4 of "5.2 Closing a Database":
9538 // 1. Wait for all transactions to complete.
9539 // 2. Fire a close event if forced flag is set, i.e., IsInvalidated() in our
9540 // implementation.
9541 Unused << SendCloseAfterInvalidationComplete();
9542 }
9543}
9544
9545void Database::CleanupMetadata() {
9546 AssertIsOnBackgroundThread();
9547
9548 DatabaseActorInfo* info;
9549 MOZ_ALWAYS_TRUE(gLiveDatabaseHashtable->Get(Id(), &info))do { if ((__builtin_expect(!!(gLiveDatabaseHashtable->Get(
Id(), &info)), 1))) { } else { do { do { } while (false);
MOZ_ReportCrash("" "gLiveDatabaseHashtable->Get(Id(), &info)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9549); AnnotateMozCrashReason("MOZ_CRASH(" "gLiveDatabaseHashtable->Get(Id(), &info)"
")"); do { *((volatile int*)__null) = 9549; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9550 MOZ_ALWAYS_TRUE(info->mLiveDatabases.RemoveElement(this))do { if ((__builtin_expect(!!(info->mLiveDatabases.RemoveElement
(this)), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "info->mLiveDatabases.RemoveElement(this)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9550); AnnotateMozCrashReason("MOZ_CRASH(" "info->mLiveDatabases.RemoveElement(this)"
")"); do { *((volatile int*)__null) = 9550; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9551
9552 QuotaManager::MaybeRecordQuotaClientShutdownStep(
9553 quota::Client::IDB, "Live database entry removed"_ns);
9554
9555 if (info->mLiveDatabases.IsEmpty()) {
9556 MOZ_ASSERT(!info->mWaitingFactoryOp ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!info->mWaitingFactoryOp || !info->mWaitingFactoryOp
->HasBlockedDatabases())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!info->mWaitingFactoryOp ||
!info->mWaitingFactoryOp->HasBlockedDatabases()))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("!info->mWaitingFactoryOp || !info->mWaitingFactoryOp->HasBlockedDatabases()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9557); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!info->mWaitingFactoryOp || !info->mWaitingFactoryOp->HasBlockedDatabases()"
")"); do { *((volatile int*)__null) = 9557; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9557 !info->mWaitingFactoryOp->HasBlockedDatabases())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!info->mWaitingFactoryOp || !info->mWaitingFactoryOp
->HasBlockedDatabases())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!info->mWaitingFactoryOp ||
!info->mWaitingFactoryOp->HasBlockedDatabases()))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("!info->mWaitingFactoryOp || !info->mWaitingFactoryOp->HasBlockedDatabases()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9557); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!info->mWaitingFactoryOp || !info->mWaitingFactoryOp->HasBlockedDatabases()"
")"); do { *((volatile int*)__null) = 9557; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9558 gLiveDatabaseHashtable->Remove(Id());
9559
9560 QuotaManager::MaybeRecordQuotaClientShutdownStep(
9561 quota::Client::IDB, "gLiveDatabaseHashtable entry removed"_ns);
9562 }
9563
9564 // Match the IncreaseBusyCount in OpenDatabaseOp::EnsureDatabaseActor().
9565 DecreaseBusyCount();
9566}
9567
9568void Database::ActorDestroy(ActorDestroyReason aWhy) {
9569 AssertIsOnBackgroundThread();
9570
9571 mActorDestroyed.Flip();
9572
9573 if (!IsInvalidated()) {
9574 Invalidate();
9575 }
9576}
9577
9578PBackgroundIDBDatabaseFileParent*
9579Database::AllocPBackgroundIDBDatabaseFileParent(const IPCBlob& aIPCBlob) {
9580 AssertIsOnBackgroundThread();
9581
9582 SafeRefPtr<DatabaseFileInfo> fileInfo = GetBlob(aIPCBlob);
9583 RefPtr<DatabaseFile> actor;
9584
9585 if (fileInfo) {
9586 actor = new DatabaseFile(std::move(fileInfo));
9587 } else {
9588 // This is a blob we haven't seen before.
9589 fileInfo = mFileManager->CreateFileInfo();
9590 if (NS_WARN_IF(!fileInfo)NS_warn_if_impl(!fileInfo, "!fileInfo", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9590)
) {
9591 return nullptr;
9592 }
9593
9594 actor = new DatabaseFile(IPCBlobUtils::Deserialize(aIPCBlob),
9595 std::move(fileInfo));
9596 }
9597
9598 MOZ_ASSERT(actor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(actor)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(actor))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("actor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9598); AnnotateMozCrashReason("MOZ_ASSERT" "(" "actor" ")")
; do { *((volatile int*)__null) = 9598; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9599
9600 return actor.forget().take();
9601}
9602
9603bool Database::DeallocPBackgroundIDBDatabaseFileParent(
9604 PBackgroundIDBDatabaseFileParent* aActor) {
9605 AssertIsOnBackgroundThread();
9606 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9606); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 9606; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9607
9608 RefPtr<DatabaseFile> actor = dont_AddRef(static_cast<DatabaseFile*>(aActor));
9609 return true;
9610}
9611
9612already_AddRefed<PBackgroundIDBTransactionParent>
9613Database::AllocPBackgroundIDBTransactionParent(
9614 const nsTArray<nsString>& aObjectStoreNames, const Mode& aMode,
9615 const Durability& aDurability) {
9616 AssertIsOnBackgroundThread();
9617
9618 // Once a database is closed it must not try to open new transactions.
9619 if (NS_WARN_IF(mClosed)NS_warn_if_impl(mClosed, "mClosed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9619)
) {
9620 MOZ_ASSERT_UNLESS_FUZZING(mInvalidated)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInvalidated)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mInvalidated))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mInvalidated", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9620); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInvalidated"
")"); do { *((volatile int*)__null) = 9620; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9621 return nullptr;
9622 }
9623
9624 if (NS_AUUF_OR_WARN_IF(aObjectStoreNames.IsEmpty())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aObjectStoreNames.IsEmpty()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9624); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aObjectStoreNames.IsEmpty()" ")"); do { *((volatile int*)__null
) = 9624; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((aObjectStoreNames.IsEmpty
()))
) {
9625 return nullptr;
9626 }
9627
9628 if (NS_AUUF_OR_WARN_IF(aMode != IDBTransaction::Mode::ReadOnly &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9631); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9631; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aMode != IDBTransaction::Mode::ReadOnly && aMode
!= IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction
::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode
::Cleanup))
9629 aMode != IDBTransaction::Mode::ReadWrite &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9631); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9631; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aMode != IDBTransaction::Mode::ReadOnly && aMode
!= IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction
::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode
::Cleanup))
9630 aMode != IDBTransaction::Mode::ReadWriteFlush &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9631); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9631; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aMode != IDBTransaction::Mode::ReadOnly && aMode
!= IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction
::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode
::Cleanup))
9631 aMode != IDBTransaction::Mode::Cleanup)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9631); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aMode != IDBTransaction::Mode::ReadOnly && aMode != IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9631; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aMode != IDBTransaction::Mode::ReadOnly && aMode
!= IDBTransaction::Mode::ReadWrite && aMode != IDBTransaction
::Mode::ReadWriteFlush && aMode != IDBTransaction::Mode
::Cleanup))
) {
9632 return nullptr;
9633 }
9634
9635 if (NS_AUUF_OR_WARN_IF(aDurability != IDBTransaction::Durability::Default &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aDurability != IDBTransaction::Durability::Default && aDurability != IDBTransaction::Durability::Strict && aDurability != IDBTransaction::Durability::Relaxed"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9637); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aDurability != IDBTransaction::Durability::Default && aDurability != IDBTransaction::Durability::Strict && aDurability != IDBTransaction::Durability::Relaxed"
")"); do { *((volatile int*)__null) = 9637; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aDurability != IDBTransaction::Durability::Default &&
aDurability != IDBTransaction::Durability::Strict &&
aDurability != IDBTransaction::Durability::Relaxed))
9636 aDurability != IDBTransaction::Durability::Strict &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aDurability != IDBTransaction::Durability::Default && aDurability != IDBTransaction::Durability::Strict && aDurability != IDBTransaction::Durability::Relaxed"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9637); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aDurability != IDBTransaction::Durability::Default && aDurability != IDBTransaction::Durability::Strict && aDurability != IDBTransaction::Durability::Relaxed"
")"); do { *((volatile int*)__null) = 9637; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aDurability != IDBTransaction::Durability::Default &&
aDurability != IDBTransaction::Durability::Strict &&
aDurability != IDBTransaction::Durability::Relaxed))
9637 aDurability != IDBTransaction::Durability::Relaxed)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aDurability != IDBTransaction::Durability::Default && aDurability != IDBTransaction::Durability::Strict && aDurability != IDBTransaction::Durability::Relaxed"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9637); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aDurability != IDBTransaction::Durability::Default && aDurability != IDBTransaction::Durability::Strict && aDurability != IDBTransaction::Durability::Relaxed"
")"); do { *((volatile int*)__null) = 9637; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((aDurability != IDBTransaction::Durability::Default &&
aDurability != IDBTransaction::Durability::Strict &&
aDurability != IDBTransaction::Durability::Relaxed))
) {
9638 return nullptr;
9639 }
9640
9641 const ObjectStoreTable& objectStores = mMetadata->mObjectStores;
9642 const uint32_t nameCount = aObjectStoreNames.Length();
9643
9644 if (NS_AUUF_OR_WARN_IF(nameCount > objectStores.Count())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "nameCount > objectStores.Count()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9644); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"nameCount > objectStores.Count()" ")"); do { *((volatile
int*)__null) = 9644; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((nameCount >
objectStores.Count()))
) {
9645 return nullptr;
9646 }
9647
9648 QM_TRY_UNWRAP(auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9649 auto objectStoreMetadatas,auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9650 TransformIntoNewArrayAbortOnErr(auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9651 aObjectStoreNames,auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9652 [lastName = Maybe<const nsString&>{},auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9653 &objectStores](const nsString& name) mutableauto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9654 -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> {auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9655 if (lastName) {auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9656 // Make sure that this name is sorted properly and not aauto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9657 // duplicate.auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9658 if (NS_AUUF_OR_WARN_IF(name <= lastName.ref())) {auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9659 return Err(NS_ERROR_FAILURE);auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9660 }auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9661 }auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9662 lastName = SomeRef(name);auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9663
9664 const auto foundIt =auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9665 std::find_if(objectStores.cbegin(), objectStores.cend(),auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9666 [&name](const auto& entry) {auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9667 const auto& value = entry.GetData();auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9668 MOZ_ASSERT(entry.GetKey());auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9669 return name == value->mCommonMetadata.name() &&auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9670 !value->mDeleted;auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9671 });auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9672 if (foundIt == objectStores.cend()) {auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9673 MOZ_ASSERT_UNLESS_FUZZING(false, "ObjectStore not found.");auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9674 return Err(NS_ERROR_FAILURE);auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9675 }auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9676
9677 return foundIt->GetData().clonePtr();auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9678 },auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9679 fallible),auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
9680 nullptr)auto tryResult975 = (TransformIntoNewArrayAbortOnErr( aObjectStoreNames
, [lastName = Maybe<const nsString&>{}, &objectStores
](const nsString& name) mutable -> mozilla::Result<
SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (
lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond
), 0))) { do { static_assert( mozilla::detail::AssertionConditionType
<decltype(false)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("false" " (" "name <= lastName.ref()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9658); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"name <= lastName.ref()" ")"); do { *((volatile int*)__null
) = 9658; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((name <= lastName.ref
()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(
name); const auto foundIt = std::find_if(objectStores.cbegin(
), objectStores.cend(), [&name](const auto& entry) { const
auto& value = entry.GetData(); do { static_assert( mozilla
::detail::AssertionConditionType<decltype(entry.GetKey())>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("entry.GetKey()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9668); AnnotateMozCrashReason("MOZ_ASSERT" "(" "entry.GetKey()"
")"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); return name
== value->mCommonMetadata.name() && !value->mDeleted
; }); if (foundIt == objectStores.cend()) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(false)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "ObjectStore not found." ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9673); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"ObjectStore not found." ")"); do { *((volatile int*)__null)
= 9673; __attribute__((nomerge)) ::abort(); } while (false);
} } while (false); return Err(NS_ERROR_FAILURE); } return foundIt
->GetData().clonePtr(); }, fallible)); if ((__builtin_expect
(!!(tryResult975.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult975.unwrapErr(); mozilla::dom::quota
::HandleError("TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9680, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "TransformIntoNewArrayAbortOnErr( aObjectStoreNames, [lastName = Maybe<const nsString&>{}, &objectStores](const nsString& name) mutable -> mozilla::Result<SafeRefPtr<FullObjectStoreMetadata>, nsresult> { if (lastName) { if ([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"name <= lastName.ref()\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9658); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"name <= lastName.ref()\" \")\"); do { *((volatile int*)__null) = 9658; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); } return aCond; }((name <= lastName.ref()))) { return Err(NS_ERROR_FAILURE); } } lastName = SomeRef(name); const auto foundIt = std::find_if(objectStores.cbegin(), objectStores.cend(), [&name](const auto& entry) { const auto& value = entry.GetData(); do { static_assert( mozilla::detail::AssertionConditionType<decltype(entry.GetKey())>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(entry.GetKey()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"entry.GetKey()\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9668); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"entry.GetKey()\" \")\"); do { *((volatile int*)__null) = 9668; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return name == value->mCommonMetadata.name() && !value->mDeleted; }); if (foundIt == objectStores.cend()) { do { static_assert( mozilla::detail::AssertionConditionType<decltype(false)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"false\" \" (\" \"ObjectStore not found.\" \")\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 9673); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"false\" \") (\" \"ObjectStore not found.\" \")\"); do { *((volatile int*)__null) = 9673; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Err(NS_ERROR_FAILURE); } return foundIt->GetData().clonePtr(); }, fallible)"
, tryTempError, nullptr); } auto objectStoreMetadatas = tryResult975
.unwrap();
;
9681
9682 return MakeSafeRefPtr<NormalTransaction>(SafeRefPtrFromThis(), aMode,
9683 aDurability,
9684 std::move(objectStoreMetadatas))
9685 .forget();
9686}
9687
9688mozilla::ipc::IPCResult Database::RecvPBackgroundIDBTransactionConstructor(
9689 PBackgroundIDBTransactionParent* aActor,
9690 nsTArray<nsString>&& aObjectStoreNames, const Mode& aMode,
9691 const Durability& aDurability) {
9692 AssertIsOnBackgroundThread();
9693 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9693); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 9693; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9694 MOZ_ASSERT(!aObjectStoreNames.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aObjectStoreNames.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aObjectStoreNames.IsEmpty()
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"!aObjectStoreNames.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9694); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aObjectStoreNames.IsEmpty()"
")"); do { *((volatile int*)__null) = 9694; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9695 MOZ_ASSERT(aMode == IDBTransaction::Mode::ReadOnly ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction
::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush
|| aMode == IDBTransaction::Mode::Cleanup)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMode == IDBTransaction::Mode
::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode
== IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction
::Mode::Cleanup))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9698); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9698; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9696 aMode == IDBTransaction::Mode::ReadWrite ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction
::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush
|| aMode == IDBTransaction::Mode::Cleanup)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMode == IDBTransaction::Mode
::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode
== IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction
::Mode::Cleanup))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9698); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9698; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9697 aMode == IDBTransaction::Mode::ReadWriteFlush ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction
::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush
|| aMode == IDBTransaction::Mode::Cleanup)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMode == IDBTransaction::Mode
::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode
== IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction
::Mode::Cleanup))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9698); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9698; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9698 aMode == IDBTransaction::Mode::Cleanup)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction
::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush
|| aMode == IDBTransaction::Mode::Cleanup)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aMode == IDBTransaction::Mode
::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode
== IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction
::Mode::Cleanup))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9698); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aMode == IDBTransaction::Mode::ReadOnly || aMode == IDBTransaction::Mode::ReadWrite || aMode == IDBTransaction::Mode::ReadWriteFlush || aMode == IDBTransaction::Mode::Cleanup"
")"); do { *((volatile int*)__null) = 9698; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9699 MOZ_ASSERT(aDurability == IDBTransaction::Durability::Default ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDurability == IDBTransaction::Durability::Default ||
aDurability == IDBTransaction::Durability::Strict || aDurability
== IDBTransaction::Durability::Relaxed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDurability == IDBTransaction
::Durability::Default || aDurability == IDBTransaction::Durability
::Strict || aDurability == IDBTransaction::Durability::Relaxed
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aDurability == IDBTransaction::Durability::Default || aDurability == IDBTransaction::Durability::Strict || aDurability == IDBTransaction::Durability::Relaxed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9701); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDurability == IDBTransaction::Durability::Default || aDurability == IDBTransaction::Durability::Strict || aDurability == IDBTransaction::Durability::Relaxed"
")"); do { *((volatile int*)__null) = 9701; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9700 aDurability == IDBTransaction::Durability::Strict ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDurability == IDBTransaction::Durability::Default ||
aDurability == IDBTransaction::Durability::Strict || aDurability
== IDBTransaction::Durability::Relaxed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDurability == IDBTransaction
::Durability::Default || aDurability == IDBTransaction::Durability
::Strict || aDurability == IDBTransaction::Durability::Relaxed
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aDurability == IDBTransaction::Durability::Default || aDurability == IDBTransaction::Durability::Strict || aDurability == IDBTransaction::Durability::Relaxed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9701); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDurability == IDBTransaction::Durability::Default || aDurability == IDBTransaction::Durability::Strict || aDurability == IDBTransaction::Durability::Relaxed"
")"); do { *((volatile int*)__null) = 9701; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
9701 aDurability == IDBTransaction::Durability::Relaxed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDurability == IDBTransaction::Durability::Default ||
aDurability == IDBTransaction::Durability::Strict || aDurability
== IDBTransaction::Durability::Relaxed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDurability == IDBTransaction
::Durability::Default || aDurability == IDBTransaction::Durability
::Strict || aDurability == IDBTransaction::Durability::Relaxed
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aDurability == IDBTransaction::Durability::Default || aDurability == IDBTransaction::Durability::Strict || aDurability == IDBTransaction::Durability::Relaxed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9701); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDurability == IDBTransaction::Durability::Default || aDurability == IDBTransaction::Durability::Strict || aDurability == IDBTransaction::Durability::Relaxed"
")"); do { *((volatile int*)__null) = 9701; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9702 MOZ_ASSERT(!mClosed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mClosed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mClosed))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mClosed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9702); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mClosed" ")"
); do { *((volatile int*)__null) = 9702; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9703
9704 if (IsInvalidated()) {
9705 // This is an expected race. We don't want the child to die here, just don't
9706 // actually do any work.
9707 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9708 }
9709
9710 if (!gConnectionPool) {
9711 gConnectionPool = new ConnectionPool();
9712 }
9713
9714 auto* transaction = static_cast<NormalTransaction*>(aActor);
9715
9716 RefPtr<StartTransactionOp> startOp = new StartTransactionOp(
9717 SafeRefPtr{transaction, AcquireStrongRefFromRawPtr{}});
9718
9719 uint64_t transactionId = startOp->StartOnConnectionPool(
9720 GetLoggingInfo()->Id(), mMetadata->mDatabaseId,
9721 transaction->LoggingSerialNumber(), aObjectStoreNames,
9722 aMode != IDBTransaction::Mode::ReadOnly);
9723
9724 transaction->Init(transactionId);
9725
9726 if (NS_WARN_IF(!RegisterTransaction(*transaction))NS_warn_if_impl(!RegisterTransaction(*transaction), "!RegisterTransaction(*transaction)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9726)
) {
9727 IDB_REPORT_INTERNAL_ERR()mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9727, "UnknownErr")
;
9728 transaction->Abort(NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR, /* aForce */ false);
9729 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9730 }
9731
9732 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9733}
9734
9735mozilla::ipc::IPCResult Database::RecvDeleteMe() {
9736 AssertIsOnBackgroundThread();
9737 MOZ_ASSERT(!mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9737); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mActorDestroyed"
")"); do { *((volatile int*)__null) = 9737; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9738
9739 QM_WARNONLY_TRY(OkIf(PBackgroundIDBDatabaseParent::Send__delete__(this))){auto tryResult976 = (OkIf(PBackgroundIDBDatabaseParent::Send__delete__
(this))); static_assert(std::is_empty_v<typename decltype(
tryResult976)::ok_type>); if ((__builtin_expect(!!(tryResult976
.isErr()), 0))) { mozilla::dom::quota::HandleError("OkIf(PBackgroundIDBDatabaseParent::Send__delete__(this))"
, tryResult976.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9739, mozilla::dom::quota::Severity::Warning); }}
;
9740
9741 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9742}
9743
9744mozilla::ipc::IPCResult Database::RecvBlocked() {
9745 AssertIsOnBackgroundThread();
9746
9747 if (NS_WARN_IF(mClosed)NS_warn_if_impl(mClosed, "mClosed", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9747)
) {
9748 // Even though the sender checks the DB for not being closed, too,
9749 // there is a potential race with an ongoing origin clearing which
9750 // might have invalidated the DB in the meantime. Just ignore.
9751 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9752 }
9753
9754 DatabaseActorInfo* info;
9755 MOZ_ALWAYS_TRUE(gLiveDatabaseHashtable->Get(Id(), &info))do { if ((__builtin_expect(!!(gLiveDatabaseHashtable->Get(
Id(), &info)), 1))) { } else { do { do { } while (false);
MOZ_ReportCrash("" "gLiveDatabaseHashtable->Get(Id(), &info)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9755); AnnotateMozCrashReason("MOZ_CRASH(" "gLiveDatabaseHashtable->Get(Id(), &info)"
")"); do { *((volatile int*)__null) = 9755; __attribute__((nomerge
)) ::abort(); } while (false); } while (false); } } while (false
)
;
9756 MOZ_ASSERT(info->mLiveDatabases.Contains(this))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(info->mLiveDatabases.Contains(this))>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(info->mLiveDatabases.Contains(this)))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("info->mLiveDatabases.Contains(this)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9756); AnnotateMozCrashReason("MOZ_ASSERT" "(" "info->mLiveDatabases.Contains(this)"
")"); do { *((volatile int*)__null) = 9756; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9757
9758 if (NS_WARN_IF(!info->mWaitingFactoryOp)NS_warn_if_impl(!info->mWaitingFactoryOp, "!info->mWaitingFactoryOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9758)
) {
9759 return IPC_FAIL(this, "Database info has no mWaitingFactoryOp!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Database info has no mWaitingFactoryOp!"
))
;
9760 }
9761
9762 info->mWaitingFactoryOp->NoteDatabaseBlocked(this);
9763
9764 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9765}
9766
9767mozilla::ipc::IPCResult Database::RecvClose() {
9768 AssertIsOnBackgroundThread();
9769
9770 if (NS_WARN_IF(!CloseInternal())NS_warn_if_impl(!CloseInternal(), "!CloseInternal()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9770)
) {
9771 return IPC_FAIL(this, "CloseInternal failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("CloseInternal failed!"
))
;
9772 }
9773
9774 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9775}
9776
9777void Database::StartTransactionOp::RunOnConnectionThread() {
9778 MOZ_ASSERT(!IsOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsOnBackgroundThread()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!IsOnBackgroundThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9778); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 9778; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9779 MOZ_ASSERT(!HasFailed())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!HasFailed())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!HasFailed()))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!HasFailed()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9779); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!HasFailed()"
")"); do { *((volatile int*)__null) = 9779; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9780
9781 IDB_LOG_MARK_PARENT_TRANSACTION("Beginning database work", "DB Start",mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" ": " "Beginning database work"
, "IndexedDB %s: " "P" " " "T[%" "l" "i" "]" ": " "DB Start",
mozilla::dom::indexedDB::LoggingIdString<true>(mBackgroundChildLoggingId
).get(), mTransactionLoggingSerialNumber)
9782 IDB_LOG_ID_STRING(mBackgroundChildLoggingId),mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" ": " "Beginning database work"
, "IndexedDB %s: " "P" " " "T[%" "l" "i" "]" ": " "DB Start",
mozilla::dom::indexedDB::LoggingIdString<true>(mBackgroundChildLoggingId
).get(), mTransactionLoggingSerialNumber)
9783 mTransactionLoggingSerialNumber)mozilla::dom::indexedDB::LoggingHelper("IndexedDB %s: " "Parent"
" " "Transaction[%" "l" "i" "]" ": " "Beginning database work"
, "IndexedDB %s: " "P" " " "T[%" "l" "i" "]" ": " "DB Start",
mozilla::dom::indexedDB::LoggingIdString<true>(mBackgroundChildLoggingId
).get(), mTransactionLoggingSerialNumber)
;
9784
9785 TransactionDatabaseOperationBase::RunOnConnectionThread();
9786}
9787
9788nsresult Database::StartTransactionOp::DoDatabaseWork(
9789 DatabaseConnection* aConnection) {
9790 MOZ_ASSERT(aConnection)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aConnection)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aConnection))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aConnection", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9790); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aConnection"
")"); do { *((volatile int*)__null) = 9790; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9791 aConnection->AssertIsOnConnectionThread();
9792
9793 Transaction().SetActiveOnConnectionThread();
9794
9795 if (Transaction().GetMode() == IDBTransaction::Mode::Cleanup) {
9796 DebugOnly<nsresult> rv = aConnection->DisableQuotaChecks();
9797 NS_WARNING_ASSERTION(NS_SUCCEEDED(rv),do { if (!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1
))))) { NS_DebugBreak(NS_DEBUG_WARNING, "DisableQuotaChecks failed, trying to continue "
"cleanup transaction with quota checks enabled", "NS_SUCCEEDED(rv)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9799); } } while (false)
9798 "DisableQuotaChecks failed, trying to continue "do { if (!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1
))))) { NS_DebugBreak(NS_DEBUG_WARNING, "DisableQuotaChecks failed, trying to continue "
"cleanup transaction with quota checks enabled", "NS_SUCCEEDED(rv)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9799); } } while (false)
9799 "cleanup transaction with quota checks enabled")do { if (!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1
))))) { NS_DebugBreak(NS_DEBUG_WARNING, "DisableQuotaChecks failed, trying to continue "
"cleanup transaction with quota checks enabled", "NS_SUCCEEDED(rv)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9799); } } while (false)
;
9800 }
9801
9802 if (Transaction().GetMode() != IDBTransaction::Mode::ReadOnly) {
9803 QM_TRY(MOZ_TO_RESULT({auto tryResult977 = (ToResult(aConnection->BeginWriteTransaction
(Transaction().GetDurability()))); static_assert(std::is_empty_v
<typename decltype(tryResult977)::ok_type>); if ((__builtin_expect
(!!(tryResult977.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aConnection->BeginWriteTransaction(Transaction().GetDurability()))"
, tryResult977.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9804, mozilla::dom::quota::Severity::Error); return tryResult977
.propagateErr(); }}
9804 aConnection->BeginWriteTransaction(Transaction().GetDurability()))){auto tryResult977 = (ToResult(aConnection->BeginWriteTransaction
(Transaction().GetDurability()))); static_assert(std::is_empty_v
<typename decltype(tryResult977)::ok_type>); if ((__builtin_expect
(!!(tryResult977.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aConnection->BeginWriteTransaction(Transaction().GetDurability()))"
, tryResult977.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9804, mozilla::dom::quota::Severity::Error); return tryResult977
.propagateErr(); }}
;
9805 }
9806
9807 return NS_OK;
9808}
9809
9810nsresult Database::StartTransactionOp::SendSuccessResult() {
9811 // We don't need to do anything here.
9812 return NS_OK;
9813}
9814
9815bool Database::StartTransactionOp::SendFailureResult(
9816 nsresult /* aResultCode */) {
9817 IDB_REPORT_INTERNAL_ERR()mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9817, "UnknownErr")
;
9818
9819 // Abort the transaction.
9820 return false;
9821}
9822
9823void Database::StartTransactionOp::Cleanup() {
9824#ifdef DEBUG1
9825 // StartTransactionOp is not a normal database operation that is tied to an
9826 // actor. Do this to make our assertions happy.
9827 NoteActorDestroyed();
9828#endif
9829
9830 TransactionDatabaseOperationBase::Cleanup();
9831}
9832
9833/*******************************************************************************
9834 * TransactionBase
9835 ******************************************************************************/
9836
9837TransactionBase::TransactionBase(SafeRefPtr<Database> aDatabase, Mode aMode,
9838 Durability aDurability)
9839 : mDatabase(std::move(aDatabase)),
9840 mDatabaseId(mDatabase->Id()),
9841 mLoggingSerialNumber(
9842 mDatabase->GetLoggingInfo()->NextTransactionSN(aMode)),
9843 mActiveRequestCount(0),
9844 mInvalidatedOnAnyThread(false),
9845 mMode(aMode),
9846 mDurability(aDurability),
9847 mResultCode(NS_OK) {
9848 AssertIsOnBackgroundThread();
9849 MOZ_ASSERT(mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDatabase))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mDatabase", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9849); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDatabase" ")"
); do { *((volatile int*)__null) = 9849; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9850 MOZ_ASSERT(mLoggingSerialNumber)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mLoggingSerialNumber)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mLoggingSerialNumber))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("mLoggingSerialNumber"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9850); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mLoggingSerialNumber"
")"); do { *((volatile int*)__null) = 9850; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9851}
9852
9853TransactionBase::~TransactionBase() {
9854 MOZ_ASSERT(!mActiveRequestCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mActiveRequestCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mActiveRequestCount))), 0))
) { do { } while (false); MOZ_ReportAssertionFailure("!mActiveRequestCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9854); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mActiveRequestCount"
")"); do { *((volatile int*)__null) = 9854; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9855 MOZ_ASSERT(mActorDestroyed)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mActorDestroyed)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mActorDestroyed))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mActorDestroyed"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9855); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mActorDestroyed"
")"); do { *((volatile int*)__null) = 9855; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9856 MOZ_ASSERT_IF(mInitialized, mCommittedOrAborted)do { if (mInitialized) { do { static_assert( mozilla::detail::
AssertionConditionType<decltype(mCommittedOrAborted)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mCommittedOrAborted))), 0))) { do { } while (false);
MOZ_ReportAssertionFailure("mCommittedOrAborted", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9856); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCommittedOrAborted"
")"); do { *((volatile int*)__null) = 9856; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } } while (
false)
;
9857}
9858
9859void TransactionBase::Abort(nsresult aResultCode, bool aForce) {
9860 AssertIsOnBackgroundThread();
9861 MOZ_ASSERT(NS_FAILED(aResultCode))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(NS_FAILED_impl(aResultCode
)), 0))))>::isValid, "invalid assertion condition"); if ((
__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(NS_FAILED_impl
(aResultCode)), 0)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("((bool)(__builtin_expect(!!(NS_FAILED_impl(aResultCode)), 0)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9861); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(NS_FAILED_impl(aResultCode)), 0)))"
")"); do { *((volatile int*)__null) = 9861; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9862
9863 if (NS_SUCCEEDED(mResultCode)((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)
))
) {
9864 mResultCode = aResultCode;
9865 }
9866
9867 if (aForce) {
9868 mForceAborted.EnsureFlipped();
9869 }
9870
9871 MaybeCommitOrAbort();
9872}
9873
9874mozilla::ipc::IPCResult TransactionBase::RecvCommit(
9875 IProtocol* aActor, const Maybe<int64_t> aLastRequest) {
9876 AssertIsOnBackgroundThread();
9877
9878 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9878)
) {
9879 return IPC_FAIL(mozilla::ipc::IPCResult::Fail(WrapNotNull(aActor), __func__, (
"Attempt to commit an already comitted/aborted transaction!")
)
9880 aActor, "Attempt to commit an already comitted/aborted transaction!")mozilla::ipc::IPCResult::Fail(WrapNotNull(aActor), __func__, (
"Attempt to commit an already comitted/aborted transaction!")
)
;
9881 }
9882
9883 mCommitOrAbortReceived.Flip();
9884 mLastRequestBeforeCommit.init(aLastRequest);
9885 MaybeCommitOrAbort();
9886
9887 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9888}
9889
9890mozilla::ipc::IPCResult TransactionBase::RecvAbort(IProtocol* aActor,
9891 nsresult aResultCode) {
9892 AssertIsOnBackgroundThread();
9893
9894 if (NS_WARN_IF(NS_SUCCEEDED(aResultCode))NS_warn_if_impl(((bool)(__builtin_expect(!!(!NS_FAILED_impl(aResultCode
)), 1))), "NS_SUCCEEDED(aResultCode)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9894)
) {
9895 return IPC_FAIL(aActor, "aResultCode must not be a success code!")mozilla::ipc::IPCResult::Fail(WrapNotNull(aActor), __func__, (
"aResultCode must not be a success code!"))
;
9896 }
9897
9898 if (NS_WARN_IF(NS_ERROR_GET_MODULE(aResultCode) !=NS_warn_if_impl(NS_ERROR_GET_MODULE(aResultCode) != 33, "NS_ERROR_GET_MODULE(aResultCode) != NS_ERROR_MODULE_DOM_INDEXEDDB"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9899)
9899 NS_ERROR_MODULE_DOM_INDEXEDDB)NS_warn_if_impl(NS_ERROR_GET_MODULE(aResultCode) != 33, "NS_ERROR_GET_MODULE(aResultCode) != NS_ERROR_MODULE_DOM_INDEXEDDB"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9899)
) {
9900 return IPC_FAIL(aActor, "aResultCode does not refer to IndexedDB!")mozilla::ipc::IPCResult::Fail(WrapNotNull(aActor), __func__, (
"aResultCode does not refer to IndexedDB!"))
;
9901 }
9902
9903 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9903)
) {
9904 return IPC_FAIL(mozilla::ipc::IPCResult::Fail(WrapNotNull(aActor), __func__, (
"Attempt to abort an already comitted/aborted transaction!"))
9905 aActor, "Attempt to abort an already comitted/aborted transaction!")mozilla::ipc::IPCResult::Fail(WrapNotNull(aActor), __func__, (
"Attempt to abort an already comitted/aborted transaction!"))
;
9906 }
9907
9908 mCommitOrAbortReceived.Flip();
9909 Abort(aResultCode, /* aForce */ false);
9910
9911 return IPC_OK()mozilla::ipc::IPCResult::Ok();
9912}
9913
9914void TransactionBase::CommitOrAbort() {
9915 AssertIsOnBackgroundThread();
9916
9917 mCommittedOrAborted.Flip();
9918
9919 if (!mInitialized) {
9920 return;
9921 }
9922
9923 // In case of a failed request and explicitly committed transaction, abort
9924 // (cf. https://w3c.github.io/IndexedDB/#async-execute-request step 5.3
9925 // vs. 5.4). It's worth emphasizing this can only happen here when we are
9926 // committing explicitly, otherwise the decision is made by the child.
9927 if (NS_SUCCEEDED(mResultCode)((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)
))
&& mLastFailedRequest &&
9928 *mLastRequestBeforeCommit &&
9929 *mLastFailedRequest == **mLastRequestBeforeCommit) {
9930 mResultCode = NS_ERROR_DOM_INDEXEDDB_ABORT_ERR;
9931 }
9932
9933 RefPtr<CommitOp> commitOp =
9934 new CommitOp(SafeRefPtrFromThis(), ClampResultCode(mResultCode));
9935
9936 gConnectionPool->Finish(TransactionId(), commitOp);
9937}
9938
9939SafeRefPtr<FullObjectStoreMetadata>
9940TransactionBase::GetMetadataForObjectStoreId(
9941 IndexOrObjectStoreId aObjectStoreId) const {
9942 AssertIsOnBackgroundThread();
9943 MOZ_ASSERT(aObjectStoreId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aObjectStoreId)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aObjectStoreId))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aObjectStoreId"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9943); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aObjectStoreId"
")"); do { *((volatile int*)__null) = 9943; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9944
9945 if (!aObjectStoreId) {
9946 return nullptr;
9947 }
9948
9949 auto metadata = mDatabase->Metadata().mObjectStores.Lookup(aObjectStoreId);
9950 if (!metadata || (*metadata)->mDeleted) {
9951 return nullptr;
9952 }
9953
9954 MOZ_ASSERT((*metadata)->mCommonMetadata.id() == aObjectStoreId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype((*metadata)->mCommonMetadata.id() == aObjectStoreId
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!((*metadata)->mCommonMetadata.id() == aObjectStoreId
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"(*metadata)->mCommonMetadata.id() == aObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9954); AnnotateMozCrashReason("MOZ_ASSERT" "(" "(*metadata)->mCommonMetadata.id() == aObjectStoreId"
")"); do { *((volatile int*)__null) = 9954; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9955
9956 return metadata->clonePtr();
9957}
9958
9959SafeRefPtr<FullIndexMetadata> TransactionBase::GetMetadataForIndexId(
9960 FullObjectStoreMetadata& aObjectStoreMetadata,
9961 IndexOrObjectStoreId aIndexId) const {
9962 AssertIsOnBackgroundThread();
9963 MOZ_ASSERT(aIndexId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aIndexId)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aIndexId))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aIndexId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9963); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aIndexId" ")"
); do { *((volatile int*)__null) = 9963; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9964
9965 if (!aIndexId) {
9966 return nullptr;
9967 }
9968
9969 auto metadata = aObjectStoreMetadata.mIndexes.Lookup(aIndexId);
9970 if (!metadata || (*metadata)->mDeleted) {
9971 return nullptr;
9972 }
9973
9974 MOZ_ASSERT((*metadata)->mCommonMetadata.id() == aIndexId)do { static_assert( mozilla::detail::AssertionConditionType<
decltype((*metadata)->mCommonMetadata.id() == aIndexId)>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!((*metadata)->mCommonMetadata.id() == aIndexId))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("(*metadata)->mCommonMetadata.id() == aIndexId"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9974); AnnotateMozCrashReason("MOZ_ASSERT" "(" "(*metadata)->mCommonMetadata.id() == aIndexId"
")"); do { *((volatile int*)__null) = 9974; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9975
9976 return metadata->clonePtr();
9977}
9978
9979void TransactionBase::NoteModifiedAutoIncrementObjectStore(
9980 const SafeRefPtr<FullObjectStoreMetadata>& aMetadata) {
9981 AssertIsOnConnectionThread();
9982
9983 if (!mModifiedAutoIncrementObjectStoreMetadataArray.Contains(aMetadata)) {
9984 mModifiedAutoIncrementObjectStoreMetadataArray.AppendElement(
9985 aMetadata.clonePtr());
9986 }
9987}
9988
9989void TransactionBase::ForgetModifiedAutoIncrementObjectStore(
9990 FullObjectStoreMetadata& aMetadata) {
9991 AssertIsOnConnectionThread();
9992
9993 mModifiedAutoIncrementObjectStoreMetadataArray.RemoveElement(&aMetadata);
9994}
9995
9996bool TransactionBase::VerifyRequestParams(const RequestParams& aParams) const {
9997 AssertIsOnBackgroundThread();
9998 MOZ_ASSERT(aParams.type() != RequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != RequestParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != RequestParams::T__None))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aParams.type() != RequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 9998); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != RequestParams::T__None"
")"); do { *((volatile int*)__null) = 9998; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
9999
10000 switch (aParams.type()) {
10001 case RequestParams::TObjectStoreAddParams: {
10002 const ObjectStoreAddPutParams& params =
10003 aParams.get_ObjectStoreAddParams().commonParams();
10004 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params)" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10004); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params)" ")"); do { *((volatile int*)__null
) = 10004; __attribute__((nomerge)) ::abort(); } while (false
); } } while (false); } return aCond; }((!VerifyRequestParams
(params)))
) {
10005 return false;
10006 }
10007 break;
10008 }
10009
10010 case RequestParams::TObjectStorePutParams: {
10011 const ObjectStoreAddPutParams& params =
10012 aParams.get_ObjectStorePutParams().commonParams();
10013 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params)" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10013); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params)" ")"); do { *((volatile int*)__null
) = 10013; __attribute__((nomerge)) ::abort(); } while (false
); } } while (false); } return aCond; }((!VerifyRequestParams
(params)))
) {
10014 return false;
10015 }
10016 break;
10017 }
10018
10019 case RequestParams::TObjectStoreGetParams: {
10020 const ObjectStoreGetParams& params = aParams.get_ObjectStoreGetParams();
10021 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10022 GetMetadataForObjectStoreId(params.objectStoreId());
10023 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10023); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10023; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10024 return false;
10025 }
10026 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.keyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.keyRange())" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10026); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.keyRange())" ")"); do { *((volatile
int*)__null) = 10026; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!VerifyRequestParams
(params.keyRange())))
) {
10027 return false;
10028 }
10029 break;
10030 }
10031
10032 case RequestParams::TObjectStoreGetKeyParams: {
10033 const ObjectStoreGetKeyParams& params =
10034 aParams.get_ObjectStoreGetKeyParams();
10035 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10036 GetMetadataForObjectStoreId(params.objectStoreId());
10037 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10037); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10037; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10038 return false;
10039 }
10040 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.keyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.keyRange())" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10040); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.keyRange())" ")"); do { *((volatile
int*)__null) = 10040; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!VerifyRequestParams
(params.keyRange())))
) {
10041 return false;
10042 }
10043 break;
10044 }
10045
10046 case RequestParams::TObjectStoreGetAllParams: {
10047 const ObjectStoreGetAllParams& params =
10048 aParams.get_ObjectStoreGetAllParams();
10049 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10050 GetMetadataForObjectStoreId(params.objectStoreId());
10051 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10051); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10051; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10052 return false;
10053 }
10054 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10054); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.optionalKeyRange())" ")"); do {
*((volatile int*)__null) = 10054; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!VerifyRequestParams(params.optionalKeyRange())))
) {
10055 return false;
10056 }
10057 break;
10058 }
10059
10060 case RequestParams::TObjectStoreGetAllKeysParams: {
10061 const ObjectStoreGetAllKeysParams& params =
10062 aParams.get_ObjectStoreGetAllKeysParams();
10063 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10064 GetMetadataForObjectStoreId(params.objectStoreId());
10065 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10065); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10065; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10066 return false;
10067 }
10068 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10068); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.optionalKeyRange())" ")"); do {
*((volatile int*)__null) = 10068; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!VerifyRequestParams(params.optionalKeyRange())))
) {
10069 return false;
10070 }
10071 break;
10072 }
10073
10074 case RequestParams::TObjectStoreDeleteParams: {
10075 if (NS_AUUF_OR_WARN_IF(mMode != IDBTransaction::Mode::ReadWrite &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10078); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10078; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
10076 mMode != IDBTransaction::Mode::ReadWriteFlush &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10078); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10078; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
10077 mMode != IDBTransaction::Mode::Cleanup &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10078); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10078; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
10078 mMode != IDBTransaction::Mode::VersionChange)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10078); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10078; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
) {
10079 return false;
10080 }
10081
10082 const ObjectStoreDeleteParams& params =
10083 aParams.get_ObjectStoreDeleteParams();
10084 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10085 GetMetadataForObjectStoreId(params.objectStoreId());
10086 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10086); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10086; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10087 return false;
10088 }
10089 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.keyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.keyRange())" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10089); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.keyRange())" ")"); do { *((volatile
int*)__null) = 10089; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!VerifyRequestParams
(params.keyRange())))
) {
10090 return false;
10091 }
10092 break;
10093 }
10094
10095 case RequestParams::TObjectStoreClearParams: {
10096 if (NS_AUUF_OR_WARN_IF(mMode != IDBTransaction::Mode::ReadWrite &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10099); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10099; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
10097 mMode != IDBTransaction::Mode::ReadWriteFlush &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10099); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10099; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
10098 mMode != IDBTransaction::Mode::Cleanup &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10099); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10099; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
10099 mMode != IDBTransaction::Mode::VersionChange)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10099); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::Cleanup && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10099; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::Cleanup && mMode != IDBTransaction
::Mode::VersionChange))
) {
10100 return false;
10101 }
10102
10103 const ObjectStoreClearParams& params =
10104 aParams.get_ObjectStoreClearParams();
10105 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10106 GetMetadataForObjectStoreId(params.objectStoreId());
10107 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10107); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10107; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10108 return false;
10109 }
10110 break;
10111 }
10112
10113 case RequestParams::TObjectStoreCountParams: {
10114 const ObjectStoreCountParams& params =
10115 aParams.get_ObjectStoreCountParams();
10116 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10117 GetMetadataForObjectStoreId(params.objectStoreId());
10118 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10118); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10118; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10119 return false;
10120 }
10121 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10121); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.optionalKeyRange())" ")"); do {
*((volatile int*)__null) = 10121; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!VerifyRequestParams(params.optionalKeyRange())))
) {
10122 return false;
10123 }
10124 break;
10125 }
10126
10127 case RequestParams::TIndexGetParams: {
10128 const IndexGetParams& params = aParams.get_IndexGetParams();
10129 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10130 GetMetadataForObjectStoreId(params.objectStoreId());
10131 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10131); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10131; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10132 return false;
10133 }
10134 const SafeRefPtr<FullIndexMetadata> indexMetadata =
10135 GetMetadataForIndexId(*objectStoreMetadata, params.indexId());
10136 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10136); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10136
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10137 return false;
10138 }
10139 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.keyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.keyRange())" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10139); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.keyRange())" ")"); do { *((volatile
int*)__null) = 10139; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!VerifyRequestParams
(params.keyRange())))
) {
10140 return false;
10141 }
10142 break;
10143 }
10144
10145 case RequestParams::TIndexGetKeyParams: {
10146 const IndexGetKeyParams& params = aParams.get_IndexGetKeyParams();
10147 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10148 GetMetadataForObjectStoreId(params.objectStoreId());
10149 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10149); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10149; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10150 return false;
10151 }
10152 const SafeRefPtr<FullIndexMetadata> indexMetadata =
10153 GetMetadataForIndexId(*objectStoreMetadata, params.indexId());
10154 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10154); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10154
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10155 return false;
10156 }
10157 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.keyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.keyRange())" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10157); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.keyRange())" ")"); do { *((volatile
int*)__null) = 10157; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!VerifyRequestParams
(params.keyRange())))
) {
10158 return false;
10159 }
10160 break;
10161 }
10162
10163 case RequestParams::TIndexGetAllParams: {
10164 const IndexGetAllParams& params = aParams.get_IndexGetAllParams();
10165 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10166 GetMetadataForObjectStoreId(params.objectStoreId());
10167 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10167); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10167; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10168 return false;
10169 }
10170 const SafeRefPtr<FullIndexMetadata> indexMetadata =
10171 GetMetadataForIndexId(*objectStoreMetadata, params.indexId());
10172 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10172); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10172
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10173 return false;
10174 }
10175 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10175); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.optionalKeyRange())" ")"); do {
*((volatile int*)__null) = 10175; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!VerifyRequestParams(params.optionalKeyRange())))
) {
10176 return false;
10177 }
10178 break;
10179 }
10180
10181 case RequestParams::TIndexGetAllKeysParams: {
10182 const IndexGetAllKeysParams& params = aParams.get_IndexGetAllKeysParams();
10183 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10184 GetMetadataForObjectStoreId(params.objectStoreId());
10185 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10185); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10185; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10186 return false;
10187 }
10188 const SafeRefPtr<FullIndexMetadata> indexMetadata =
10189 GetMetadataForIndexId(*objectStoreMetadata, params.indexId());
10190 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10190); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10190
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10191 return false;
10192 }
10193 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10193); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.optionalKeyRange())" ")"); do {
*((volatile int*)__null) = 10193; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!VerifyRequestParams(params.optionalKeyRange())))
) {
10194 return false;
10195 }
10196 break;
10197 }
10198
10199 case RequestParams::TIndexCountParams: {
10200 const IndexCountParams& params = aParams.get_IndexCountParams();
10201 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
10202 GetMetadataForObjectStoreId(params.objectStoreId());
10203 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10203); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10203; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10204 return false;
10205 }
10206 const SafeRefPtr<FullIndexMetadata> indexMetadata =
10207 GetMetadataForIndexId(*objectStoreMetadata, params.indexId());
10208 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10208); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10208
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10209 return false;
10210 }
10211 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(params.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(params.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10211); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(params.optionalKeyRange())" ")"); do {
*((volatile int*)__null) = 10211; __attribute__((nomerge)) ::
abort(); } while (false); } } while (false); } return aCond; }
((!VerifyRequestParams(params.optionalKeyRange())))
) {
10212 return false;
10213 }
10214 break;
10215 }
10216
10217 default:
10218 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10218); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 10218; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
10219 }
10220
10221 return true;
10222}
10223
10224bool TransactionBase::VerifyRequestParams(
10225 const SerializedKeyRange& aParams) const {
10226 AssertIsOnBackgroundThread();
10227
10228 // XXX Check more here?
10229
10230 if (aParams.isOnly()) {
10231 if (NS_AUUF_OR_WARN_IF(aParams.lower().IsUnset())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aParams.lower().IsUnset()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10231); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aParams.lower().IsUnset()" ")"); do { *((volatile int*)__null
) = 10231; __attribute__((nomerge)) ::abort(); } while (false
); } } while (false); } return aCond; }((aParams.lower().IsUnset
()))
) {
10232 return false;
10233 }
10234 if (NS_AUUF_OR_WARN_IF(!aParams.upper().IsUnset())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aParams.upper().IsUnset()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10234); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aParams.upper().IsUnset()" ")"); do { *((volatile int*)__null
) = 10234; __attribute__((nomerge)) ::abort(); } while (false
); } } while (false); } return aCond; }((!aParams.upper().IsUnset
()))
) {
10235 return false;
10236 }
10237 if (NS_AUUF_OR_WARN_IF(aParams.lowerOpen())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aParams.lowerOpen()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10237); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aParams.lowerOpen()" ")"); do { *((volatile int*)__null) = 10237
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((aParams.lowerOpen()))
) {
10238 return false;
10239 }
10240 if (NS_AUUF_OR_WARN_IF(aParams.upperOpen())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aParams.upperOpen()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10240); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aParams.upperOpen()" ")"); do { *((volatile int*)__null) = 10240
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((aParams.upperOpen()))
) {
10241 return false;
10242 }
10243 } else if (NS_AUUF_OR_WARN_IF(aParams.lower().IsUnset() &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aParams.lower().IsUnset() && aParams.upper().IsUnset()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10244); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aParams.lower().IsUnset() && aParams.upper().IsUnset()"
")"); do { *((volatile int*)__null) = 10244; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((aParams.lower().IsUnset() && aParams.upper
().IsUnset()))
10244 aParams.upper().IsUnset())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aParams.lower().IsUnset() && aParams.upper().IsUnset()"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10244); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aParams.lower().IsUnset() && aParams.upper().IsUnset()"
")"); do { *((volatile int*)__null) = 10244; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((aParams.lower().IsUnset() && aParams.upper
().IsUnset()))
) {
10245 return false;
10246 }
10247
10248 return true;
10249}
10250
10251bool TransactionBase::VerifyRequestParams(
10252 const ObjectStoreAddPutParams& aParams) const {
10253 AssertIsOnBackgroundThread();
10254
10255 if (NS_AUUF_OR_WARN_IF(mMode != IDBTransaction::Mode::ReadWrite &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10257); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10257; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::VersionChange))
10256 mMode != IDBTransaction::Mode::ReadWriteFlush &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10257); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10257; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::VersionChange))
10257 mMode != IDBTransaction::Mode::VersionChange)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::VersionChange"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10257); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mMode != IDBTransaction::Mode::ReadWrite && mMode != IDBTransaction::Mode::ReadWriteFlush && mMode != IDBTransaction::Mode::VersionChange"
")"); do { *((volatile int*)__null) = 10257; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((mMode != IDBTransaction::Mode::ReadWrite &&
mMode != IDBTransaction::Mode::ReadWriteFlush && mMode
!= IDBTransaction::Mode::VersionChange))
) {
10258 return false;
10259 }
10260
10261 SafeRefPtr<FullObjectStoreMetadata> objMetadata =
10262 GetMetadataForObjectStoreId(aParams.objectStoreId());
10263 if (NS_AUUF_OR_WARN_IF(!objMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10263); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objMetadata" ")"); do { *((volatile int*)__null) = 10263; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((!objMetadata))
) {
10264 return false;
10265 }
10266
10267 if (NS_AUUF_OR_WARN_IF(!aParams.cloneInfo().data().data.Size())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aParams.cloneInfo().data().data.Size()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10267); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aParams.cloneInfo().data().data.Size()" ")"); do { *((volatile
int*)__null) = 10267; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!aParams.cloneInfo
().data().data.Size()))
) {
10268 return false;
10269 }
10270
10271 if (objMetadata->mCommonMetadata.autoIncrement() &&
10272 objMetadata->mCommonMetadata.keyPath().IsValid() &&
10273 aParams.key().IsUnset()) {
10274 const SerializedStructuredCloneWriteInfo& cloneInfo = aParams.cloneInfo();
10275
10276 if (NS_AUUF_OR_WARN_IF(!cloneInfo.offsetToKeyProp())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!cloneInfo.offsetToKeyProp()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10276); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!cloneInfo.offsetToKeyProp()" ")"); do { *((volatile int*)__null
) = 10276; __attribute__((nomerge)) ::abort(); } while (false
); } } while (false); } return aCond; }((!cloneInfo.offsetToKeyProp
()))
) {
10277 return false;
10278 }
10279
10280 if (NS_AUUF_OR_WARN_IF(cloneInfo.data().data.Size() < sizeof(uint64_t))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "cloneInfo.data().data.Size() < sizeof(uint64_t)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10280); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"cloneInfo.data().data.Size() < sizeof(uint64_t)" ")"); do
{ *((volatile int*)__null) = 10280; __attribute__((nomerge))
::abort(); } while (false); } } while (false); } return aCond
; }((cloneInfo.data().data.Size() < sizeof(uint64_t)))
) {
10281 return false;
10282 }
10283
10284 if (NS_AUUF_OR_WARN_IF(cloneInfo.offsetToKeyProp() >[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "cloneInfo.offsetToKeyProp() > (cloneInfo.data().data.Size() - sizeof(uint64_t))"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10285); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"cloneInfo.offsetToKeyProp() > (cloneInfo.data().data.Size() - sizeof(uint64_t))"
")"); do { *((volatile int*)__null) = 10285; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((cloneInfo.offsetToKeyProp() > (cloneInfo.data()
.data.Size() - sizeof(uint64_t))))
10285 (cloneInfo.data().data.Size() - sizeof(uint64_t)))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "cloneInfo.offsetToKeyProp() > (cloneInfo.data().data.Size() - sizeof(uint64_t))"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10285); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"cloneInfo.offsetToKeyProp() > (cloneInfo.data().data.Size() - sizeof(uint64_t))"
")"); do { *((volatile int*)__null) = 10285; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((cloneInfo.offsetToKeyProp() > (cloneInfo.data()
.data.Size() - sizeof(uint64_t))))
) {
10286 return false;
10287 }
10288 } else if (NS_AUUF_OR_WARN_IF(aParams.cloneInfo().offsetToKeyProp())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "aParams.cloneInfo().offsetToKeyProp()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10288); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"aParams.cloneInfo().offsetToKeyProp()" ")"); do { *((volatile
int*)__null) = 10288; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((aParams.cloneInfo
().offsetToKeyProp()))
) {
10289 return false;
10290 }
10291
10292 for (const auto& updateInfo : aParams.indexUpdateInfos()) {
10293 SafeRefPtr<FullIndexMetadata> indexMetadata =
10294 GetMetadataForIndexId(*objMetadata, updateInfo.indexId());
10295 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10295); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10295
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10296 return false;
10297 }
10298
10299 if (NS_AUUF_OR_WARN_IF(updateInfo.value().IsUnset())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "updateInfo.value().IsUnset()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10299); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"updateInfo.value().IsUnset()" ")"); do { *((volatile int*)__null
) = 10299; __attribute__((nomerge)) ::abort(); } while (false
); } } while (false); } return aCond; }((updateInfo.value().IsUnset
()))
) {
10300 return false;
10301 }
10302
10303 MOZ_ASSERT(!updateInfo.value().GetBuffer().IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!updateInfo.value().GetBuffer().IsEmpty())>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!updateInfo.value().GetBuffer().IsEmpty()))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("!updateInfo.value().GetBuffer().IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10303); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!updateInfo.value().GetBuffer().IsEmpty()"
")"); do { *((volatile int*)__null) = 10303; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10304 }
10305
10306 for (const FileAddInfo& fileAddInfo : aParams.fileAddInfos()) {
10307 const PBackgroundIDBDatabaseFileParent* file =
10308 fileAddInfo.file().AsParent();
10309
10310 switch (fileAddInfo.type()) {
10311 case StructuredCloneFileBase::eBlob:
10312 if (NS_AUUF_OR_WARN_IF(!file)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!file" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10312); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!file" ")"); do { *((volatile int*)__null) = 10312; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((!file))
) {
10313 return false;
10314 }
10315 break;
10316
10317 case StructuredCloneFileBase::eMutableFile: {
10318 return false;
10319 }
10320
10321 case StructuredCloneFileBase::eStructuredClone:
10322 case StructuredCloneFileBase::eWasmBytecode:
10323 case StructuredCloneFileBase::eWasmCompiled:
10324 case StructuredCloneFileBase::eEndGuard:
10325 MOZ_ASSERT_UNLESS_FUZZING(false, "Unsupported.")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(false)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(false))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("false" " (" "Unsupported."
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10325); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"Unsupported." ")"); do { *((volatile int*)__null) = 10325; __attribute__
((nomerge)) ::abort(); } while (false); } } while (false)
;
10326 return false;
10327
10328 default:
10329 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10329); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 10329; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
10330 }
10331 }
10332
10333 return true;
10334}
10335
10336bool TransactionBase::VerifyRequestParams(
10337 const Maybe<SerializedKeyRange>& aParams) const {
10338 AssertIsOnBackgroundThread();
10339
10340 if (aParams.isSome()) {
10341 if (NS_AUUF_OR_WARN_IF(!VerifyRequestParams(aParams.ref()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams(aParams.ref())" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10341); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams(aParams.ref())" ")"); do { *((volatile
int*)__null) = 10341; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!VerifyRequestParams
(aParams.ref())))
) {
10342 return false;
10343 }
10344 }
10345
10346 return true;
10347}
10348
10349void TransactionBase::NoteActiveRequest() {
10350 AssertIsOnBackgroundThread();
10351 MOZ_ASSERT(mActiveRequestCount < UINT64_MAX)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mActiveRequestCount < (18446744073709551615UL))>
::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mActiveRequestCount < (18446744073709551615UL))))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("mActiveRequestCount < (18446744073709551615UL)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10351); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mActiveRequestCount < (18446744073709551615UL)"
")"); do { *((volatile int*)__null) = 10351; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10352
10353 mActiveRequestCount++;
10354}
10355
10356void TransactionBase::NoteFinishedRequest(const int64_t aRequestId,
10357 const nsresult aResultCode) {
10358 AssertIsOnBackgroundThread();
10359 MOZ_ASSERT(mActiveRequestCount)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mActiveRequestCount)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mActiveRequestCount))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mActiveRequestCount"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10359); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mActiveRequestCount"
")"); do { *((volatile int*)__null) = 10359; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10360
10361 mActiveRequestCount--;
10362
10363 if (NS_FAILED(aResultCode)((bool)(__builtin_expect(!!(NS_FAILED_impl(aResultCode)), 0))
)
) {
10364 mLastFailedRequest = Some(aRequestId);
10365 }
10366
10367 MaybeCommitOrAbort();
10368}
10369
10370void TransactionBase::Invalidate() {
10371 AssertIsOnBackgroundThread();
10372 MOZ_ASSERT(mInvalidated == mInvalidatedOnAnyThread)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mInvalidated == mInvalidatedOnAnyThread)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(mInvalidated == mInvalidatedOnAnyThread))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mInvalidated == mInvalidatedOnAnyThread"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10372); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mInvalidated == mInvalidatedOnAnyThread"
")"); do { *((volatile int*)__null) = 10372; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10373
10374 if (!mInvalidated) {
10375 mInvalidated.Flip();
10376 mInvalidatedOnAnyThread = true;
10377
10378 Abort(NS_ERROR_DOM_INDEXEDDB_ABORT_ERR, /* aForce */ false);
10379 }
10380}
10381
10382PBackgroundIDBRequestParent* TransactionBase::AllocRequest(
10383 const int64_t aRequestId, RequestParams&& aParams, bool aTrustParams) {
10384 AssertIsOnBackgroundThread();
10385 MOZ_ASSERT(aParams.type() != RequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != RequestParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != RequestParams::T__None))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aParams.type() != RequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10385); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != RequestParams::T__None"
")"); do { *((volatile int*)__null) = 10385; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10386
10387#ifdef DEBUG1
10388 // Always verify parameters in DEBUG builds!
10389 aTrustParams = false;
10390#endif
10391
10392 if (NS_AUUF_OR_WARN_IF(!aTrustParams && !VerifyRequestParams(aParams))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aTrustParams && !VerifyRequestParams(aParams)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10392); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aTrustParams && !VerifyRequestParams(aParams)" ")"
); do { *((volatile int*)__null) = 10392; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((!aTrustParams && !VerifyRequestParams(aParams)))
) {
10393 return nullptr;
10394 }
10395
10396 if (NS_AUUF_OR_WARN_IF(mCommitOrAbortReceived)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mCommitOrAbortReceived" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10396); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mCommitOrAbortReceived" ")"); do { *((volatile int*)__null)
= 10396; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((mCommitOrAbortReceived
))
) {
10397 return nullptr;
10398 }
10399
10400 RefPtr<NormalTransactionOp> actor;
10401
10402 switch (aParams.type()) {
10403 case RequestParams::TObjectStoreAddParams:
10404 case RequestParams::TObjectStorePutParams:
10405 actor = new ObjectStoreAddOrPutRequestOp(SafeRefPtrFromThis(), aRequestId,
10406 std::move(aParams));
10407 break;
10408
10409 case RequestParams::TObjectStoreGetParams:
10410 actor =
10411 new ObjectStoreGetRequestOp(SafeRefPtrFromThis(), aRequestId, aParams,
10412 /* aGetAll */ false);
10413 break;
10414
10415 case RequestParams::TObjectStoreGetAllParams:
10416 actor =
10417 new ObjectStoreGetRequestOp(SafeRefPtrFromThis(), aRequestId, aParams,
10418 /* aGetAll */ true);
10419 break;
10420
10421 case RequestParams::TObjectStoreGetKeyParams:
10422 actor = new ObjectStoreGetKeyRequestOp(SafeRefPtrFromThis(), aRequestId,
10423 aParams,
10424 /* aGetAll */ false);
10425 break;
10426
10427 case RequestParams::TObjectStoreGetAllKeysParams:
10428 actor = new ObjectStoreGetKeyRequestOp(SafeRefPtrFromThis(), aRequestId,
10429 aParams,
10430 /* aGetAll */ true);
10431 break;
10432
10433 case RequestParams::TObjectStoreDeleteParams:
10434 actor =
10435 new ObjectStoreDeleteRequestOp(SafeRefPtrFromThis(), aRequestId,
10436 aParams.get_ObjectStoreDeleteParams());
10437 break;
10438
10439 case RequestParams::TObjectStoreClearParams:
10440 actor =
10441 new ObjectStoreClearRequestOp(SafeRefPtrFromThis(), aRequestId,
10442 aParams.get_ObjectStoreClearParams());
10443 break;
10444
10445 case RequestParams::TObjectStoreCountParams:
10446 actor =
10447 new ObjectStoreCountRequestOp(SafeRefPtrFromThis(), aRequestId,
10448 aParams.get_ObjectStoreCountParams());
10449 break;
10450
10451 case RequestParams::TIndexGetParams:
10452 actor = new IndexGetRequestOp(SafeRefPtrFromThis(), aRequestId, aParams,
10453 /* aGetAll */ false);
10454 break;
10455
10456 case RequestParams::TIndexGetKeyParams:
10457 actor =
10458 new IndexGetKeyRequestOp(SafeRefPtrFromThis(), aRequestId, aParams,
10459 /* aGetAll */ false);
10460 break;
10461
10462 case RequestParams::TIndexGetAllParams:
10463 actor = new IndexGetRequestOp(SafeRefPtrFromThis(), aRequestId, aParams,
10464 /* aGetAll */ true);
10465 break;
10466
10467 case RequestParams::TIndexGetAllKeysParams:
10468 actor =
10469 new IndexGetKeyRequestOp(SafeRefPtrFromThis(), aRequestId, aParams,
10470 /* aGetAll */ true);
10471 break;
10472
10473 case RequestParams::TIndexCountParams:
10474 actor =
10475 new IndexCountRequestOp(SafeRefPtrFromThis(), aRequestId, aParams);
10476 break;
10477
10478 default:
10479 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10479); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 10479; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
10480 }
10481
10482 MOZ_ASSERT(actor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(actor)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(actor))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("actor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10482); AnnotateMozCrashReason("MOZ_ASSERT" "(" "actor" ")"
); do { *((volatile int*)__null) = 10482; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10483
10484 // Transfer ownership to IPDL.
10485 return actor.forget().take();
10486}
10487
10488bool TransactionBase::StartRequest(PBackgroundIDBRequestParent* aActor) {
10489 AssertIsOnBackgroundThread();
10490 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10490); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 10490; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10491
10492 auto* op = static_cast<NormalTransactionOp*>(aActor);
10493
10494 if (NS_WARN_IF(!op->Init(*this))NS_warn_if_impl(!op->Init(*this), "!op->Init(*this)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10494)
) {
10495 op->Cleanup();
10496 return false;
10497 }
10498
10499 op->DispatchToConnectionPool();
10500 return true;
10501}
10502
10503bool TransactionBase::DeallocRequest(
10504 PBackgroundIDBRequestParent* const aActor) {
10505 AssertIsOnBackgroundThread();
10506 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10506); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 10506; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10507
10508 // Transfer ownership back from IPDL.
10509 const RefPtr<NormalTransactionOp> actor =
10510 dont_AddRef(static_cast<NormalTransactionOp*>(aActor));
10511 return true;
10512}
10513
10514already_AddRefed<PBackgroundIDBCursorParent> TransactionBase::AllocCursor(
10515 const OpenCursorParams& aParams, bool aTrustParams) {
10516 AssertIsOnBackgroundThread();
10517 MOZ_ASSERT(aParams.type() != OpenCursorParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != OpenCursorParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != OpenCursorParams::T__None))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aParams.type() != OpenCursorParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10517); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != OpenCursorParams::T__None"
")"); do { *((volatile int*)__null) = 10517; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10518
10519#ifdef DEBUG1
10520 // Always verify parameters in DEBUG builds!
10521 aTrustParams = false;
10522#endif
10523
10524 const OpenCursorParams::Type type = aParams.type();
10525 SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata;
10526 SafeRefPtr<FullIndexMetadata> indexMetadata;
10527 CursorBase::Direction direction;
10528
10529 // First extract the parameters common to all open cursor variants.
10530 const auto& commonParams = GetCommonOpenCursorParams(aParams);
10531 objectStoreMetadata =
10532 GetMetadataForObjectStoreId(commonParams.objectStoreId());
10533 if (NS_AUUF_OR_WARN_IF(!objectStoreMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!objectStoreMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10533); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!objectStoreMetadata" ")"); do { *((volatile int*)__null) =
10533; __attribute__((nomerge)) ::abort(); } while (false); }
} while (false); } return aCond; }((!objectStoreMetadata))
) {
10534 return nullptr;
10535 }
10536 if (aTrustParams && NS_AUUF_OR_WARN_IF(!VerifyRequestParams([](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams( commonParams.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10537); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams( commonParams.optionalKeyRange())" ")"
); do { *((volatile int*)__null) = 10537; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((!VerifyRequestParams( commonParams.optionalKeyRange())))
10537 commonParams.optionalKeyRange()))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!VerifyRequestParams( commonParams.optionalKeyRange())"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10537); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!VerifyRequestParams( commonParams.optionalKeyRange())" ")"
); do { *((volatile int*)__null) = 10537; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false); } return aCond
; }((!VerifyRequestParams( commonParams.optionalKeyRange())))
) {
10538 return nullptr;
10539 }
10540 direction = commonParams.direction();
10541
10542 // Now, for the index open cursor variants, extract the additional parameter.
10543 if (type == OpenCursorParams::TIndexOpenCursorParams ||
10544 type == OpenCursorParams::TIndexOpenKeyCursorParams) {
10545 const auto& commonIndexParams = GetCommonIndexOpenCursorParams(aParams);
10546 indexMetadata = GetMetadataForIndexId(*objectStoreMetadata,
10547 commonIndexParams.indexId());
10548 if (NS_AUUF_OR_WARN_IF(!indexMetadata)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!indexMetadata" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10548); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!indexMetadata" ")"); do { *((volatile int*)__null) = 10548
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((!indexMetadata))
) {
10549 return nullptr;
10550 }
10551 }
10552
10553 if (NS_AUUF_OR_WARN_IF(mCommitOrAbortReceived)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mCommitOrAbortReceived" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10553); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mCommitOrAbortReceived" ")"); do { *((volatile int*)__null)
= 10553; __attribute__((nomerge)) ::abort(); } while (false)
; } } while (false); } return aCond; }((mCommitOrAbortReceived
))
) {
10554 return nullptr;
10555 }
10556
10557 // Create Cursor and transfer ownership to IPDL.
10558 switch (type) {
10559 case OpenCursorParams::TObjectStoreOpenCursorParams:
10560 MOZ_ASSERT(!indexMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!indexMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!indexMetadata))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!indexMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10560); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!indexMetadata"
")"); do { *((volatile int*)__null) = 10560; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10561 return MakeAndAddRef<Cursor<IDBCursorType::ObjectStore>>(
10562 SafeRefPtrFromThis(), std::move(objectStoreMetadata), direction,
10563 CursorBase::ConstructFromTransactionBase{});
10564 case OpenCursorParams::TObjectStoreOpenKeyCursorParams:
10565 MOZ_ASSERT(!indexMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!indexMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!indexMetadata))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!indexMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10565); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!indexMetadata"
")"); do { *((volatile int*)__null) = 10565; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10566 return MakeAndAddRef<Cursor<IDBCursorType::ObjectStoreKey>>(
10567 SafeRefPtrFromThis(), std::move(objectStoreMetadata), direction,
10568 CursorBase::ConstructFromTransactionBase{});
10569 case OpenCursorParams::TIndexOpenCursorParams:
10570 return MakeAndAddRef<Cursor<IDBCursorType::Index>>(
10571 SafeRefPtrFromThis(), std::move(objectStoreMetadata),
10572 std::move(indexMetadata), direction,
10573 CursorBase::ConstructFromTransactionBase{});
10574 case OpenCursorParams::TIndexOpenKeyCursorParams:
10575 return MakeAndAddRef<Cursor<IDBCursorType::IndexKey>>(
10576 SafeRefPtrFromThis(), std::move(objectStoreMetadata),
10577 std::move(indexMetadata), direction,
10578 CursorBase::ConstructFromTransactionBase{});
10579 default:
10580 MOZ_CRASH("Cannot get here.")do { do { } while (false); MOZ_ReportCrash("" "Cannot get here."
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10580); AnnotateMozCrashReason("MOZ_CRASH(" "Cannot get here."
")"); do { *((volatile int*)__null) = 10580; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
10581 }
10582}
10583
10584bool TransactionBase::StartCursor(PBackgroundIDBCursorParent* const aActor,
10585 const int64_t aRequestId,
10586 const OpenCursorParams& aParams) {
10587 AssertIsOnBackgroundThread();
10588 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10588); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 10588; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10589 MOZ_ASSERT(aParams.type() != OpenCursorParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != OpenCursorParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != OpenCursorParams::T__None))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aParams.type() != OpenCursorParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10589); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != OpenCursorParams::T__None"
")"); do { *((volatile int*)__null) = 10589; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10590
10591 auto* const op = static_cast<CursorBase*>(aActor);
10592
10593 if (NS_WARN_IF(!op->Start(aRequestId, aParams))NS_warn_if_impl(!op->Start(aRequestId, aParams), "!op->Start(aRequestId, aParams)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10593)
) {
10594 return false;
10595 }
10596
10597 return true;
10598}
10599
10600/*******************************************************************************
10601 * NormalTransaction
10602 ******************************************************************************/
10603
10604NormalTransaction::NormalTransaction(
10605 SafeRefPtr<Database> aDatabase, TransactionBase::Mode aMode,
10606 TransactionBase::Durability aDurability,
10607 nsTArray<SafeRefPtr<FullObjectStoreMetadata>>&& aObjectStores)
10608 : TransactionBase(std::move(aDatabase), aMode, aDurability),
10609 mObjectStores{std::move(aObjectStores)} {
10610 AssertIsOnBackgroundThread();
10611 MOZ_ASSERT(!mObjectStores.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mObjectStores.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mObjectStores.IsEmpty()))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("!mObjectStores.IsEmpty()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10611); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mObjectStores.IsEmpty()"
")"); do { *((volatile int*)__null) = 10611; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10612}
10613
10614bool NormalTransaction::IsSameProcessActor() {
10615 AssertIsOnBackgroundThread();
10616
10617 PBackgroundParent* const actor = Manager()->Manager()->Manager();
10618 MOZ_ASSERT(actor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(actor)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(actor))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("actor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10618); AnnotateMozCrashReason("MOZ_ASSERT" "(" "actor" ")"
); do { *((volatile int*)__null) = 10618; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10619
10620 return !BackgroundParent::IsOtherProcessActor(actor);
10621}
10622
10623void NormalTransaction::SendCompleteNotification(nsresult aResult) {
10624 AssertIsOnBackgroundThread();
10625
10626 if (!IsActorDestroyed()) {
10627 Unused << SendComplete(aResult);
10628 }
10629}
10630
10631void NormalTransaction::ActorDestroy(ActorDestroyReason aWhy) {
10632 AssertIsOnBackgroundThread();
10633
10634 NoteActorDestroyed();
10635
10636 if (!mCommittedOrAborted) {
10637 if (NS_SUCCEEDED(mResultCode)((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)
))
) {
10638 IDB_REPORT_INTERNAL_ERR()mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10638, "UnknownErr")
;
10639 mResultCode = NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
10640 }
10641
10642 mForceAborted.EnsureFlipped();
10643
10644 MaybeCommitOrAbort();
10645 }
10646}
10647
10648mozilla::ipc::IPCResult NormalTransaction::RecvDeleteMe() {
10649 AssertIsOnBackgroundThread();
10650 MOZ_ASSERT(!IsActorDestroyed())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsActorDestroyed())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsActorDestroyed()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!IsActorDestroyed()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10650); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsActorDestroyed()"
")"); do { *((volatile int*)__null) = 10650; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10651
10652 QM_WARNONLY_TRY(OkIf(PBackgroundIDBTransactionParent::Send__delete__(this))){auto tryResult978 = (OkIf(PBackgroundIDBTransactionParent::Send__delete__
(this))); static_assert(std::is_empty_v<typename decltype(
tryResult978)::ok_type>); if ((__builtin_expect(!!(tryResult978
.isErr()), 0))) { mozilla::dom::quota::HandleError("OkIf(PBackgroundIDBTransactionParent::Send__delete__(this))"
, tryResult978.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10652, mozilla::dom::quota::Severity::Warning); }}
;
10653
10654 return IPC_OK()mozilla::ipc::IPCResult::Ok();
10655}
10656
10657mozilla::ipc::IPCResult NormalTransaction::RecvCommit(
10658 const Maybe<int64_t>& aLastRequest) {
10659 AssertIsOnBackgroundThread();
10660
10661 return TransactionBase::RecvCommit(this, aLastRequest);
10662}
10663
10664mozilla::ipc::IPCResult NormalTransaction::RecvAbort(
10665 const nsresult& aResultCode) {
10666 AssertIsOnBackgroundThread();
10667
10668 return TransactionBase::RecvAbort(this, aResultCode);
10669}
10670
10671PBackgroundIDBRequestParent*
10672NormalTransaction::AllocPBackgroundIDBRequestParent(
10673 const int64_t& aRequestId, const RequestParams& aParams) {
10674 AssertIsOnBackgroundThread();
10675 MOZ_ASSERT(aParams.type() != RequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != RequestParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != RequestParams::T__None))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aParams.type() != RequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10675); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != RequestParams::T__None"
")"); do { *((volatile int*)__null) = 10675; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10676
10677 return AllocRequest(aRequestId,
10678 std::move(const_cast<RequestParams&>(aParams)),
10679 IsSameProcessActor());
10680}
10681
10682mozilla::ipc::IPCResult NormalTransaction::RecvPBackgroundIDBRequestConstructor(
10683 PBackgroundIDBRequestParent* const aActor, const int64_t& aRequestId,
10684 const RequestParams& aParams) {
10685 AssertIsOnBackgroundThread();
10686 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10686); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 10686; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10687 MOZ_ASSERT(aParams.type() != RequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != RequestParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != RequestParams::T__None))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aParams.type() != RequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10687); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != RequestParams::T__None"
")"); do { *((volatile int*)__null) = 10687; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10688
10689 if (!StartRequest(aActor)) {
10690 return IPC_FAIL(this, "StartRequest failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("StartRequest failed!"
))
;
10691 }
10692 return IPC_OK()mozilla::ipc::IPCResult::Ok();
10693}
10694
10695bool NormalTransaction::DeallocPBackgroundIDBRequestParent(
10696 PBackgroundIDBRequestParent* const aActor) {
10697 AssertIsOnBackgroundThread();
10698 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10698); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 10698; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10699
10700 return DeallocRequest(aActor);
10701}
10702
10703already_AddRefed<PBackgroundIDBCursorParent>
10704NormalTransaction::AllocPBackgroundIDBCursorParent(
10705 const int64_t& aRequestId, const OpenCursorParams& aParams) {
10706 AssertIsOnBackgroundThread();
10707
10708 return AllocCursor(aParams, IsSameProcessActor());
10709}
10710
10711mozilla::ipc::IPCResult NormalTransaction::RecvPBackgroundIDBCursorConstructor(
10712 PBackgroundIDBCursorParent* const aActor, const int64_t& aRequestId,
10713 const OpenCursorParams& aParams) {
10714 AssertIsOnBackgroundThread();
10715 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10715); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 10715; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10716 MOZ_ASSERT(aParams.type() != OpenCursorParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != OpenCursorParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != OpenCursorParams::T__None))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aParams.type() != OpenCursorParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10716); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != OpenCursorParams::T__None"
")"); do { *((volatile int*)__null) = 10716; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10717
10718 if (!StartCursor(aActor, aRequestId, aParams)) {
10719 return IPC_FAIL(this, "StartCursor failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("StartCursor failed!"
))
;
10720 }
10721 return IPC_OK()mozilla::ipc::IPCResult::Ok();
10722}
10723
10724/*******************************************************************************
10725 * VersionChangeTransaction
10726 ******************************************************************************/
10727
10728VersionChangeTransaction::VersionChangeTransaction(
10729 OpenDatabaseOp* aOpenDatabaseOp)
10730 : TransactionBase(aOpenDatabaseOp->mDatabase.clonePtr(),
10731 IDBTransaction::Mode::VersionChange,
10732 // VersionChange must not change durability.
10733 IDBTransaction::Durability::Default), // Not used.
10734 mOpenDatabaseOp(aOpenDatabaseOp) {
10735 AssertIsOnBackgroundThread();
10736 MOZ_ASSERT(aOpenDatabaseOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aOpenDatabaseOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aOpenDatabaseOp))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("aOpenDatabaseOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10736); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aOpenDatabaseOp"
")"); do { *((volatile int*)__null) = 10736; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10737}
10738
10739VersionChangeTransaction::~VersionChangeTransaction() {
10740#ifdef DEBUG1
10741 // Silence the base class' destructor assertion if we never made this actor
10742 // live.
10743 FakeActorDestroyed();
10744#endif
10745}
10746
10747bool VersionChangeTransaction::IsSameProcessActor() {
10748 AssertIsOnBackgroundThread();
10749
10750 PBackgroundParent* actor = Manager()->Manager()->Manager();
10751 MOZ_ASSERT(actor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(actor)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(actor))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("actor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10751); AnnotateMozCrashReason("MOZ_ASSERT" "(" "actor" ")"
); do { *((volatile int*)__null) = 10751; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10752
10753 return !BackgroundParent::IsOtherProcessActor(actor);
10754}
10755
10756void VersionChangeTransaction::SetActorAlive() {
10757 AssertIsOnBackgroundThread();
10758 MOZ_ASSERT(!IsActorDestroyed())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsActorDestroyed())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsActorDestroyed()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!IsActorDestroyed()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10758); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsActorDestroyed()"
")"); do { *((volatile int*)__null) = 10758; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10759
10760 mActorWasAlive.Flip();
10761}
10762
10763bool VersionChangeTransaction::CopyDatabaseMetadata() {
10764 AssertIsOnBackgroundThread();
10765 MOZ_ASSERT(!mOldMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mOldMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mOldMetadata))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("!mOldMetadata",
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10765); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mOldMetadata"
")"); do { *((volatile int*)__null) = 10765; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10766
10767 const auto& origMetadata = GetDatabase().Metadata();
10768
10769 SafeRefPtr<FullDatabaseMetadata> newMetadata = origMetadata.Duplicate();
10770 if (NS_WARN_IF(!newMetadata)NS_warn_if_impl(!newMetadata, "!newMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10770)
) {
10771 return false;
10772 }
10773
10774 // Replace the live metadata with the new mutable copy.
10775 DatabaseActorInfo* info;
10776 MOZ_ALWAYS_TRUE(gLiveDatabaseHashtable->Get(origMetadata.mDatabaseId, &info))do { if ((__builtin_expect(!!(gLiveDatabaseHashtable->Get(
origMetadata.mDatabaseId, &info)), 1))) { } else { do { do
{ } while (false); MOZ_ReportCrash("" "gLiveDatabaseHashtable->Get(origMetadata.mDatabaseId, &info)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10776); AnnotateMozCrashReason("MOZ_CRASH(" "gLiveDatabaseHashtable->Get(origMetadata.mDatabaseId, &info)"
")"); do { *((volatile int*)__null) = 10776; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
10777 MOZ_ASSERT(!info->mLiveDatabases.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!info->mLiveDatabases.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!info->mLiveDatabases.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!info->mLiveDatabases.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10777); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!info->mLiveDatabases.IsEmpty()"
")"); do { *((volatile int*)__null) = 10777; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10778 MOZ_ASSERT(info->mMetadata == &origMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(info->mMetadata == &origMetadata)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(info->mMetadata == &origMetadata))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("info->mMetadata == &origMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10778); AnnotateMozCrashReason("MOZ_ASSERT" "(" "info->mMetadata == &origMetadata"
")"); do { *((volatile int*)__null) = 10778; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10779
10780 mOldMetadata = std::move(info->mMetadata);
10781 info->mMetadata = std::move(newMetadata);
10782
10783 // Replace metadata pointers for all live databases.
10784 for (const auto& liveDatabase : info->mLiveDatabases) {
10785 liveDatabase->mMetadata = info->mMetadata.clonePtr();
10786 }
10787
10788 return true;
10789}
10790
10791void VersionChangeTransaction::UpdateMetadata(nsresult aResult) {
10792 AssertIsOnBackgroundThread();
10793 MOZ_ASSERT(mOpenDatabaseOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOpenDatabaseOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOpenDatabaseOp))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mOpenDatabaseOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10793); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOpenDatabaseOp"
")"); do { *((volatile int*)__null) = 10793; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10794 MOZ_ASSERT(!!mActorWasAlive == !!mOpenDatabaseOp->mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!!mActorWasAlive == !!mOpenDatabaseOp->mDatabase)
>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(!!mActorWasAlive == !!mOpenDatabaseOp->mDatabase)
)), 0))) { do { } while (false); MOZ_ReportAssertionFailure("!!mActorWasAlive == !!mOpenDatabaseOp->mDatabase"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10794); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!!mActorWasAlive == !!mOpenDatabaseOp->mDatabase"
")"); do { *((volatile int*)__null) = 10794; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10795 MOZ_ASSERT_IF(mActorWasAlive, !mOpenDatabaseOp->mDatabaseId.ref().IsEmpty())do { if (mActorWasAlive) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(!mOpenDatabaseOp->mDatabaseId
.ref().IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mOpenDatabaseOp->mDatabaseId
.ref().IsEmpty()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!mOpenDatabaseOp->mDatabaseId.ref().IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10795); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mOpenDatabaseOp->mDatabaseId.ref().IsEmpty()"
")"); do { *((volatile int*)__null) = 10795; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
10796
10797 if (IsActorDestroyed() || !mActorWasAlive) {
10798 return;
10799 }
10800
10801 SafeRefPtr<FullDatabaseMetadata> oldMetadata = std::move(mOldMetadata);
10802
10803 DatabaseActorInfo* info;
10804 if (!gLiveDatabaseHashtable->Get(oldMetadata->mDatabaseId, &info)) {
10805 return;
10806 }
10807
10808 MOZ_ASSERT(!info->mLiveDatabases.IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!info->mLiveDatabases.IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!info->mLiveDatabases.IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!info->mLiveDatabases.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10808); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!info->mLiveDatabases.IsEmpty()"
")"); do { *((volatile int*)__null) = 10808; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10809
10810 if (NS_SUCCEEDED(aResult)((bool)(__builtin_expect(!!(!NS_FAILED_impl(aResult)), 1)))) {
10811 // Remove all deleted objectStores and indexes, then mark immutable.
10812 info->mMetadata->mObjectStores.RemoveIf([](const auto& objectStoreIter) {
10813 MOZ_ASSERT(objectStoreIter.Key())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(objectStoreIter.Key())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(objectStoreIter.Key()))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("objectStoreIter.Key()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10813); AnnotateMozCrashReason("MOZ_ASSERT" "(" "objectStoreIter.Key()"
")"); do { *((volatile int*)__null) = 10813; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10814 const SafeRefPtr<FullObjectStoreMetadata>& metadata =
10815 objectStoreIter.Data();
10816 MOZ_ASSERT(metadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(metadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(metadata))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("metadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10816); AnnotateMozCrashReason("MOZ_ASSERT" "(" "metadata" ")"
); do { *((volatile int*)__null) = 10816; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10817
10818 if (metadata->mDeleted) {
10819 return true;
10820 }
10821
10822 metadata->mIndexes.RemoveIf([](const auto& indexIter) -> bool {
10823 MOZ_ASSERT(indexIter.Key())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(indexIter.Key())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(indexIter.Key()))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("indexIter.Key()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10823); AnnotateMozCrashReason("MOZ_ASSERT" "(" "indexIter.Key()"
")"); do { *((volatile int*)__null) = 10823; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10824 const SafeRefPtr<FullIndexMetadata>& index = indexIter.Data();
10825 MOZ_ASSERT(index)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(index)>::isValid, "invalid assertion condition");
if ((__builtin_expect(!!(!(!!(index))), 0))) { do { } while (
false); MOZ_ReportAssertionFailure("index", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10825); AnnotateMozCrashReason("MOZ_ASSERT" "(" "index" ")"
); do { *((volatile int*)__null) = 10825; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
10826
10827 return index->mDeleted;
10828 });
10829 metadata->mIndexes.MarkImmutable();
10830
10831 return false;
10832 });
10833
10834 info->mMetadata->mObjectStores.MarkImmutable();
10835 } else {
10836 // Replace metadata pointers for all live databases.
10837 info->mMetadata = std::move(oldMetadata);
10838
10839 for (auto& liveDatabase : info->mLiveDatabases) {
10840 liveDatabase->mMetadata = info->mMetadata.clonePtr();
10841 }
10842 }
10843}
10844
10845void VersionChangeTransaction::SendCompleteNotification(nsresult aResult) {
10846 AssertIsOnBackgroundThread();
10847 MOZ_ASSERT(mOpenDatabaseOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mOpenDatabaseOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOpenDatabaseOp))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("mOpenDatabaseOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10847); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOpenDatabaseOp"
")"); do { *((volatile int*)__null) = 10847; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10848 MOZ_ASSERT(!mOpenDatabaseOp->mCompleteCallback)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mOpenDatabaseOp->mCompleteCallback)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(!mOpenDatabaseOp->mCompleteCallback))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("!mOpenDatabaseOp->mCompleteCallback"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10848); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mOpenDatabaseOp->mCompleteCallback"
")"); do { *((volatile int*)__null) = 10848; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10849 MOZ_ASSERT_IF(!mActorWasAlive, mOpenDatabaseOp->HasFailed())do { if (!mActorWasAlive) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(mOpenDatabaseOp->HasFailed
())>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(mOpenDatabaseOp->HasFailed()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mOpenDatabaseOp->HasFailed()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10849); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOpenDatabaseOp->HasFailed()"
")"); do { *((volatile int*)__null) = 10849; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
10850 MOZ_ASSERT_IF(!mActorWasAlive, mOpenDatabaseOp->mState >do { if (!mActorWasAlive) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(mOpenDatabaseOp->mState
> OpenDatabaseOp::State::SendingResults)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOpenDatabaseOp->mState >
OpenDatabaseOp::State::SendingResults))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mOpenDatabaseOp->mState > OpenDatabaseOp::State::SendingResults"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10851); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOpenDatabaseOp->mState > OpenDatabaseOp::State::SendingResults"
")"); do { *((volatile int*)__null) = 10851; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
10851 OpenDatabaseOp::State::SendingResults)do { if (!mActorWasAlive) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(mOpenDatabaseOp->mState
> OpenDatabaseOp::State::SendingResults)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mOpenDatabaseOp->mState >
OpenDatabaseOp::State::SendingResults))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("mOpenDatabaseOp->mState > OpenDatabaseOp::State::SendingResults"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10851); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mOpenDatabaseOp->mState > OpenDatabaseOp::State::SendingResults"
")"); do { *((volatile int*)__null) = 10851; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
10852
10853 const RefPtr<OpenDatabaseOp> openDatabaseOp = std::move(mOpenDatabaseOp);
10854
10855 if (!mActorWasAlive) {
10856 return;
10857 }
10858
10859 openDatabaseOp->mCompleteCallback =
10860 [self = SafeRefPtr{this, AcquireStrongRefFromRawPtr{}}, aResult]() {
10861 if (!self->IsActorDestroyed()) {
10862 Unused << self->SendComplete(aResult);
10863 }
10864 };
10865
10866 auto handleError = [openDatabaseOp](const nsresult rv) {
10867 openDatabaseOp->SetFailureCodeIfUnset(NS_ERROR_DOM_INDEXEDDB_ABORT_ERR);
10868
10869 openDatabaseOp->mState = OpenDatabaseOp::State::SendingResults;
10870
10871 MOZ_ALWAYS_SUCCEEDS(openDatabaseOp->Run())do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(openDatabaseOp->Run())), 1)))), 1))) { } else { do { do {
} while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(openDatabaseOp->Run())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10871); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(openDatabaseOp->Run())"
")"); do { *((volatile int*)__null) = 10871; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
10872 };
10873
10874 if (NS_FAILED(aResult)((bool)(__builtin_expect(!!(NS_FAILED_impl(aResult)), 0)))) {
10875 // 3.3.1 Opening a database:
10876 // "If the upgrade transaction was aborted, run the steps for closing a
10877 // database connection with connection, create and return a new AbortError
10878 // exception and abort these steps."
10879 handleError(NS_ERROR_DOM_INDEXEDDB_ABORT_ERR);
10880 return;
10881 }
10882
10883 openDatabaseOp->mState = OpenDatabaseOp::State::DatabaseWorkVersionUpdate;
10884
10885 QuotaManager* const quotaManager = QuotaManager::Get();
10886 MOZ_ASSERT(quotaManager)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(quotaManager)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(quotaManager))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("quotaManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10886); AnnotateMozCrashReason("MOZ_ASSERT" "(" "quotaManager"
")"); do { *((volatile int*)__null) = 10886; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10887
10888 QM_TRY(MOZ_TO_RESULT(quotaManager->IOThread()->Dispatch(openDatabaseOp,{auto tryResult979 = (ToResult(quotaManager->IOThread()->
Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr
( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
})); static_assert(std::is_empty_v<typename decltype(tryResult979
)::ok_type>); if ((__builtin_expect(!!(tryResult979.isErr(
)), 0))) { auto tryTempError = tryResult979.unwrapErr(); mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10892, mozilla::dom::quota::Severity::Error); handleError(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return ; }}
10889 NS_DISPATCH_NORMAL)){auto tryResult979 = (ToResult(quotaManager->IOThread()->
Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr
( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
})); static_assert(std::is_empty_v<typename decltype(tryResult979
)::ok_type>); if ((__builtin_expect(!!(tryResult979.isErr(
)), 0))) { auto tryTempError = tryResult979.unwrapErr(); mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10892, mozilla::dom::quota::Severity::Error); handleError(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return ; }}
10890 .mapErr({auto tryResult979 = (ToResult(quotaManager->IOThread()->
Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr
( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
})); static_assert(std::is_empty_v<typename decltype(tryResult979
)::ok_type>); if ((__builtin_expect(!!(tryResult979.isErr(
)), 0))) { auto tryTempError = tryResult979.unwrapErr(); mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10892, mozilla::dom::quota::Severity::Error); handleError(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return ; }}
10891 [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; }),{auto tryResult979 = (ToResult(quotaManager->IOThread()->
Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr
( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
})); static_assert(std::is_empty_v<typename decltype(tryResult979
)::ok_type>); if ((__builtin_expect(!!(tryResult979.isErr(
)), 0))) { auto tryTempError = tryResult979.unwrapErr(); mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10892, mozilla::dom::quota::Severity::Error); handleError(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return ; }}
10892 QM_VOID, handleError){auto tryResult979 = (ToResult(quotaManager->IOThread()->
Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr
( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
})); static_assert(std::is_empty_v<typename decltype(tryResult979
)::ok_type>); if ((__builtin_expect(!!(tryResult979.isErr(
)), 0))) { auto tryTempError = tryResult979.unwrapErr(); mozilla
::dom::quota::HandleError("ToResult(quotaManager->IOThread()->Dispatch(openDatabaseOp, nsIEventTarget::DISPATCH_NORMAL)) .mapErr( [](const auto) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; })"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10892, mozilla::dom::quota::Severity::Error); handleError(tryTempError
); constexpr const auto& func __attribute__((__unused__))
= __func__; return ; }}
;
10893}
10894
10895void VersionChangeTransaction::ActorDestroy(ActorDestroyReason aWhy) {
10896 AssertIsOnBackgroundThread();
10897
10898 NoteActorDestroyed();
10899
10900 if (!mCommittedOrAborted) {
10901 if (NS_SUCCEEDED(mResultCode)((bool)(__builtin_expect(!!(!NS_FAILED_impl(mResultCode)), 1)
))
) {
10902 IDB_REPORT_INTERNAL_ERR()mozilla::dom::indexedDB::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10902, "UnknownErr")
;
10903 mResultCode = NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR;
10904 }
10905
10906 mForceAborted.EnsureFlipped();
10907
10908 MaybeCommitOrAbort();
10909 }
10910}
10911
10912mozilla::ipc::IPCResult VersionChangeTransaction::RecvDeleteMe() {
10913 AssertIsOnBackgroundThread();
10914 MOZ_ASSERT(!IsActorDestroyed())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsActorDestroyed())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsActorDestroyed()))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("!IsActorDestroyed()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10914); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsActorDestroyed()"
")"); do { *((volatile int*)__null) = 10914; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10915
10916 QM_WARNONLY_TRY({auto tryResult980 = (OkIf(PBackgroundIDBVersionChangeTransactionParent
::Send__delete__(this))); static_assert(std::is_empty_v<typename
decltype(tryResult980)::ok_type>); if ((__builtin_expect(
!!(tryResult980.isErr()), 0))) { mozilla::dom::quota::HandleError
("OkIf(PBackgroundIDBVersionChangeTransactionParent::Send__delete__(this))"
, tryResult980.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10917, mozilla::dom::quota::Severity::Warning); }}
10917 OkIf(PBackgroundIDBVersionChangeTransactionParent::Send__delete__(this))){auto tryResult980 = (OkIf(PBackgroundIDBVersionChangeTransactionParent
::Send__delete__(this))); static_assert(std::is_empty_v<typename
decltype(tryResult980)::ok_type>); if ((__builtin_expect(
!!(tryResult980.isErr()), 0))) { mozilla::dom::quota::HandleError
("OkIf(PBackgroundIDBVersionChangeTransactionParent::Send__delete__(this))"
, tryResult980.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10917, mozilla::dom::quota::Severity::Warning); }}
;
10918
10919 return IPC_OK()mozilla::ipc::IPCResult::Ok();
10920}
10921
10922mozilla::ipc::IPCResult VersionChangeTransaction::RecvCommit(
10923 const Maybe<int64_t>& aLastRequest) {
10924 AssertIsOnBackgroundThread();
10925
10926 return TransactionBase::RecvCommit(this, aLastRequest);
10927}
10928
10929mozilla::ipc::IPCResult VersionChangeTransaction::RecvAbort(
10930 const nsresult& aResultCode) {
10931 AssertIsOnBackgroundThread();
10932
10933 return TransactionBase::RecvAbort(this, aResultCode);
10934}
10935
10936mozilla::ipc::IPCResult VersionChangeTransaction::RecvCreateObjectStore(
10937 const ObjectStoreMetadata& aMetadata) {
10938 AssertIsOnBackgroundThread();
10939
10940 if (NS_WARN_IF(!aMetadata.id())NS_warn_if_impl(!aMetadata.id(), "!aMetadata.id()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10940)
) {
10941 return IPC_FAIL(this, "No metadata ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No metadata ID!"
))
;
10942 }
10943
10944 const SafeRefPtr<FullDatabaseMetadata> dbMetadata =
10945 GetDatabase().MetadataPtr();
10946
10947 if (NS_WARN_IF(aMetadata.id() != dbMetadata->mNextObjectStoreId)NS_warn_if_impl(aMetadata.id() != dbMetadata->mNextObjectStoreId
, "aMetadata.id() != dbMetadata->mNextObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10947)
) {
10948 return IPC_FAIL(this, "Requested metadata ID does not match next ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Requested metadata ID does not match next ID!"
))
;
10949 }
10950
10951 if (NS_WARN_IF(NS_warn_if_impl(MatchMetadataNameOrId(dbMetadata->mObjectStores
, aMetadata.id(), SomeRef<const nsAString&>(aMetadata
.name())) .isSome(), "MatchMetadataNameOrId(dbMetadata->mObjectStores, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10954)
10952 MatchMetadataNameOrId(dbMetadata->mObjectStores, aMetadata.id(),NS_warn_if_impl(MatchMetadataNameOrId(dbMetadata->mObjectStores
, aMetadata.id(), SomeRef<const nsAString&>(aMetadata
.name())) .isSome(), "MatchMetadataNameOrId(dbMetadata->mObjectStores, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10954)
10953 SomeRef<const nsAString&>(aMetadata.name()))NS_warn_if_impl(MatchMetadataNameOrId(dbMetadata->mObjectStores
, aMetadata.id(), SomeRef<const nsAString&>(aMetadata
.name())) .isSome(), "MatchMetadataNameOrId(dbMetadata->mObjectStores, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10954)
10954 .isSome())NS_warn_if_impl(MatchMetadataNameOrId(dbMetadata->mObjectStores
, aMetadata.id(), SomeRef<const nsAString&>(aMetadata
.name())) .isSome(), "MatchMetadataNameOrId(dbMetadata->mObjectStores, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10954)
) {
10955 return IPC_FAIL(this, "MatchMetadataNameOrId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("MatchMetadataNameOrId failed!"
))
;
10956 }
10957
10958 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10958)
) {
10959 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
10960 }
10961
10962 const int64_t initialAutoIncrementId = aMetadata.autoIncrement() ? 1 : 0;
10963 auto newMetadata = MakeSafeRefPtr<FullObjectStoreMetadata>(
10964 aMetadata, FullObjectStoreMetadata::AutoIncrementIds{
10965 initialAutoIncrementId, initialAutoIncrementId});
10966
10967 if (NS_WARN_IF(!dbMetadata->mObjectStores.InsertOrUpdate(NS_warn_if_impl(!dbMetadata->mObjectStores.InsertOrUpdate(
aMetadata.id(), std::move(newMetadata), fallible), "!dbMetadata->mObjectStores.InsertOrUpdate( aMetadata.id(), std::move(newMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10968)
10968 aMetadata.id(), std::move(newMetadata), fallible))NS_warn_if_impl(!dbMetadata->mObjectStores.InsertOrUpdate(
aMetadata.id(), std::move(newMetadata), fallible), "!dbMetadata->mObjectStores.InsertOrUpdate( aMetadata.id(), std::move(newMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10968)
) {
10969 return IPC_FAIL(this, "mObjectStores.InsertOrUpdate failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("mObjectStores.InsertOrUpdate failed!"
))
;
10970 }
10971
10972 dbMetadata->mNextObjectStoreId++;
10973
10974 RefPtr<CreateObjectStoreOp> op = new CreateObjectStoreOp(
10975 SafeRefPtrFromThis().downcast<VersionChangeTransaction>(), aMetadata);
10976
10977 if (NS_WARN_IF(!op->Init(*this))NS_warn_if_impl(!op->Init(*this), "!op->Init(*this)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10977)
) {
10978 op->Cleanup();
10979 return IPC_FAIL(this, "ObjectStoreOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ObjectStoreOp initialization failed!"
))
;
10980 }
10981
10982 op->DispatchToConnectionPool();
10983
10984 return IPC_OK()mozilla::ipc::IPCResult::Ok();
10985}
10986
10987mozilla::ipc::IPCResult VersionChangeTransaction::RecvDeleteObjectStore(
10988 const IndexOrObjectStoreId& aObjectStoreId) {
10989 AssertIsOnBackgroundThread();
10990
10991 if (NS_WARN_IF(!aObjectStoreId)NS_warn_if_impl(!aObjectStoreId, "!aObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10991)
) {
10992 return IPC_FAIL(this, "No ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No ObjectStoreId!"
))
;
10993 }
10994
10995 const auto& dbMetadata = GetDatabase().Metadata();
10996 MOZ_ASSERT(dbMetadata.mNextObjectStoreId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata.mNextObjectStoreId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbMetadata.mNextObjectStoreId
> 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbMetadata.mNextObjectStoreId > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10996); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata.mNextObjectStoreId > 0"
")"); do { *((volatile int*)__null) = 10996; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
10997
10998 if (NS_WARN_IF(aObjectStoreId >= dbMetadata.mNextObjectStoreId)NS_warn_if_impl(aObjectStoreId >= dbMetadata.mNextObjectStoreId
, "aObjectStoreId >= dbMetadata.mNextObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 10998)
) {
10999 return IPC_FAIL(this, "Invalid ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Invalid ObjectStoreId!"
))
;
11000 }
11001
11002 SafeRefPtr<FullObjectStoreMetadata> foundMetadata =
11003 GetMetadataForObjectStoreId(aObjectStoreId);
11004
11005 if (NS_WARN_IF(!foundMetadata)NS_warn_if_impl(!foundMetadata, "!foundMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11005)
) {
11006 return IPC_FAIL(this, "No metadata found for ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No metadata found for ObjectStoreId!"
))
;
11007 }
11008
11009 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11009)
) {
11010 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
11011 }
11012
11013 foundMetadata->mDeleted.Flip();
11014
11015 DebugOnly<bool> foundTargetId = false;
11016 const bool isLastObjectStore = std::all_of(
11017 dbMetadata.mObjectStores.begin(), dbMetadata.mObjectStores.end(),
11018 [&foundTargetId, aObjectStoreId](const auto& objectStoreEntry) -> bool {
11019 if (uint64_t(aObjectStoreId) == objectStoreEntry.GetKey()) {
11020 foundTargetId = true;
11021 return true;
11022 }
11023
11024 return objectStoreEntry.GetData()->mDeleted;
11025 });
11026 MOZ_ASSERT_IF(isLastObjectStore, foundTargetId)do { if (isLastObjectStore) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(foundTargetId)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(foundTargetId))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("foundTargetId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11026); AnnotateMozCrashReason("MOZ_ASSERT" "(" "foundTargetId"
")"); do { *((volatile int*)__null) = 11026; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
11027
11028 RefPtr<DeleteObjectStoreOp> op = new DeleteObjectStoreOp(
11029 SafeRefPtrFromThis().downcast<VersionChangeTransaction>(),
11030 std::move(foundMetadata), isLastObjectStore);
11031
11032 if (NS_WARN_IF(!op->Init(*this))NS_warn_if_impl(!op->Init(*this), "!op->Init(*this)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11032)
) {
11033 op->Cleanup();
11034 return IPC_FAIL(this, "ObjectStoreOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ObjectStoreOp initialization failed!"
))
;
11035 }
11036
11037 op->DispatchToConnectionPool();
11038
11039 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11040}
11041
11042mozilla::ipc::IPCResult VersionChangeTransaction::RecvRenameObjectStore(
11043 const IndexOrObjectStoreId& aObjectStoreId, const nsAString& aName) {
11044 AssertIsOnBackgroundThread();
11045
11046 if (NS_WARN_IF(!aObjectStoreId)NS_warn_if_impl(!aObjectStoreId, "!aObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11046)
) {
11047 return IPC_FAIL(this, "No ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No ObjectStoreId!"
))
;
11048 }
11049
11050 {
11051 const auto& dbMetadata = GetDatabase().Metadata();
11052 MOZ_ASSERT(dbMetadata.mNextObjectStoreId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata.mNextObjectStoreId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbMetadata.mNextObjectStoreId
> 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbMetadata.mNextObjectStoreId > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11052); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata.mNextObjectStoreId > 0"
")"); do { *((volatile int*)__null) = 11052; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11053
11054 if (NS_WARN_IF(aObjectStoreId >= dbMetadata.mNextObjectStoreId)NS_warn_if_impl(aObjectStoreId >= dbMetadata.mNextObjectStoreId
, "aObjectStoreId >= dbMetadata.mNextObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11054)
) {
11055 return IPC_FAIL(this, "Invalid ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Invalid ObjectStoreId!"
))
;
11056 }
11057 }
11058
11059 SafeRefPtr<FullObjectStoreMetadata> foundMetadata =
11060 GetMetadataForObjectStoreId(aObjectStoreId);
11061
11062 if (NS_WARN_IF(!foundMetadata)NS_warn_if_impl(!foundMetadata, "!foundMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11062)
) {
11063 return IPC_FAIL(this, "No metadata found for ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No metadata found for ObjectStoreId!"
))
;
11064 }
11065
11066 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11066)
) {
11067 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
11068 }
11069
11070 foundMetadata->mCommonMetadata.name() = aName;
11071
11072 RefPtr<RenameObjectStoreOp> renameOp = new RenameObjectStoreOp(
11073 SafeRefPtrFromThis().downcast<VersionChangeTransaction>(),
11074 *foundMetadata);
11075
11076 if (NS_WARN_IF(!renameOp->Init(*this))NS_warn_if_impl(!renameOp->Init(*this), "!renameOp->Init(*this)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11076)
) {
11077 renameOp->Cleanup();
11078 return IPC_FAIL(this, "ObjectStoreOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ObjectStoreOp initialization failed!"
))
;
11079 }
11080
11081 renameOp->DispatchToConnectionPool();
11082
11083 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11084}
11085
11086mozilla::ipc::IPCResult VersionChangeTransaction::RecvCreateIndex(
11087 const IndexOrObjectStoreId& aObjectStoreId,
11088 const IndexMetadata& aMetadata) {
11089 AssertIsOnBackgroundThread();
11090
11091 if (NS_WARN_IF(!aObjectStoreId)NS_warn_if_impl(!aObjectStoreId, "!aObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11091)
) {
11092 return IPC_FAIL(this, "No ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No ObjectStoreId!"
))
;
11093 }
11094
11095 if (NS_WARN_IF(!aMetadata.id())NS_warn_if_impl(!aMetadata.id(), "!aMetadata.id()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11095)
) {
11096 return IPC_FAIL(this, "No Metadata id!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No Metadata id!"
))
;
11097 }
11098
11099 const auto dbMetadata = GetDatabase().MetadataPtr();
11100
11101 if (NS_WARN_IF(aMetadata.id() != dbMetadata->mNextIndexId)NS_warn_if_impl(aMetadata.id() != dbMetadata->mNextIndexId
, "aMetadata.id() != dbMetadata->mNextIndexId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11101)
) {
11102 return IPC_FAIL(this, "Requested metadata ID does not match next ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Requested metadata ID does not match next ID!"
))
;
11103 }
11104
11105 SafeRefPtr<FullObjectStoreMetadata> foundObjectStoreMetadata =
11106 GetMetadataForObjectStoreId(aObjectStoreId);
11107
11108 if (NS_WARN_IF(!foundObjectStoreMetadata)NS_warn_if_impl(!foundObjectStoreMetadata, "!foundObjectStoreMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11108)
) {
11109 return IPC_FAIL(this, "GetMetadataForObjectStoreId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("GetMetadataForObjectStoreId failed!"
))
;
11110 }
11111
11112 if (NS_WARN_IF(MatchMetadataNameOrId(NS_warn_if_impl(MatchMetadataNameOrId( foundObjectStoreMetadata
->mIndexes, aMetadata.id(), SomeRef<const nsAString&
>(aMetadata.name())) .isSome(), "MatchMetadataNameOrId( foundObjectStoreMetadata->mIndexes, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11115)
11113 foundObjectStoreMetadata->mIndexes, aMetadata.id(),NS_warn_if_impl(MatchMetadataNameOrId( foundObjectStoreMetadata
->mIndexes, aMetadata.id(), SomeRef<const nsAString&
>(aMetadata.name())) .isSome(), "MatchMetadataNameOrId( foundObjectStoreMetadata->mIndexes, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11115)
11114 SomeRef<const nsAString&>(aMetadata.name()))NS_warn_if_impl(MatchMetadataNameOrId( foundObjectStoreMetadata
->mIndexes, aMetadata.id(), SomeRef<const nsAString&
>(aMetadata.name())) .isSome(), "MatchMetadataNameOrId( foundObjectStoreMetadata->mIndexes, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11115)
11115 .isSome())NS_warn_if_impl(MatchMetadataNameOrId( foundObjectStoreMetadata
->mIndexes, aMetadata.id(), SomeRef<const nsAString&
>(aMetadata.name())) .isSome(), "MatchMetadataNameOrId( foundObjectStoreMetadata->mIndexes, aMetadata.id(), SomeRef<const nsAString&>(aMetadata.name())) .isSome()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11115)
) {
11116 return IPC_FAIL(this, "MatchMetadataNameOrId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("MatchMetadataNameOrId failed!"
))
;
11117 }
11118
11119 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11119)
) {
11120 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
11121 }
11122
11123 auto newMetadata = MakeSafeRefPtr<FullIndexMetadata>();
11124 newMetadata->mCommonMetadata = aMetadata;
11125
11126 if (NS_WARN_IF(!foundObjectStoreMetadata->mIndexes.InsertOrUpdate(NS_warn_if_impl(!foundObjectStoreMetadata->mIndexes.InsertOrUpdate
( aMetadata.id(), std::move(newMetadata), fallible), "!foundObjectStoreMetadata->mIndexes.InsertOrUpdate( aMetadata.id(), std::move(newMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11127)
11127 aMetadata.id(), std::move(newMetadata), fallible))NS_warn_if_impl(!foundObjectStoreMetadata->mIndexes.InsertOrUpdate
( aMetadata.id(), std::move(newMetadata), fallible), "!foundObjectStoreMetadata->mIndexes.InsertOrUpdate( aMetadata.id(), std::move(newMetadata), fallible)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11127)
) {
11128 return IPC_FAIL(this, "mIndexes.InsertOrUpdate failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("mIndexes.InsertOrUpdate failed!"
))
;
11129 }
11130
11131 dbMetadata->mNextIndexId++;
11132
11133 RefPtr<CreateIndexOp> op = new CreateIndexOp(
11134 SafeRefPtrFromThis().downcast<VersionChangeTransaction>(), aObjectStoreId,
11135 aMetadata);
11136
11137 if (NS_WARN_IF(!op->Init(*this))NS_warn_if_impl(!op->Init(*this), "!op->Init(*this)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11137)
) {
11138 op->Cleanup();
11139 return IPC_FAIL(this, "ObjectStoreOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ObjectStoreOp initialization failed!"
))
;
11140 }
11141
11142 op->DispatchToConnectionPool();
11143
11144 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11145}
11146
11147mozilla::ipc::IPCResult VersionChangeTransaction::RecvDeleteIndex(
11148 const IndexOrObjectStoreId& aObjectStoreId,
11149 const IndexOrObjectStoreId& aIndexId) {
11150 AssertIsOnBackgroundThread();
11151
11152 if (NS_WARN_IF(!aObjectStoreId)NS_warn_if_impl(!aObjectStoreId, "!aObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11152)
) {
11153 return IPC_FAIL(this, "No ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No ObjectStoreId!"
))
;
11154 }
11155
11156 if (NS_WARN_IF(!aIndexId)NS_warn_if_impl(!aIndexId, "!aIndexId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11156)
) {
11157 return IPC_FAIL(this, "No Index id!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No Index id!"
))
;
11158 }
11159 {
11160 const auto& dbMetadata = GetDatabase().Metadata();
11161 MOZ_ASSERT(dbMetadata.mNextObjectStoreId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata.mNextObjectStoreId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbMetadata.mNextObjectStoreId
> 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbMetadata.mNextObjectStoreId > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11161); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata.mNextObjectStoreId > 0"
")"); do { *((volatile int*)__null) = 11161; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11162 MOZ_ASSERT(dbMetadata.mNextIndexId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata.mNextIndexId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbMetadata.mNextIndexId >
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbMetadata.mNextIndexId > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11162); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata.mNextIndexId > 0"
")"); do { *((volatile int*)__null) = 11162; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11163
11164 if (NS_WARN_IF(aObjectStoreId >= dbMetadata.mNextObjectStoreId)NS_warn_if_impl(aObjectStoreId >= dbMetadata.mNextObjectStoreId
, "aObjectStoreId >= dbMetadata.mNextObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11164)
) {
11165 return IPC_FAIL(this, "Requested ObjectStoreId does not match next ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Requested ObjectStoreId does not match next ID!"
))
;
11166 }
11167
11168 if (NS_WARN_IF(aIndexId >= dbMetadata.mNextIndexId)NS_warn_if_impl(aIndexId >= dbMetadata.mNextIndexId, "aIndexId >= dbMetadata.mNextIndexId"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11168)
) {
11169 return IPC_FAIL(this, "Requested IndexId does not match next ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Requested IndexId does not match next ID!"
))
;
11170 }
11171 }
11172
11173 SafeRefPtr<FullObjectStoreMetadata> foundObjectStoreMetadata =
11174 GetMetadataForObjectStoreId(aObjectStoreId);
11175
11176 if (NS_WARN_IF(!foundObjectStoreMetadata)NS_warn_if_impl(!foundObjectStoreMetadata, "!foundObjectStoreMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11176)
) {
11177 return IPC_FAIL(this, "GetMetadataForObjectStoreId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("GetMetadataForObjectStoreId failed!"
))
;
11178 }
11179
11180 SafeRefPtr<FullIndexMetadata> foundIndexMetadata =
11181 GetMetadataForIndexId(*foundObjectStoreMetadata, aIndexId);
11182
11183 if (NS_WARN_IF(!foundIndexMetadata)NS_warn_if_impl(!foundIndexMetadata, "!foundIndexMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11183)
) {
11184 return IPC_FAIL(this, "GetMetadataForIndexId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("GetMetadataForIndexId failed!"
))
;
11185 }
11186
11187 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11187)
) {
11188 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
11189 }
11190
11191 foundIndexMetadata->mDeleted.Flip();
11192
11193 DebugOnly<bool> foundTargetId = false;
11194 const bool isLastIndex =
11195 std::all_of(foundObjectStoreMetadata->mIndexes.cbegin(),
11196 foundObjectStoreMetadata->mIndexes.cend(),
11197 [&foundTargetId, aIndexId](const auto& indexEntry) -> bool {
11198 if (uint64_t(aIndexId) == indexEntry.GetKey()) {
11199 foundTargetId = true;
11200 return true;
11201 }
11202
11203 return indexEntry.GetData()->mDeleted;
11204 });
11205 MOZ_ASSERT_IF(isLastIndex, foundTargetId)do { if (isLastIndex) { do { static_assert( mozilla::detail::
AssertionConditionType<decltype(foundTargetId)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(foundTargetId))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("foundTargetId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "foundTargetId"
")"); do { *((volatile int*)__null) = 11205; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
11206
11207 RefPtr<DeleteIndexOp> op = new DeleteIndexOp(
11208 SafeRefPtrFromThis().downcast<VersionChangeTransaction>(), aObjectStoreId,
11209 aIndexId, foundIndexMetadata->mCommonMetadata.unique(), isLastIndex);
11210
11211 if (NS_WARN_IF(!op->Init(*this))NS_warn_if_impl(!op->Init(*this), "!op->Init(*this)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11211)
) {
11212 op->Cleanup();
11213 return IPC_FAIL(this, "ObjectStoreOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ObjectStoreOp initialization failed!"
))
;
11214 }
11215
11216 op->DispatchToConnectionPool();
11217
11218 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11219}
11220
11221mozilla::ipc::IPCResult VersionChangeTransaction::RecvRenameIndex(
11222 const IndexOrObjectStoreId& aObjectStoreId,
11223 const IndexOrObjectStoreId& aIndexId, const nsAString& aName) {
11224 AssertIsOnBackgroundThread();
11225
11226 if (NS_WARN_IF(!aObjectStoreId)NS_warn_if_impl(!aObjectStoreId, "!aObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11226)
) {
11227 return IPC_FAIL(this, "No ObjectStoreId!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No ObjectStoreId!"
))
;
11228 }
11229
11230 if (NS_WARN_IF(!aIndexId)NS_warn_if_impl(!aIndexId, "!aIndexId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11230)
) {
11231 return IPC_FAIL(this, "No Index id!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("No Index id!"
))
;
11232 }
11233
11234 const SafeRefPtr<FullDatabaseMetadata> dbMetadata =
11235 GetDatabase().MetadataPtr();
11236 MOZ_ASSERT(dbMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbMetadata))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("dbMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11236); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata"
")"); do { *((volatile int*)__null) = 11236; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11237 MOZ_ASSERT(dbMetadata->mNextObjectStoreId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata->mNextObjectStoreId > 0)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(dbMetadata->mNextObjectStoreId > 0))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("dbMetadata->mNextObjectStoreId > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11237); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata->mNextObjectStoreId > 0"
")"); do { *((volatile int*)__null) = 11237; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11238 MOZ_ASSERT(dbMetadata->mNextIndexId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(dbMetadata->mNextIndexId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbMetadata->mNextIndexId >
0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("dbMetadata->mNextIndexId > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11238); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbMetadata->mNextIndexId > 0"
")"); do { *((volatile int*)__null) = 11238; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11239
11240 if (NS_WARN_IF(aObjectStoreId >= dbMetadata->mNextObjectStoreId)NS_warn_if_impl(aObjectStoreId >= dbMetadata->mNextObjectStoreId
, "aObjectStoreId >= dbMetadata->mNextObjectStoreId", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11240)
) {
11241 return IPC_FAIL(this, "Requested ObjectStoreId does not match next ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Requested ObjectStoreId does not match next ID!"
))
;
11242 }
11243
11244 if (NS_WARN_IF(aIndexId >= dbMetadata->mNextIndexId)NS_warn_if_impl(aIndexId >= dbMetadata->mNextIndexId, "aIndexId >= dbMetadata->mNextIndexId"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11244)
) {
11245 return IPC_FAIL(this, "Requested IndexId does not match next ID!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Requested IndexId does not match next ID!"
))
;
11246 }
11247
11248 SafeRefPtr<FullObjectStoreMetadata> foundObjectStoreMetadata =
11249 GetMetadataForObjectStoreId(aObjectStoreId);
11250
11251 if (NS_WARN_IF(!foundObjectStoreMetadata)NS_warn_if_impl(!foundObjectStoreMetadata, "!foundObjectStoreMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11251)
) {
11252 return IPC_FAIL(this, "GetMetadataForObjectStoreId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("GetMetadataForObjectStoreId failed!"
))
;
11253 }
11254
11255 SafeRefPtr<FullIndexMetadata> foundIndexMetadata =
11256 GetMetadataForIndexId(*foundObjectStoreMetadata, aIndexId);
11257
11258 if (NS_WARN_IF(!foundIndexMetadata)NS_warn_if_impl(!foundIndexMetadata, "!foundIndexMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11258)
) {
11259 return IPC_FAIL(this, "GetMetadataForIndexId failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("GetMetadataForIndexId failed!"
))
;
11260 }
11261
11262 if (NS_WARN_IF(mCommitOrAbortReceived)NS_warn_if_impl(mCommitOrAbortReceived, "mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11262)
) {
11263 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
11264 }
11265
11266 foundIndexMetadata->mCommonMetadata.name() = aName;
11267
11268 RefPtr<RenameIndexOp> renameOp = new RenameIndexOp(
11269 SafeRefPtrFromThis().downcast<VersionChangeTransaction>(),
11270 *foundIndexMetadata, aObjectStoreId);
11271
11272 if (NS_WARN_IF(!renameOp->Init(*this))NS_warn_if_impl(!renameOp->Init(*this), "!renameOp->Init(*this)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11272)
) {
11273 renameOp->Cleanup();
11274 return IPC_FAIL(this, "ObjectStoreOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ObjectStoreOp initialization failed!"
))
;
11275 }
11276
11277 renameOp->DispatchToConnectionPool();
11278
11279 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11280}
11281
11282PBackgroundIDBRequestParent*
11283VersionChangeTransaction::AllocPBackgroundIDBRequestParent(
11284 const int64_t& aRequestId, const RequestParams& aParams) {
11285 AssertIsOnBackgroundThread();
11286 MOZ_ASSERT(aParams.type() != RequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != RequestParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != RequestParams::T__None))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aParams.type() != RequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11286); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != RequestParams::T__None"
")"); do { *((volatile int*)__null) = 11286; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11287
11288 return AllocRequest(aRequestId,
11289 std::move(const_cast<RequestParams&>(aParams)),
11290 IsSameProcessActor());
11291}
11292
11293mozilla::ipc::IPCResult
11294VersionChangeTransaction::RecvPBackgroundIDBRequestConstructor(
11295 PBackgroundIDBRequestParent* aActor, const int64_t& aRequestId,
11296 const RequestParams& aParams) {
11297 AssertIsOnBackgroundThread();
11298 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11298); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 11298; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
11299 MOZ_ASSERT(aParams.type() != RequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != RequestParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != RequestParams::T__None))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aParams.type() != RequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11299); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != RequestParams::T__None"
")"); do { *((volatile int*)__null) = 11299; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11300
11301 if (!StartRequest(aActor)) {
11302 return IPC_FAIL(this, "StartRequest failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("StartRequest failed!"
))
;
11303 }
11304 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11305}
11306
11307bool VersionChangeTransaction::DeallocPBackgroundIDBRequestParent(
11308 PBackgroundIDBRequestParent* aActor) {
11309 AssertIsOnBackgroundThread();
11310 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11310); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 11310; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
11311
11312 return DeallocRequest(aActor);
11313}
11314
11315already_AddRefed<PBackgroundIDBCursorParent>
11316VersionChangeTransaction::AllocPBackgroundIDBCursorParent(
11317 const int64_t& aRequestId, const OpenCursorParams& aParams) {
11318 AssertIsOnBackgroundThread();
11319
11320 return AllocCursor(aParams, IsSameProcessActor());
11321}
11322
11323mozilla::ipc::IPCResult
11324VersionChangeTransaction::RecvPBackgroundIDBCursorConstructor(
11325 PBackgroundIDBCursorParent* aActor, const int64_t& aRequestId,
11326 const OpenCursorParams& aParams) {
11327 AssertIsOnBackgroundThread();
11328 MOZ_ASSERT(aActor)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aActor)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(aActor))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aActor", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11328); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aActor" ")"
); do { *((volatile int*)__null) = 11328; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
11329 MOZ_ASSERT(aParams.type() != OpenCursorParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != OpenCursorParams::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aParams.type() != OpenCursorParams::T__None))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aParams.type() != OpenCursorParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11329); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != OpenCursorParams::T__None"
")"); do { *((volatile int*)__null) = 11329; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11330
11331 if (!StartCursor(aActor, aRequestId, aParams)) {
11332 return IPC_FAIL(this, "StartCursor failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("StartCursor failed!"
))
;
11333 }
11334 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11335}
11336
11337/*******************************************************************************
11338 * CursorBase
11339 ******************************************************************************/
11340
11341CursorBase::CursorBase(SafeRefPtr<TransactionBase> aTransaction,
11342 SafeRefPtr<FullObjectStoreMetadata> aObjectStoreMetadata,
11343 const Direction aDirection,
11344 const ConstructFromTransactionBase /*aConstructionTag*/)
11345 : mTransaction(std::move(aTransaction)),
11346 mObjectStoreMetadata(WrapNotNull(std::move(aObjectStoreMetadata))),
11347 mObjectStoreId((*mObjectStoreMetadata)->mCommonMetadata.id()),
11348 mDirection(aDirection),
11349 mMaxExtraCount(IndexedDatabaseManager::MaxPreloadExtraRecords()),
11350 mIsSameProcessActor(!BackgroundParent::IsOtherProcessActor(
11351 mTransaction->GetBackgroundParent())) {
11352 AssertIsOnBackgroundThread();
11353 MOZ_ASSERT(mTransaction)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mTransaction)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mTransaction))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mTransaction", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11353); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mTransaction"
")"); do { *((volatile int*)__null) = 11353; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11354
11355 static_assert(
11356 OpenCursorParams::T__None == 0 && OpenCursorParams::T__Last == 4,
11357 "Lots of code here assumes only four types of cursors!");
11358}
11359
11360template <IDBCursorType CursorType>
11361bool Cursor<CursorType>::VerifyRequestParams(
11362 const CursorRequestParams& aParams,
11363 const CursorPosition<CursorType>& aPosition) const {
11364 AssertIsOnBackgroundThread();
11365 MOZ_ASSERT(aParams.type() != CursorRequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != CursorRequestParams::T__None)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aParams.type() != CursorRequestParams::T__None))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aParams.type() != CursorRequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11365); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != CursorRequestParams::T__None"
")"); do { *((volatile int*)__null) = 11365; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11366 MOZ_ASSERT(this->mObjectStoreMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mObjectStoreMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mObjectStoreMetadata
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"this->mObjectStoreMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11366); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mObjectStoreMetadata"
")"); do { *((volatile int*)__null) = 11366; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11367 if constexpr (IsIndexCursor) {
11368 MOZ_ASSERT(this->mIndexMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mIndexMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mIndexMetadata))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("this->mIndexMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11368); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mIndexMetadata"
")"); do { *((volatile int*)__null) = 11368; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11369 }
11370
11371#ifdef DEBUG1
11372 {
11373 const SafeRefPtr<FullObjectStoreMetadata> objectStoreMetadata =
11374 mTransaction->GetMetadataForObjectStoreId(mObjectStoreId);
11375 if (objectStoreMetadata) {
11376 MOZ_ASSERT(objectStoreMetadata == (*this->mObjectStoreMetadata))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(objectStoreMetadata == (*this->mObjectStoreMetadata
))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(objectStoreMetadata == (*this->mObjectStoreMetadata
)))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("objectStoreMetadata == (*this->mObjectStoreMetadata)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11376); AnnotateMozCrashReason("MOZ_ASSERT" "(" "objectStoreMetadata == (*this->mObjectStoreMetadata)"
")"); do { *((volatile int*)__null) = 11376; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11377 } else {
11378 MOZ_ASSERT((*this->mObjectStoreMetadata)->mDeleted)do { static_assert( mozilla::detail::AssertionConditionType<
decltype((*this->mObjectStoreMetadata)->mDeleted)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!((*this->mObjectStoreMetadata)->mDeleted))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("(*this->mObjectStoreMetadata)->mDeleted"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11378); AnnotateMozCrashReason("MOZ_ASSERT" "(" "(*this->mObjectStoreMetadata)->mDeleted"
")"); do { *((volatile int*)__null) = 11378; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11379 }
11380
11381 if constexpr (IsIndexCursor) {
11382 if (objectStoreMetadata) {
11383 const SafeRefPtr<FullIndexMetadata> indexMetadata =
11384 mTransaction->GetMetadataForIndexId(*objectStoreMetadata,
11385 this->mIndexId);
11386 if (indexMetadata) {
11387 MOZ_ASSERT(indexMetadata == *this->mIndexMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(indexMetadata == *this->mIndexMetadata)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(indexMetadata == *this->mIndexMetadata))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("indexMetadata == *this->mIndexMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11387); AnnotateMozCrashReason("MOZ_ASSERT" "(" "indexMetadata == *this->mIndexMetadata"
")"); do { *((volatile int*)__null) = 11387; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11388 } else {
11389 MOZ_ASSERT((*this->mIndexMetadata)->mDeleted)do { static_assert( mozilla::detail::AssertionConditionType<
decltype((*this->mIndexMetadata)->mDeleted)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!((*this->mIndexMetadata)->mDeleted))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("(*this->mIndexMetadata)->mDeleted"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11389); AnnotateMozCrashReason("MOZ_ASSERT" "(" "(*this->mIndexMetadata)->mDeleted"
")"); do { *((volatile int*)__null) = 11389; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11390 }
11391 }
11392 }
11393 }
11394#endif
11395
11396 if (NS_AUUF_OR_WARN_IF((*this->mObjectStoreMetadata)->mDeleted)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "(*this->mObjectStoreMetadata)->mDeleted"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11396); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"(*this->mObjectStoreMetadata)->mDeleted" ")"); do { *
((volatile int*)__null) = 11396; __attribute__((nomerge)) ::abort
(); } while (false); } } while (false); } return aCond; }(((*
this->mObjectStoreMetadata)->mDeleted))
) {
11397 return false;
11398 }
11399
11400 if constexpr (IsIndexCursor) {
11401 if (NS_AUUF_OR_WARN_IF(this->mIndexMetadata &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "this->mIndexMetadata && (*this->mIndexMetadata)->mDeleted"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11402); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"this->mIndexMetadata && (*this->mIndexMetadata)->mDeleted"
")"); do { *((volatile int*)__null) = 11402; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((this->mIndexMetadata && (*this->mIndexMetadata
)->mDeleted))
11402 (*this->mIndexMetadata)->mDeleted)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "this->mIndexMetadata && (*this->mIndexMetadata)->mDeleted"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11402); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"this->mIndexMetadata && (*this->mIndexMetadata)->mDeleted"
")"); do { *((volatile int*)__null) = 11402; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((this->mIndexMetadata && (*this->mIndexMetadata
)->mDeleted))
) {
11403 return false;
11404 }
11405 }
11406
11407 const Key& sortKey = aPosition.GetSortKey(this->IsLocaleAware());
11408
11409 switch (aParams.type()) {
11410 case CursorRequestParams::TContinueParams: {
11411 const Key& key = aParams.get_ContinueParams().key();
11412 if (!key.IsUnset()) {
11413 switch (mDirection) {
11414 case IDBCursorDirection::Next:
11415 case IDBCursorDirection::Nextunique:
11416 if (NS_AUUF_OR_WARN_IF(key <= sortKey)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key <= sortKey" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11416); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key <= sortKey" ")"); do { *((volatile int*)__null) = 11416
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((key <= sortKey))
) {
11417 return false;
11418 }
11419 break;
11420
11421 case IDBCursorDirection::Prev:
11422 case IDBCursorDirection::Prevunique:
11423 if (NS_AUUF_OR_WARN_IF(key >= sortKey)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key >= sortKey" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11423); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key >= sortKey" ")"); do { *((volatile int*)__null) = 11423
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((key >= sortKey))
) {
11424 return false;
11425 }
11426 break;
11427
11428 default:
11429 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11429); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 11429; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
11430 }
11431 }
11432 break;
11433 }
11434
11435 case CursorRequestParams::TContinuePrimaryKeyParams: {
11436 if constexpr (IsIndexCursor) {
11437 const Key& key = aParams.get_ContinuePrimaryKeyParams().key();
11438 const Key& primaryKey =
11439 aParams.get_ContinuePrimaryKeyParams().primaryKey();
11440 MOZ_ASSERT(!key.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!key.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!key.IsUnset()))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("!key.IsUnset()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11440); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!key.IsUnset()"
")"); do { *((volatile int*)__null) = 11440; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11441 MOZ_ASSERT(!primaryKey.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!primaryKey.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!primaryKey.IsUnset()))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("!primaryKey.IsUnset()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11441); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!primaryKey.IsUnset()"
")"); do { *((volatile int*)__null) = 11441; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11442 switch (mDirection) {
11443 case IDBCursorDirection::Next:
11444 if (NS_AUUF_OR_WARN_IF(key < sortKey ||[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key < sortKey || (key == sortKey && primaryKey <= aPosition.mObjectStoreKey)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11446); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key < sortKey || (key == sortKey && primaryKey <= aPosition.mObjectStoreKey)"
")"); do { *((volatile int*)__null) = 11446; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((key < sortKey || (key == sortKey && primaryKey
<= aPosition.mObjectStoreKey)))
11445 (key == sortKey &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key < sortKey || (key == sortKey && primaryKey <= aPosition.mObjectStoreKey)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11446); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key < sortKey || (key == sortKey && primaryKey <= aPosition.mObjectStoreKey)"
")"); do { *((volatile int*)__null) = 11446; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((key < sortKey || (key == sortKey && primaryKey
<= aPosition.mObjectStoreKey)))
11446 primaryKey <= aPosition.mObjectStoreKey))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key < sortKey || (key == sortKey && primaryKey <= aPosition.mObjectStoreKey)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11446); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key < sortKey || (key == sortKey && primaryKey <= aPosition.mObjectStoreKey)"
")"); do { *((volatile int*)__null) = 11446; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((key < sortKey || (key == sortKey && primaryKey
<= aPosition.mObjectStoreKey)))
) {
11447 return false;
11448 }
11449 break;
11450
11451 case IDBCursorDirection::Prev:
11452 if (NS_AUUF_OR_WARN_IF(key > sortKey ||[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key > sortKey || (key == sortKey && primaryKey >= aPosition.mObjectStoreKey)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11454); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key > sortKey || (key == sortKey && primaryKey >= aPosition.mObjectStoreKey)"
")"); do { *((volatile int*)__null) = 11454; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((key > sortKey || (key == sortKey && primaryKey
>= aPosition.mObjectStoreKey)))
11453 (key == sortKey &&[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key > sortKey || (key == sortKey && primaryKey >= aPosition.mObjectStoreKey)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11454); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key > sortKey || (key == sortKey && primaryKey >= aPosition.mObjectStoreKey)"
")"); do { *((volatile int*)__null) = 11454; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((key > sortKey || (key == sortKey && primaryKey
>= aPosition.mObjectStoreKey)))
11454 primaryKey >= aPosition.mObjectStoreKey))[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "key > sortKey || (key == sortKey && primaryKey >= aPosition.mObjectStoreKey)"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11454); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"key > sortKey || (key == sortKey && primaryKey >= aPosition.mObjectStoreKey)"
")"); do { *((volatile int*)__null) = 11454; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } return
aCond; }((key > sortKey || (key == sortKey && primaryKey
>= aPosition.mObjectStoreKey)))
) {
11455 return false;
11456 }
11457 break;
11458
11459 default:
11460 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11460); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 11460; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
11461 }
11462 }
11463 break;
11464 }
11465
11466 case CursorRequestParams::TAdvanceParams:
11467 if (NS_AUUF_OR_WARN_IF(!aParams.get_AdvanceParams().count())[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "!aParams.get_AdvanceParams().count()" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11467); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"!aParams.get_AdvanceParams().count()" ")"); do { *((volatile
int*)__null) = 11467; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false); } return aCond; }((!aParams.get_AdvanceParams
().count()))
) {
11468 return false;
11469 }
11470 break;
11471
11472 default:
11473 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11473); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 11473; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
11474 }
11475
11476 return true;
11477}
11478
11479template <IDBCursorType CursorType>
11480bool Cursor<CursorType>::Start(const int64_t aRequestId,
11481 const OpenCursorParams& aParams) {
11482 AssertIsOnBackgroundThread();
11483 MOZ_ASSERT(aParams.type() == ToOpenCursorParamsType(CursorType))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() == ToOpenCursorParamsType(CursorType)
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aParams.type() == ToOpenCursorParamsType(CursorType)
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aParams.type() == ToOpenCursorParamsType(CursorType)", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11483); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() == ToOpenCursorParamsType(CursorType)"
")"); do { *((volatile int*)__null) = 11483; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11484 MOZ_ASSERT(this->mObjectStoreMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mObjectStoreMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mObjectStoreMetadata
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"this->mObjectStoreMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11484); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mObjectStoreMetadata"
")"); do { *((volatile int*)__null) = 11484; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11485
11486 if (NS_AUUF_OR_WARN_IF(mCurrentlyRunningOp)[](bool aCond) { if ((__builtin_expect(!!(aCond), 0))) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(false)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(false))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("false" " (" "mCurrentlyRunningOp" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11486); AnnotateMozCrashReason("MOZ_ASSERT" "(" "false" ") ("
"mCurrentlyRunningOp" ")"); do { *((volatile int*)__null) = 11486
; __attribute__((nomerge)) ::abort(); } while (false); } } while
(false); } return aCond; }((mCurrentlyRunningOp))
) {
11487 return false;
11488 }
11489
11490 const Maybe<SerializedKeyRange>& optionalKeyRange =
11491 GetCommonOpenCursorParams(aParams).optionalKeyRange();
11492
11493 const RefPtr<OpenOp> openOp = new OpenOp(this, aRequestId, optionalKeyRange);
11494
11495 if (NS_WARN_IF(!openOp->Init(*mTransaction))NS_warn_if_impl(!openOp->Init(*mTransaction), "!openOp->Init(*mTransaction)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11495)
) {
11496 openOp->Cleanup();
11497 return false;
11498 }
11499
11500 openOp->DispatchToConnectionPool();
11501 mCurrentlyRunningOp = openOp;
11502
11503 return true;
11504}
11505
11506void ValueCursorBase::ProcessFiles(CursorResponse& aResponse,
11507 const FilesArray& aFiles) {
11508 MOZ_ASSERT_IF(do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11509 aResponse.type() == CursorResponse::Tnsresult ||do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11510 aResponse.type() == CursorResponse::Tvoid_t ||do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11511 aResponse.type() ==do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11512 CursorResponse::TArrayOfObjectStoreKeyCursorResponse ||do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11513 aResponse.type() == CursorResponse::TArrayOfIndexKeyCursorResponse,do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11514 aFiles.IsEmpty())do { if (aResponse.type() == CursorResponse::Tnsresult || aResponse
.type() == CursorResponse::Tvoid_t || aResponse.type() == CursorResponse
::TArrayOfObjectStoreKeyCursorResponse || aResponse.type() ==
CursorResponse::TArrayOfIndexKeyCursorResponse) { do { static_assert
( mozilla::detail::AssertionConditionType<decltype(aFiles.
IsEmpty())>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(aFiles.IsEmpty()))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("aFiles.IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11514); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aFiles.IsEmpty()"
")"); do { *((volatile int*)__null) = 11514; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
11515
11516 for (size_t i = 0; i < aFiles.Length(); ++i) {
11517 const auto& files = aFiles[i];
11518 if (!files.IsEmpty()) {
11519 // TODO: Replace this assertion by one that checks if the response type
11520 // matches the cursor type, at a more generic location.
11521 MOZ_ASSERT(aResponse.type() ==do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11524); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
")"); do { *((volatile int*)__null) = 11524; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
11522 CursorResponse::TArrayOfObjectStoreCursorResponse ||do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11524); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
")"); do { *((volatile int*)__null) = 11524; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
11523 aResponse.type() ==do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11524); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
")"); do { *((volatile int*)__null) = 11524; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
11524 CursorResponse::TArrayOfIndexCursorResponse)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
)>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse
|| aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11524); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aResponse.type() == CursorResponse::TArrayOfObjectStoreCursorResponse || aResponse.type() == CursorResponse::TArrayOfIndexCursorResponse"
")"); do { *((volatile int*)__null) = 11524; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11525
11526 SerializedStructuredCloneReadInfo* serializedInfo = nullptr;
11527 switch (aResponse.type()) {
11528 case CursorResponse::TArrayOfObjectStoreCursorResponse: {
11529 auto& responses = aResponse.get_ArrayOfObjectStoreCursorResponse();
11530 MOZ_ASSERT(i < responses.Length())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(i < responses.Length())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(i < responses.Length())))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("i < responses.Length()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11530); AnnotateMozCrashReason("MOZ_ASSERT" "(" "i < responses.Length()"
")"); do { *((volatile int*)__null) = 11530; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11531 serializedInfo = &responses[i].cloneInfo();
11532 break;
11533 }
11534
11535 case CursorResponse::TArrayOfIndexCursorResponse: {
11536 auto& responses = aResponse.get_ArrayOfIndexCursorResponse();
11537 MOZ_ASSERT(i < responses.Length())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(i < responses.Length())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(i < responses.Length())))
, 0))) { do { } while (false); MOZ_ReportAssertionFailure("i < responses.Length()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11537); AnnotateMozCrashReason("MOZ_ASSERT" "(" "i < responses.Length()"
")"); do { *((volatile int*)__null) = 11537; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11538 serializedInfo = &responses[i].cloneInfo();
11539 break;
11540 }
11541
11542 default:
11543 MOZ_CRASH("Should never get here!")do { do { } while (false); MOZ_ReportCrash("" "Should never get here!"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11543); AnnotateMozCrashReason("MOZ_CRASH(" "Should never get here!"
")"); do { *((volatile int*)__null) = 11543; __attribute__((
nomerge)) ::abort(); } while (false); } while (false)
;
11544 }
11545
11546 MOZ_ASSERT(serializedInfo)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(serializedInfo)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(serializedInfo))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("serializedInfo"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11546); AnnotateMozCrashReason("MOZ_ASSERT" "(" "serializedInfo"
")"); do { *((volatile int*)__null) = 11546; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11547 MOZ_ASSERT(serializedInfo->files().IsEmpty())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(serializedInfo->files().IsEmpty())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(serializedInfo->files().IsEmpty
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("serializedInfo->files().IsEmpty()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11547); AnnotateMozCrashReason("MOZ_ASSERT" "(" "serializedInfo->files().IsEmpty()"
")"); do { *((volatile int*)__null) = 11547; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11548 MOZ_ASSERT(this->mDatabase)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mDatabase)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mDatabase))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("this->mDatabase"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11548); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mDatabase"
")"); do { *((volatile int*)__null) = 11548; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11549
11550 QM_TRY_UNWRAP(serializedInfo->files(),auto tryResult981 = (SerializeStructuredCloneFiles(this->mDatabase
, files, false)); if ((__builtin_expect(!!(tryResult981.isErr
()), 0))) { auto tryTempError = tryResult981.unwrapErr(); mozilla
::dom::quota::HandleError("SerializeStructuredCloneFiles(this->mDatabase, files, false)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11555, mozilla::dom::quota::Severity::Error); [&aResponse
](const nsresult result) { aResponse = ClampResultCode(result
); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return ; } serializedInfo->files
() = tryResult981.unwrap();
11551 SerializeStructuredCloneFiles(this->mDatabase, files,auto tryResult981 = (SerializeStructuredCloneFiles(this->mDatabase
, files, false)); if ((__builtin_expect(!!(tryResult981.isErr
()), 0))) { auto tryTempError = tryResult981.unwrapErr(); mozilla
::dom::quota::HandleError("SerializeStructuredCloneFiles(this->mDatabase, files, false)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11555, mozilla::dom::quota::Severity::Error); [&aResponse
](const nsresult result) { aResponse = ClampResultCode(result
); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return ; } serializedInfo->files
() = tryResult981.unwrap();
11552 /* aForPreprocess */ false),auto tryResult981 = (SerializeStructuredCloneFiles(this->mDatabase
, files, false)); if ((__builtin_expect(!!(tryResult981.isErr
()), 0))) { auto tryTempError = tryResult981.unwrapErr(); mozilla
::dom::quota::HandleError("SerializeStructuredCloneFiles(this->mDatabase, files, false)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11555, mozilla::dom::quota::Severity::Error); [&aResponse
](const nsresult result) { aResponse = ClampResultCode(result
); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return ; } serializedInfo->files
() = tryResult981.unwrap();
11553 QM_VOID, [&aResponse](const nsresult result) {auto tryResult981 = (SerializeStructuredCloneFiles(this->mDatabase
, files, false)); if ((__builtin_expect(!!(tryResult981.isErr
()), 0))) { auto tryTempError = tryResult981.unwrapErr(); mozilla
::dom::quota::HandleError("SerializeStructuredCloneFiles(this->mDatabase, files, false)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11555, mozilla::dom::quota::Severity::Error); [&aResponse
](const nsresult result) { aResponse = ClampResultCode(result
); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return ; } serializedInfo->files
() = tryResult981.unwrap();
11554 aResponse = ClampResultCode(result);auto tryResult981 = (SerializeStructuredCloneFiles(this->mDatabase
, files, false)); if ((__builtin_expect(!!(tryResult981.isErr
()), 0))) { auto tryTempError = tryResult981.unwrapErr(); mozilla
::dom::quota::HandleError("SerializeStructuredCloneFiles(this->mDatabase, files, false)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11555, mozilla::dom::quota::Severity::Error); [&aResponse
](const nsresult result) { aResponse = ClampResultCode(result
); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return ; } serializedInfo->files
() = tryResult981.unwrap();
11555 })auto tryResult981 = (SerializeStructuredCloneFiles(this->mDatabase
, files, false)); if ((__builtin_expect(!!(tryResult981.isErr
()), 0))) { auto tryTempError = tryResult981.unwrapErr(); mozilla
::dom::quota::HandleError("SerializeStructuredCloneFiles(this->mDatabase, files, false)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11555, mozilla::dom::quota::Severity::Error); [&aResponse
](const nsresult result) { aResponse = ClampResultCode(result
); }(tryTempError); constexpr const auto& func __attribute__
((__unused__)) = __func__; return ; } serializedInfo->files
() = tryResult981.unwrap();
;
11556 }
11557 }
11558}
11559
11560template <IDBCursorType CursorType>
11561void Cursor<CursorType>::SendResponseInternal(
11562 CursorResponse& aResponse, const FilesArrayT<CursorType>& aFiles) {
11563 AssertIsOnBackgroundThread();
11564 MOZ_ASSERT(aResponse.type() != CursorResponse::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aResponse.type() != CursorResponse::T__None)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(aResponse.type() != CursorResponse::T__None))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("aResponse.type() != CursorResponse::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11564); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aResponse.type() != CursorResponse::T__None"
")"); do { *((volatile int*)__null) = 11564; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11565 MOZ_ASSERT_IF(aResponse.type() == CursorResponse::Tnsresult,do { if (aResponse.type() == CursorResponse::Tnsresult) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(((bool)(__builtin_expect(!!(NS_FAILED_impl(aResponse.get_nsresult
())), 0))))>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(NS_FAILED_impl
(aResponse.get_nsresult())), 0)))))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(NS_FAILED_impl(aResponse.get_nsresult())), 0)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11566); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(NS_FAILED_impl(aResponse.get_nsresult())), 0)))"
")"); do { *((volatile int*)__null) = 11566; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11566 NS_FAILED(aResponse.get_nsresult()))do { if (aResponse.type() == CursorResponse::Tnsresult) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(((bool)(__builtin_expect(!!(NS_FAILED_impl(aResponse.get_nsresult
())), 0))))>::isValid, "invalid assertion condition"); if (
(__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(NS_FAILED_impl
(aResponse.get_nsresult())), 0)))))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(NS_FAILED_impl(aResponse.get_nsresult())), 0)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11566); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(NS_FAILED_impl(aResponse.get_nsresult())), 0)))"
")"); do { *((volatile int*)__null) = 11566; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
11567 MOZ_ASSERT_IF(aResponse.type() == CursorResponse::Tnsresult,do { if (aResponse.type() == CursorResponse::Tnsresult) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11569); AnnotateMozCrashReason("MOZ_ASSERT" "(" "NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33"
")"); do { *((volatile int*)__null) = 11569; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11568 NS_ERROR_GET_MODULE(aResponse.get_nsresult()) ==do { if (aResponse.type() == CursorResponse::Tnsresult) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11569); AnnotateMozCrashReason("MOZ_ASSERT" "(" "NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33"
")"); do { *((volatile int*)__null) = 11569; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
11569 NS_ERROR_MODULE_DOM_INDEXEDDB)do { if (aResponse.type() == CursorResponse::Tnsresult) { do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33))), 0)
)) { do { } while (false); MOZ_ReportAssertionFailure("NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11569); AnnotateMozCrashReason("MOZ_ASSERT" "(" "NS_ERROR_GET_MODULE(aResponse.get_nsresult()) == 33"
")"); do { *((volatile int*)__null) = 11569; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
11570 MOZ_ASSERT(this->mObjectStoreMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mObjectStoreMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mObjectStoreMetadata
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"this->mObjectStoreMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11570); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mObjectStoreMetadata"
")"); do { *((volatile int*)__null) = 11570; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11571 MOZ_ASSERT(mCurrentlyRunningOp)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mCurrentlyRunningOp)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mCurrentlyRunningOp))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("mCurrentlyRunningOp"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11571); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mCurrentlyRunningOp"
")"); do { *((volatile int*)__null) = 11571; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11572
11573 KeyValueBase::ProcessFiles(aResponse, aFiles);
11574
11575 // Work around the deleted function by casting to the base class.
11576 QM_WARNONLY_TRY(OkIf({auto tryResult982 = (OkIf( static_cast<PBackgroundIDBCursorParent
*>(this)->SendResponse(aResponse))); static_assert(std::
is_empty_v<typename decltype(tryResult982)::ok_type>); if
((__builtin_expect(!!(tryResult982.isErr()), 0))) { mozilla::
dom::quota::HandleError("OkIf( static_cast<PBackgroundIDBCursorParent*>(this)->SendResponse(aResponse))"
, tryResult982.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11577, mozilla::dom::quota::Severity::Warning); }}
11577 static_cast<PBackgroundIDBCursorParent*>(this)->SendResponse(aResponse))){auto tryResult982 = (OkIf( static_cast<PBackgroundIDBCursorParent
*>(this)->SendResponse(aResponse))); static_assert(std::
is_empty_v<typename decltype(tryResult982)::ok_type>); if
((__builtin_expect(!!(tryResult982.isErr()), 0))) { mozilla::
dom::quota::HandleError("OkIf( static_cast<PBackgroundIDBCursorParent*>(this)->SendResponse(aResponse))"
, tryResult982.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11577, mozilla::dom::quota::Severity::Warning); }}
;
11578
11579 mCurrentlyRunningOp = nullptr;
11580}
11581
11582template <IDBCursorType CursorType>
11583void Cursor<CursorType>::ActorDestroy(ActorDestroyReason aWhy) {
11584 AssertIsOnBackgroundThread();
11585
11586 if (mCurrentlyRunningOp) {
11587 mCurrentlyRunningOp->NoteActorDestroyed();
11588 }
11589
11590 if constexpr (IsValueCursor) {
11591 this->mBackgroundParent.destroy();
11592 }
11593 this->mObjectStoreMetadata.destroy();
11594 if constexpr (IsIndexCursor) {
11595 this->mIndexMetadata.destroy();
11596 }
11597}
11598
11599template <IDBCursorType CursorType>
11600mozilla::ipc::IPCResult Cursor<CursorType>::RecvDeleteMe() {
11601 AssertIsOnBackgroundThread();
11602 MOZ_ASSERT(this->mObjectStoreMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mObjectStoreMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mObjectStoreMetadata
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"this->mObjectStoreMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11602); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mObjectStoreMetadata"
")"); do { *((volatile int*)__null) = 11602; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11603
11604 if (NS_WARN_IF(mCurrentlyRunningOp)NS_warn_if_impl(mCurrentlyRunningOp, "mCurrentlyRunningOp", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11604)
) {
11605 return IPC_FAIL(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Attempt to delete a cursor with a non-null mCurrentlyRunningOp!"
))
11606 this,mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Attempt to delete a cursor with a non-null mCurrentlyRunningOp!"
))
11607 "Attempt to delete a cursor with a non-null mCurrentlyRunningOp!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Attempt to delete a cursor with a non-null mCurrentlyRunningOp!"
))
;
11608 }
11609
11610 QM_WARNONLY_TRY(OkIf(PBackgroundIDBCursorParent::Send__delete__(this))){auto tryResult983 = (OkIf(PBackgroundIDBCursorParent::Send__delete__
(this))); static_assert(std::is_empty_v<typename decltype(
tryResult983)::ok_type>); if ((__builtin_expect(!!(tryResult983
.isErr()), 0))) { mozilla::dom::quota::HandleError("OkIf(PBackgroundIDBCursorParent::Send__delete__(this))"
, tryResult983.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11610, mozilla::dom::quota::Severity::Warning); }}
;
11611
11612 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11613}
11614
11615template <IDBCursorType CursorType>
11616mozilla::ipc::IPCResult Cursor<CursorType>::RecvContinue(
11617 const int64_t& aRequestId, const CursorRequestParams& aParams,
11618 const Key& aCurrentKey, const Key& aCurrentObjectStoreKey) {
11619 AssertIsOnBackgroundThread();
11620 MOZ_ASSERT(aParams.type() != CursorRequestParams::T__None)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aParams.type() != CursorRequestParams::T__None)>::
isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(aParams.type() != CursorRequestParams::T__None))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("aParams.type() != CursorRequestParams::T__None"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11620); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aParams.type() != CursorRequestParams::T__None"
")"); do { *((volatile int*)__null) = 11620; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11621 MOZ_ASSERT(this->mObjectStoreMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mObjectStoreMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mObjectStoreMetadata
))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(
"this->mObjectStoreMetadata", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11621); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mObjectStoreMetadata"
")"); do { *((volatile int*)__null) = 11621; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11622 if constexpr (IsIndexCursor) {
11623 MOZ_ASSERT(this->mIndexMetadata)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(this->mIndexMetadata)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(this->mIndexMetadata))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("this->mIndexMetadata"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11623); AnnotateMozCrashReason("MOZ_ASSERT" "(" "this->mIndexMetadata"
")"); do { *((volatile int*)__null) = 11623; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11624 }
11625
11626 const bool trustParams =
11627#ifdef DEBUG1
11628 // Always verify parameters in DEBUG builds!
11629 false
11630#else
11631 this->mIsSameProcessActor
11632#endif
11633 ;
11634
11635 MOZ_ASSERT(!aCurrentKey.IsUnset())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!aCurrentKey.IsUnset())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!aCurrentKey.IsUnset()))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!aCurrentKey.IsUnset()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11635); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!aCurrentKey.IsUnset()"
")"); do { *((volatile int*)__null) = 11635; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11636
11637 QM_TRY_UNWRAP(auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11638 auto position,auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11639 ([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> {auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11640 if constexpr (IsIndexCursor) {auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11641 auto localeAwarePosition = Key{};auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11642 if (this->IsLocaleAware()) {auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11643 QM_TRY_UNWRAP(auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11644 localeAwarePosition,auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11645 aCurrentKey.ToLocaleAwareKey(this->mLocale),auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11646 Err(IPC_FAIL(this, "aCurrentKey.ToLocaleAwareKey failed!")));auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11647 }auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11648 return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition,auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11649 aCurrentObjectStoreKey};auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11650 } else {auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11651 return CursorPosition<CursorType>{aCurrentKey};auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11652 }auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
11653 }()))auto tryResult985 = (([&]() -> Result<CursorPosition
<CursorType>, mozilla::ipc::IPCResult> { if constexpr
(IsIndexCursor) { auto localeAwarePosition = Key{}; if (this
->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey
(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984
.unwrapErr(); mozilla::dom::quota::HandleError("aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11646, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "aCurrentKey.ToLocaleAwareKey(this->mLocale)"
, tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull
(this), __func__, ("aCurrentKey.ToLocaleAwareKey failed!"))))
; } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition
<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey
}; } else { return CursorPosition<CursorType>{aCurrentKey
}; } }())); if ((__builtin_expect(!!(tryResult985.isErr()), 0
))) { mozilla::dom::quota::HandleError("([&]() -> Result<CursorPosition<CursorType>, mozilla::ipc::IPCResult> { if constexpr (IsIndexCursor) { auto localeAwarePosition = Key{}; if (this->IsLocaleAware()) { auto tryResult984 = (aCurrentKey.ToLocaleAwareKey(this->mLocale)); if ((__builtin_expect(!!(tryResult984.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult984.unwrapErr(); mozilla::dom::quota::HandleError(\"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11646, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"aCurrentKey.ToLocaleAwareKey(this->mLocale)\", tryTempError, Err(mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, (\"aCurrentKey.ToLocaleAwareKey failed!\")))); } localeAwarePosition = tryResult984.unwrap();; } return CursorPosition<CursorType>{aCurrentKey, localeAwarePosition, aCurrentObjectStoreKey}; } else { return CursorPosition<CursorType>{aCurrentKey}; } }())"
, tryResult985.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11653, mozilla::dom::quota::Severity::Error); return tryResult985
.propagateErr(); } auto position = tryResult985.unwrap();
;
11654
11655 if (!trustParams && !VerifyRequestParams(aParams, position)) {
11656 return IPC_FAIL(this, "VerifyRequestParams failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("VerifyRequestParams failed!"
))
;
11657 }
11658
11659 if (NS_WARN_IF(mCurrentlyRunningOp)NS_warn_if_impl(mCurrentlyRunningOp, "mCurrentlyRunningOp", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11659)
) {
11660 return IPC_FAIL(this, "Cursor is CurrentlyRunningOp!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Cursor is CurrentlyRunningOp!"
))
;
11661 }
11662
11663 if (NS_WARN_IF(mTransaction->mCommitOrAbortReceived)NS_warn_if_impl(mTransaction->mCommitOrAbortReceived, "mTransaction->mCommitOrAbortReceived"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11663)
) {
11664 return IPC_FAIL(this, "Transaction is already committed/aborted!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("Transaction is already committed/aborted!"
))
;
11665 }
11666
11667 const RefPtr<ContinueOp> continueOp =
11668 new ContinueOp(this, aRequestId, aParams, std::move(position));
11669 if (NS_WARN_IF(!continueOp->Init(*mTransaction))NS_warn_if_impl(!continueOp->Init(*mTransaction), "!continueOp->Init(*mTransaction)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11669)
) {
11670 continueOp->Cleanup();
11671 return IPC_FAIL(this, "ContinueOp initialization failed!")mozilla::ipc::IPCResult::Fail(WrapNotNull(this), __func__, ("ContinueOp initialization failed!"
))
;
11672 }
11673
11674 continueOp->DispatchToConnectionPool();
11675 mCurrentlyRunningOp = continueOp;
11676
11677 return IPC_OK()mozilla::ipc::IPCResult::Ok();
11678}
11679
11680/*******************************************************************************
11681 * DatabaseFileManager
11682 ******************************************************************************/
11683
11684DatabaseFileManager::MutexType DatabaseFileManager::sMutex;
11685
11686DatabaseFileManager::DatabaseFileManager(
11687 PersistenceType aPersistenceType,
11688 const quota::OriginMetadata& aOriginMetadata,
11689 const nsAString& aDatabaseName, const nsCString& aDatabaseID,
11690 const nsAString& aDatabaseFilePath, bool aEnforcingQuota,
11691 bool aIsInPrivateBrowsingMode)
11692 : mPersistenceType(aPersistenceType),
11693 mOriginMetadata(aOriginMetadata),
11694 mDatabaseName(aDatabaseName),
11695 mDatabaseID(aDatabaseID),
11696 mDatabaseFilePath(aDatabaseFilePath),
11697 mCipherKeyManager(
11698 aIsInPrivateBrowsingMode
11699 ? new IndexedDBCipherKeyManager("IndexedDBCipherKeyManager")
11700 : nullptr),
11701 mDatabaseVersion(0),
11702 mEnforcingQuota(aEnforcingQuota),
11703 mIsInPrivateBrowsingMode(aIsInPrivateBrowsingMode) {}
11704
11705uint64_t DatabaseFileManager::DatabaseVersion() const {
11706 AssertIsOnIOThread();
11707
11708 return mDatabaseVersion;
11709}
11710
11711void DatabaseFileManager::UpdateDatabaseVersion(uint64_t aDatabaseVersion) {
11712 AssertIsOnIOThread();
11713
11714 mDatabaseVersion = aDatabaseVersion;
11715}
11716
11717nsresult DatabaseFileManager::Init(nsIFile* aDirectory,
11718 const uint64_t aDatabaseVersion,
11719 mozIStorageConnection& aConnection) {
11720 AssertIsOnIOThread();
11721 MOZ_ASSERT(aDirectory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectory))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11721); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectory"
")"); do { *((volatile int*)__null) = 11721; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11722
11723 {
11724 QM_TRY_INSPECT(const bool& existsAsDirectory,auto tryResult986 = (ExistsAsDirectory(*aDirectory)); if ((__builtin_expect
(!!(tryResult986.isErr()), 0))) { mozilla::dom::quota::HandleError
("ExistsAsDirectory(*aDirectory)", tryResult986.inspectErr(),
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11725, mozilla::dom::quota::Severity::Error); return tryResult986
.propagateErr(); } const bool& existsAsDirectory = tryResult986
.inspect();
11725 ExistsAsDirectory(*aDirectory))auto tryResult986 = (ExistsAsDirectory(*aDirectory)); if ((__builtin_expect
(!!(tryResult986.isErr()), 0))) { mozilla::dom::quota::HandleError
("ExistsAsDirectory(*aDirectory)", tryResult986.inspectErr(),
"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11725, mozilla::dom::quota::Severity::Error); return tryResult986
.propagateErr(); } const bool& existsAsDirectory = tryResult986
.inspect();
;
11726
11727 if (!existsAsDirectory) {
11728 QM_TRY(MOZ_TO_RESULT(aDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))){auto tryResult987 = (ToResult(aDirectory->Create(nsIFile::
DIRECTORY_TYPE, 0755))); static_assert(std::is_empty_v<typename
decltype(tryResult987)::ok_type>); if ((__builtin_expect(
!!(tryResult987.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(aDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryResult987.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11728, mozilla::dom::quota::Severity::Error); return tryResult987
.propagateErr(); }}
;
11729 }
11730
11731 QM_TRY_UNWRAP(auto path, MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult988 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(aDirectory)>::GetPath), (aDirectory))); if ((__builtin_expect
(!!(tryResult988.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aDirectory)>::GetPath), (aDirectory))"
, tryResult988.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11732, mozilla::dom::quota::Severity::Error); return tryResult988
.propagateErr(); } auto path = tryResult988.unwrap();
11732 nsString, aDirectory, GetPath))auto tryResult988 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(aDirectory)>::GetPath), (aDirectory))); if ((__builtin_expect
(!!(tryResult988.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aDirectory)>::GetPath), (aDirectory))"
, tryResult988.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11732, mozilla::dom::quota::Severity::Error); return tryResult988
.propagateErr(); } auto path = tryResult988.unwrap();
;
11733
11734 mDirectoryPath.init(std::move(path));
11735 }
11736
11737 QM_TRY_INSPECT(const auto& journalDirectory,auto tryResult989 = (CloneFileAndAppend(*aDirectory, kJournalDirectoryName
)); if ((__builtin_expect(!!(tryResult989.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, kJournalDirectoryName)"
, tryResult989.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11738, mozilla::dom::quota::Severity::Error); return tryResult989
.propagateErr(); } const auto& journalDirectory = tryResult989
.inspect();
11738 CloneFileAndAppend(*aDirectory, kJournalDirectoryName))auto tryResult989 = (CloneFileAndAppend(*aDirectory, kJournalDirectoryName
)); if ((__builtin_expect(!!(tryResult989.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, kJournalDirectoryName)"
, tryResult989.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11738, mozilla::dom::quota::Severity::Error); return tryResult989
.propagateErr(); } const auto& journalDirectory = tryResult989
.inspect();
;
11739
11740 // We don't care if it doesn't exist at all, but if it does exist, make sure
11741 // it's a directory.
11742 QM_TRY_INSPECT(const bool& existsAsDirectory,auto tryResult990 = (ExistsAsDirectory(*journalDirectory)); if
((__builtin_expect(!!(tryResult990.isErr()), 0))) { mozilla::
dom::quota::HandleError("ExistsAsDirectory(*journalDirectory)"
, tryResult990.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11743, mozilla::dom::quota::Severity::Error); return tryResult990
.propagateErr(); } const bool& existsAsDirectory = tryResult990
.inspect();
11743 ExistsAsDirectory(*journalDirectory))auto tryResult990 = (ExistsAsDirectory(*journalDirectory)); if
((__builtin_expect(!!(tryResult990.isErr()), 0))) { mozilla::
dom::quota::HandleError("ExistsAsDirectory(*journalDirectory)"
, tryResult990.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11743, mozilla::dom::quota::Severity::Error); return tryResult990
.propagateErr(); } const bool& existsAsDirectory = tryResult990
.inspect();
;
11744 Unused << existsAsDirectory;
11745
11746 {
11747 QM_TRY_UNWRAP(auto path, MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult991 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(journalDirectory)>::GetPath), (journalDirectory))); if ((
__builtin_expect(!!(tryResult991.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(journalDirectory)>::GetPath), (journalDirectory))"
, tryResult991.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11748, mozilla::dom::quota::Severity::Error); return tryResult991
.propagateErr(); } auto path = tryResult991.unwrap();
11748 nsString, journalDirectory, GetPath))auto tryResult991 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(journalDirectory)>::GetPath), (journalDirectory))); if ((
__builtin_expect(!!(tryResult991.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(journalDirectory)>::GetPath), (journalDirectory))"
, tryResult991.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11748, mozilla::dom::quota::Severity::Error); return tryResult991
.propagateErr(); } auto path = tryResult991.unwrap();
;
11749
11750 mJournalDirectoryPath.init(std::move(path));
11751 }
11752
11753 mDatabaseVersion = aDatabaseVersion;
11754
11755 QM_TRY_INSPECT(const auto& stmt,auto tryResult992 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(aConnection)>::CreateStatement
), (aConnection), "SELECT id, refcount FROM file"_ns)); if ((
__builtin_expect(!!(tryResult992.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aConnection)>::CreateStatement), (aConnection), \"SELECT id, refcount FROM file\"_ns)"
, tryResult992.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11758, mozilla::dom::quota::Severity::Error); return tryResult992
.propagateErr(); } const auto& stmt = tryResult992.inspect
();
11756 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult992 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(aConnection)>::CreateStatement
), (aConnection), "SELECT id, refcount FROM file"_ns)); if ((
__builtin_expect(!!(tryResult992.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aConnection)>::CreateStatement), (aConnection), \"SELECT id, refcount FROM file\"_ns)"
, tryResult992.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11758, mozilla::dom::quota::Severity::Error); return tryResult992
.propagateErr(); } const auto& stmt = tryResult992.inspect
();
11757 nsCOMPtr<mozIStorageStatement>, aConnection,auto tryResult992 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(aConnection)>::CreateStatement
), (aConnection), "SELECT id, refcount FROM file"_ns)); if ((
__builtin_expect(!!(tryResult992.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aConnection)>::CreateStatement), (aConnection), \"SELECT id, refcount FROM file\"_ns)"
, tryResult992.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11758, mozilla::dom::quota::Severity::Error); return tryResult992
.propagateErr(); } const auto& stmt = tryResult992.inspect
();
11758 CreateStatement, "SELECT id, refcount FROM file"_ns))auto tryResult992 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(aConnection)>::CreateStatement
), (aConnection), "SELECT id, refcount FROM file"_ns)); if ((
__builtin_expect(!!(tryResult992.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(aConnection)>::CreateStatement), (aConnection), \"SELECT id, refcount FROM file\"_ns)"
, tryResult992.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11758, mozilla::dom::quota::Severity::Error); return tryResult992
.propagateErr(); } const auto& stmt = tryResult992.inspect
();
;
11759
11760 QM_TRY({auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11761 CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> {{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11762 QM_TRY_INSPECT(const int64_t& id,{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11763 MOZ_TO_RESULT_INVOKE_MEMBER(stmt, GetInt64, 0));{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11764 QM_TRY_INSPECT(const int32_t& dbRefCnt,{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11765 MOZ_TO_RESULT_INVOKE_MEMBER(stmt, GetInt32, 1));{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11766
11767 // We put a raw pointer into the hash table, so the memory refcount will{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11768 // be 0, but the dbRefCnt is non-zero, which will keep the{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11769 // DatabaseFileInfo object alive.{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11770 MOZ_ASSERT(dbRefCnt > 0);{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11771 DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt));{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11772 MOZ_ASSERT(ok);{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11773
11774 return Ok{};{auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
11775 })){auto tryResult995 = (CollectWhileHasResult(*stmt, [this](auto
& stmt) -> Result<Ok, nsresult> { auto tryResult993
= (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::
detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if (
(__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)"
, tryResult993.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11763, mozilla::dom::quota::Severity::Error); return tryResult993
.propagateErr(); } const int64_t& id = tryResult993.inspect
();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt
), &::mozilla::detail::DerefedType<decltype(stmt)>::
GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr())
, 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)"
, tryResult994.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11765, mozilla::dom::quota::Severity::Error); return tryResult994
.propagateErr(); } const int32_t& dbRefCnt = tryResult994
.inspect();; do { static_assert( mozilla::detail::AssertionConditionType
<decltype(dbRefCnt > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do
{ } while (false); MOZ_ReportAssertionFailure("dbRefCnt > 0"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11770); AnnotateMozCrashReason("MOZ_ASSERT" "(" "dbRefCnt > 0"
")"); do { *((volatile int*)__null) = 11770; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); DebugOnly
ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt
)); do { static_assert( mozilla::detail::AssertionConditionType
<decltype(ok)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false
); MOZ_ReportAssertionFailure("ok", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11772); AnnotateMozCrashReason("MOZ_ASSERT" "(" "ok" ")"); do
{ *((volatile int*)__null) = 11772; __attribute__((nomerge))
::abort(); } while (false); } } while (false); return Ok{}; }
)); static_assert(std::is_empty_v<typename decltype(tryResult995
)::ok_type>); if ((__builtin_expect(!!(tryResult995.isErr(
)), 0))) { mozilla::dom::quota::HandleError("CollectWhileHasResult(*stmt, [this](auto& stmt) -> Result<Ok, nsresult> { auto tryResult993 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)); if ((__builtin_expect(!!(tryResult993.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt64, 0)\", tryResult993.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11763, mozilla::dom::quota::Severity::Error); return tryResult993.propagateErr(); } const int64_t& id = tryResult993.inspect();; auto tryResult994 = (::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)); if ((__builtin_expect(!!(tryResult994.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (stmt), &::mozilla::detail::DerefedType<decltype(stmt)>::GetInt32, 1)\", tryResult994.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11765, mozilla::dom::quota::Severity::Error); return tryResult994.propagateErr(); } const int32_t& dbRefCnt = tryResult994.inspect();; do { static_assert( mozilla::detail::AssertionConditionType<decltype(dbRefCnt > 0)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(dbRefCnt > 0))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"dbRefCnt > 0\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11770); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"dbRefCnt > 0\" \")\"); do { *((volatile int*)__null) = 11770; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); DebugOnly ok = static_cast<bool>(CreateFileInfo(Some(id), dbRefCnt)); do { static_assert( mozilla::detail::AssertionConditionType<decltype(ok)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(ok))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"ok\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11772); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"ok\" \")\"); do { *((volatile int*)__null) = 11772; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); return Ok{}; })"
, tryResult995.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11775, mozilla::dom::quota::Severity::Error); return tryResult995
.propagateErr(); }}
;
11776
11777 mInitialized.Flip();
11778
11779 return NS_OK;
11780}
11781
11782nsCOMPtr<nsIFile> DatabaseFileManager::GetDirectory() {
11783 if (!this->AssertValid()) {
11784 return nullptr;
11785 }
11786
11787 return GetFileForPath(*mDirectoryPath);
11788}
11789
11790nsCOMPtr<nsIFile> DatabaseFileManager::GetCheckedDirectory() {
11791 auto directory = GetDirectory();
11792 if (NS_WARN_IF(!directory)NS_warn_if_impl(!directory, "!directory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11792)
) {
11793 return nullptr;
11794 }
11795
11796 DebugOnly<bool> exists;
11797 MOZ_ASSERT(NS_SUCCEEDED(directory->Exists(&exists)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(directory
->Exists(&exists))), 1))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
!NS_FAILED_impl(directory->Exists(&exists))), 1)))))),
0))) { do { } while (false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(directory->Exists(&exists))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11797); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(directory->Exists(&exists))), 1)))"
")"); do { *((volatile int*)__null) = 11797; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11798 MOZ_ASSERT(exists)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(exists)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(exists))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("exists", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11798); AnnotateMozCrashReason("MOZ_ASSERT" "(" "exists" ")"
); do { *((volatile int*)__null) = 11798; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
11799
11800 DebugOnly<bool> isDirectory;
11801 MOZ_ASSERT(NS_SUCCEEDED(directory->IsDirectory(&isDirectory)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(directory
->IsDirectory(&isDirectory))), 1))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
!NS_FAILED_impl(directory->IsDirectory(&isDirectory)))
, 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("((bool)(__builtin_expect(!!(!NS_FAILED_impl(directory->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11801); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(directory->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 11801; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11802 MOZ_ASSERT(isDirectory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(isDirectory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11802); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 11802; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11803
11804 return directory;
11805}
11806
11807nsCOMPtr<nsIFile> DatabaseFileManager::GetJournalDirectory() {
11808 if (!this->AssertValid()) {
11809 return nullptr;
11810 }
11811
11812 return GetFileForPath(*mJournalDirectoryPath);
11813}
11814
11815nsCOMPtr<nsIFile> DatabaseFileManager::EnsureJournalDirectory() {
11816 // This can happen on the IO or on a transaction thread.
11817 MOZ_ASSERT(!NS_IsMainThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!NS_IsMainThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!NS_IsMainThread()))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!NS_IsMainThread()"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11817); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!NS_IsMainThread()"
")"); do { *((volatile int*)__null) = 11817; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11818
11819 auto journalDirectory = GetFileForPath(*mJournalDirectoryPath);
11820 QM_TRY(OkIf(journalDirectory), nullptr){auto tryResult996 = (OkIf(journalDirectory)); static_assert(
std::is_empty_v<typename decltype(tryResult996)::ok_type>
); if ((__builtin_expect(!!(tryResult996.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult996.unwrapErr
(); mozilla::dom::quota::HandleError("OkIf(journalDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11820, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(journalDirectory)"
, tryTempError, nullptr); }}
;
11821
11822 QM_TRY_INSPECT(const bool& exists,auto tryResult997 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult997.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult997
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11824, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryTempError, nullptr); } const bool& exists = tryResult997
.inspect();
11823 MOZ_TO_RESULT_INVOKE_MEMBER(journalDirectory, Exists),auto tryResult997 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult997.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult997
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11824, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryTempError, nullptr); } const bool& exists = tryResult997
.inspect();
11824 nullptr)auto tryResult997 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult997.isErr(
)), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult997
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11824, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryTempError, nullptr); } const bool& exists = tryResult997
.inspect();
;
11825
11826 if (exists) {
11827 QM_TRY_INSPECT(const bool& isDirectory,auto tryResult998 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult998.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult998
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11829, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryTempError, nullptr); } const bool& isDirectory = tryResult998
.inspect();
11828 MOZ_TO_RESULT_INVOKE_MEMBER(journalDirectory, IsDirectory),auto tryResult998 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult998.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult998
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11829, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryTempError, nullptr); } const bool& isDirectory = tryResult998
.inspect();
11829 nullptr)auto tryResult998 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult998.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult998
.unwrapErr(); mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11829, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryTempError, nullptr); } const bool& isDirectory = tryResult998
.inspect();
;
11830
11831 QM_TRY(OkIf(isDirectory), nullptr){auto tryResult999 = (OkIf(isDirectory)); static_assert(std::
is_empty_v<typename decltype(tryResult999)::ok_type>); if
((__builtin_expect(!!(tryResult999.isErr()), 0))) { auto tryTempError
__attribute__((__unused__)) = tryResult999.unwrapErr(); mozilla
::dom::quota::HandleError("OkIf(isDirectory)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11831, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(isDirectory)"
, tryTempError, nullptr); }}
;
11832 } else {
11833 QM_TRY({auto tryResult1000 = (ToResult(journalDirectory->Create(nsIFile
::DIRECTORY_TYPE, 0755))); static_assert(std::is_empty_v<typename
decltype(tryResult1000)::ok_type>); if ((__builtin_expect
(!!(tryResult1000.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1000.unwrapErr(); mozilla::dom::quota
::HandleError("ToResult(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11835, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryTempError, nullptr); }}
11834 MOZ_TO_RESULT(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755)),{auto tryResult1000 = (ToResult(journalDirectory->Create(nsIFile
::DIRECTORY_TYPE, 0755))); static_assert(std::is_empty_v<typename
decltype(tryResult1000)::ok_type>); if ((__builtin_expect
(!!(tryResult1000.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1000.unwrapErr(); mozilla::dom::quota
::HandleError("ToResult(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11835, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryTempError, nullptr); }}
11835 nullptr){auto tryResult1000 = (ToResult(journalDirectory->Create(nsIFile
::DIRECTORY_TYPE, 0755))); static_assert(std::is_empty_v<typename
decltype(tryResult1000)::ok_type>); if ((__builtin_expect
(!!(tryResult1000.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1000.unwrapErr(); mozilla::dom::quota
::HandleError("ToResult(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11835, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "ToResult(journalDirectory->Create(nsIFile::DIRECTORY_TYPE, 0755))"
, tryTempError, nullptr); }}
;
11836 }
11837
11838 return journalDirectory;
11839}
11840
11841// static
11842nsCOMPtr<nsIFile> DatabaseFileManager::GetFileForId(nsIFile* aDirectory,
11843 int64_t aId) {
11844 MOZ_ASSERT(aDirectory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectory))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11844); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectory"
")"); do { *((volatile int*)__null) = 11844; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11845 MOZ_ASSERT(aId > 0)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aId > 0)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aId > 0))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aId > 0", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11845); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aId > 0"
")"); do { *((volatile int*)__null) = 11845; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11846
11847 QM_TRY_RETURN(CloneFileAndAppend(*aDirectory, IntToString(aId)), nullptr){auto tryResult1001 = (CloneFileAndAppend(*aDirectory, IntToString
(aId))); if ((__builtin_expect(!!(tryResult1001.isErr()), 0))
) { auto tryTempError __attribute__((__unused__)) = tryResult1001
.unwrapErr(); mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, IntToString(aId))"
, tryResult1001.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11847, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "CloneFileAndAppend(*aDirectory, IntToString(aId))"
, tryTempError, nullptr); } return tryResult1001.unwrap();}
;
11848}
11849
11850// static
11851nsCOMPtr<nsIFile> DatabaseFileManager::GetCheckedFileForId(nsIFile* aDirectory,
11852 int64_t aId) {
11853 auto file = GetFileForId(aDirectory, aId);
11854 if (NS_WARN_IF(!file)NS_warn_if_impl(!file, "!file", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11854)
) {
11855 return nullptr;
11856 }
11857
11858 DebugOnly<bool> exists;
11859 MOZ_ASSERT(NS_SUCCEEDED(file->Exists(&exists)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(file->
Exists(&exists))), 1))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
!NS_FAILED_impl(file->Exists(&exists))), 1)))))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(file->Exists(&exists))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11859); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(file->Exists(&exists))), 1)))"
")"); do { *((volatile int*)__null) = 11859; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11860 MOZ_ASSERT(exists)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(exists)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(exists))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("exists", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11860); AnnotateMozCrashReason("MOZ_ASSERT" "(" "exists" ")"
); do { *((volatile int*)__null) = 11860; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
11861
11862 DebugOnly<bool> isFile;
11863 MOZ_ASSERT(NS_SUCCEEDED(file->IsFile(&isFile)))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(file->
IsFile(&isFile))), 1))))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(
!NS_FAILED_impl(file->IsFile(&isFile))), 1)))))), 0)))
{ do { } while (false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(file->IsFile(&isFile))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11863); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(file->IsFile(&isFile))), 1)))"
")"); do { *((volatile int*)__null) = 11863; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11864 MOZ_ASSERT(isFile)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(isFile)>::isValid, "invalid assertion condition")
; if ((__builtin_expect(!!(!(!!(isFile))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isFile", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11864); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isFile" ")"
); do { *((volatile int*)__null) = 11864; __attribute__((nomerge
)) ::abort(); } while (false); } } while (false)
;
11865
11866 return file;
11867}
11868
11869// static
11870nsresult DatabaseFileManager::InitDirectory(nsIFile& aDirectory,
11871 nsIFile& aDatabaseFile,
11872 const nsACString& aOrigin,
11873 uint32_t aTelemetryId) {
11874 AssertIsOnIOThread();
11875
11876 {
11877 QM_TRY_INSPECT(const bool& exists,auto tryResult1002 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult1002.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::Exists)"
, tryResult1002.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11878, mozilla::dom::quota::Severity::Error); return tryResult1002
.propagateErr(); } const bool& exists = tryResult1002.inspect
();
11878 MOZ_TO_RESULT_INVOKE_MEMBER(aDirectory, Exists))auto tryResult1002 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult1002.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::Exists)"
, tryResult1002.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11878, mozilla::dom::quota::Severity::Error); return tryResult1002
.propagateErr(); } const bool& exists = tryResult1002.inspect
();
;
11879
11880 if (!exists) {
11881 return NS_OK;
11882 }
11883
11884 QM_TRY_INSPECT(const bool& isDirectory,auto tryResult1003 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult1003.
isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::IsDirectory)"
, tryResult1003.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11885, mozilla::dom::quota::Severity::Error); return tryResult1003
.propagateErr(); } const bool& isDirectory = tryResult1003
.inspect();
11885 MOZ_TO_RESULT_INVOKE_MEMBER(aDirectory, IsDirectory))auto tryResult1003 = (::mozilla::ToResultInvokeMember( (aDirectory
), &::mozilla::detail::DerefedType<decltype(aDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult1003.
isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (aDirectory), &::mozilla::detail::DerefedType<decltype(aDirectory)>::IsDirectory)"
, tryResult1003.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11885, mozilla::dom::quota::Severity::Error); return tryResult1003
.propagateErr(); } const bool& isDirectory = tryResult1003
.inspect();
;
11886 QM_TRY(OkIf(isDirectory), NS_ERROR_FAILURE){auto tryResult1004 = (OkIf(isDirectory)); static_assert(std::
is_empty_v<typename decltype(tryResult1004)::ok_type>);
if ((__builtin_expect(!!(tryResult1004.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult1004.unwrapErr
(); mozilla::dom::quota::HandleError("OkIf(isDirectory)", tryTempError
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11886, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(isDirectory)"
, tryTempError, NS_ERROR_FAILURE); }}
;
11887 }
11888
11889 QM_TRY_INSPECT(const auto& journalDirectory,auto tryResult1005 = (CloneFileAndAppend(aDirectory, kJournalDirectoryName
)); if ((__builtin_expect(!!(tryResult1005.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(aDirectory, kJournalDirectoryName)"
, tryResult1005.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11890, mozilla::dom::quota::Severity::Error); return tryResult1005
.propagateErr(); } const auto& journalDirectory = tryResult1005
.inspect();
11890 CloneFileAndAppend(aDirectory, kJournalDirectoryName))auto tryResult1005 = (CloneFileAndAppend(aDirectory, kJournalDirectoryName
)); if ((__builtin_expect(!!(tryResult1005.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(aDirectory, kJournalDirectoryName)"
, tryResult1005.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11890, mozilla::dom::quota::Severity::Error); return tryResult1005
.propagateErr(); } const auto& journalDirectory = tryResult1005
.inspect();
;
11891
11892 QM_TRY_INSPECT(const bool& exists,auto tryResult1006 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult1006.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryResult1006.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11893, mozilla::dom::quota::Severity::Error); return tryResult1006
.propagateErr(); } const bool& exists = tryResult1006.inspect
();
11893 MOZ_TO_RESULT_INVOKE_MEMBER(journalDirectory, Exists))auto tryResult1006 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::Exists)); if ((__builtin_expect(!!(tryResult1006.isErr
()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::Exists)"
, tryResult1006.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11893, mozilla::dom::quota::Severity::Error); return tryResult1006
.propagateErr(); } const bool& exists = tryResult1006.inspect
();
;
11894
11895 if (exists) {
11896 QM_TRY_INSPECT(const bool& isDirectory,auto tryResult1007 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult1007.
isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryResult1007.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11897, mozilla::dom::quota::Severity::Error); return tryResult1007
.propagateErr(); } const bool& isDirectory = tryResult1007
.inspect();
11897 MOZ_TO_RESULT_INVOKE_MEMBER(journalDirectory, IsDirectory))auto tryResult1007 = (::mozilla::ToResultInvokeMember( (journalDirectory
), &::mozilla::detail::DerefedType<decltype(journalDirectory
)>::IsDirectory)); if ((__builtin_expect(!!(tryResult1007.
isErr()), 0))) { mozilla::dom::quota::HandleError("::mozilla::ToResultInvokeMember( (journalDirectory), &::mozilla::detail::DerefedType<decltype(journalDirectory)>::IsDirectory)"
, tryResult1007.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11897, mozilla::dom::quota::Severity::Error); return tryResult1007
.propagateErr(); } const bool& isDirectory = tryResult1007
.inspect();
;
11898 QM_TRY(OkIf(isDirectory), NS_ERROR_FAILURE){auto tryResult1008 = (OkIf(isDirectory)); static_assert(std::
is_empty_v<typename decltype(tryResult1008)::ok_type>);
if ((__builtin_expect(!!(tryResult1008.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult1008.unwrapErr
(); mozilla::dom::quota::HandleError("OkIf(isDirectory)", tryTempError
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11898, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(isDirectory)"
, tryTempError, NS_ERROR_FAILURE); }}
;
11899
11900 bool hasJournals = false;
11901
11902 QM_TRY(CollectEachFile({auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11903 *journalDirectory,{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11904 [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> {{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11905 QM_TRY_INSPECT({auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11906 const auto& leafName,{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11907 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(nsString, file, GetLeafName));{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11908
11909 nsresult rv;{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11910 leafName.ToInteger64(&rv);{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11911 if (NS_SUCCEEDED(rv)) {{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11912 hasJournals = true;{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11913 } else {{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11914 UNKNOWN_FILE_WARNING(leafName);{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11915 }{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11916
11917 return Ok{};{auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
11918 })){auto tryResult1010 = (CollectEachFile( *journalDirectory, [&
hasJournals](const nsCOMPtr<nsIFile>& file) -> Result
<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke
< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType
<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect
(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))"
, tryResult1009.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11907, mozilla::dom::quota::Severity::Error); return tryResult1009
.propagateErr(); } const auto& leafName = tryResult1009.inspect
();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(
__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals
= true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString
( "Something (%s) in the directory that doesn't belong!", NS_ConvertUTF16toUTF8
(leafName).get()) .get(), nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11914); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1010)::ok_type>); if ((__builtin_expect
(!!(tryResult1010.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachFile( *journalDirectory, [&hasJournals](const nsCOMPtr<nsIFile>& file) -> Result<Ok, nsresult> { auto tryResult1009 = (::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))); if ((__builtin_expect(!!(tryResult1009.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(file)>::GetLeafName), (file))\", tryResult1009.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11907, mozilla::dom::quota::Severity::Error); return tryResult1009.propagateErr(); } const auto& leafName = tryResult1009.inspect();; nsresult rv; leafName.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(!NS_FAILED_impl(rv)), 1)))) { hasJournals = true; } else { NS_DebugBreak(NS_DEBUG_WARNING, nsPrintfCString( \"Something (%s) in the directory that doesn't belong!\", NS_ConvertUTF16toUTF8(leafName).get()) .get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11914); } return Ok{}; })"
, tryResult1010.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11918, mozilla::dom::quota::Severity::Error); return tryResult1010
.propagateErr(); }}
;
11919
11920 if (hasJournals) {
11921 QM_TRY_UNWRAP(const NotNull<nsCOMPtr<mozIStorageConnection>> connection,auto tryResult1011 = (CreateStorageConnection( aDatabaseFile,
aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing
{})); if ((__builtin_expect(!!(tryResult1011.isErr()), 0))) {
mozilla::dom::quota::HandleError("CreateStorageConnection( aDatabaseFile, aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing{})"
, tryResult1011.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11924, mozilla::dom::quota::Severity::Error); return tryResult1011
.propagateErr(); } const NotNull<nsCOMPtr<mozIStorageConnection
>> connection = tryResult1011.unwrap();
11922 CreateStorageConnection(auto tryResult1011 = (CreateStorageConnection( aDatabaseFile,
aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing
{})); if ((__builtin_expect(!!(tryResult1011.isErr()), 0))) {
mozilla::dom::quota::HandleError("CreateStorageConnection( aDatabaseFile, aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing{})"
, tryResult1011.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11924, mozilla::dom::quota::Severity::Error); return tryResult1011
.propagateErr(); } const NotNull<nsCOMPtr<mozIStorageConnection
>> connection = tryResult1011.unwrap();
11923 aDatabaseFile, aDirectory, VoidString(), aOrigin,auto tryResult1011 = (CreateStorageConnection( aDatabaseFile,
aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing
{})); if ((__builtin_expect(!!(tryResult1011.isErr()), 0))) {
mozilla::dom::quota::HandleError("CreateStorageConnection( aDatabaseFile, aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing{})"
, tryResult1011.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11924, mozilla::dom::quota::Severity::Error); return tryResult1011
.propagateErr(); } const NotNull<nsCOMPtr<mozIStorageConnection
>> connection = tryResult1011.unwrap();
11924 /* aDirectoryLockId */ -1, aTelemetryId, Nothing{}))auto tryResult1011 = (CreateStorageConnection( aDatabaseFile,
aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing
{})); if ((__builtin_expect(!!(tryResult1011.isErr()), 0))) {
mozilla::dom::quota::HandleError("CreateStorageConnection( aDatabaseFile, aDirectory, VoidString(), aOrigin, -1, aTelemetryId, Nothing{})"
, tryResult1011.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11924, mozilla::dom::quota::Severity::Error); return tryResult1011
.propagateErr(); } const NotNull<nsCOMPtr<mozIStorageConnection
>> connection = tryResult1011.unwrap();
;
11925
11926 mozStorageTransaction transaction(connection.get(), false);
11927
11928 QM_TRY(MOZ_TO_RESULT(transaction.Start())){auto tryResult1012 = (ToResult(transaction.Start())); static_assert
(std::is_empty_v<typename decltype(tryResult1012)::ok_type
>); if ((__builtin_expect(!!(tryResult1012.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(transaction.Start())"
, tryResult1012.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11928, mozilla::dom::quota::Severity::Error); return tryResult1012
.propagateErr(); }}
11929
11930 QM_TRY(MOZ_TO_RESULT(connection->ExecuteSimpleSQL({auto tryResult1013 = (ToResult(connection->ExecuteSimpleSQL
( "CREATE VIRTUAL TABLE fs USING filesystem;"_ns))); static_assert
(std::is_empty_v<typename decltype(tryResult1013)::ok_type
>); if ((__builtin_expect(!!(tryResult1013.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL( \"CREATE VIRTUAL TABLE fs USING filesystem;\"_ns))"
, tryResult1013.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11931, mozilla::dom::quota::Severity::Error); return tryResult1013
.propagateErr(); }}
11931 "CREATE VIRTUAL TABLE fs USING filesystem;"_ns))){auto tryResult1013 = (ToResult(connection->ExecuteSimpleSQL
( "CREATE VIRTUAL TABLE fs USING filesystem;"_ns))); static_assert
(std::is_empty_v<typename decltype(tryResult1013)::ok_type
>); if ((__builtin_expect(!!(tryResult1013.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(connection->ExecuteSimpleSQL( \"CREATE VIRTUAL TABLE fs USING filesystem;\"_ns))"
, tryResult1013.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11931, mozilla::dom::quota::Severity::Error); return tryResult1013
.propagateErr(); }}
;
11932
11933 // The parameter names are not used, parameters are bound by index only
11934 // locally in the same function.
11935 QM_TRY_INSPECT(auto tryResult1014 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(*connection)>::CreateStatement
), (*connection), "SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path"_ns
)); if ((__builtin_expect(!!(tryResult1014.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*connection)>::CreateStatement), (*connection), \"SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path\"_ns)"
, tryResult1014.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11939, mozilla::dom::quota::Severity::Error); return tryResult1014
.propagateErr(); } const auto& stmt = tryResult1014.inspect
();
11936 const auto& stmt,auto tryResult1014 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(*connection)>::CreateStatement
), (*connection), "SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path"_ns
)); if ((__builtin_expect(!!(tryResult1014.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*connection)>::CreateStatement), (*connection), \"SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path\"_ns)"
, tryResult1014.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11939, mozilla::dom::quota::Severity::Error); return tryResult1014
.propagateErr(); } const auto& stmt = tryResult1014.inspect
();
11937 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult1014 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(*connection)>::CreateStatement
), (*connection), "SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path"_ns
)); if ((__builtin_expect(!!(tryResult1014.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*connection)>::CreateStatement), (*connection), \"SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path\"_ns)"
, tryResult1014.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11939, mozilla::dom::quota::Severity::Error); return tryResult1014
.propagateErr(); } const auto& stmt = tryResult1014.inspect
();
11938 nsCOMPtr<mozIStorageStatement>, *connection, CreateStatement,auto tryResult1014 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(*connection)>::CreateStatement
), (*connection), "SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path"_ns
)); if ((__builtin_expect(!!(tryResult1014.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*connection)>::CreateStatement), (*connection), \"SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path\"_ns)"
, tryResult1014.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11939, mozilla::dom::quota::Severity::Error); return tryResult1014
.propagateErr(); } const auto& stmt = tryResult1014.inspect
();
11939 "SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path"_ns))auto tryResult1014 = (::mozilla::ToResultInvoke< nsCOMPtr<
mozIStorageStatement> >( ::std::mem_fn( &::mozilla::
detail::DerefedType<decltype(*connection)>::CreateStatement
), (*connection), "SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path"_ns
)); if ((__builtin_expect(!!(tryResult1014.isErr()), 0))) { mozilla
::dom::quota::HandleError("::mozilla::ToResultInvoke< nsCOMPtr<mozIStorageStatement>>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(*connection)>::CreateStatement), (*connection), \"SELECT name, (name IN (SELECT id FROM file)) FROM fs WHERE path = :path\"_ns)"
, tryResult1014.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11939, mozilla::dom::quota::Severity::Error); return tryResult1014
.propagateErr(); } const auto& stmt = tryResult1014.inspect
();
;
11940
11941 QM_TRY_INSPECT(const auto& path,auto tryResult1015 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(journalDirectory)>::GetPath), (journalDirectory))); if ((
__builtin_expect(!!(tryResult1015.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(journalDirectory)>::GetPath), (journalDirectory))"
, tryResult1015.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11943, mozilla::dom::quota::Severity::Error); return tryResult1015
.propagateErr(); } const auto& path = tryResult1015.inspect
();
11942 MOZ_TO_RESULT_INVOKE_MEMBER_TYPED(auto tryResult1015 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(journalDirectory)>::GetPath), (journalDirectory))); if ((
__builtin_expect(!!(tryResult1015.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(journalDirectory)>::GetPath), (journalDirectory))"
, tryResult1015.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11943, mozilla::dom::quota::Severity::Error); return tryResult1015
.propagateErr(); } const auto& path = tryResult1015.inspect
();
11943 nsString, journalDirectory, GetPath))auto tryResult1015 = (::mozilla::ToResultInvoke< nsString>
( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype
(journalDirectory)>::GetPath), (journalDirectory))); if ((
__builtin_expect(!!(tryResult1015.isErr()), 0))) { mozilla::dom
::quota::HandleError("::mozilla::ToResultInvoke< nsString>( ::std::mem_fn( &::mozilla::detail::DerefedType<decltype(journalDirectory)>::GetPath), (journalDirectory))"
, tryResult1015.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11943, mozilla::dom::quota::Severity::Error); return tryResult1015
.propagateErr(); } const auto& path = tryResult1015.inspect
();
;
11944
11945 QM_TRY(MOZ_TO_RESULT(stmt->BindStringByIndex(0, path))){auto tryResult1016 = (ToResult(stmt->BindStringByIndex(0,
path))); static_assert(std::is_empty_v<typename decltype(
tryResult1016)::ok_type>); if ((__builtin_expect(!!(tryResult1016
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt->BindStringByIndex(0, path))"
, tryResult1016.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11945, mozilla::dom::quota::Severity::Error); return tryResult1016
.propagateErr(); }}
;
11946
11947 QM_TRY(CollectWhileHasResult({auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11948 *stmt,{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11949 [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> {{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11950 nsString name;{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11951 QM_TRY(MOZ_TO_RESULT(stmt.GetString(0, name)));{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11952
11953 nsresult rv;{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11954 name.ToInteger64(&rv);{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11955 if (NS_FAILED(rv)) {{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11956 return Ok{};{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11957 }{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11958
11959 int32_t flag = stmt.AsInt32(1);{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11960
11961 if (!flag) {{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11962 QM_TRY_INSPECT(const auto& file,{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11963 CloneFileAndAppend(aDirectory, name));{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11964
11965 if (NS_FAILED(file->Remove(false))) {{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11966 NS_WARNING("Failed to remove orphaned file!");{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11967 }{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11968 }{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11969
11970 QM_TRY_INSPECT(const auto& journalFile,{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11971 CloneFileAndAppend(*journalDirectory, name));{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11972
11973 if (NS_FAILED(journalFile->Remove(false))) {{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11974 NS_WARNING("Failed to remove journal file!");{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11975 }{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11976
11977 return Ok{};{auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
11978 })){auto tryResult1020 = (CollectWhileHasResult( *stmt, [&aDirectory
, &journalDirectory](auto& stmt) -> Result<Ok, nsresult
> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString
(0, name))); static_assert(std::is_empty_v<typename decltype
(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017
.isErr()), 0))) { mozilla::dom::quota::HandleError("ToResult(stmt.GetString(0, name))"
, tryResult1017.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11951, mozilla::dom::quota::Severity::Error); return tryResult1017
.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if
(((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return
Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018
= (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect
(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError
("CloneFileAndAppend(aDirectory, name)", tryResult1018.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11963, mozilla::dom::quota::Severity::Error); return tryResult1018
.propagateErr(); } const auto& file = tryResult1018.inspect
();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->
Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, "Failed to remove orphaned file!"
, nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory
, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0)
)) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*journalDirectory, name)"
, tryResult1019.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11971, mozilla::dom::quota::Severity::Error); return tryResult1019
.propagateErr(); } const auto& journalFile = tryResult1019
.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile
->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING,
"Failed to remove journal file!", nullptr, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11974); } return Ok{}; })); static_assert(std::is_empty_v<
typename decltype(tryResult1020)::ok_type>); if ((__builtin_expect
(!!(tryResult1020.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectWhileHasResult( *stmt, [&aDirectory, &journalDirectory](auto& stmt) -> Result<Ok, nsresult> { nsString name; {auto tryResult1017 = (ToResult(stmt.GetString(0, name))); static_assert(std::is_empty_v<typename decltype(tryResult1017)::ok_type>); if ((__builtin_expect(!!(tryResult1017.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(stmt.GetString(0, name))\", tryResult1017.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11951, mozilla::dom::quota::Severity::Error); return tryResult1017.propagateErr(); }}; nsresult rv; name.ToInteger64(&rv); if (((bool)(__builtin_expect(!!(NS_FAILED_impl(rv)), 0)))) { return Ok{}; } int32_t flag = stmt.AsInt32(1); if (!flag) { auto tryResult1018 = (CloneFileAndAppend(aDirectory, name)); if ((__builtin_expect(!!(tryResult1018.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(aDirectory, name)\", tryResult1018.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11963, mozilla::dom::quota::Severity::Error); return tryResult1018.propagateErr(); } const auto& file = tryResult1018.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(file->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove orphaned file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11966); } } auto tryResult1019 = (CloneFileAndAppend(*journalDirectory, name)); if ((__builtin_expect(!!(tryResult1019.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*journalDirectory, name)\", tryResult1019.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11971, mozilla::dom::quota::Severity::Error); return tryResult1019.propagateErr(); } const auto& journalFile = tryResult1019.inspect();; if (((bool)(__builtin_expect(!!(NS_FAILED_impl(journalFile->Remove(false))), 0)))) { NS_DebugBreak(NS_DEBUG_WARNING, \"Failed to remove journal file!\", nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 11974); } return Ok{}; })"
, tryResult1020.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11978, mozilla::dom::quota::Severity::Error); return tryResult1020
.propagateErr(); }}
;
11979
11980 QM_TRY(MOZ_TO_RESULT(connection->ExecuteSimpleSQL("DROP TABLE fs;"_ns))){auto tryResult1021 = (ToResult(connection->ExecuteSimpleSQL
("DROP TABLE fs;"_ns))); static_assert(std::is_empty_v<typename
decltype(tryResult1021)::ok_type>); if ((__builtin_expect
(!!(tryResult1021.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(connection->ExecuteSimpleSQL(\"DROP TABLE fs;\"_ns))"
, tryResult1021.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11980, mozilla::dom::quota::Severity::Error); return tryResult1021
.propagateErr(); }}
;
11981 QM_TRY(MOZ_TO_RESULT(transaction.Commit())){auto tryResult1022 = (ToResult(transaction.Commit())); static_assert
(std::is_empty_v<typename decltype(tryResult1022)::ok_type
>); if ((__builtin_expect(!!(tryResult1022.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(transaction.Commit())"
, tryResult1022.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11981, mozilla::dom::quota::Severity::Error); return tryResult1022
.propagateErr(); }}
;
11982 }
11983 }
11984
11985 return NS_OK;
11986}
11987
11988// static
11989Result<FileUsageType, nsresult> DatabaseFileManager::GetUsage(
11990 nsIFile* aDirectory) {
11991 AssertIsOnIOThread();
11992 MOZ_ASSERT(aDirectory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectory))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 11992); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectory"
")"); do { *((volatile int*)__null) = 11992; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
11993
11994 FileUsageType usage;
11995
11996 QM_TRY(TraverseFiles({auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
11997 *aDirectory,{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
11998 // KnownDirEntryOp{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
11999 [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> {{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12000 if (isDirectory) {{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12001 return Ok{};{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12002 }{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12003
12004 // Usually we only use QM_OR_ELSE_LOG_VERBOSE(_IF) with Remove and{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12005 // NS_ERROR_FILE_NOT_FOUND check, but the file was found by a directory{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12006 // traversal and ToInteger on the name succeeded, so it should be our{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12007 // file and if the file disappears, the use of QM_OR_ELSE_WARN_IF is ok{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12008 // here.{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12009 QM_TRY_INSPECT(const auto& thisUsage,{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12010 QM_OR_ELSE_WARN_IF({auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12011 // Expression.{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12012 MOZ_TO_RESULT_INVOKE_MEMBER(file, GetFileSize){auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12013 .map([](const int64_t fileSize) {{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12014 return FileUsageType(Some(uint64_t(fileSize)));{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12015 }),{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12016 // Predicate.{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12017 ([](const nsresult rv) {{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12018 return rv == NS_ERROR_FILE_NOT_FOUND;{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12019 }),{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12020 // Fallback. If the file does no longer exist, treat{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12021 // it as 0-sized.{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12022 ErrToDefaultOk<FileUsageType>));{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12023
12024 usage += thisUsage;{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12025
12026 return Ok{};{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12027 },{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12028 // UnknownDirEntryOp{auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
12029 [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })){auto tryResult1024 = (TraverseFiles( *aDirectory, [&usage
](nsIFile& file, const bool isDirectory) -> Result<
Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023
= (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember
( (file), &::mozilla::detail::DerefedType<decltype(file
)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType
(Some(uint64_t(fileSize))); })), [&](const auto& firstRes
) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND
; })(firstRes); mozilla::dom::quota::HandleError("\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\""
, firstRes, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla
::dom::quota::Severity::Error); return res; }, ErrToDefaultOk
<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023
.isErr()), 0))) { mozilla::dom::quota::HandleError("mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)"
, tryResult1023.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12022, mozilla::dom::quota::Severity::Error); return tryResult1023
.propagateErr(); } const auto& thisUsage = tryResult1023.
inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&
, const bool) -> Result<Ok, nsresult> { return Ok{};
})); static_assert(std::is_empty_v<typename decltype(tryResult1024
)::ok_type>); if ((__builtin_expect(!!(tryResult1024.isErr
()), 0))) { mozilla::dom::quota::HandleError("TraverseFiles( *aDirectory, [&usage](nsIFile& file, const bool isDirectory) -> Result<Ok, nsresult> { if (isDirectory) { return Ok{}; } auto tryResult1023 = (mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\"\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\"\", firstRes, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)); if ((__builtin_expect(!!(tryResult1023.isErr()), 0))) { mozilla::dom::quota::HandleError(\"mozilla::dom::quota::OrElseIf( (::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })), [&](const auto& firstRes) { bool res = ([](const nsresult rv) { return rv == NS_ERROR_FILE_NOT_FOUND; })(firstRes); mozilla::dom::quota::HandleError(\\\"\\\\\\\"::mozilla::ToResultInvokeMember( (file), &::mozilla::detail::DerefedType<decltype(file)>::GetFileSize) .map([](const int64_t fileSize) { return FileUsageType(Some(uint64_t(fileSize))); })\\\\\\\"\\\", firstRes, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12022, res ? mozilla::dom::quota::Severity::Warning : mozilla::dom::quota::Severity::Error); return res; }, ErrToDefaultOk<FileUsageType>)\", tryResult1023.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12022, mozilla::dom::quota::Severity::Error); return tryResult1023.propagateErr(); } const auto& thisUsage = tryResult1023.inspect();; usage += thisUsage; return Ok{}; }, [](nsIFile&, const bool) -> Result<Ok, nsresult> { return Ok{}; })"
, tryResult1024.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12029, mozilla::dom::quota::Severity::Error); return tryResult1024
.propagateErr(); }}
;
12030
12031 return usage;
12032}
12033
12034nsresult DatabaseFileManager::SyncDeleteFile(const int64_t aId) {
12035 MOZ_ASSERT(!ContainsFileInfo(aId))do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!ContainsFileInfo(aId))>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!ContainsFileInfo(aId)))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!ContainsFileInfo(aId)"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12035); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!ContainsFileInfo(aId)"
")"); do { *((volatile int*)__null) = 12035; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12036
12037 if (!this->AssertValid()) {
12038 return NS_ERROR_UNEXPECTED;
12039 }
12040
12041 const auto directory = GetDirectory();
12042 QM_TRY(OkIf(directory), NS_ERROR_FAILURE){auto tryResult1025 = (OkIf(directory)); static_assert(std::is_empty_v
<typename decltype(tryResult1025)::ok_type>); if ((__builtin_expect
(!!(tryResult1025.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1025.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(directory)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12042, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(directory)"
, tryTempError, NS_ERROR_FAILURE); }}
;
12043
12044 const auto journalDirectory = GetJournalDirectory();
12045 QM_TRY(OkIf(journalDirectory), NS_ERROR_FAILURE){auto tryResult1026 = (OkIf(journalDirectory)); static_assert
(std::is_empty_v<typename decltype(tryResult1026)::ok_type
>); if ((__builtin_expect(!!(tryResult1026.isErr()), 0))) {
auto tryTempError __attribute__((__unused__)) = tryResult1026
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(journalDirectory)"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12045, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(journalDirectory)"
, tryTempError, NS_ERROR_FAILURE); }}
;
12046
12047 const nsCOMPtr<nsIFile> file = GetFileForId(directory, aId);
12048 QM_TRY(OkIf(file), NS_ERROR_FAILURE){auto tryResult1027 = (OkIf(file)); static_assert(std::is_empty_v
<typename decltype(tryResult1027)::ok_type>); if ((__builtin_expect
(!!(tryResult1027.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1027.unwrapErr(); mozilla::dom::quota
::HandleError("OkIf(file)", tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12048, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(file)", tryTempError
, NS_ERROR_FAILURE); }}
;
12049
12050 const nsCOMPtr<nsIFile> journalFile = GetFileForId(journalDirectory, aId);
12051 QM_TRY(OkIf(journalFile), NS_ERROR_FAILURE){auto tryResult1028 = (OkIf(journalFile)); static_assert(std::
is_empty_v<typename decltype(tryResult1028)::ok_type>);
if ((__builtin_expect(!!(tryResult1028.isErr()), 0))) { auto
tryTempError __attribute__((__unused__)) = tryResult1028.unwrapErr
(); mozilla::dom::quota::HandleError("OkIf(journalFile)", tryTempError
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12051, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(journalFile)"
, tryTempError, NS_ERROR_FAILURE); }}
;
12052
12053 return SyncDeleteFile(*file, *journalFile);
12054}
12055
12056nsresult DatabaseFileManager::SyncDeleteFile(nsIFile& aFile,
12057 nsIFile& aJournalFile) const {
12058 QuotaManager* const quotaManager =
12059 EnforcingQuota() ? QuotaManager::Get() : nullptr;
12060 MOZ_ASSERT_IF(EnforcingQuota(), quotaManager)do { if (EnforcingQuota()) { do { static_assert( mozilla::detail
::AssertionConditionType<decltype(quotaManager)>::isValid
, "invalid assertion condition"); if ((__builtin_expect(!!(!(
!!(quotaManager))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("quotaManager", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12060); AnnotateMozCrashReason("MOZ_ASSERT" "(" "quotaManager"
")"); do { *((volatile int*)__null) = 12060; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); } } while
(false)
;
12061
12062 QM_TRY(MOZ_TO_RESULT(DeleteFile(aFile, quotaManager, Type(), OriginMetadata(),{auto tryResult1029 = (ToResult(DeleteFile(aFile, quotaManager
, Type(), OriginMetadata(), Idempotency::No))); static_assert
(std::is_empty_v<typename decltype(tryResult1029)::ok_type
>); if ((__builtin_expect(!!(tryResult1029.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(DeleteFile(aFile, quotaManager, Type(), OriginMetadata(), Idempotency::No))"
, tryResult1029.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12063, mozilla::dom::quota::Severity::Error); return tryResult1029
.propagateErr(); }}
12063 Idempotency::No))){auto tryResult1029 = (ToResult(DeleteFile(aFile, quotaManager
, Type(), OriginMetadata(), Idempotency::No))); static_assert
(std::is_empty_v<typename decltype(tryResult1029)::ok_type
>); if ((__builtin_expect(!!(tryResult1029.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(DeleteFile(aFile, quotaManager, Type(), OriginMetadata(), Idempotency::No))"
, tryResult1029.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12063, mozilla::dom::quota::Severity::Error); return tryResult1029
.propagateErr(); }}
;
12064
12065 QM_TRY(MOZ_TO_RESULT(aJournalFile.Remove(false))){auto tryResult1030 = (ToResult(aJournalFile.Remove(false)));
static_assert(std::is_empty_v<typename decltype(tryResult1030
)::ok_type>); if ((__builtin_expect(!!(tryResult1030.isErr
()), 0))) { mozilla::dom::quota::HandleError("ToResult(aJournalFile.Remove(false))"
, tryResult1030.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12065, mozilla::dom::quota::Severity::Error); return tryResult1030
.propagateErr(); }}
;
12066
12067 return NS_OK;
12068}
12069
12070nsresult DatabaseFileManager::Invalidate() {
12071 if (mCipherKeyManager) {
12072 mCipherKeyManager->Invalidate();
12073 }
12074
12075 QM_TRY(MOZ_TO_RESULT(FileInfoManager::Invalidate())){auto tryResult1031 = (ToResult(FileInfoManager::Invalidate()
)); static_assert(std::is_empty_v<typename decltype(tryResult1031
)::ok_type>); if ((__builtin_expect(!!(tryResult1031.isErr
()), 0))) { mozilla::dom::quota::HandleError("ToResult(FileInfoManager::Invalidate())"
, tryResult1031.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12075, mozilla::dom::quota::Severity::Error); return tryResult1031
.propagateErr(); }}
;
12076
12077 return NS_OK;
12078}
12079
12080/*******************************************************************************
12081 * QuotaClient
12082 ******************************************************************************/
12083
12084QuotaClient* QuotaClient::sInstance = nullptr;
12085
12086QuotaClient::QuotaClient() : mDeleteTimer(NS_NewTimer()) {
12087 AssertIsOnBackgroundThread();
12088 MOZ_ASSERT(!sInstance, "We expect this to be a singleton!")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!sInstance)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!sInstance))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("!sInstance" " (" "We expect this to be a singleton!"
")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12088); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!sInstance"
") (" "We expect this to be a singleton!" ")"); do { *((volatile
int*)__null) = 12088; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false)
;
12089 MOZ_ASSERT(!gTelemetryIdMutex)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!gTelemetryIdMutex)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!gTelemetryIdMutex))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("!gTelemetryIdMutex"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12089); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!gTelemetryIdMutex"
")"); do { *((volatile int*)__null) = 12089; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12090
12091 // Always create this so that later access to gTelemetryIdHashtable can be
12092 // properly synchronized.
12093 gTelemetryIdMutex = new Mutex("IndexedDB gTelemetryIdMutex");
12094
12095 gStorageDatabaseNameMutex = new Mutex("IndexedDB gStorageDatabaseNameMutex");
12096
12097 sInstance = this;
12098}
12099
12100QuotaClient::~QuotaClient() {
12101 AssertIsOnBackgroundThread();
12102 MOZ_ASSERT(sInstance == this, "We expect this to be a singleton!")do { static_assert( mozilla::detail::AssertionConditionType<
decltype(sInstance == this)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(sInstance == this))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("sInstance == this"
" (" "We expect this to be a singleton!" ")", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12102); AnnotateMozCrashReason("MOZ_ASSERT" "(" "sInstance == this"
") (" "We expect this to be a singleton!" ")"); do { *((volatile
int*)__null) = 12102; __attribute__((nomerge)) ::abort(); } while
(false); } } while (false)
;
12103 MOZ_ASSERT(gTelemetryIdMutex)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(gTelemetryIdMutex)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(gTelemetryIdMutex))), 0))) {
do { } while (false); MOZ_ReportAssertionFailure("gTelemetryIdMutex"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12103); AnnotateMozCrashReason("MOZ_ASSERT" "(" "gTelemetryIdMutex"
")"); do { *((volatile int*)__null) = 12103; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12104 MOZ_ASSERT(!mMaintenanceThreadPool)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!mMaintenanceThreadPool)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!mMaintenanceThreadPool))), 0
))) { do { } while (false); MOZ_ReportAssertionFailure("!mMaintenanceThreadPool"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12104); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!mMaintenanceThreadPool"
")"); do { *((volatile int*)__null) = 12104; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12105
12106 // No one else should be able to touch gTelemetryIdHashtable now that the
12107 // QuotaClient has gone away.
12108 gTelemetryIdHashtable = nullptr;
12109 gTelemetryIdMutex = nullptr;
12110
12111 gStorageDatabaseNameHashtable = nullptr;
12112 gStorageDatabaseNameMutex = nullptr;
12113
12114 sInstance = nullptr;
12115}
12116
12117nsresult QuotaClient::AsyncDeleteFile(DatabaseFileManager* aFileManager,
12118 int64_t aFileId) {
12119 AssertIsOnBackgroundThread();
12120
12121 if (IsShuttingDownOnBackgroundThread()) {
12122 // Whoops! We want to delete an IndexedDB disk-backed File but it's too late
12123 // to actually delete the file! This means we're going to "leak" the file
12124 // and leave it around when we shouldn't! (The file will stay around until
12125 // next storage initialization is triggered when the app is started again).
12126 // Fixing this is tracked by bug 1539377.
12127
12128 return NS_OK;
12129 }
12130
12131 MOZ_ASSERT(mDeleteTimer)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(mDeleteTimer)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(mDeleteTimer))), 0))) { do {
} while (false); MOZ_ReportAssertionFailure("mDeleteTimer", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12131); AnnotateMozCrashReason("MOZ_ASSERT" "(" "mDeleteTimer"
")"); do { *((volatile int*)__null) = 12131; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12132 MOZ_ALWAYS_SUCCEEDS(mDeleteTimer->Cancel())do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(mDeleteTimer->Cancel())), 1)))), 1))) { } else { do { do {
} while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(mDeleteTimer->Cancel())"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12132); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(mDeleteTimer->Cancel())"
")"); do { *((volatile int*)__null) = 12132; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
12133
12134 QM_TRY(MOZ_TO_RESULT(mDeleteTimer->InitWithNamedFuncCallback({auto tryResult1032 = (ToResult(mDeleteTimer->InitWithNamedFuncCallback
( DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT
, "dom::indexeddb::QuotaClient::AsyncDeleteFile"))); static_assert
(std::is_empty_v<typename decltype(tryResult1032)::ok_type
>); if ((__builtin_expect(!!(tryResult1032.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(mDeleteTimer->InitWithNamedFuncCallback( DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT, \"dom::indexeddb::QuotaClient::AsyncDeleteFile\"))"
, tryResult1032.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12136, mozilla::dom::quota::Severity::Error); return tryResult1032
.propagateErr(); }}
12135 DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT,{auto tryResult1032 = (ToResult(mDeleteTimer->InitWithNamedFuncCallback
( DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT
, "dom::indexeddb::QuotaClient::AsyncDeleteFile"))); static_assert
(std::is_empty_v<typename decltype(tryResult1032)::ok_type
>); if ((__builtin_expect(!!(tryResult1032.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(mDeleteTimer->InitWithNamedFuncCallback( DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT, \"dom::indexeddb::QuotaClient::AsyncDeleteFile\"))"
, tryResult1032.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12136, mozilla::dom::quota::Severity::Error); return tryResult1032
.propagateErr(); }}
12136 "dom::indexeddb::QuotaClient::AsyncDeleteFile"))){auto tryResult1032 = (ToResult(mDeleteTimer->InitWithNamedFuncCallback
( DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT
, "dom::indexeddb::QuotaClient::AsyncDeleteFile"))); static_assert
(std::is_empty_v<typename decltype(tryResult1032)::ok_type
>); if ((__builtin_expect(!!(tryResult1032.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(mDeleteTimer->InitWithNamedFuncCallback( DeleteTimerCallback, this, kDeleteTimeoutMs, nsITimer::TYPE_ONE_SHOT, \"dom::indexeddb::QuotaClient::AsyncDeleteFile\"))"
, tryResult1032.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12136, mozilla::dom::quota::Severity::Error); return tryResult1032
.propagateErr(); }}
;
12137
12138 mPendingDeleteInfos.GetOrInsertNew(aFileManager)->AppendElement(aFileId);
12139
12140 return NS_OK;
12141}
12142
12143nsresult QuotaClient::FlushPendingFileDeletions() {
12144 AssertIsOnBackgroundThread();
12145
12146 QM_TRY(MOZ_TO_RESULT(mDeleteTimer->Cancel())){auto tryResult1033 = (ToResult(mDeleteTimer->Cancel())); static_assert
(std::is_empty_v<typename decltype(tryResult1033)::ok_type
>); if ((__builtin_expect(!!(tryResult1033.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(mDeleteTimer->Cancel())"
, tryResult1033.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12146, mozilla::dom::quota::Severity::Error); return tryResult1033
.propagateErr(); }}
;
12147
12148 DeleteTimerCallback(mDeleteTimer, this);
12149
12150 return NS_OK;
12151}
12152
12153RefPtr<BoolPromise> QuotaClient::DoMaintenance() {
12154 AssertIsOnBackgroundThread();
12155 MOZ_ASSERT(!IsShuttingDownOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsShuttingDownOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsShuttingDownOnBackgroundThread
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!IsShuttingDownOnBackgroundThread()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12155); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsShuttingDownOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 12155; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12156
12157 if (!mBackgroundThread) {
12158 mBackgroundThread = GetCurrentSerialEventTarget();
12159 }
12160
12161 auto maintenance = MakeRefPtr<Maintenance>(this);
12162
12163 mMaintenanceQueue.AppendElement(maintenance);
12164 ProcessMaintenanceQueue();
12165
12166 return maintenance->OnResults();
12167}
12168
12169nsThreadPool* QuotaClient::GetOrCreateThreadPool() {
12170 AssertIsOnBackgroundThread();
12171 MOZ_ASSERT(!IsShuttingDownOnBackgroundThread())do { static_assert( mozilla::detail::AssertionConditionType<
decltype(!IsShuttingDownOnBackgroundThread())>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(!IsShuttingDownOnBackgroundThread
()))), 0))) { do { } while (false); MOZ_ReportAssertionFailure
("!IsShuttingDownOnBackgroundThread()", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12171); AnnotateMozCrashReason("MOZ_ASSERT" "(" "!IsShuttingDownOnBackgroundThread()"
")"); do { *((volatile int*)__null) = 12171; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12172
12173 if (!mMaintenanceThreadPool) {
12174 RefPtr<nsThreadPool> threadPool = new nsThreadPool();
12175
12176 // PR_GetNumberOfProcessors() can return -1 on error, so make sure we
12177 // don't set some huge number here. We add 2 in case some threads block on
12178 // the disk I/O.
12179 const uint32_t threadCount =
12180 std::max(int32_t(PR_GetNumberOfProcessors()), int32_t(1)) + 2;
12181
12182 MOZ_ALWAYS_SUCCEEDS(threadPool->SetThreadLimit(threadCount))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetThreadLimit(threadCount))), 1)))), 1))) { }
else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(threadPool->SetThreadLimit(threadCount))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12182); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetThreadLimit(threadCount))"
")"); do { *((volatile int*)__null) = 12182; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
12183
12184 // Don't keep more than one idle thread.
12185 MOZ_ALWAYS_SUCCEEDS(threadPool->SetIdleThreadLimit(1))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadLimit(1))), 1)))), 1))) { } else
{ do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(threadPool->SetIdleThreadLimit(1))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12185); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadLimit(1))"
")"); do { *((volatile int*)__null) = 12185; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
12186
12187 // Don't keep idle threads alive very long.
12188 MOZ_ALWAYS_SUCCEEDS(do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadMaximumTimeout(5 * 1000L))), 1))
)), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(5 * 1000L))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12189); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(5 * 1000L))"
")"); do { *((volatile int*)__null) = 12189; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
12189 threadPool->SetIdleThreadMaximumTimeout(5 * PR_MSEC_PER_SEC))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetIdleThreadMaximumTimeout(5 * 1000L))), 1))
)), 1))) { } else { do { do { } while (false); MOZ_ReportCrash
("" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(5 * 1000L))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12189); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetIdleThreadMaximumTimeout(5 * 1000L))"
")"); do { *((volatile int*)__null) = 12189; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
12190
12191 MOZ_ALWAYS_SUCCEEDS(threadPool->SetName("IndexedDB Mnt"_ns))do { if ((__builtin_expect(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl
(threadPool->SetName("IndexedDB Mnt"_ns))), 1)))), 1))) { }
else { do { do { } while (false); MOZ_ReportCrash("" "NS_SUCCEEDED(threadPool->SetName(\"IndexedDB Mnt\"_ns))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12191); AnnotateMozCrashReason("MOZ_CRASH(" "NS_SUCCEEDED(threadPool->SetName(\"IndexedDB Mnt\"_ns))"
")"); do { *((volatile int*)__null) = 12191; __attribute__((
nomerge)) ::abort(); } while (false); } while (false); } } while
(false)
;
12192
12193 mMaintenanceThreadPool = std::move(threadPool);
12194 }
12195
12196 return mMaintenanceThreadPool;
12197}
12198
12199mozilla::dom::quota::Client::Type QuotaClient::GetType() {
12200 return QuotaClient::IDB;
12201}
12202
12203nsresult QuotaClient::UpgradeStorageFrom1_0To2_0(nsIFile* aDirectory) {
12204 AssertIsOnIOThread();
12205 MOZ_ASSERT(aDirectory)do { static_assert( mozilla::detail::AssertionConditionType<
decltype(aDirectory)>::isValid, "invalid assertion condition"
); if ((__builtin_expect(!!(!(!!(aDirectory))), 0))) { do { }
while (false); MOZ_ReportAssertionFailure("aDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12205); AnnotateMozCrashReason("MOZ_ASSERT" "(" "aDirectory"
")"); do { *((volatile int*)__null) = 12205; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false)
;
12206
12207 QM_TRY_INSPECT((const auto& [subdirsToProcess, databaseFilenames]),auto tryResult1034 = (GetDatabaseFilenames(*aDirectory, AtomicBool
{false})); if ((__builtin_expect(!!(tryResult1034.isErr()), 0
))) { mozilla::dom::quota::HandleError("GetDatabaseFilenames(*aDirectory, AtomicBool{false})"
, tryResult1034.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12209, mozilla::dom::quota::Severity::Error); return tryResult1034
.propagateErr(); } const auto& [subdirsToProcess, databaseFilenames
] = tryResult1034.inspect();
12208 GetDatabaseFilenames(*aDirectory,auto tryResult1034 = (GetDatabaseFilenames(*aDirectory, AtomicBool
{false})); if ((__builtin_expect(!!(tryResult1034.isErr()), 0
))) { mozilla::dom::quota::HandleError("GetDatabaseFilenames(*aDirectory, AtomicBool{false})"
, tryResult1034.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12209, mozilla::dom::quota::Severity::Error); return tryResult1034
.propagateErr(); } const auto& [subdirsToProcess, databaseFilenames
] = tryResult1034.inspect();
12209 /* aCanceled */ AtomicBool{false}))auto tryResult1034 = (GetDatabaseFilenames(*aDirectory, AtomicBool
{false})); if ((__builtin_expect(!!(tryResult1034.isErr()), 0
))) { mozilla::dom::quota::HandleError("GetDatabaseFilenames(*aDirectory, AtomicBool{false})"
, tryResult1034.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12209, mozilla::dom::quota::Severity::Error); return tryResult1034
.propagateErr(); } const auto& [subdirsToProcess, databaseFilenames
] = tryResult1034.inspect();
;
12210
12211 QM_TRY(CollectEachInRange({auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12212 subdirsToProcess,{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12213 [&databaseFilenames = databaseFilenames,{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12214 aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> {{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12215 // If the directory has the correct suffix then it should exist in{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12216 // databaseFilenames.{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12217 nsDependentSubstring subdirNameBase;{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12218 if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix,{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, Ok{}); } const auto& subdirNameWithSuffix
= tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend
(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038
.isErr()), 0))) { mozilla::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirName)"
, tryResult1038.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12252, mozilla::dom::quota::Severity::Error); return tryResult1038
.propagateErr(); } const auto& subdir = tryResult1038.inspect
();; DebugOnly<bool> isDirectory; do { static_assert( mozilla
::detail::AssertionConditionType<decltype(((bool)(__builtin_expect
(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))
), 1))))>::isValid, "invalid assertion condition"); if ((__builtin_expect
(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->
IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12255); AnnotateMozCrashReason("MOZ_ASSERT" "(" "((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))"
")"); do { *((volatile int*)__null) = 12255; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); do {
static_assert( mozilla::detail::AssertionConditionType<decltype
(isDirectory)>::isValid, "invalid assertion condition"); if
((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while
(false); MOZ_ReportAssertionFailure("isDirectory", "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12256); AnnotateMozCrashReason("MOZ_ASSERT" "(" "isDirectory"
")"); do { *((volatile int*)__null) = 12256; __attribute__((
nomerge)) ::abort(); } while (false); } } while (false); auto
tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix
)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla
::dom::quota::HandleError("CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)"
, tryResult1039.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12260, mozilla::dom::quota::Severity::Error); return tryResult1039
.propagateErr(); } const auto& subdirWithSuffix = tryResult1039
.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember
( (subdirWithSuffix), &::mozilla::detail::DerefedType<
decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect
(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError
("::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)"
, tryResult1040.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12263, mozilla::dom::quota::Severity::Error); return tryResult1040
.propagateErr(); } const bool& exists = tryResult1040.inspect
();; if (exists) { do { nsPrintfCString s("Deleting old %s files directory!"
, NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB
::ReportInternalError("/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr
, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12267); } while (0); {auto tryResult1041 = (ToResult(subdir
->Remove( true))); static_assert(std::is_empty_v<typename
decltype(tryResult1041)::ok_type>); if ((__builtin_expect
(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError
("ToResult(subdir->Remove( true))", tryResult1041.inspectErr
(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12269, mozilla::dom::quota::Severity::Error); return tryResult1041
.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult
(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert
(std::is_empty_v<typename decltype(tryResult1042)::ok_type
>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) {
mozilla::dom::quota::HandleError("ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))"
, tryResult1042.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12275, mozilla::dom::quota::Severity::Error); return tryResult1042
.propagateErr(); }}; return Ok{}; })); static_assert(std::is_empty_v
<typename decltype(tryResult1043)::ok_type>); if ((__builtin_expect
(!!(tryResult1043.isErr()), 0))) { mozilla::dom::quota::HandleError
("CollectEachInRange( subdirsToProcess, [&databaseFilenames = databaseFilenames, aDirectory](const nsAString& subdirName) -> Result<Ok, nsresult> { nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035 = (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert(std::is_empty_v<typename decltype(tryResult1035)::ok_type>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) { mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameBase))\", tryResult1035.unwrapErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota::HandleError(\"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12247, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\\\".\\\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, \\\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\\\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \\\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\\\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())\", tryTempError, Ok{}); } const auto& subdirNameWithSuffix = tryResult1037.inspect();; auto tryResult1038 = (CloneFileAndAppend(*aDirectory, subdirName)); if ((__builtin_expect(!!(tryResult1038.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirName)\", tryResult1038.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12252, mozilla::dom::quota::Severity::Error); return tryResult1038.propagateErr(); } const auto& subdir = tryResult1038.inspect();; DebugOnly<bool> isDirectory; do { static_assert( mozilla::detail::AssertionConditionType<decltype(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1))))>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12255); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"((bool)(__builtin_expect(!!(!NS_FAILED_impl(subdir->IsDirectory(&isDirectory))), 1)))\" \")\"); do { *((volatile int*)__null) = 12255; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); do { static_assert( mozilla::detail::AssertionConditionType<decltype(isDirectory)>::isValid, \"invalid assertion condition\"); if ((__builtin_expect(!!(!(!!(isDirectory))), 0))) { do { } while (false); MOZ_ReportAssertionFailure(\"isDirectory\", \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12256); AnnotateMozCrashReason(\"MOZ_ASSERT\" \"(\" \"isDirectory\" \")\"); do { *((volatile int*)__null) = 12256; __attribute__((nomerge)) ::abort(); } while (false); } } while (false); auto tryResult1039 = (CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)); if ((__builtin_expect(!!(tryResult1039.isErr()), 0))) { mozilla::dom::quota::HandleError(\"CloneFileAndAppend(*aDirectory, subdirNameWithSuffix)\", tryResult1039.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12260, mozilla::dom::quota::Severity::Error); return tryResult1039.propagateErr(); } const auto& subdirWithSuffix = tryResult1039.inspect();; auto tryResult1040 = (::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)); if ((__builtin_expect(!!(tryResult1040.isErr()), 0))) { mozilla::dom::quota::HandleError(\"::mozilla::ToResultInvokeMember( (subdirWithSuffix), &::mozilla::detail::DerefedType<decltype(subdirWithSuffix)>::Exists)\", tryResult1040.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12263, mozilla::dom::quota::Severity::Error); return tryResult1040.propagateErr(); } const bool& exists = tryResult1040.inspect();; if (exists) { do { nsPrintfCString s(\"Deleting old %s files directory!\", NS_ConvertUTF16toUTF8(subdirName).get()); mozilla::dom::indexedDB::ReportInternalError(\"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267, s.get()); NS_DebugBreak(NS_DEBUG_WARNING, s.get(), nullptr, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12267); } while (0); {auto tryResult1041 = (ToResult(subdir->Remove( true))); static_assert(std::is_empty_v<typename decltype(tryResult1041)::ok_type>); if ((__builtin_expect(!!(tryResult1041.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->Remove( true))\", tryResult1041.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12269, mozilla::dom::quota::Severity::Error); return tryResult1041.propagateErr(); }}; return Ok{}; } {auto tryResult1042 = (ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))); static_assert(std::is_empty_v<typename decltype(tryResult1042)::ok_type>); if ((__builtin_expect(!!(tryResult1042.isErr()), 0))) { mozilla::dom::quota::HandleError(\"ToResult(subdir->RenameTo(nullptr, subdirNameWithSuffix))\", tryResult1042.inspectErr(), \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12275, mozilla::dom::quota::Severity::Error); return tryResult1042.propagateErr(); }}; return Ok{}; })"
, tryResult1043.inspectErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12278, mozilla::dom::quota::Severity::Error); return tryResult1043
.propagateErr(); }}
12219 subdirNameBase)) {{auto tryResult1043 = (CollectEachInRange( subdirsToProcess, [
&databaseFilenames = databaseFilenames, aDirectory](const
nsAString& subdirName) -> Result<Ok, nsresult> {
nsDependentSubstring subdirNameBase; if (GetFilenameBase(subdirName
, kFileManagerDirectoryNameSuffix, subdirNameBase)) { {auto tryResult1035
= (OkIf(databaseFilenames.Contains(subdirNameBase))); static_assert
(std::is_empty_v<typename decltype(tryResult1035)::ok_type
>); if ((__builtin_expect(!!(tryResult1035.isErr()), 0))) {
mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameBase))"
, tryResult1035.unwrapErr(), "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12220, mozilla::dom::quota::Severity::Warning); }}; return Ok
{}; } auto tryResult1037 = (([&databaseFilenames, &subdirName
]() -> Result<nsAutoString, NotOk> { if (databaseFilenames
.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix
}; } const nsAutoString subdirNameWithDot = subdirName + u"."_ns
; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot
))); static_assert(std::is_empty_v<typename decltype(tryResult1036
)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr
()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036
.unwrapErr(); mozilla::dom::quota::HandleError("OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12242, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "OkIf(databaseFilenames.Contains(subdirNameWithDot))"
, tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot
+ kFileManagerDirectoryNameSuffix}; }())); if ((__builtin_expect
(!!(tryResult1037.isErr()), 0))) { auto tryTempError __attribute__
((__unused__)) = tryResult1037.unwrapErr(); mozilla::dom::quota
::HandleError("([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __func__; return mozilla::dom::quota::HandleCustomRetVal(func, \"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, Err(NotOk{})); }}; return nsAutoString{subdirNameWithDot + kFileManagerDirectoryNameSuffix}; }())"
, tryTempError, "/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp"
, 12247, mozilla::dom::quota::Severity::Error); constexpr const
auto& func __attribute__((__unused__)) = __func__; return
mozilla::dom::quota::HandleCustomRetVal(func, "([&databaseFilenames, &subdirName]() -> Result<nsAutoString, NotOk> { if (databaseFilenames.Contains(subdirName)) { return nsAutoString{subdirName + kFileManagerDirectoryNameSuffix}; } const nsAutoString subdirNameWithDot = subdirName + u\".\"_ns; {auto tryResult1036 = (OkIf(databaseFilenames.Contains(subdirNameWithDot))); static_assert(std::is_empty_v<typename decltype(tryResult1036)::ok_type>); if ((__builtin_expect(!!(tryResult1036.isErr()), 0))) { auto tryTempError __attribute__((__unused__)) = tryResult1036.unwrapErr(); mozilla::dom::quota::HandleError(\"OkIf(databaseFilenames.Contains(subdirNameWithDot))\", tryTempError, \"/var/lib/jenkins/workspace/firefox-scan-build/dom/indexedDB/ActorsParent.cpp\", 12242, mozilla::dom::quota::Severity::Error); constexpr const auto& func __attribute__((__unused__)) = __f