Closed Bug 991067 Opened 10 years ago Closed 10 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
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)
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)
https://hg.mozilla.org/integration/mozilla-inbound/rev/90b42f5d329b
Whiteboard: [b2g-crash] → [b2g-crash] [leave-open]
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!
Depends on: 993619
This is no longer reproducing with the patch in comment 17.
Status: NEW → RESOLVED
Closed: 10 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.

Attachment

General

Created:
Updated:
Size: