Closed Bug 991067 Opened 8 years ago Closed 8 years ago

Cost control crashes after FTU steps mozilla::gfx::GetCairoSurfaceForSourceSurface(mozilla::gfx::SourceSurface*, bool)

Categories

(Core :: Graphics: Layers, defect)

ARM
Gonk (Firefox OS)
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla31
blocking-b2g 2.0+
Tracking Status
firefox31 --- fixed
b2g-v2.0 --- fixed

People

(Reporter: Bebe, Assigned: mattwoodrow)

References

Details

(Keywords: crash, regression, reproducible, Whiteboard: [b2g-crash])

Crash Data

Attachments

(2 files)

Attached file log.txt
This bug was filed from the Socorro interface and is 
report bp-7d7db92b-23e3-41e1-aa90-d93532140402.
=============================================================

STR:
1. Enable cell data or WiFi
2. open cost Control and go through the FTU steps
3. tap the home button 

expected:
3. We switch to homescreen app

Actual:
3. app crashes

Build ID:

Gaia      6274b3645b3d41df4aa5a55398b5d106edf1c528
Gecko     https://hg.mozilla.org/mozilla-central/rev/4941a2ac0786
BuildID   20140402040201
Version   31.0a1
ro.build.version.incremental=324
ro.build.date=Thu Dec 19 14:04:55 CST 2013

We where able to reproduce this manually using the wifi connection
This might be affected by:
Bug 988979 - [B2G][General] After restarting or resetting device does not detect SIM card
Duplicate of this bug: 991021
Component: Gaia::Cost Control → Graphics
Product: Firefox OS → Core
Version: unspecified → Trunk
blocking-b2g: --- → 1.5?
Component: Graphics → Graphics: Layers
Whiteboard: [b2g-crash]
I also get this crash signature every time I open http://outside.aalto.fi/ in Android Fennec Nightly
I also get this crash signature after installing "Penguin Pop" in Fennec Nightly 31.0a1 (2014-04-03) on LG Nexus 4 (Android 4.4.2).
Looks like bug 989858 caused this.
Blocks: 989858
Matt - Can you look into this?
Flags: needinfo?(matt.woodrow)
As far as I can tell we never call SwapProducer when using SurfaceStream/canvas-2d/skia-gl and BasicLayers.

Accelerated layers get this called from CanvasClient/ClientCanvasLayer. WebGLContext does this in the PreTransactionCallback.

Should we do the same for canvas-2d?
Flags: needinfo?(matt.woodrow) → needinfo?(jgilbert)
Duplicate of this bug: 992610
A bit more information:

It appears we're crashing because mSurface in Basic/CopyableCanvasLayer is nullptr. We used to null check this value, and now we don't.

Looks like this crash only happens when we have skia-gl for canvas-2d so I believe the above is the underlying issue.

I'll put up a patch to put back the null check too.
The old Thebes code used to do this, probably safest to continue doing so.
Attachment #8402452 - Flags: review?(roc)
Duplicate of this bug: 989471
https://hg.mozilla.org/integration/mozilla-inbound/rev/90b42f5d329b
Whiteboard: [b2g-crash] → [b2g-crash] [leave-open]
Duplicate of this bug: 993083
I can at least confirm that the Android Nightly seems to not crash any more in places where it did on yesterday's Nightly with this signature. Thanks!
This is no longer reproducing with the patch in comment 17.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
(In reply to Matt Woodrow (:mattwoodrow) from comment #9)
> As far as I can tell we never call SwapProducer when using
> SurfaceStream/canvas-2d/skia-gl and BasicLayers.
> 
> Accelerated layers get this called from CanvasClient/ClientCanvasLayer.
> WebGLContext does this in the PreTransactionCallback.
> 
> Should we do the same for canvas-2d?

If you don't, the compositor won't get updates, so yes.
We should test this with a pref-changing reftest.
Flags: needinfo?(jgilbert)
Assignee: nobody → matt.woodrow
Whiteboard: [b2g-crash] [leave-open] → [b2g-crash]
Target Milestone: --- → mozilla31
blocking-b2g: 1.5? → 1.5+
I still see this issue on my Keon (1.5.0.0-prerelease 31.0a1 2014-04-14).

Do I need to reset the phone to see this issue gone?
I'm not able to reproduce this anymore on Nightly (2014-04-23) using Nexus 5 (Android 4.4.2).
Blocks: 1025449
You need to log in before you can comment on or make changes to this bug.