Crash in [@ java.lang.ClassCastException: at org.mozilla.gecko.util.GeckoBundle.getString(GeckoBundle.java)] when entering credit card details
Categories
(GeckoView :: General, defect, P1)
Tracking
(firefox-esr91 unaffected, firefox99 unaffected, firefox100+ fixed, firefox101+ fixed)
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox99 | --- | unaffected |
firefox100 | + | fixed |
firefox101 | + | fixed |
People
(Reporter: jnicol, Assigned: dimi)
References
(Regression)
Details
(Keywords: crash, regression, Whiteboard: [geckoview:m101])
Crash Data
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
diannaS
:
approval-mozilla-beta+
|
Details |
Crash report: https://crash-stats.mozilla.org/report/index/3f647764-bb9b-4999-b390-dc68c0220408
Java stack trace:
java.lang.ClassCastException
at org.mozilla.gecko.util.GeckoBundle.getString(GeckoBundle.java:3)
at org.mozilla.geckoview.Autocomplete$CreditCard.<init>(Autocomplete.java:12)
at org.mozilla.geckoview.PromptController$CreditCardSaveHandler.newPrompt(PromptController.java:4)
at org.mozilla.geckoview.PromptController$CreditCardSaveHandler.newPrompt(PromptController.java:8)
at org.mozilla.geckoview.PromptController.getResponse(PromptController.java:1)
at org.mozilla.geckoview.PromptController.handleEvent(PromptController.java:6)
at org.mozilla.geckoview.GeckoSession$Listener.handleMessage(GeckoSession.java:6)
at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:2)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8030)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
I hit this 100% reliably after entering my credit card details on https://shop.cpfc.co.uk. Not sure whether it affects other sites too. Let me know if I can provide more information.
Comment 1•3 years ago
|
||
Unredacted stack is
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at org.mozilla.gecko.util.GeckoBundle.getString(GeckoBundle.java:3)
at org.mozilla.geckoview.Autocomplete$CreditCard.<init>(Autocomplete.java:12)
at org.mozilla.geckoview.PromptController$CreditCardSaveHandler.newPrompt(PromptController.java:4)
at org.mozilla.geckoview.PromptController$CreditCardSaveHandler.newPrompt(PromptController.java:8)
at org.mozilla.geckoview.PromptController.getResponse(PromptController.java:1)
at org.mozilla.geckoview.PromptController.handleEvent(PromptController.java:6)
at org.mozilla.geckoview.GeckoSession$Listener.handleMessage(GeckoSession.java:6)
at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:2)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:233)
at android.app.ActivityThread.main(ActivityThread.java:8030)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:631)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:978)
Comment 2•3 years ago
|
||
While this crash signature is not new, this crash spike looks like a recent regression in Nightly 101.0a1. I will add this bug to the current GV m101 sprint.
Comment 3•3 years ago
|
||
Dimi, did you make any recent changes to autocomplete code that might have caused this exception in GeckoView's credit card autocomplete prompt?
Comment 4•3 years ago
|
||
[Tracking Requested - why for this release]:
While this crash signature is not new, this crash spike looks like a recent regression in Nightly 101.0a1. We will want to either fix or back out the regression before Nightly 101 rides to Beta (on 2022-05-02).
Assignee | ||
Comment 5•3 years ago
|
||
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
GeckoView expects string for "cc-exp-month" and "cc-exp-year"[1], however, the createNormalizedRecord
method added in bug 1760834, changes the value from string to number.
Comment 7•3 years ago
|
||
If this is a regression from Bug 1760834 (which landed in Nightly 101 just last week), then we don't need to uplift this fix to Beta 100.
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Comment 9•3 years ago
|
||
bugherder |
Comment 10•3 years ago
|
||
[Tracking Requested - why for this release]: looks like this needs an uplift to beta.
Updated•3 years ago
|
Comment 11•3 years ago
|
||
The patch landed in nightly and beta is affected.
:dimi, is this bug important enough to require an uplift?
If not please set status_beta
to wontfix
.
For more information, please visit auto_nag documentation.
Comment 12•3 years ago
|
||
(In reply to Kevin Brosnan [:kbrosnan] from comment #10)
[Tracking Requested - why for this release]: looks like this needs an uplift to beta.
I think you meant to tracking request to 100 instead of 99 (please change it if i'm mistaken). Also, the regressor was introduced in 101. Why does this need to be uplifted? Is the regressor incorrect?
Just trying to assess the volume so we can try and get this in before the last beta this Thursday if necessary.
Assignee | ||
Comment 14•3 years ago
|
||
The regression was introduced in 101 (caused a large amount of crashes), but the patch can still fix crashes with the same pattern but triggered by other case. Since the patch is low risk, I think we can request uplift to 100.
Assignee | ||
Comment 15•3 years ago
|
||
Comment on attachment 9272002 [details]
Bug 1763805 - Convert cc-exp-month and cc-exp-year to string before passing to GeckoView r=sgalich,tgiles
Beta/Release Uplift Approval Request
- User impact if declined: Crash on mobile while saving credit card on some websites
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patch only converts integer to string and doesn't change the flow.
- String changes made/needed:
Comment 16•3 years ago
|
||
Comment on attachment 9272002 [details]
Bug 1763805 - Convert cc-exp-month and cc-exp-year to string before passing to GeckoView r=sgalich,tgiles
Approved for 100.0b9
the nominated patch didn't graft cleanly on mobile/android/geckoview/src/main/java/org/mozilla/geckoview/doc-files/CHANGELOG.md due to a difference in api-version between central and beta and it was decided to leave that file untouched in beta
Comment 17•3 years ago
|
||
bugherder uplift |
Comment 18•3 years ago
|
||
Backed out from beta for causing geckoview credit card related failures.
Failure log: https://treeherder.mozilla.org/logviewer?job_id=375350501&repo=mozilla-beta
Backout link: https://hg.mozilla.org/releases/mozilla-beta/rev/91e88d18c42ecbf2d07adc55c3e29d08f6893aa9
Assignee | ||
Comment 19•3 years ago
|
||
Hi Dianna,
The failures was because we also uplift the testcase. The testcase will only pass with the patch in Bug 1760834, which we didn't request uplift.
Is it okay to only uplift the patch without the testcase part? If yes, should i prepare another patch without the testcase?
Comment 20•3 years ago
|
||
Approved for 100.0rc1
(Edited comment since I was able to uplift the patch without any of the test files to beta before rc merge)
Comment 21•3 years ago
|
||
bugherder uplift |
Assignee | ||
Updated•3 years ago
|
Comment 22•2 years ago
|
||
Removing regressionwindow-wanted
keyword because this bug has been resolved.
Comment 23•2 years ago
|
||
Removing regressionwindow-wanted
keyword because this bug has been resolved.
Comment 24•2 years ago
|
||
Removing regressionwindow-wanted
keyword because this bug has been resolved.
Description
•