Closed Bug 1486200 Opened Last year Closed Last year

Crash in java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.DatePicker.getYear()' on a null object reference at org.mozilla.gecko.prompts.PromptInput$DateTimeInput.getValue(PromptInput.java)

Categories

(Firefox for Android :: General, defect, critical)

Firefox 62
x86
Android
defect
Not set
critical

Tracking

()

VERIFIED FIXED
Firefox 63
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox61 --- unaffected
firefox62 + verified
firefox63 + verified

People

(Reporter: calixte, Assigned: petru)

References

(Blocks 1 open bug)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is
report bp-011031dc-4aaa-4510-9b24-43ac90180819.
=============================================================

java.lang.NullPointerException: Attempt to invoke virtual method 'int android.widget.DatePicker.getYear()' on a null object reference
	at org.mozilla.gecko.prompts.PromptInput$DateTimeInput.getValue(PromptInput.java:269)
	at org.mozilla.gecko.prompts.PromptInput.putInBundle(PromptInput.java:388)
	at org.mozilla.gecko.prompts.Prompt.addInputValues(Prompt.java:302)
	at org.mozilla.gecko.prompts.Prompt.cancelDialog(Prompt.java:515)
	at org.mozilla.gecko.prompts.Prompt.addInputs(Prompt.java:466)
	at org.mozilla.gecko.prompts.Prompt.create(Prompt.java:237)
	at org.mozilla.gecko.prompts.Prompt.createPrompt(Prompt.java:175)
	at org.mozilla.gecko.prompts.Prompt.show(Prompt.java:138)
	at org.mozilla.gecko.prompts.Prompt.show(Prompt.java:112)
	at org.mozilla.gecko.prompts.PromptService.handleMessage(PromptService.java:49)
	at org.mozilla.gecko.EventDispatcher$2.run(EventDispatcher.java:344)
	at android.os.Handler.handleCallback(Handler.java:739)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:135)
	at android.app.ActivityThread.main(ActivityThread.java:5219)
	at java.lang.reflect.Method.invoke(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:372)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

=============================================================

There are 25 crashes (from 10 installations) in 62.0b17 starting with buildid 20180813190114. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1474888.

[1] https://hg.mozilla.org/releases/mozilla-beta/rev?node=ebf6855161a1
Flags: needinfo?(petru.lingurar)
flagging for tracking as a late regression in b17
Flags: needinfo?(lhenry)
I'm going to assume this'll show up on 63 as well once it hits Beta next week. It's pretty dicey getting a fix for this into 62 still, but we could probably swing it if a patch materializes soon.
Flags: needinfo?(lhenry)
Assignee: nobody → petru.lingurar
Status: NEW → ASSIGNED
Flags: needinfo?(petru.lingurar)
Fix Lollipop crashes because of android.content.res.ColorStateList.addFirstIfMissing()
The default app theme will be applied for the material Date/Time pickers on
API 21 and API 22. After this, on API >=23 they will be Photon themed.
Regression was introduced by the first patch for bug 1412518.
Happens only on Lollipop because of
> java.lang.ArrayIndexOutOfBoundsException: length=1; index=1
>        at android.content.res.ColorStateList.addFirstIfMissing(ColorStateList.java:356)
,method which was a workaround on the then ColorStateList limitations [1].

Because of this I propose only applying the new Photon theme for Android versions newer than Lollipop.

[1] https://chromium.googlesource.com/android_tools/+/78ccfd5f7e4880597fd90c61453a3be0e7aee5f0/sdk/sources/android-21/android/content/res/ColorStateList.java#339
Blocks: 1412518
No longer blocks: 1474888
Susheel, not sure if you saw the review request or not (yay Phabricator). Can you please take a look?
Flags: needinfo?(sdaswani)
Ryan I handed off that review to jchen given I'm not comfortable reviewing it.
Flags: needinfo?(sdaswani)
Comment on attachment 9004605 [details]
Bug 1486200 - Apply Photon theme for Date/Time pickers only on API >=23; r=sdaswani

Jim Chen [:jchen] [:darchons] has approved the revision.
Attachment #9004605 - Flags: review+
Pushed by rvandermeulen@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6eedde033c21
Apply Photon theme for Date/Time pickers only on API >=23; r=jchen
https://hg.mozilla.org/mozilla-central/rev/6eedde033c21
Status: ASSIGNED → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → Firefox 63
Flags: qe-verify+
Verified as fixed on Nightly 63 (2018-08-30), along with bug 1483165.
Mi 4i (Android 5.0.2).
Huawei MediaPad M2 (Android 5.1.1)
Flags: qe-verify+
Comment on attachment 9004605 [details]
Bug 1486200 - Apply Photon theme for Date/Time pickers only on API >=23; r=sdaswani

Approval Request Comment
[Feature/Bug causing the regression]: Bug 1412518
[User impact if declined]: Trying to input date/time crashes the app on Lollipop
[Is this code covered by automated tests?]: No
[Has the fix been verified in Nightly?]: Yes
[Needs manual test from QE? If yes, steps to reproduce]: --
[List of other uplifts needed for the feature/fix]: --
[Is the change risky?]: No
[Why is the change risky/not risky?]: Small change, QA verified
[String changes made/needed]: --
Attachment #9004605 - Flags: approval-mozilla-release?
Comment on attachment 9004605 [details]
Bug 1486200 - Apply Photon theme for Date/Time pickers only on API >=23; r=sdaswani

Fixes a new crash in Fx62 and verified by QA. Approved for Fx62 RC2.
Attachment #9004605 - Flags: approval-mozilla-release? → approval-mozilla-release+
Flags: qe-verify+
Verified as fixed on RC 62.0 build 2, along with bug 1483165.
Mi 4i (Android 5.0.2).
Huawei MediaPad M2 (Android 5.1.1)
Status: RESOLVED → VERIFIED
Flags: qe-verify+
Depends on: 1488720
You need to log in before you can comment on or make changes to this bug.