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

VERIFIED FIXED in Firefox 42

Status

()

--
critical
VERIFIED FIXED
3 years ago
3 years ago

People

(Reporter: u421692, Assigned: liuche)

Tracking

({crash, regression})

Trunk
Firefox 44
Unspecified
Android
crash, regression
Points:
---

Firefox Tracking Flags

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

Details

(crash signature)

Attachments

(2 attachments)

(Reporter)

Description

3 years ago
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

Comment 1

3 years ago
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: --- → ?
status-firefox42: --- → affected
tracking-firefox43: --- → ?
tracking-firefox44: --- → ?
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.

Comment 5

3 years ago
Chenxia, can you look at this?
Flags: needinfo?(margaret.leibovic) → needinfo?(liuche)
(Assignee)

Comment 6

3 years ago
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)
(Assignee)

Comment 7

3 years ago
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.
status-firefox42: affected → unaffected

Comment 10

3 years ago
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.
tracking-firefox43: ? → +
tracking-firefox44: ? → +
(Reporter)

Comment 12

3 years ago
Sign in on Sync.
Result: Firefox crashes
Tested on Samsung Galaxy Tab 10.1 (Android 4.0.4)

Updated

3 years ago
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]

Comment 13

3 years ago
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)
(Assignee)

Comment 14

3 years ago
Created attachment 8676481 [details]
MozReview Request: Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian

Bug 1201081 - UnsupportedOperationException crash at Canvas.clipPath. r=sebastian
Attachment #8676481 - Flags: review?(s.kaspari)
(Assignee)

Comment 15

3 years ago
Created attachment 8676482 [details]
MozReview Request: Bug 1201081 - Skip some code paths. r=sebastian

Bug 1201081 - Skip some code paths. r=sebastian
Attachment #8676482 - Flags: review?(s.kaspari)
(Assignee)

Comment 16

3 years ago
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
Last Resolved: 3 years ago
status-firefox44: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 44

Updated

3 years ago
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)

Comment 22

3 years ago
[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.
status-firefox42: unaffected → affected
tracking-firefox42: --- → ?
Chenxia: seems that we need it in beta too.
Tracking for 42 for obvious reasons.
tracking-firefox42: ? → -
tracking-firefox42: - → +
(Reporter)

Comment 24

3 years ago
Seems that this affects every device running API 15. 
As mentioned above, this issue reproduces on every site that has a doorhanger.

Comment 25

3 years ago
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).
status-firefox44: fixed → verified
(Assignee)

Comment 26

3 years ago
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?
(Assignee)

Comment 27

3 years ago
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+

Comment 31

3 years ago
Verified as fixed in Firefox 42 Beta 10;
Device: Asus Transformer Pad (Android 4.0.3).
status-firefox42: fixed → verified

Comment 32

3 years ago
Verified as fixed in Firefox 43 Beta 1;
Device: Asus Transformer Pad (Android 4.0.3).
Status: RESOLVED → VERIFIED
status-firefox43: fixed → verified
You need to log in before you can comment on or make changes to this bug.