Closed
Bug 826267
Opened 12 years ago
Closed 12 years ago
crash @ java.lang.NullPointerException: at org.mozilla.gecko.AllPagesTab.showSuggestionsOptIn(AllPagesTab.java)
Categories
(Firefox for Android Graveyard :: Awesomescreen, defect)
Tracking
(firefox20+ fixed, firefox21 fixed)
RESOLVED
FIXED
Firefox 21
People
(Reporter: kairo, Assigned: bnicholson)
References
Details
(Keywords: crash, regression, topcrash, Whiteboard: [native-crash])
Crash Data
Attachments
(1 file)
1.63 KB,
patch
|
sriram
:
review+
lsblakk
:
approval-mozilla-aurora+
|
Details | Diff | Splinter Review |
This bug was filed from the Socorro interface and is
report bp-1f0f359c-b6ae-4d8e-807c-364712130103 .
=============================================================
java.lang.NullPointerException
at org.mozilla.gecko.AllPagesTab.showSuggestionsOptIn(AllPagesTab.java:605)
at org.mozilla.gecko.AllPagesTab.setSearchEngines(AllPagesTab.java:592)
at org.mozilla.gecko.AllPagesTab.access$1500(AllPagesTab.java:62)
at org.mozilla.gecko.AllPagesTab$7.run(AllPagesTab.java:684)
at android.os.Handler.handleCallback(Handler.java:608)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:156)
at android.app.ActivityThread.main(ActivityThread.java:5045)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
More crash reports at https://crash-stats.mozilla.com/report/list?signature=java.lang.NullPointerException%3A%20at%20org.mozilla.gecko.AllPagesTab.showSuggestionsOptIn%28AllPagesTab.java%29
This has been happening on FennecAndroid 20.0a1 Nightly apparently since the 2012-12-19 build, apparently.
Right now it's the #2 crash in yesterday's Nightly data.
Assignee | ||
Comment 1•12 years ago
|
||
Happening at this line:
promptText.setPrivateMode(Tabs.getInstance().getSelectedTab().isPrivate());
getSelectedTab() is likely the NPE, and this is probably happening whenever users try to launch the AwesomeScreen after a crash restore (which doesn't use tab stubs).
While we could keep adding null checks around these kinds of statements, I think a better fix would be preventing the AwesomeScreen from opening at all until we have at least one tab in Java. Otherwise, if we're doing a restore, we don't know whether the selected tab will be private or non-private, so the AwesomeScreen UI state could be a mismatch between the selected tab's state.
Comment 2•12 years ago
|
||
Just keep in mind that one of the reason we re-wrote in Java was to avoid blocking on Gecko. We _must_ be able to open the Awesomescreen before Gecko is ready.
Assignee | ||
Comment 3•12 years ago
|
||
Private tabs are only restored after OOM kills, so it actually shouldn't be possible with our current implementation for private tabs to be included in a crash restore. We could probably just get away with doing a null check after all, which wouldn't block the AwesomeScreen.
Comment 4•12 years ago
|
||
The regression range is:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=2e70b718903a&tochange=bfd85c9652fa
tracking-fennec: --- → ?
tracking-firefox20:
--- → ?
Keywords: regression
Hardware: All → ARM
Whiteboard: [native-crash]
Version: unspecified → Firefox 20
Updated•12 years ago
|
status-firefox20:
--- → affected
Assignee | ||
Comment 5•12 years ago
|
||
Comment 6•12 years ago
|
||
Comment on attachment 698896 [details] [diff] [review]
Check for null tab before setting private AwesomeScreen state
Review of attachment 698896 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good to me.
Attachment #698896 -
Flags: review?(sriram) → review+
Assignee | ||
Comment 7•12 years ago
|
||
Sorry, I gave bad advice in https://bugzilla.mozilla.org/show_bug.cgi?id=821311#c3
Blocks: 821311
Assignee | ||
Comment 8•12 years ago
|
||
Updated•12 years ago
|
Comment 9•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 21
Comment 10•12 years ago
|
||
It's still 3 top crasher in 20.0a2.
Assignee | ||
Comment 11•12 years ago
|
||
Comment on attachment 698896 [details] [diff] [review]
Check for null tab before setting private AwesomeScreen state
[Approval Request Comment]
Bug caused by (feature/regressing bug #): bug 821311
User impact if declined: crash whenever opening awesomescreen immediately after session restore
Testing completed (on m-c, etc.): m-c
Risk to taking this patch (and alternatives if risky): very low risk (just adds null check)
String or UUID changes made by this patch: none
Attachment #698896 -
Flags: approval-mozilla-aurora?
Comment 12•12 years ago
|
||
Comment on attachment 698896 [details] [diff] [review]
Check for null tab before setting private AwesomeScreen state
low risk null check, approved for aurora.
Attachment #698896 -
Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Comment 13•12 years ago
|
||
status-firefox21:
--- → fixed
Updated•11 years ago
|
tracking-fennec: ? → ---
Updated•4 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•