Closed
Bug 1225339
Opened 9 years ago
Closed 9 years ago
Browser history is not preserved after an OTA.
Categories
(Firefox OS Graveyard :: Gaia::Browser, defect, P1)
Tracking
(blocking-b2g:2.5+, b2g-v2.5 affected, b2g-master verified)
People
(Reporter: Marty, Assigned: daleharvey)
References
Details
(Keywords: regression, Whiteboard: [2.6-Daily-Testing][Spark][systemsfe][dogfood-blocker])
Attachments
(5 files)
Description:
After running an OTA, the browser will not have preserved previous browsing history in either the Browser app landing page, nor in search results. The default Mozilla pages are not present on the browser landing page either.
This issue does not seem to affect Log-In cookies. Gmail remained signed in with the browser, and the Facebook app remained signed in.
This issue DOES occur when updating from build 20151023104059
This does NOT occur when updating from build 20151028104739
Repro Steps:
1) Update a Aries to 20151007142909
2) Open the browser and navigate to several pages. Ensure that browsing history is present on the Browser landing page.
3) Connect to a WiFi network and change the update channel to dogfood-latest
4) Run the OTA to build 20151113121953
5) Open the Browser app to view the landing page
Actual:
Browser history is lost and the landing page is blank.
Expected:
Browser history persists after an OTA
Environmental Variables:
Device: Aries 2.6
Build ID: 20151113121953
Gaia: e8c15ae4e5324a210000ee0a869a962aa542009f
Gecko: faf815a0fa9b052a38bce00c0c2aa1e2c9610936
Gonk: 2916e2368074b5383c80bf5a0fba3fc83ba310bd
Version: 45.0a1 (2.6)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0
Repro frequency: 6/6
See attached: screenshot, logcat
Reporter | ||
Comment 1•9 years ago
|
||
Reporter | ||
Comment 2•9 years ago
|
||
Reporter | ||
Updated•9 years ago
|
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Comment 3•9 years ago
|
||
[Blocking Requested - why for this release]:
User loses data during OTA, including the default browser top sites to the mozilla information pages.
Let's see if this also occurs on a 2.2 to 2.5 upgrade for bug 1224750.
blocking-b2g: --- → 2.5?
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado) → needinfo?(ashiue)
Keywords: qawanted
Comment 4•9 years ago
|
||
Hi Gregor,
Could you please dispatch this issue to suitable person to help check? Thank you.
Flags: needinfo?(ashiue) → needinfo?(anygregor)
Whiteboard: [2.6-Daily-Testing][Spark] → [2.6-Daily-Testing][Spark][systemsfe]
Updated•9 years ago
|
blocking-b2g: 2.5? → 2.5+
Flags: needinfo?(anygregor)
Updated•9 years ago
|
Flags: needinfo?(bfrancis)
Updated•9 years ago
|
Whiteboard: [2.6-Daily-Testing][Spark][systemsfe] → [2.6-Daily-Testing][Spark][systemsfe][dogfood-blocker]
Updated•9 years ago
|
Priority: -- → P1
Updated•9 years ago
|
QA Contact: sleedavid
Comment 6•9 years ago
|
||
This issue does occur when updating from 2.2 to 2.5 as well.
Actual Results: Browser history is not retained and even default sites are lost.
Originating build:
Environmental Variables:
Device: Flame 2.2
BuildID: 20151108032507
Gaia: 885647d92208fb67574ced44004ab2f29d23cb45
Gecko: e6ea91190b53
Gonk: bd9cb3af2a0354577a6903917bc826489050b40d
Version: 37.0 (2.2)
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Updated build:
Environmental Variables:
Device: Flame 2.5
BuildID: 20151109004552
Gaia: cf646c52bb947af28329b0a100df91d1b1f2a907
Gecko: 4eafef5b80f8985c94c4a067f130d37513e1a581
Gonk: 040bb1e9ac8a5b6dd756fdd696aa37a8868b5c67
Version: 44.0a2 (2.5)
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:44.0) Gecko/44.0 Firefox/44.0
Blocks: 1224750
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
status-b2g-v2.5:
--- → affected
Flags: needinfo?(ktucker)
Keywords: qawanted
QA Contact: sleedavid
Comment 7•9 years ago
|
||
My initial investigations suggest this has nothing to do with OTA updates, the search app is just failing to access the Places IndexedDB database.
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
If this isn't related to updates then it should be easier to get a regression window. I will continue to investigate but if QA could help with a regression window that would be great!
Flags: needinfo?(bfrancis)
Keywords: qawanted,
regressionwindow-wanted
Comment 8•9 years ago
|
||
Some more errors, IndexedDB is unhappy.
E/GeckoConsole( 1942): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:13067"]
E/Browser ( 2663): [JavaScript Error: "AbortError" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 24}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/GeckoConsole( 1942): [JavaScript Error: "uncaught exception: [object DOMError]"]
E/Built-in Keyboard( 2242): Content JS ERROR: TypeError: this.app.inputContext is null
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/Browser ( 2663): [JavaScript Error: "TypeError: this.db is null" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 150}]
E/GeckoConsole( 1942): [JavaScript Error: "ConstraintError" {file: "jar:file:///system/b2g/omni.ja!/components/DataStoreImpl.js" line: 233}]
E/Default Home Screen( 2077): [JavaScript Error: "TypeError: this.highlighterEnv is null" {file: "resource://gre/modules/commonjs/toolkit/loader.js -> resource://gre/modules/devtools/server/actors/highlighters/utils/markup.js" line: 209}]
E/Browser ( 2663): [JavaScript Error: "ConstraintError: A mutation operation in the transaction failed because a constraint was not satisfied. For example, an object such as an object store or index already exists and a new one was being attempted to be created." {file: "app://search.gaiamobile.org/js/places_idb.js" line: 46}]
E/GeckoConsole( 1942): [JavaScript Error: "IndexedDB UnknownErr: ActorsParent.cpp:13067"]
E/Browser ( 2663): [JavaScript Error: "AbortError" {file: "app://search.gaiamobile.org/js/places_idb.js" line: 24}]
E/GeckoConsole( 1942): [JavaScript Error: "ConstraintError" {file: "jar:file:///system/b2g/omni.ja!/components/DataStoreImpl.js" line: 233}]
E/GeckoConsole( 1942): [JavaScript Error: "uncaught exception: [object DOMError]"]
E/GeckoConsole( 1942): [JavaScript Error: "uncaught exception: [object DOMError]"]
Comment 9•9 years ago
|
||
How are you getting those indexdb errors? Could you give an STR? How can you be sure that this is related to comment 0 bug?
Flags: needinfo?(bfrancis)
Comment 10•9 years ago
|
||
STR:
* Upgraded Gaia to the latest master with "make install-gaia"
* Typed "adb logcat | grep Error" to find errors in the console output
* Opened a browser window on the device so that the search app is loaded
* Observed those errors in the console
* Observed that no top sites or history are displayed on the device
The reason I think this is related is because the Places database is where all the browser history and top sites are stored. If the search app (which displays the browser start page) can't access the Places database then I would expect exactly these symptoms.
I haven't yet been able to figure out what is causing this to fail, but gerard-majax suggested it could be that a particular piece of data stored in the database is causing the problem. If this bug is not always reproduceable after a fresh flash then that could explain why.
Flags: needinfo?(bfrancis)
Comment 11•9 years ago
|
||
I'm not seeing comment 10 issue on today's Aries build. My logcat doesn't say those errors and it shows top sites correctly.
Are you on an older Gecko?
I'm on this build:
Device: Aries
BuildID: 20151118151339
Gaia: cba7e4b86361af31b153cfebaf99900e0b860f7b
Gecko: 1d6155d7e6c91fa5ec1ef6927f3d3a044187896d
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 45.0a1 (2.6 Master)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0
Flags: needinfo?(bfrancis)
Comment 12•9 years ago
|
||
Yes the Gecko I was using is old, I can try a newer build tomorrow.
Flags: needinfo?(bfrancis)
Updated•9 years ago
|
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Comment 13•9 years ago
|
||
If it's not reproducing again tomorrow with newer gecko could you remove regression window wanted and qawanted from this bug
Flags: needinfo?(bfrancis)
Updated•9 years ago
|
Keywords: regression
Comment 14•9 years ago
|
||
I can confirm that a fresh flash of a new build does not reproduce the problem. It seems to be using a database created by an old build with a newer build that causes the problem. Investigating further, help welcome.
Flags: needinfo?(bfrancis)
Updated•9 years ago
|
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Keywords: qawanted,
regressionwindow-wanted
Updated•9 years ago
|
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
Comment 15•9 years ago
|
||
That is making my dogfooding life miserable ... I'll look into that.
Assignee | ||
Updated•9 years ago
|
Assignee: nobody → dale
Assignee | ||
Comment 16•9 years ago
|
||
From the code + log and what Alexandre said on IRC, it looks like the code @ http://mxr.mozilla.org/gaia/source/apps/search/js/places_idb.js#45 is broken, it will run on all migrations, from 0-1, 1-2, 2-3 and the |db.createObjectStore(VISITS_STORE| line will throw if it already exists with a ContraintError
Will verify thats whats wrong now
Assignee | ||
Comment 17•9 years ago
|
||
Whats the easiest way for me to install build 20151023104059 on an aries (ie is there a link to a build somewhere?) Cheers
Flags: needinfo?(nhirata.bugzilla)
Comment 18•9 years ago
|
||
That is this build https://tools.taskcluster.net/task-inspector/#F-hLXBKfRdORNTCoM_RHIw/
Flags: needinfo?(nhirata.bugzilla) → needinfo?(dale)
Comment 19•9 years ago
|
||
Assignee | ||
Comment 20•9 years ago
|
||
I am having problems testing this, will try again, but this seems like what the problem should be. If anyone can verify it that would be awesome.
Flags: needinfo?(dale)
Attachment #8692443 -
Flags: feedback?(lissyx+mozillians)
Comment 21•9 years ago
|
||
Comment on attachment 8692443 [details] [review]
https://github.com/mozilla-b2g/gaia/pull/33382
with the e.target fix
Attachment #8692443 -
Flags: feedback?(lissyx+mozillians) → feedback+
Assignee | ||
Comment 22•9 years ago
|
||
Comment on attachment 8692440 [details] [review]
[gaia] daleharvey:1225339 > mozilla-b2g:master
The problem was |var visits = db.createObjectStore(VISITS_STORE, { keyPath: 'date' });| was running on consecutive upgrades, if its called when the store already exists it will fail with ConstraintError.
We dont have any test infrastructure for testing OTA's in this manner so I couldnt add tests (it would take months to write that). Alexandre verified the fix for me.
Attachment #8692440 -
Flags: review?(bfrancis)
Comment 23•9 years ago
|
||
Comment on attachment 8692440 [details] [review]
[gaia] daleharvey:1225339 > mozilla-b2g:master
Thanks Dale, you rock.
Attachment #8692440 -
Flags: review?(bfrancis) → review+
Assignee | ||
Comment 24•9 years ago
|
||
There was one unidentified failure in the test run that was fixed in https://github.com/mozilla-b2g/gaia/commit/5ff6ef20a3328ae18aa3c3f7b1c94f07a5639a14
Merged in https://github.com/mozilla-b2g/gaia/commit/b471d964109fd70a5b0955d971e4a43fe5bbf1fc
Assignee | ||
Updated•9 years ago
|
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 26•9 years ago
|
||
This issue is verified fixed on the latest Aries Dogfood and Flame Nightly 2.6 builds.
Browser History is properly maintained after performing an OTA from an older build.
Environmental Variables:
Device: Aries 2.6
BuildID: 20151130134106
Gaia: 702773bee0b70e479ccebe5e061f571e977bc376
Gecko: a18630f9ab42ddfde03ba8c7757a42069c48c7ed
Gonk: a19052e4389c3ae2d8fc3e7a74a475401baacc56
Version: 45.0a1 (2.6)
Firmware Version: D5803_23.1.A.1.28_NCB.ftf
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0
Environmental Variables:
Device: Flame 2.6
BuildID: 20151130030223
Gaia: ee6d8625c9d76de2f6614c87bb82b301bc37c7a9
Gecko: 47b49b0d32360fab04b11ff9120970979c426911
Gonk: 205ac4204bbbb2098a8046444acba551ba5dc75a
Version: 45.0a1 (2.6)
Firmware Version: v18D
User Agent: Mozilla/5.0 (Mobile; rv:45.0) Gecko/45.0 Firefox/45.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmercado)
Updated•9 years ago
|
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmercado)
Updated•9 years ago
|
Target Milestone: --- → 2.6 S2 - 12/4
You need to log in
before you can comment on or make changes to this bug.
Description
•