Closed Bug 1140808 Opened 7 years ago Closed 7 years ago

Fennec debug build crashes on app-switch due to hashtable reinitialization

Categories

(Core :: Networking: Cache, defect)

ARM
Android
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed
fennec + ---

People

(Reporter: kats, Assigned: kats)

Details

Attachments

(2 files, 1 obsolete file)

Attached file Crash stack
I did a debug build of Fennec using latest m-c code and installed it on a Nexus 4 running Android 4.2.2. Upon startup I hit the crash reported in bug 1140806, so I commented out the assertion referenced there which allowed Fennec to start up. Once Fennec starts up, hit the Android app-switch button, and from the app chooser go back into Fennec. At this point Fennec crashes with the attached stack which seems to point to a hashtable reinitialization in nsCacheService.cpp
tracking-fennec: --- → ?
Attached patch Patch (obsolete) — Splinter Review
Attachment #8575553 - Flags: review?(honzab.moz)
tracking-fennec: ? → +
Comment on attachment 8575553 [details] [diff] [review]
Patch

Honza appears to be away or something.
Attachment #8575553 - Flags: review?(honzab.moz) → review?(mcmanus)
Comment on attachment 8575553 [details] [diff] [review]
Patch

Review of attachment 8575553 [details] [diff] [review]:
-----------------------------------------------------------------

lgtm but I'd feel better if someone working on the cache code reviewed it. michal?
Attachment #8575553 - Flags: review?(mcmanus) → review?(michal.novotny)
Comment on attachment 8575553 [details] [diff] [review]
Patch

Review of attachment 8575553 [details] [diff] [review]:
-----------------------------------------------------------------

::: netwerk/cache/nsCacheService.cpp
@@ +1208,5 @@
>              return;
>  
>          mClearingEntries = true;
>          DoomActiveEntries(nullptr);
> +        mActiveEntries.Shutdown();

AFAICS, some nsDoomEvent can be waiting for a lock on a background thread. nsDoomEvent::Run() calls mActiveEntries.GetEntry() which would assert. mActiveEntries.Shutdown() should be IMO moved after this line http://hg.mozilla.org/mozilla-central/annotate/008b3f65a7e0/netwerk/cache/nsCacheService.cpp#l1234
Attachment #8575553 - Flags: review?(michal.novotny) → review-
Attached patch PatchSplinter Review
That works too.
Attachment #8575553 - Attachment is obsolete: true
Attachment #8578764 - Flags: review?(michal.novotny)
Attachment #8578764 - Flags: review?(michal.novotny) → review+
Assignee: nobody → bugmail.mozilla
https://hg.mozilla.org/mozilla-central/rev/54ab128ef1c0
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.