Closed
Bug 1009980
Opened 11 years ago
Closed 11 years ago
[B2G][Marketplace][Poppit] The 'Poppit' app appears black in the Card View screen.
Categories
(Core :: Graphics, defect)
Tracking
()
Tracking | Status | |
---|---|---|
b2g-v1.3 | --- | unaffected |
b2g-v1.3T | --- | unaffected |
b2g-v1.4 | --- | fixed |
b2g-v2.0 | --- | unaffected |
People
(Reporter: dgomez, Assigned: pchang)
References
Details
(Keywords: regression, Whiteboard: [flame-1.4-exploratory])
Attachments
(3 files, 1 obsolete file)
Description:
When the user launches the app 'Poppit', and holds the home button while the app is
running, the 'Poppit' app in the Card View screen is black.
Repro Steps:
1) Update a Flame to BuildID: 20140513000208
2) Download the app 'Poppit' from the marketplace.
3) Launch 'Poppit'.
4) Once you are in-game, hold the homescreen button to bring up the 'View Card' screen.
5) Observe the screen.
Actual:
The screen that displays the 'Poppit' app is black.
Expected:
The screen that displays the 'Poppit' app displays the in-game screen.
1.4F Environmental Variables:
Device: Flame 1.4F MOZ
BuildID: 20140513000208
Gaia: b40103dec34a147c9018a1af76eb21c3184f2f93
Gecko: c140bcd02b9b
Version: 30.0
Firmware Version: v10F-3
Repro frequency: 6/6
See attached: Poppit_View_Card_Black_Screen.jpg, Logcat_Poppit_View_Card_Black_Screen.txt
Reporter | ||
Updated•11 years ago
|
status-b2g-v1.3:
--- → unaffected
Reporter | ||
Comment 1•11 years ago
|
||
Attaching Log
This issue DOES occur on Buri 1.4:
1.4 Environmental Variables:
Device: Buri 1.4 MOZ
BuildID: 20140513000208
Gaia: b40103dec34a147c9018a1af76eb21c3184f2f93
Gecko: c140bcd02b9b
Version: 30.0
Firmware Version: v1.2-device.cfg
This issue DOES NOT occur on Buri 1.3:
1.3 Environmental Variables:
Device: Buri 1.3 MOZ
BuildID: 20140513024003
Gaia: 26a7a59d219fc8753613b433844123e428adcd56
Gecko: 328611bdebc6
Version: 28.0
Firmware Version: v1.2-device.cfg
Updated•11 years ago
|
blocking-b2g: --- → 1.4?
Component: General → Gaia::System::Window Mgmt
Keywords: regressionwindow-wanted
Updated•11 years ago
|
QA Contact: jzimbrick
Comment 3•11 years ago
|
||
Since this is reproduced 100% of the time and occurs across multiple apps, blocking this issue.
blocking-b2g: 1.4? → 1.4+
Comment 4•11 years ago
|
||
mozilla-inbound Regression Window:
Last Working Environmental Variables:
Device: Buri
BuildID: 20140305134608
Gaia: 9cb35e701df44766d9b3560b0defe0a401a0ecdd
Gecko: e91a61089c37
Version: 30.0a1
Base Image: V1.2-device.cfg
First Broken Environmental Variables:
Device: Buri
BuildID: 20140305135105
Gaia: 9cb35e701df44766d9b3560b0defe0a401a0ecdd
Gecko: 6f287c42495b
Version: 30.0a1
Base Image: V1.2-device.cfg
The Gaia ID is the same in both builds, indicating that this is a Gecko issue.
Gecko Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=e91a61089c37&tochange=6f287c42495b
Keywords: regressionwindow-wanted
Comment 5•11 years ago
|
||
Component: Gaia::System::Window Mgmt → Graphics
Flags: needinfo?(milan)
Product: Firefox OS → Core
Version: unspecified → 30 Branch
Comment 6•11 years ago
|
||
:snorp, is there a quick way to test if this is caused by GL context multiplexing?
Flags: needinfo?(milan) → needinfo?(snorp)
Comment 7•11 years ago
|
||
Also, this works for me on 2.0 (on Nexus 4 though) - can somebody verify if it's working on 2.0 on supported platforms?
Keywords: qawanted
Updated•11 years ago
|
QA Contact: jzimbrick → jmitchell
Comment 8•11 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #7)
> Also, this works for me on 2.0 (on Nexus 4 though) - can somebody verify if
> it's working on 2.0 on supported platforms?
I just tested poppit on master flame. The rom is created by myself from yesterday's source. I did not saw the black screen. But the poppit was incredibly slow.
Comment 9•11 years ago
|
||
This issue DOES NOT reproduce on Flame 2.0
Environmental Variables:
Device: Flame
BuildID: 20140515163002
Gaia: 7973e06dc278f67b4109ac3c33020ed086f0d042
Gecko: 58c5a3427997
Version: 32.0a1
Firmware Version: v10F-3
This issue DOES NOT reproduce on the Buri 2.0
Environmental Variables:
Device: Buri
BuildID: 20140516052831
Gaia: 799b0f8bb71bc1b944f90c117ab5d6be4837ba1f
Gecko: b5b35ec88db8
Version: 32.0a1
Firmware Version: v1.2-device.cfg
Keywords: qawanted
Comment 10•11 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #6)
> :snorp, is there a quick way to test if this is caused by GL context
> multiplexing?
not really, other than checking against 1.2.
Flags: needinfo?(snorp)
Comment 11•11 years ago
|
||
Any chance of getting a regression range on the master? Based on comment 9, it now works on master, it'd be good to know if it was broken on master on or around March 17th when 1.4 went to Aurora, and if it was broken then, what ended up fixing this issue on master. I'm tagging "regressionrange-wanted", but what I really want is a "started working on master range wanted" instead.
Keywords: regressionwindow-wanted
Updated•11 years ago
|
Assignee: nobody → sotaro.ikeda.g
Comment 12•11 years ago
|
||
(In reply to Milan Sreckovic [:milan] from comment #11)
> what I really want is a "started working on
> master range wanted" instead.
Regression Window (Started working on Master):
Last Broken
Environmental Variables:
Device: Buri
BuildID: 20140410184106
Gaia: 1368d716072adf308e1b435ac828f97545a045f1
Gecko: d41e6e32df81
Version: 31.0a1
Firmware Version: v1.2-device.cfg
First Fixed
Environmental Variables:
Device: Buri
BuildID: 20140410211215
Gaia: 1368d716072adf308e1b435ac828f97545a045f1
Gecko: 783c5013dbec
Version: 31.0a1
Firmware Version: v1.2-device.cfg
Gaias are the same indicating this is a gecko issue.
Keywords: regressionwindow-wanted
Comment 13•11 years ago
|
||
Comment 14•11 years ago
|
||
Can we reduce the range in comment 12 down a bit using tinderbox builds?
Keywords: regressionwindow-wanted
Comment 15•11 years ago
|
||
I would guess bug 989375, perhaps 990871, and off chance bug bug 992486.
Flags: needinfo?(snorp)
Flags: needinfo?(nical.bugzilla)
Flags: needinfo?(matt.woodrow)
Comment 16•11 years ago
|
||
Is Poppit using WebGL? And are we generating the card view screen using drawWindow?
If the answer to both of those is yes, then http://hg.mozilla.org/mozilla-central/rev/729fff2368c4 is probably the one you want.
Flags: needinfo?(matt.woodrow)
Comment 17•11 years ago
|
||
Actually not WebGL, just canvas 2d, and it appears that it is.
Comment 18•11 years ago
|
||
Right, that's the bug 989375, so not a bad guess on my part :) James, can you take a look, and let us know what kind of timeframe would be needed for the fix? We obviously can't just back out that change, it's another 1.4+, so I imagine it may take non-trivial amount of time.
Assignee: sotaro.ikeda.g → snorp
Flags: needinfo?(nical.bugzilla)
Assignee | ||
Comment 19•11 years ago
|
||
I could reproduce this issue on my side.
This issue is gone when I set canvas accelerated as false(use skia only).
With skiaGL enabled, the data from DataSourceSurface[1] is already blank.
So the problem is inside the RenderDocument() call and looks like related to CopyableCanvasLayer.cpp.
[1]http://dxr.mozilla.org/mozilla-central/source/content/canvas/src/CanvasRenderingContext2D.cpp#3633
Comment 20•11 years ago
|
||
(In reply to peter chang[:pchang][:peter] from comment #19)
> I could reproduce this issue on my side.
> This issue is gone when I set canvas accelerated as false(use skia only).
>
> With skiaGL enabled, the data from DataSourceSurface[1] is already blank.
> So the problem is inside the RenderDocument() call and looks like related to
> CopyableCanvasLayer.cpp.
>
> [1]http://dxr.mozilla.org/mozilla-central/source/content/canvas/src/
> CanvasRenderingContext2D.cpp#3633
Yeah, it looks like the readback path is still busted in CopyableCanvasLayer[1]. I'll try to look later today.
[1] http://dxr.mozilla.org/mozilla-central/source/gfx/layers/CopyableCanvasLayer.cpp#128
Flags: needinfo?(snorp)
Comment 21•11 years ago
|
||
Wait, now I'm confused. Does my patch fix the bug or cause it? Is it working on master or not? Peter what did you test?
Flags: needinfo?(pchang)
Assignee | ||
Comment 22•11 years ago
|
||
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #21)
> Wait, now I'm confused. Does my patch fix the bug or cause it? Is it working
> on master or not? Peter what did you test?
It is working on master but not on 1.4.
For the patch of bug 939276, it adds the single SurfaceStream(mStream) for all skiaGL context.
For 1.4 CopyableCanvasLayer, it didn't try to read back from mStream. Therefore, we always get the black screenshot when skaiGL enabled.
http://mxr.mozilla.org/mozilla-central/source/content/canvas/src/CanvasRenderingContext2D.cpp#4204
Flags: needinfo?(pchang)
Assignee | ||
Comment 23•11 years ago
|
||
Try to read back from mStream first
Attachment #8426016 -
Flags: review?(snorp)
Assignee | ||
Comment 24•11 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #8)
> (In reply to Milan Sreckovic [:milan] from comment #7)
> > Also, this works for me on 2.0 (on Nexus 4 though) - can somebody verify if
> > it's working on 2.0 on supported platforms?
>
> I just tested poppit on master flame. The rom is created by myself from
> yesterday's source. I did not saw the black screen. But the poppit was
> incredibly slow.
I also noticed the performance problem on master branch. Create Bug 1013762 to follow up.
Assignee | ||
Updated•11 years ago
|
Assignee: snorp → pchang
Comment 25•11 years ago
|
||
It looks like we just need to uplift the patch from bug 989375 then...
Comment 26•11 years ago
|
||
Hmm, bug 989375 is marked as fixed on 1.4? I guess that's erroneous?
Comment 27•11 years ago
|
||
The patch I already wrote for bug 989375 (which is identical to the one in comment #23) is already in 1.4, so I'm still confused.
https://github.com/mozilla/gecko-dev/blob/b2g30_v1_4/gfx/layers/CopyableCanvasLayer.cpp#L100
Comment 28•11 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #14)
> Can we reduce the range in comment 12 down a bit using tinderbox builds?
Mozilla-Inbound Hamachi Regression-Window (Started Working)
Last Broken:
Environmental Variables:
Device: Buri
BuildID: 20140410113729
Gaia: 9d0b1bdf746823a94b13e6574c1d8304dc584763
Gecko: 902ce09a4dba
Version: 31.0a1
Firmware Version: v1.2-device.cfg
First Fixed:
Environmental Variables:
Device: Buri
BuildID: 20140410122832
Gaia: 4bc61f9faa7fe76c911b4a7f3f89424cd38400bf
Gecko: f2b8543b60ab
Version: 31.0a1
Firmware Version: v1.2-device.cfg
Pushlog: http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=902ce09a4dba&tochange=f2b8543b60ab
Keywords: regressionwindow-wanted
Comment 29•11 years ago
|
||
The range here looks incorrect - there's way too many inbound changesets in that push log. Please double check this.
Keywords: regressionwindow-wanted
Assignee | ||
Comment 30•11 years ago
|
||
(In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #27)
> The patch I already wrote for bug 989375 (which is identical to the one in
> comment #23) is already in 1.4, so I'm still confused.
>
> https://github.com/mozilla/gecko-dev/blob/b2g30_v1_4/gfx/layers/
> CopyableCanvasLayer.cpp#L100
In v1.4, it calls the deprecated flow which doesn't invoke to your modification.
In my opinion, we could just patch the "mStream" to deprecated flow to fix this problem.
https://github.com/mozilla/gecko-dev/blob/b2g30_v1_4/gfx/layers/CopyableCanvasLayer.cpp#L201
#0 mozilla::layers::CopyableCanvasLayer::DeprecatedPaintWithOpacity (this=0x431f7320, aContext=0x4359df20, aOpacity=1, aMaskLayer=0x0, aOperator=gfxContext::OPERATOR_OVER)
at /tmp/ramdisk/b2g_gecko/gfx/layers/CopyableCanvasLayer.cpp:323
#1 0x40a60730 in mozilla::layers::BasicCanvasLayer::DeprecatedPaint (this=0x431f7320, aContext=0x4359df20, aMaskLayer=0x0) at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicCanvasLayer.cpp:55
#2 0x40a63bba in mozilla::layers::BasicLayerManager::PaintSelfOrChildren (this=0x4399c160, aPaintContext=..., aGroupTarget=0x4359df20) at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:837
#3 0x40a64210 in mozilla::layers::BasicLayerManager::PaintLayer (this=0x4399c160, aTarget=0x4359df20, aLayer=0x431f7320, aCallback=<value optimized out>, aCallbackData=0xbe9c7bd4, aReadback=0xbe9c7424)
at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:963
#4 0x40a63c10 in mozilla::layers::BasicLayerManager::PaintSelfOrChildren (this=0x4399c160, aPaintContext=..., aGroupTarget=0x4359df20) at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:850
#5 0x40a64210 in mozilla::layers::BasicLayerManager::PaintLayer (this=0x4399c160, aTarget=0x4359df20, aLayer=0x439ecc00, aCallback=<value optimized out>, aCallbackData=0xbe9c7bd4, aReadback=0x0)
at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:963
...
#12 0x40f147c8 in mozilla::dom::CanvasRenderingContext2D::DrawWindow (this=0x43594800, window=..., x=0, y=0, w=320, h=456, bgColor=..., flags=0, error=...)
at /tmp/ramdisk/b2g_gecko/content/canvas/src/CanvasRenderingContext2D.cpp:3569
#13 0x40aef9a6 in drawWindow (cx=0x4312e060, obj=<value optimized out>, self=0x43594800, args=...) at /home/peter/b2g_debug_leo/objdir-rb2g_gecko/dom/bindings/CanvasRenderingContext2DBinding.cpp:3776
#14 0x40c875c4 in mozilla::dom::GenericBindingMethod (cx=0x4312e060, argc=<value optimized out>, vp=<value optimized out>) at /tmp/ramdisk/b2g_gecko/dom/bindings/BindingUtils.cpp:2276
Comment 31•11 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #29)
> The range here looks incorrect - there's way too many inbound changesets in
> that push log. Please double check this.
I double-checked the results from Comment 28 and found the same results.
I am able to provide a Regression Window from Mozilla Central builds or from the B2G builds, if you would like to see those.
Comment 32•11 years ago
|
||
Post the m-c window here & I'll take a look at it.
Comment 33•11 years ago
|
||
Regression Window: Mozilla Central Builds
(Buri device)
Last Broken
1.5 Environmental Variables:
Device: Buri 1.5
BuildID: 20140410184106
Gaia: 1368d716072adf308e1b435ac828f97545a045f1
Gecko: d41e6e32df81
Version: 31.0a1
Firmware Version: v1.2-device.cfg
First Fixed
1.5 Environmental Variables:
Device: Buri 1.5
BuildID: 20140410211215
Gaia: 1368d716072adf308e1b435ac828f97545a045f1
Gecko: 783c5013dbec
Version: 31.0a1
Firmware Version: v1.2-device.cfg
Gecko pushlog for mozilla central:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=d41e6e32df81&tochange=783c5013dbec
Keywords: regressionwindow-wanted
Assignee | ||
Updated•11 years ago
|
Attachment #8426016 -
Flags: review?(snorp) → review?(matt.woodrow)
Assignee | ||
Comment 34•11 years ago
|
||
(In reply to peter chang[:pchang][:peter] from comment #30)
> (In reply to James Willcox (:snorp) (jwillcox@mozilla.com) from comment #27)
> > The patch I already wrote for bug 989375 (which is identical to the one in
> > comment #23) is already in 1.4, so I'm still confused.
> >
> > https://github.com/mozilla/gecko-dev/blob/b2g30_v1_4/gfx/layers/
> > CopyableCanvasLayer.cpp#L100
>
matt, could you help to review my patch?
> In v1.4, it calls the deprecated flow which doesn't invoke to your
> modification.
> In my opinion, we could just patch the "mStream" to deprecated flow to fix
> this problem.
>
> https://github.com/mozilla/gecko-dev/blob/b2g30_v1_4/gfx/layers/
> CopyableCanvasLayer.cpp#L201
>
> #0 mozilla::layers::CopyableCanvasLayer::DeprecatedPaintWithOpacity
> (this=0x431f7320, aContext=0x4359df20, aOpacity=1, aMaskLayer=0x0,
> aOperator=gfxContext::OPERATOR_OVER)
> at /tmp/ramdisk/b2g_gecko/gfx/layers/CopyableCanvasLayer.cpp:323
> #1 0x40a60730 in mozilla::layers::BasicCanvasLayer::DeprecatedPaint
> (this=0x431f7320, aContext=0x4359df20, aMaskLayer=0x0) at
> /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicCanvasLayer.cpp:55
> #2 0x40a63bba in mozilla::layers::BasicLayerManager::PaintSelfOrChildren
> (this=0x4399c160, aPaintContext=..., aGroupTarget=0x4359df20) at
> /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:837
> #3 0x40a64210 in mozilla::layers::BasicLayerManager::PaintLayer
> (this=0x4399c160, aTarget=0x4359df20, aLayer=0x431f7320, aCallback=<value
> optimized out>, aCallbackData=0xbe9c7bd4, aReadback=0xbe9c7424)
> at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:963
> #4 0x40a63c10 in mozilla::layers::BasicLayerManager::PaintSelfOrChildren
> (this=0x4399c160, aPaintContext=..., aGroupTarget=0x4359df20) at
> /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:850
> #5 0x40a64210 in mozilla::layers::BasicLayerManager::PaintLayer
> (this=0x4399c160, aTarget=0x4359df20, aLayer=0x439ecc00, aCallback=<value
> optimized out>, aCallbackData=0xbe9c7bd4, aReadback=0x0)
> at /tmp/ramdisk/b2g_gecko/gfx/layers/basic/BasicLayerManager.cpp:963
> ...
> #12 0x40f147c8 in mozilla::dom::CanvasRenderingContext2D::DrawWindow
> (this=0x43594800, window=..., x=0, y=0, w=320, h=456, bgColor=..., flags=0,
> error=...)
> at
> /tmp/ramdisk/b2g_gecko/content/canvas/src/CanvasRenderingContext2D.cpp:3569
> #13 0x40aef9a6 in drawWindow (cx=0x4312e060, obj=<value optimized out>,
> self=0x43594800, args=...) at
> /home/peter/b2g_debug_leo/objdir-rb2g_gecko/dom/bindings/
> CanvasRenderingContext2DBinding.cpp:3776
> #14 0x40c875c4 in mozilla::dom::GenericBindingMethod (cx=0x4312e060,
> argc=<value optimized out>, vp=<value optimized out>) at
> /tmp/ramdisk/b2g_gecko/dom/bindings/BindingUtils.cpp:2276
Comment 35•11 years ago
|
||
Comment on attachment 8426016 [details] [diff] [review]
v1
Review of attachment 8426016 [details] [diff] [review]:
-----------------------------------------------------------------
Ah, I didn't notice it was in the deprecated code. Looks fine.
Attachment #8426016 -
Flags: review?(matt.woodrow) → review+
Assignee | ||
Comment 36•11 years ago
|
||
Update reviewers.
Attachment #8426016 -
Attachment is obsolete: true
Attachment #8429730 -
Flags: review+
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 37•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
status-b2g-v1.3T:
--- → unaffected
status-b2g-v2.0:
--- → unaffected
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → 2.0 S3 (6june)
You need to log in
before you can comment on or make changes to this bug.
Description
•