Closed Bug 1070993 Opened 11 years ago Closed 11 years ago

Entering or scrolling in call log sometimes shows empty list

Categories

(Core :: Panning and Zooming, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla35
blocking-b2g 2.1+
Tracking Status
firefox33 --- wontfix
firefox34 --- fixed
firefox35 --- fixed
b2g-v2.0 --- unaffected
b2g-v2.1 --- verified
b2g-v2.2 --- verified

People

(Reporter: gwagner, Assigned: kats)

References

Details

(Keywords: regression)

Attachments

(1 file)

In 2.1: Entering edit mode or scrolling of call-log entries sometimes results in an empty list.
[Blocking Requested - why for this release]:
blocking-b2g: --- → 2.1?
QA Wanted for a video and more detailed STR if possible.
Keywords: qawanted
Assignee: nobody → drs+bugzilla
triage: this should block because it's data loss.
blocking-b2g: 2.1? → 2.1+
I was able to repro 5/5 times the issue by triggering the bottom end overscroll and immediately (without letting it finish) the top end overscroll. See video for more details: http://mzl.la/1wIWidd
Keywords: qawanted
OS: Mac OS X → Gonk (Firefox OS)
Hardware: x86 → ARM
This is not bug 1061616 and this is not a data loss. It's a graphic glitch. Bad enough to be 2.1 blocker though.
Please see this video: http://youtu.be/FftBeppCHZM Steps to Reproduce: 1) Update a Flame to 20140922185144 2) Make sure at least 8 calls are in the call log. (Use reference workloads if possible) 3) Open the Call log and press the edit mode button. 4) Scroll the list Actual: A blank list is viewed as edit mode is opened or is viewed while scrolling edit mode. Scrolling more will cause the list to become visible or not again. Expected: The call list is always viewable. This issue does occur on 2.1 KK Flame. Environmental Variables: Device: Flame 2.1 BuildID: 20140922185144 Gaia: 3742913e11f69e789dcb0aa0dedf2e5572da0129 Gecko: df42b05782aa Version: 34.0a2 (2.1) Firmware Version: v180 User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0 This issue does NOT occur on 2.2 KK Flame, 2.0 KK Flame, and the v180 KK Flame base. Environmental Variables: Device: Flame 2.2 BuildID: 20140923065343 Gaia: 37b8a812c642ca616bf9457cb9b71e45261cdfa8 Gecko: 9e193395b912 Version: 35.0a1 (2.2) Firmware Version: User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0 Environmental Variables: Device: Flame 2.0 BuildID: 20140923071344 Gaia: 6449cc35a8f0704d95acac374ba857bde4b86d6c Gecko: f18695cae418 Version: 32.0 (2.0) Firmware Version: User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
QA Contact: jmercado
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Bug 1013385 seems to be the cause for this issue. Aurora Regression Window: Last working Environmental Variables: Device: Flame 2.1 BuildID: 20140919134559 Gaia: 8923fc6755756b14b66d13c45678b53fcac6e8c5 Gecko: 8b58f3f4f05a Version: 34.0a2 (2.1) Firmware Version: User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0 First Broken Environmental Variables: Device: Flame 2.1 BuildID: 20140919143448 Gaia: 58676ebbf1d3467463ced09a8c0a1e461c3a6d8e Gecko: 6d8a53b071f7 Version: 34.0a2 (2.1) Firmware Version: User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0 Last working gaia / First broken gecko - Issue DOES occur Gaia: 8923fc6755756b14b66d13c45678b53fcac6e8c5 Gecko: 6d8a53b071f7 First broken gaia / Last working gekko - Issue does NOT occur Gaia: 58676ebbf1d3467463ced09a8c0a1e461c3a6d8e Gecko: 8b58f3f4f05a Gecko Pushlog: http://hg.mozilla.org/releases/mozilla-aurora/pushloghtml?fromchange=8b58f3f4f05a&tochange=6d8a53b071f7
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Broken by Bug 1013385 ?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
Kats: Could you take a look at this?
Component: Gaia::Dialer → Panning and Zooming
Depends on: 1013385
Flags: needinfo?(bugmail.mozilla)
Product: Firefox OS → Core
I'm at a workweek and don't have a Flame to flash with 2.1 at the moment. I'll look at this next week. In the meantime if this is blocking people feel free to back bug 1013385 out of aurora. Most likely we missed uplifting something to 2.1 but I'll have to investigate.
Assignee: drs+bugzilla → bugmail.mozilla
Flags: needinfo?(bugmail.mozilla)
I was able to reproduce this. The problem is easily reproducible if you do a horizontal scroll on the edit-call-log screen. There is some rounding error that gets introduced, so we end up with scroll offsets of 0.0002 on some of the container layers and APZC::IsCurrentlyCheckerboarding continuously returns true. Bug 1066259 fixes this rounding error on 2.2, and when I apply the aurora-rebased patch for that bug, I don't see this on 2.1 either. When that patch lands on aurora it should fix this. However, there's some additional robustification I can do here so I'll put up a patch for that as well.
Blocks: 1013385
Depends on: 1066259
No longer depends on: 1013385
Comment on attachment 8496800 [details] [diff] [review] Fuzz the checkerboarding check by 1 app unit Review of attachment 8496800 [details] [diff] [review]: ----------------------------------------------------------------- The fuzzing looks reasonable. However, why does a wrong return value from IsCurrentlyCheckerboarding() cause such a bad rendering problem to begin with? My understanding based on a quick reading of how this function is used is that if it returns true, we draw a background before drawing the layer contents to avoid the checkerboarded region showing garbage, but then we still draw the layer contents on top.
Attachment #8496800 - Flags: review?(botond) → review+
(In reply to Botond Ballo [:botond] from comment #14) > However, why does a wrong return value from IsCurrentlyCheckerboarding() > cause such a bad rendering problem to begin with? My understanding based on > a quick reading of how this function is used is that if it returns true, we > draw a background before drawing the layer contents to avoid the > checkerboarded region showing garbage, but then we still draw the layer > contents on top. Yeah, it's kind of a bad layer tree where the layer has a large transparent region in the middle. In the dump at [1] the very last thebes layer gets flagged as having a checkerboarding APZC, because it's parent container layer has the rounding error in its scroll offset. So that last thebes layer draws a full white background, and then on top of it draws its content. It's content happens to be the header at the top of the page and the footer at the bottom of the page, and a large transparent region in between through which you're supposed to be able to see the "real" content. But now that transparent region has a background and so that's what ends up being visible. [1] https://bug1047080.bugzilla.mozilla.org/attachment.cgi?id=8496952
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #15) > Yeah, it's kind of a bad layer tree where the layer has a large transparent > region in the middle. In the dump at [1] the very last thebes layer gets > flagged as having a checkerboarding APZC, because it's parent container > layer has the rounding error in its scroll offset. So that last thebes layer > draws a full white background, and then on top of it draws its content. It's > content happens to be the header at the top of the page and the footer at > the bottom of the page, and a large transparent region in between through > which you're supposed to be able to see the "real" content. But now that > transparent region has a background and so that's what ends up being visible. That makes sense - thanks! Will it eventually be possible to improve the background-drawing code to only draw a background under opaque regions?
That would be nice, but I can't think of any easy way to accomplish that without exposing more stuff in the layers API.
No longer blocks: 1073698
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Comment on attachment 8496800 [details] [diff] [review] Fuzz the checkerboarding check by 1 app unit Approval Request Comment [Feature/regressing bug #]: bug 1013385 [User impact if declined]: in various conditions we end up showing blank white transiently or permanently in places we shouldn't. see the various bugs that have been duped to this one [Describe test coverage new/current, TBPL]: none, local manual testing only [Risks and why]: low-risk. the underlying problem is just some small rounding error which I've run into before and should have anticipated. The fix is pretty small. Affects all platforms with APZ enabled (i.e. B2G/Metro) [String/UUID change made/needed]: none
Attachment #8496800 - Flags: approval-mozilla-aurora?
Attachment #8496800 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
VERIFIED FIXED on v2.2 and v2.1. Environmental Variables: Device: Flame 2.1 KK (319 MB) BuildID: 20141011000201 (full flash) Gaia: f5d4ff60ffed8961f7d0380ada9d0facfdfd56b1 Gecko: d813d79d3eae Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf Version: 34.0a2 (2.1) Firmware: V180 User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0 Device: Flame 2.2 Master KK (319 MB) BuildID: 20141012040203 (full flash) Gaia: 717ad4e8b7fc10ab8248500d00ba5ba0977fa8ab Gecko: 44168a7af20d Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf Version: 35.0a1 (2.2 Master) Firmware: V180 User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0 Contact list scrolls without disappearing.
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: