Closed Bug 1540401 Opened 6 years ago Closed 4 years ago

LSNG: Convert most of MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT

Categories

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

task

Tracking

()

RESOLVED WORKSFORME
mozilla68

People

(Reporter: janv, Unassigned)

References

(Blocks 1 open bug)

Details

Crash Data

Attachments

(5 files)

MOZ_ASSERT is only defined in debug builds. All the automatic tests run in debug builds, but there are obviously corner cases which are not covered by our tests. So the only chance how to better identify these corner cases is to have assertions in optimized Nightly builds which are used daily by many users.
It adds some overhead, but I think we don't have any other options.

This is primarly intended to identify remaining deadlocks and shutdown hangs.

Blocks: 1540402
Blocks: 1539835
Assignee: nobody → jvarga
Status: NEW → ASSIGNED
Depends on: 1540577
Summary: Convert most of MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT → LSNG: Convert most of MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT

Basically, all MOZ_ASSERT should be converted to MOZ_DIAGNOSTIC_ASSERT, except the ones for thread checks.
Also, all #ifdef DEBUG should be converted to #ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED, except the ones for NS_WARNING or LS_WARNING.

Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/97d88752079f LSNG: Convert most of MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT; r=asuth
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
Backout by aciure@mozilla.com: https://hg.mozilla.org/mozilla-central/rev/82ba38c4aa6a Backed out changeset 97d88752079f for causing a nightly startup crash a=backout
Status: RESOLVED → REOPENED
Resolution: FIXED → ---

Ok this was expected to happen, sorry for the trouble.
We obtained really good data and now we can fix remaining bugs.

Priority: -- → P1

I plan to land only one part/patch a day.

Keywords: leave-open
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/d64e4d9400ec Part 1: Convert MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT to verify that bug 1541972 has been fixed; r=asuth
Backout by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/3dcc6eec59f4 Backout - Part 1: Convert MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT to verify that bug 1541972 has been fixed; r=asuth

So, the incorrect usage is still stored in some usage files. We need to change the "cookie" of the usage file so all usage files get recalculated value.

There are 13 crashes with signature 'mozilla::dom::(anonymous namespace)::QuotaClient::InitOrigin' and 4 with 'mozilla::dom::`anonymous namespace'::QuotaClient::InitOrigin'.
For all these crashes the moz_crash_reason is: MOZ_RELEASE_ASSERT(usage >= 0).

Crash Signature: [@ mozilla::dom::(anonymous namespace)::QuotaClient::InitOrigin] [@ mozilla::dom::`anonymous namespace'::QuotaClient::InitOrigin]

Yeah, the patch has been backed out.

Jan, next time can you please ask sheriffs to back out the crashing patch from central directly? That way we avoid an extra unnecessary crashy build. Thanks :)

There were no issues on my local machine and all the tests passed on try. I needed to verify with bigger audience.
Sorry about that.

Type: enhancement → task
No longer blocks: 1539835
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/d134fc3b9e29 Part 1: Convert MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT to verify that bug 1541972 has been fixed; r=asuth
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/729f59649b3f Part 2: Convert MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT to verify that bug 1541775 has been fixed; r=asuth
Priority: P1 → P2

There are 8 crashes with signatures 'mozilla::dom::(anonymous namespace)::Snapshot::RecvCheckpoint' and 'mozilla::dom::`anonymous namespace'::Snapshot::RecvCheckpoint'.
They all hit the assertion: MOZ_RELEASE_ASSERT(mPeakUsage >= mUsage).

Crash Signature: [@ mozilla::dom::(anonymous namespace)::QuotaClient::InitOrigin] [@ mozilla::dom::`anonymous namespace'::QuotaClient::InitOrigin] → [@ mozilla::dom::(anonymous namespace)::QuotaClient::InitOrigin] [@ mozilla::dom::`anonymous namespace'::QuotaClient::InitOrigin] [@ mozilla::dom::`anonymous namespace'::Snapshot::RecvCheckpoint] [@ mozilla::dom::(anonymous namespace)::Snapshot::RecvCh…
See Also: → 1541775
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/b02147ae4804 Part 3: Convert MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT to verify that bug 1541772 has been fixed; r=asuth
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/dad8b92996d5 Part 4: Convert MOZ_ASSERT to MOZ_DIAGNOSTIC_ASSERT to verify that bug 1541771 has been fixed; r=asuth
Regressions: 1552756
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/29bf13f9b35a Backout Part 2: Convert MOZ_DIAGNOSTIC_ASSERT back to MOZ_ASSERT since bug 1541775 hasn't been fixed yet; r=asuth

Setting checkin-needed-beta to get the latest backout (from comment 32) grafted to 68 to stop crashing DevEdition builds.

Whiteboard: [checkin-needed-beta]
Whiteboard: [checkin-needed-beta]
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/288c3317b2fc Backout Part 3: Convert MOZ_DIAGNOSTIC_ASSERT back to MOZ_ASSERT since bug 1541772 hasn't been fixed yet; r=asuth
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/1d394d2c86db Backout Part 4: Convert MOZ_DIAGNOSTIC_ASSERT back to MOZ_ASSERT since bug 1541771 hasn't been fixed yet; r=asuth
Regressions: 1541972
Pushed by jvarga@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/585544d6e2cd Backout Part 1: Convert MOZ_DIAGNOSTIC_ASSERT back to MOZ_ASSERT since bug 1541972 hasn't been fixed yet; r=asuth
Regressions: 1541771
Regressions: 1541772
Regressions: 1541775

Julien, do we also want to uplift patches from comment 36, comment 38 and comment 40 ?
All those crashes will automatically stop once early beta ends, not sure if it will happen in beta 9.

Flags: needinfo?(jcristau)
Assignee: jvarga → nobody

Hi :janv, is the leave-open still needed?

Flags: needinfo?(jvarga)

Yes, the ultimate goal is to have most of the assertions defined as diagnostic asserts, but it's not a high priority right now.

Flags: needinfo?(jvarga)
Priority: P2 → P3

The leave-open keyword is there and there is no activity for 6 months.
:jstutte, maybe it's time to close this bug?

Flags: needinfo?(jstutte)
Flags: needinfo?(jstutte)

Closing because no crashes reported for 12 weeks.

Status: REOPENED → RESOLVED
Closed: 6 years ago4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: