Closed Bug 1141595 Opened 7 years ago Closed 6 years ago

[Lockscreen] Unable to scroll notification list on Lockscreen; list locks-up after 1 second

Categories

(Core :: Layout, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla39
blocking-b2g 2.5?
Tracking Status
firefox37 --- wontfix
firefox38 --- wontfix
firefox39 --- fixed
b2g-v2.2 --- fixed
b2g-master --- verified

People

(Reporter: jmitchell, Assigned: mstange)

References

()

Details

(Keywords: regression, Whiteboard: [3.0-Daily-Testing])

Attachments

(2 files, 2 obsolete files)

Description:
If you receive enough notifications they will create a scrollable list. When you reboot the device these notifications appear on the lockscreen. If you attempt to scroll that list it will scroll one or two notification's worth and then stop scrolling.

Repro Steps:
1) Update a Flame to 20150310010227
2) Create 5 or 6 notifications (screenshots, missed calls, sms)
3) Restart the device
4) Attempt to scroll the notifications on the lockscreen page

Actual:
After 1 second of scrolling the notifications can no longer be scrolled. 

Expected:
The notifications can be scrolled

Environmental Variables:
Device: Flame Master
Build ID: 20150310010227
Gaia: 2fb09da0cb9cefad9c6e40f57533fafda6d12557
Gecko: 6686aacf006f
Gonk: e7c90613521145db090dd24147afd5ceb5703190
Version: 39.0a1 (Master)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0


Repro frequency: 7/7

See attached: logcat video clip: http://youtu.be/5aEw8TjAYOA
This issue does not occur on 2.2 

Actual Results: Notifications can be scrolled

Device: Flame 2.2 (KK - Nightly - Full Flash - 319mem)
Build ID: 20150310002536
Gaia: 166491b92278dc9e648f8d49ab02d9ca00d74421
Gecko: 1cda026f8996
Gonk: e7c90613521145db090dd24147afd5ceb5703190
Version: 37.0 (Master)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
[Blocking Requested - why for this release]:
Functional regression of a core feature.

Requesting a window.
blocking-b2g: --- → 3.0?
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(pbylenga)
QA Contact: pcheng
mozilla-inbound regression window:

Last Working Environmental Variables:
Device: Flame
BuildID: 20150304142439
Gaia: eff3321ab4e65da3f906688ebb55ddf1e93d9452
Gecko: 478b551b19bd
Version: 39.0a1 (3.0 Master)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0

First Broken Environmental Variables:
Device: Flame
BuildID: 20150304142742
Gaia: eff3321ab4e65da3f906688ebb55ddf1e93d9452
Gecko: 2bd95d9c12bb
Version: 39.0a1 (3.0 Master)
Firmware Version: v18D-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0

Gaia is the same so it's a Gecko issue.

Gecko pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=478b551b19bd&tochange=2bd95d9c12bb

Caused by patches for Bug 913443.
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Markus, can you take a look at this please? Looks like the landings for bug 913443 might have caused this to occur.
Flags: needinfo?(ktucker) → needinfo?(mstange)
I'll look at it.
Assignee: nobody → mstange
Status: NEW → ASSIGNED
Flags: needinfo?(mstange)
Attached patch patch (obsolete) — Splinter Review
This might work. I haven't tested it yet.
Attachment #8576912 - Flags: review?(tnikkel)
Component: Gaia::System::Lockscreen → Layout
Product: Firefox OS → Core
Comment on attachment 8576912 [details] [diff] [review]
patch

Can we assert that the items we call BuildLayer on are scroll info items only? (ie that we are only inserting empty meta data layers) And that it's layer state is active empty.
Attachment #8576912 - Flags: review?(tnikkel) → review+
Blocks: 913443
Attached patch patch (obsolete) — Splinter Review
This has turned all kinds of ugly but at least it works now. I'm using nsTArray<nsDisplayScrollInfoLayer> instead of nsDisplayList because you can't put an nsDisplayList into an nsTArray (NewLayerEntry is in an array), and my attempt to add a move constructor to nsDisplayList and have nsTArray use that through an appropriate nsTArray_CopyChooser was unsuccessful.
Attachment #8576912 - Attachment is obsolete: true
Attachment #8577548 - Flags: review?(tnikkel)
Comment on attachment 8577548 [details] [diff] [review]
patch

>+        NewLayerEntry& layerEntry = mNewChildLayers[i];
>+        NewLayerEntry scrollInfoLayerEntry;
>+        scrollInfoLayerEntry.mLayer = scrollInfoLayer;
>+        scrollInfoLayerEntry.mAnimatedGeometryRoot =
>+          layerEntry.mAnimatedGeometryRoot;
>+        scrollInfoLayerEntry.mFixedPosFrameForLayerData =
>+          layerEntry.mFixedPosFrameForLayerData;
>+        scrollInfoLayerEntry.mOpaqueForAnimatedGeometryRootParent =
>+            item->IsDisplayPortOpaque();
>+        scrollInfoLayerEntry.mBaseFrameMetrics =
>+            item->ComputeFrameMetrics(scrollInfoLayer, mParameters);
>+        SetupScrollingMetadata(&scrollInfoLayerEntry);

Isn't the animated geometry root for the scroll info layer going to be different in general from the current layer? Does that cause any problems? Same for the fixed pos data.
Hmm, you're right. I didn't see any problems during testing, but there might be.
Attached patch patchSplinter Review
Attachment #8577548 - Attachment is obsolete: true
Attachment #8577548 - Flags: review?(tnikkel)
Attachment #8578307 - Flags: review?(tnikkel)
Attachment #8578307 - Flags: review?(tnikkel) → review+
https://hg.mozilla.org/mozilla-central/rev/9d08f61b03f9
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
Josh, can you verify this please?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage-]
Flags: needinfo?(jmitchell)
Keywords: verifyme
This issue is verified fixed on today's 3.0 

Actual Results: Notification list on lockscreen scrolls with no issues

Environmental Variables:
Device: Flame Master
Build ID: 20150320010204
Gaia: 8837f94418d69a0b06c1f4843b0779e2bb72165a
Gecko: 4d2d97b3ba34
Gonk: b83fc73de7b64594cd74b33e498bf08332b5d87b
Version: 39.0a1 (Master)
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:39.0) Gecko/39.0 Firefox/39.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage-] → [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Keywords: verifyme
Depends on: 1144307
You need to log in before you can comment on or make changes to this bug.