Open Bug 1749007 Opened 1 year ago Updated 5 months ago

Frequent MOZ_ASSERT(mUsage == mDEBUGUsage) at dom/localstorage/ActorsParent.cpp:7327

Categories

(Core :: Storage: localStorage & sessionStorage, defect, P3)

defect

Tracking

()

ASSIGNED

People

(Reporter: jesup, Assigned: jjalkanen, NeedInfo)

References

Details

Attachments

(1 obsolete file)

I've been getting occasional crashes from
MOZ_ASSERT(mUsage == mDEBUGUsage) at dom/localstorage/ActorsParent.cpp:7327
when starting debug builds, and also recently it's been crashing on that everytime I try to load cnn.com.

Linux, local debug+opt build. With some patches for a few locking issues around the tree; nothing that should impact anything significant.

Hi, can you reproduce this easily enough up to the point of getting a pernosco trace?

Flags: needinfo?(rjesup)

Hmm, looking at the code I suspect that the interesting moment in time was when we wrote/corrupted some data on disk that then does not match our debug counting. So probably a pernosco session of the assert will not reveal much, but I might be wrong.

I suspect I can reproduce with cnn.com, yes. I just need to remember the options for recording a trace for pernosco...

Flags: needinfo?(rjesup)

alias pernosco-record 'rr record -M --disable-cpuid-features-ext 0xdc230000,0x00002c42,0x0000000c'

S3 since it affects only debug build

Severity: -- → S3
Priority: -- → P3

Pernosco session: https://pernos.co/debug/sIbRd7Sb13JcM7Yr1xdhhQ/index.html

Still insta-crash with cnn. This also means the code pathways aren't getting hit in our tests.

See Also: → 1747894

There is also bug 1585978 that might be related here.

Steps to reproduce:

  1. Navigate to https://clixo.com and then to shop and to a product page
  2. Create a new tab to the same window
  3. Go back to clixo.com tab and add a product to the cart
  4. Quickly close the clixo.com tab

Next time, when the user navigates to the clixo.com tab or reopens the browser, the initial mUsage coming from the depths of the quota manager and mDEBUGUsage which is the actual sum of the key + value UTF16 lengths which were found from the database, will disagree.

I managed to get both cases mUsage > mDEBUGUsage and mUsage < mDEBUGUsage .

Assignee: nobody → jjalkanen
Status: NEW → ASSIGNED

We should re-test this after landing of D138636.

Attachment #9261876 - Attachment is obsolete: true

Hit this again loading CNN in a debug build

Flags: needinfo?(jjalkanen)

And I've hit it twice in a row there now.
(gdb) p mUsage
$1 = 237303
(gdb) p mDEBUGUsage
$2 = 230774

You need to log in before you can comment on or make changes to this bug.