Race condition in TaskManager transition can result in homescreen-like screen with no icons.

RESOLVED FIXED

Status

Firefox OS
Gaia::System::Window Mgmt
P2
normal
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: KTucker, Assigned: mcav)

Tracking

unspecified
ARM
Gonk (Firefox OS)

Firefox Tracking Flags

(blocking-b2g:2.5+, b2g-master affected)

Details

(Whiteboard: [2.5-Daily-Testing][Spark][Systemsfe], URL)

Attachments

(2 attachments)

Created attachment 8677046 [details]
BrokenHomescreenPrivateWindowLogcat

Going back and forth between a private window and show windows results in a broken home screen with no icons. The user will have to restart their device to recover.

Repro Steps:
1) Update a Aries to 20151021143908
2) Open the browser.
3) Open a private browsing window.
4) While on the private window, tap the "Show Windows" icon.
5) Tap on the "private window card" in task manager to return to the private browsing window.
6) Repeate steps 4 and 5 several times until encountering the issue.

Actual:
The user will encounter a blank home screen with no functionality and they will have to restart their device to recover.

Expected:
The user can transition from a private window to show windows without a loss in functionality.

Environmental Variables:
Device: Aries 2.5
Build ID: 20151021143908
Gaia: 32d827a70af90a05918f234e5b16b35d5d2a07e8
Gecko: 473aefe5bd85842eeb142e0cde8e2cd21edbf40b
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 44.0a1 (2.5)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0

Repro frequency: 5/5 100%
See attached: video clip, logcat
(Reporter)

Updated

2 years ago
QA Whiteboard: [QAnalyst-Triage?]
status-b2g-master: --- → affected
Flags: needinfo?(jmercado)
Whiteboard: [2.5-Daily-Testing][Spark][Systemsfe]
(Reporter)

Updated

2 years ago
This also reproduces on Flame 2.5 with 512mb of memory

The user will encounter a broken home screen when alternating between a private window and show windows.

Environmental Variables:
Device: Flame 2.5 (512mb)(Full Flash)(KK)
Build ID: 20151021064220
Gaia: 32d827a70af90a05918f234e5b16b35d5d2a07e8
Gecko: 473aefe5bd85842eeb142e0cde8e2cd21edbf40b
Gonk: c4779d6da0f85894b1f78f0351b43f2949e8decd
Version: 44.0a1 (2.5)
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
------------------------

I could not reproduce this on Flame 2.2 but the flow is different.

The user cannot directly alternate back and forth between a private window and show windows. They have to tap "..." and pick the "Show Windows" option.

Environmental Variables:
Device: Flame 2.2 (Full Flash)(KK)(512mb)
Build ID: 20151019032501
Gaia: 885647d92208fb67574ced44004ab2f29d23cb45
Gecko: 6b4e563acaf9
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2)
Firmware Version: v18D

I could not reproduce this on 319mb of memory on Flame.
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Can we get a 'adb shell b2g-ps' when this happens? Seems like a leak issue.
Do we keep making screenshots and don't release them?
Flags: needinfo?(sfoster)
Flags: needinfo?(m)
(Assignee)

Comment 3

2 years ago
I don't think this is a memory issue. I think it's a race / StackManager synchronization issue. Looking into it.
Assignee: nobody → m
Flags: needinfo?(sfoster)
Flags: needinfo?(m)
(Assignee)

Comment 4

2 years ago
Simplified STR:

1. Tap-and-hold the home button to start to open the Task Manager.
2. _Before_ it opens, double-tap the home button.
(Assignee)

Updated

2 years ago
Summary: Alternating between a private window and show windows results in a broken homescreen with no icons → Race condition in TaskManager transition can result in homescreen-like screen with no icons.

Comment 5

2 years ago
Created attachment 8677126 [details] [review]
[gaia] mcav:race-tm > mozilla-b2g:master
blocking-b2g: --- → 2.5+
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
(Reporter)

Updated

2 years ago
Blocks: 1217220
(Reporter)

Updated

2 years ago
No longer blocks: 1217220
Priority: -- → P2
(Assignee)

Comment 6

2 years ago
Comment on attachment 8677126 [details] [review]
[gaia] mcav:race-tm > mozilla-b2g:master

This was a straightforward error in which the transition-race-prevention flag "_isTransitioning" was incorrectly flipped off before the opening transition had actually finished.
Attachment #8677126 - Flags: review?(etienne)
Comment on attachment 8677126 [details] [review]
[gaia] mcav:race-tm > mozilla-b2g:master

r=me with a small tweak to the test
Attachment #8677126 - Flags: review?(etienne) → review+
(Assignee)

Updated

2 years ago
Duplicate of this bug: 1217864
(Assignee)

Comment 9

2 years ago
Test comment addressed.

master: https://github.com/mozilla-b2g/gaia/commit/200e8d46c2fc6f78e3b9e84e9e4e160bad61d646
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.