Closed
Bug 911604
Opened 11 years ago
Closed 11 years ago
Non-default (=manually added) search engines not listed in search settings, can't be set as default
Categories
(Firefox for Android Graveyard :: General, defect)
Tracking
(firefox26 verified, fennec26+)
VERIFIED
FIXED
Firefox 26
People
(Reporter: aryx, Assigned: ckitching)
References
Details
Attachments
(2 files, 2 obsolete files)
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review |
Firefox for Android nightly 2013-09-01, Android 4.1.2 (stock), Google Nexus S
The previously added search engines are listed in the awesomebar search, but not in the search settings where the default search engine can be set. So the custom ones can't be made default.
Comment 1•11 years ago
|
||
Perhaps there was an issue in migration. Do you have steps to reproduce? Manually added search engines can be set as default in the new search settings just by tapping them and set as default. For example, I just went to Duckduckgo.com and added that search engine and then set it as default in the options.
Status: NEW → UNCONFIRMED
Ever confirmed: false
Reporter | ||
Comment 2•11 years ago
|
||
I updated from 2013-08-(something between 07 and 09) to 2013-09-01.
The issue persists after adding Duckduckgo, it is not listed in the search settings after adding it. Looking into the logcat, decodeByteArray() seems to fail, causing a null pointer exception. Related to bug 819895?
Updated•11 years ago
|
Flags: needinfo?(ckitching)
Assignee | ||
Comment 3•11 years ago
|
||
(In reply to Archaeopteryx [:aryx] from comment #2)
> Created attachment 798606 [details]
> logcat
>
> I updated from 2013-08-(something between 07 and 09) to 2013-09-01.
>
> The issue persists after adding Duckduckgo, it is not listed in the search
> settings after adding it. Looking into the logcat, decodeByteArray() seems
> to fail, causing a null pointer exception. Related to bug 819895?
Are you using a debug build? If so, this smells like Bug 907917 - for a variety of weird reasons the assertion failure ultimately leads to death by NPE on the Java side.
So far as I can tell, the underlying cause has existed since 23, is an incorrect assertion, and is not obvious.
If you're not using a debug build this is sort of interesting. Perhaps related to some of the madness I've recently encountered in the Favicon system - under certain stupid conditions it might end up storing a null or corrupt Favicon in the database, and then try decoding that, causing the problem. It would be interesting to see the NPE, plus stack trace. It shouldn't be too problematic to add a test for such madness to the search settings thing. It might be preferable to make the caching system less awful (That's being worked on).
Flags: needinfo?(ckitching)
Reporter | ||
Comment 4•11 years ago
|
||
I am not using a debug build, just default mozilla-central nightly branch. After removing the "Gecko" filter in logcat, the only interesting new line I can find is
D/skia (10749): --- SkImageDecoder::Factory returned null
The favicon of one search engine seems indeed to be corrupted, see https://bug819895.bugzilla.mozilla.org/attachment.cgi?id=690342 and also bug 819895 comment 5.
Updated•11 years ago
|
Comment 5•11 years ago
|
||
(In reply to Chris Kitching [:ckitching] from comment #3)
> It would be interesting to see the NPE, plus stack trace. It
> shouldn't be too problematic to add a test for such madness to the search
> settings thing. It might be preferable to make the caching system less awful
> (That's being worked on).
From the attached log:
E/GeckoEventDispatcher( 5917): handleGeckoMessage throws java.lang.NullPointerException
E/GeckoEventDispatcher( 5917): java.lang.NullPointerException
E/GeckoEventDispatcher( 5917): at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:461)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.preferences.SearchEnginePreference.setSearchEngineFromJSON(SearchEnginePreference.java:108)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.preferences.SearchPreferenceCategory.handleMessage(SearchPreferenceCategory.java:77)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.util.EventDispatcher.dispatchEvent(EventDispatcher.java:96)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.util.EventDispatcher.dispatchEvent(EventDispatcher.java:58)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.GeckoAppShell.handleGeckoMessage(GeckoAppShell.java:2220)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:337)
E/GeckoEventDispatcher( 5917): at org.mozilla.gecko.GeckoThread.run(GeckoThread.java:174)
Assignee: nobody → ckitching
Assignee | ||
Comment 6•11 years ago
|
||
It appears that this is caused by a corrupt/nonexistent Favicon being provided. For now, the simple solution seems to be just add a null check and don't do createScaledBitmap with null.
Once the Favicon caching madness has been demadnessified, I'll revisit this and have it either retry the download or display the default Favicon.
(In reply to :Margaret Leibovic from comment #5)
> From the attached log:
>
> E/GeckoEventDispatcher( 5917): handleGeckoMessage throws
> java.lang.NullPointerException
> E/GeckoEventDispatcher( 5917): java.lang.NullPointerException
> E/GeckoEventDispatcher( 5917): at
> android.graphics.Bitmap.createScaledBitmap(Bitmap.java:461)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.preferences.SearchEnginePreference.
> setSearchEngineFromJSON(SearchEnginePreference.java:108)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.preferences.SearchPreferenceCategory.
> handleMessage(SearchPreferenceCategory.java:77)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.util.EventDispatcher.dispatchEvent(EventDispatcher.java:96)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.util.EventDispatcher.dispatchEvent(EventDispatcher.java:58)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.GeckoAppShell.handleGeckoMessage(GeckoAppShell.java:2220)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.mozglue.GeckoLoader.nativeRun(Native Method)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.GeckoAppShell.runGecko(GeckoAppShell.java:337)
> E/GeckoEventDispatcher( 5917): at
> org.mozilla.gecko.GeckoThread.run(GeckoThread.java:174)
My apologies. It appears I have forgotten how to read.
Attachment #799154 -
Flags: review?(margaret.leibovic)
Comment 7•11 years ago
|
||
Comment on attachment 799154 [details] [diff] [review]
Add null check before creating scaled bitmap.
This seems like a good workaround. Please also add a comment about why we need to do this null check.
Attachment #799154 -
Flags: review?(margaret.leibovic) → review+
Assignee | ||
Comment 8•11 years ago
|
||
Attachment #799154 -
Attachment is obsolete: true
Assignee | ||
Comment 9•11 years ago
|
||
...A commit comment would probably also be useful...
Attachment #799161 -
Attachment is obsolete: true
Updated•11 years ago
|
Keywords: checkin-needed
Comment 10•11 years ago
|
||
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 26
Comment 12•11 years ago
|
||
I assume this needs to be uplifted to Fx25, so please request approval.
tracking-fennec: ? → 25+
Comment 13•11 years ago
|
||
(In reply to Mark Finkle (:mfinkle) from comment #12)
> I assume this needs to be uplifted to Fx25, so please request approval.
The search settings stuff is only in 26, right?
Assignee | ||
Comment 14•11 years ago
|
||
(In reply to :Margaret Leibovic from comment #13)
> The search settings stuff is only in 26, right?
Correct.
Updated•11 years ago
|
tracking-fennec: 25+ → 26+
Updated•11 years ago
|
Comment 15•11 years ago
|
||
Test case created in moztrap:
https://moztrap.mozilla.org/manage/case/10587/
Flags: in-moztrap?(fennec) → in-moztrap+
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
•