Closed Bug 1201081 Opened 9 years ago Closed 9 years ago

crash in java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath(GLES20Canvas.java)

Categories

(Firefox for Android Graveyard :: Toolbar, defect)

Unspecified
Android
defect
Not set
critical

Tracking

(firefox42+ verified, firefox43+ verified, firefox44+ verified)

VERIFIED FIXED
Firefox 44
Tracking Status
firefox42 + verified
firefox43 + verified
firefox44 + verified

People

(Reporter: u421692, Assigned: liuche)

References

Details

(Keywords: crash, regression)

Crash Data

Attachments

(2 files)

This bug was filed from the Socorro interface and is 
report bp-e99afd8c-9d3e-42a7-8abc-5adef2150902.
=============================================================
1. Open imdb.com

Result:
Firefox crashes

I was able to reproduce this only on one specific device Samsung Galaxy Tab 10.1 (Android 4.0.4); from what I see in the crash stats only device running API 15 are affected
See also bug 1198631
I am able to reproduce it also  on ZTE Grand X In ( Android 4.0.4) with the steps:
1) Go to http://mozilla.github.com/webrtc-landing/gum_test.html
2) Tap Audio & Video 

Note - this is an x86 device.
[Tracking Requested - why for this release]:
tracking-fennec: --- → ?
Keywords: regression
Nightly regression range. https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f384789a29dcfd514d25d4a16a97ec5309612d78&tochange=29b2df16e961fbe9a379362ecba6f888d1754bc3

Since this is doorhanger related it looks like bug 1193337. Crash only happens on API 15 devices. Margaret NI for an assignee.
Blocks: 1193337
Flags: needinfo?(margaret.leibovic)
Yep. 2b21997e3278 crashes and ff71dfc40c70 does not crash.
Chenxia, can you look at this?
Flags: needinfo?(margaret.leibovic) → needinfo?(liuche)
Okay, I guess this means that clipPath might not be supported correctly even though it should go back to API 1.

Ugh, more reason to just switch to CardView instead of custom-bundling stuff.
Assignee: nobody → liuche
Flags: needinfo?(liuche)
I'll look into bug 1203730, so we don't have to deal with regressions while doing clever, fun, tricksy things.
tracking-fennec: ? → 42+
Is Fx42 affected? It looks like bug 1193337 was never uplifted to Fx42.
Flags: needinfo?(kbrosnan)
Flags: needinfo?(kbrosnan)
Double checked crash-stats, no crashes in 42. Given that I did not flag fx tracking I must have selected the wrong item from the drop down.
However, we still have a problem, because bug 1193337 should have been uplifted to 42, and we should find a way to get that uplifted. (I would argue it's worth shipping the fix for bug 1193337, even if we don't have a fix here.)
Tracking this for now since it's a regression, though maybe the uplift in bug 1193337 will fix things.
Sign in on Sync.
Result: Firefox crashes
Tested on Samsung Galaxy Tab 10.1 (Android 4.0.4)
Crash Signature: [@ java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath(GLES20Canvas.java)] → [@ java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath(GLES20Canvas.java)] [@ java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath]
Is there some sort of workaround we can use to catch this exception in RoundedCornerLayout and just end up with un-rounded corners instead of crashing?
Flags: needinfo?(liuche)
Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian
Attachment #8676481 - Flags: review?(s.kaspari)
Bug 1201081 - Skip some code paths. r=sebastian
Attachment #8676482 - Flags: review?(s.kaspari)
The problem seems to be that on r11-18, clipPath will crash with hardware acceleration. I tried checking for hardware acceleration with canvas.isHardwareAccelerated(), as well as disabling hardware acceleration on those versions with setLayerType(SOFTWARE) but was still seeing crashes. So I'm just disabling this code path for r11-18.

Part 1 is just to avoid clipPath (which needs to be uplifted) and Part 2 is not doing the things that the clipPath approach does.

Real solution is just to use CardView, so I will look into that when I have time.

Also clearing tracking-42 because bug 1193337 has been uplifted to 42.
tracking-fennec: 42+ → ---
Flags: needinfo?(liuche)
Attachment #8676481 - Flags: review?(s.kaspari) → review+
Comment on attachment 8676481 [details]
MozReview Request: Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian

https://reviewboard.mozilla.org/r/22723/#review20257

::: mobile/android/base/widget/RoundedCornerLayout.java:52
(Diff revision 1)
> +

NIT: Empty line?
Comment on attachment 8676482 [details]
MozReview Request: Bug 1201081 - Skip some code paths. r=sebastian

https://reviewboard.mozilla.org/r/22725/#review20259
Attachment #8676482 - Flags: review?(s.kaspari) → review+
https://hg.mozilla.org/mozilla-central/rev/0e8722f55ab9
https://hg.mozilla.org/mozilla-central/rev/8917ec916bdd
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 44
Crash Signature: [@ java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath(GLES20Canvas.java)] [@ java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath] → [@ java.lang.UnsupportedOperationException: at android.view.GLES20Canvas.clipPath(GLES20Canvas.java)]
Chenxia, could you fill the uplift request to 43? Thanks
Flags: needinfo?(liuche)
[Tracking Requested - why for this release]:

[Tracking Requested - why for this release]:
It looks like a large amount of those crashes happen in 42.0b6 now, so requesting tracking there.
Chenxia: seems that we need it in beta too.
Tracking for 42 for obvious reasons.
Seems that this affects every device running API 15. 
As mentioned above, this issue reproduces on every site that has a doorhanger.
We verified that the Nightly landed patch fixed the crashes both on the tablet - Samsung Galaxy Tab 10.1 (Android 4.0.4) - and x86 device - Grand x In ( both are API 15).
Comment on attachment 8676481 [details]
MozReview Request: Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian

Approval Request Comment
[Feature/regressing bug #]: bug 1193337
[User impact if declined]: Crashes when doorhanger shows
[Describe test coverage new/current, TreeHerder]: local testing, baked on nightly
[Risks and why]: low, removing code paths
[String/UUID change made/needed]: none
Flags: needinfo?(liuche)
Attachment #8676481 - Flags: approval-mozilla-aurora?
Comment on attachment 8676481 [details]
MozReview Request: Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian

[Feature/regressing bug #]: bug 1193337
[User impact if declined]: Crashes when doorhanger shows
[Describe test coverage new/current, TreeHerder]: local testing, baked on nightly
[Risks and why]: low, removing code paths
[String/UUID change made/needed]: none
Attachment #8676481 - Flags: approval-mozilla-beta?
Comment on attachment 8676481 [details]
MozReview Request: Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian

Verified, fix a crash, taking it.
Should be in beta 10.
Attachment #8676481 - Flags: approval-mozilla-beta?
Attachment #8676481 - Flags: approval-mozilla-beta+
Attachment #8676481 - Flags: approval-mozilla-aurora?
Attachment #8676481 - Flags: approval-mozilla-aurora+
Verified as fixed in Firefox 42 Beta 10;
Device: Asus Transformer Pad (Android 4.0.3).
Verified as fixed in Firefox 43 Beta 1;
Device: Asus Transformer Pad (Android 4.0.3).
Status: RESOLVED → VERIFIED
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: