Open Bug 1762908 Opened 1 year ago Updated 8 months ago

Crash in [@ mozilla::dom::quota::OriginInfo::LockedDecreaseUsage]


(Core :: Storage: Quota Manager, defect, P2)

Firefox 98



Tracking Status
firefox-esr91 --- affected
firefox98 --- wontfix
firefox99 --- wontfix
firefox100 --- wontfix


(Reporter: philipp, Unassigned, NeedInfo)



(Keywords: crash, regression)

Crash Data

Crash report:


Top 10 frames of crashing thread:

0 xul.dll mozilla::dom::quota::OriginInfo::LockedDecreaseUsage dom/quota/ActorsParent.cpp:7244
1 xul.dll mozilla::dom::quota::QuotaManager::DecreaseUsageForClient dom/quota/ActorsParent.cpp:3934
2 xul.dll mozilla::dom::indexedDB::`anonymous namespace'::DeleteFile dom/indexedDB/ActorsParent.cpp:5795
3 xul.dll mozilla::dom::indexedDB::`anonymous namespace'::DeleteFile dom/indexedDB/ActorsParent.cpp:5812
4 xul.dll mozilla::dom::indexedDB::`anonymous namespace'::RemoveDatabaseFilesAndDirectory dom/indexedDB/ActorsParent.cpp:5984
5 xul.dll mozilla::dom::indexedDB::`anonymous namespace'::DeleteDatabaseOp::VersionChangeOp::Run dom/indexedDB/ActorsParent.cpp:17517
6 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1146
7 xul.dll mozilla::ipc::MessagePumpForNonMainThreads::Run ipc/glue/MessagePump.cpp:330
8 xul.dll MessageLoop::RunHandler ipc/chromium/src/base/
9 xul.dll MessageLoop::Run ipc/chromium/src/base/

this crash signature is newly popping up again since the firefox 98 release, and with the current 91esr as well.
so it might be a recent regression from one of the code changes going into 91.7.0esr:

Jan, in 98 landed bug 1733054 but IIUC this has not been uplifted to ESR, yet?

Flags: needinfo?(jvarga)

FWIW I transformed the pushlog into a buglist but I cannot see anything obvious.

I cracked up a dump and it seems we fail on the line AssertNoUnderflow(mClientUsages[aClientType].value(), aSize);, more precise on the mClientUsages[aClientType].value() access. That would be the equivalent of the assert just one line above.

A search for mClientUsages[mClientType].value shows that in most other places we use mClientUsages[mClientType].valueOr(0). That seems slightly inconsistent?

Flags: needinfo?(jvarga)
Flags: needinfo?(jvarga)

Given the low volume of the crash, should this be S3 instead of S2?

(In reply to Marco Castelluccio [:marco] from comment #4)

Given the low volume of the crash, should this be S3 instead of S2?

Needinfo for the above ^

Flags: needinfo?(jstutte)
Severity: S2 → S3
Flags: needinfo?(jstutte)
Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.