B2G process assertion failure at ParticularProcessPriorityManager::SetPriorityNow() when there's an incoming call

RESOLVED FIXED in mozilla34

Status

()

Core
DOM: Content Processes
RESOLVED FIXED
4 years ago
3 years ago

People

(Reporter: ting, Assigned: ting)

Tracking

Trunk
mozilla34
ARM
Gonk (Firefox OS)
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments, 1 obsolete attachment)

(Assignee)

Description

4 years ago
Created attachment 8473591 [details]
backtrace

I ran into this issue while trying repro bug 1054011.

STR:
1. Use more fingers (I used three) to tap application icons fast randomly on Homescreen to launch them simutaneously
2. Hit assertion (http://dxr.mozilla.org/mozilla-central/source/dom/ipc/ProcessPriorityManager.cpp#1044) and B2G restarts, see attached backtrace

Repro rate:
~1/5

Version:
34.0a1
gecko = 0ec002deb3134e52ca13bf3081d775f06ee3b62f
gaia = 80039d982f5a1befc1aae7cfb8609ea88da1528a

Config:
export MOZ_PROFILING=1
export ENABLE_MARIONETTE=1
export B2G_DEBUG=1
Nasty, this looks like a race, moving to the right component.
Component: General → IPC
Product: Firefox OS → Core
OS: Linux → Gonk (Firefox OS)
Component: IPC → DOM: Content Processes
(Assignee)

Comment 2

4 years ago
(In reply to Ting-Yu Chou [:ting] from comment #0)
> 2. Hit assertion
> (http://dxr.mozilla.org/mozilla-central/source/dom/ipc/
> ProcessPriorityManager.cpp#1044) and B2G restarts, see attached backtrace

The assertion in ParticularProcessPriorityManager::SetPriorityNow() to make sure aPriority != PROCESS_PRIORITY_UNKNOWN.
(In reply to Ting-Yu Chou [:ting] from comment #2)
> The assertion in ParticularProcessPriorityManager::SetPriorityNow() to make
> sure aPriority != PROCESS_PRIORITY_UNKNOWN.

Yes, I wonder if this is triggered by the same race that sometimes gets us two preallocated processes, see bug 1051745.
(Assignee)

Comment 4

3 years ago
Created attachment 8480375 [details]
backtrace - incoming call

I hit the same assertion when there's an incoming call, repro rate 5/5.

Version:
34.0a1
gecko = 3bf1a97537d3651304bb158e5cd9a500d9dcb846
gaia = 52ba2a04bf0130f594237ec78eac3a002d4c6203
(Assignee)

Updated

3 years ago
Summary: B2G process assertion failure at gecko/dom/ipc/ProcessPriorityManager.cpp:1044 → B2G process assertion failure at ParticularProcessPriorityManager::SetPriorityNow() when there's an incoming call
(Assignee)

Updated

3 years ago
Version: unspecified → Trunk
(Assignee)

Comment 5

3 years ago
I'll check this.
Assignee: nobody → tchou
(Assignee)

Comment 6

3 years ago
ParticularProcessPriorityManager of Nuwa always has |mPriority| -1, since |SetPriorityNow| returns if the content parent is Nuwa process. Whenever iterate |pppms| to call |ResetCPUPriorityNow|, -1 will be used for it and hit the assertion.
(Assignee)

Comment 7

3 years ago
Created attachment 8480401 [details] [diff] [review]
patch

Don't assert the input for Nuwa as we ignore it.
Attachment #8480401 - Flags: review?(gsvelto)
Comment on attachment 8480401 [details] [diff] [review]
patch

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

Looks good to me, thanks for looking into this.
Attachment #8480401 - Flags: review?(gsvelto) → review+
(Assignee)

Comment 9

3 years ago
Created attachment 8481040 [details] [diff] [review]
patch

Add r=gsvelto.
Attachment #8480401 - Attachment is obsolete: true
(Assignee)

Comment 10

3 years ago
Try looks good: https://tbpl.mozilla.org/?tree=Try&rev=d34de4f6f448
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/2074e9320edd
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in before you can comment on or make changes to this bug.