Closed Bug 1025149 Opened 10 years ago Closed 10 years ago

Somehow stuck in "File not found" when attempting to view collection activity

Categories

(Firefox OS Graveyard :: Gaia::System, defect)

x86
macOS
defect
Not set
normal

Tracking

(blocking-b2g:2.0+, b2g-v2.0 verified, b2g-v2.1 verified)

VERIFIED FIXED
2.0 S4 (20june)
blocking-b2g 2.0+
Tracking Status
b2g-v2.0 --- verified
b2g-v2.1 --- verified

People

(Reporter: jlal, Assigned: gerard-majax)

References

Details

(Whiteboard: [systemsfe])

Attachments

(3 files, 1 obsolete file)

Attached image 2014-06-13-14-15-52.png (deleted) —
No description provided.
Pressing home / cancel could not escape the dialog... No STR right now.
blocking-b2g: --- → 2.0?
Str: - Launch activity from homescreen (tap an existing smart collection from homescreen for example) - Press home button - Repeat the above twice in a row quickly.
Attached file https://github.com/mozilla-b2g/gaia/pull/20512 (obsolete) (deleted) —
This is a terrible hack around the situation... I would ideally like to figure out why this bug happens and fix it (it seems pretty bad?) but this patch fixes the problem for me by preventing redirection away from the homescreen when the bug does happen.
Attachment #8440114 - Flags: feedback?(alive)
blocking-b2g: 2.0? → 2.0+
Comment on attachment 8440114 [details] https://github.com/mozilla-b2g/gaia/pull/20512 The gaia workaround makes sense but I would like to have gecko developer to see why the location is changed.. Gregor do you think you could find someone investigate this from gecko side since you 2.0+ it?
Attachment #8440114 - Flags: feedback?(alive) → feedback+
Flags: needinfo?(anygregor)
Not going to land my hack unless we can't find a better solution for this problem in the 2.0 cycle... this is a tiny hack that is very isolated and should be safe to land if needed.
(In reply to James Lal [:lightsofapollo] from comment #5) > Not going to land my hack unless we can't find a better solution for this > problem in the 2.0 cycle... this is a tiny hack that is very isolated and > should be safe to land if needed. Agree. James, could you print the evt.detail when you reproduce this issue in mozbrowserlocationchange handler and tell me where does gecko redirect homescreen to?
I can reproduce on my Flame running master.
Assignee: nobody → lissyx+mozillians
I get this in logcat: > E/GeckoConsole( 989): Content JS ERROR at about:neterror?e=fileNotFound&u=app%3A//collection.gaiamobile.org/view.html1402910355560&c=UTF-8&f=app&m=app%3A//verticalhome.gaiamobile.org/manifest.webapp&d=Firefox%20can%27t%20find%20the%20file%20at%20app%3A//collection.gaiamobile.org/view.html1402910355560.:1213 in initPage: Which, according to the documentation in https://github.com/mozilla-b2g/gaia/blob/cb75627a98456cd9f05a1460b595a9c1d534394b/apps/system/js/net_error.js#L79 means the error was generated by app://collection.gaiamobile.org/view.html1402910355560.
So, some findings: - upon start, BrowserConfigHelper is initialized with appURL=app://verticalhome.gaiamobile.org and the matching manifest, and this.brower_config.url is app://verticalhome.gaiamobile.org/index.html#root - upon tapping a collection, BrowserConfigHelper is initialized with appURL=app://collection.gaiamobile.org/view.html and the matching manifest, this.browser_config.url is still app://verticalhome.gaiamobile.org/index.html#root From there, this value stays. In apps/system/js/homescreen_window.js, HomescreenWindow.prototype.ensure() makes use of this.browser_config.url to populate this.browser.element.src. According to Alive on IRC, the present bug happens when this.browser_config.url takes the value app://collections.gaiamobile.org/view.html. This is what happens at some points, as exposed in those logs: > 06-16 13:16:51.911 7036 7036 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/browser_config_helper.js:41 in window.BrowserConfigHelper: window.BrowserConfigHelper: appURL=app://collection.gaiamobile.org/view.html > 06-16 13:16:51.911 7036 7036 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/browser_config_helper.js:42 in window.BrowserConfigHelper: window.BrowserConfigHelper: manifestURL=app://collection.gaiamobile.org/manifest.webapp > 06-16 13:16:52.391 7036 7036 E GeckoConsole: Content JS LOG at app://system.gaiamobile.org/js/app_window.js:930 in aw_debug: [Dump: HomescreenWindow][Vertical][homescreen][427.109]this.browser_config.url=app://verticalhome.gaiamobile.org/index.html#root1402917373276140291737424714029173780241402917378632140291738646614029173866391402917386852140291739192814029173921031402917392266140291739242814029173925771402917392711140291739287414029173947791402917394962140291739517714029173965151402917405286140291740547214029174055861402917411067 > 06-16 13:16:52.971 7036 7036 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/browser_config_helper.js:41 in window.BrowserConfigHelper: window.BrowserConfigHelper: appURL=app://collection.gaiamobile.org/view.html > 06-16 13:16:52.971 7036 7036 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/browser_config_helper.js:42 in window.BrowserConfigHelper: window.BrowserConfigHelper: manifestURL=app://collection.gaiamobile.org/manifest.webapp > 06-16 13:16:53.341 7036 7036 E GeckoConsole: Content JS LOG at app://system.gaiamobile.org/js/app_window.js:930 in aw_debug: [Dump: HomescreenWindow][Vertical][homescreen][428.067]this.browser_config.url=app://collection.gaiamobile.org/view.html > 06-16 13:16:53.551 7036 7036 E GeckoConsole: Content JS LOG at app://system.gaiamobile.org/js/app_window.js:930 in aw_debug: [Dump: HomescreenWindow][Vertical][homescreen][428.256]this.browser_config.url=app://collection.gaiamobile.org/view.html > 06-16 13:16:53.761 7036 7036 E GeckoConsole: Content JS LOG at app://system.gaiamobile.org/js/app_window.js:930 in aw_debug: [Dump: HomescreenWindow][Vertical][homescreen][428.490]this.browser_config.url=app://collection.gaiamobile.org/view.html1402917413502
My logs shows also that there was no call to HomescreenWindow.prototype.setBrowserConfig() when the switch happens.
It seems that the following log isolate the precise moment where the bug arises: > 06-16 14:09:26.758 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:245 in hl_getHomescreen: getHomescreen: this._currentManifestURL=app://verticalhome.gaiamobile.org/manifest.webapp > 06-16 14:09:26.758 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:246 in hl_getHomescreen: getHomescreen: this._instance=[object Object] > 06-16 14:09:26.768 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:255 in hl_getHomescreen: getHomescreen: browser_config.urlapp://verticalhome.gaiamobile.org/index.html#root1402920565999140292056623014029205664261402920566621 > 06-16 14:09:26.768 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_window.js:186 in hw_ensure: this.browser_config.url=app://verticalhome.gaiamobile.org/index.html#root1402920565999140292056623014029205664261402920566621 --------------------------- > 06-16 14:09:27.938 11844 11844 E GeckoConsole: Content JS LOG at app://system.gaiamobile.org/js/child_window_factory.js:119 in ChildWindowFactory.prototype.createActivityWindow: app://verticalhome.gaiamobile.org/index.html#root app://verticalhome.gaiamobile.org/manifest.webapp > 06-16 14:09:28.098 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:245 in hl_getHomescreen: getHomescreen: this._currentManifestURL=app://verticalhome.gaiamobile.org/manifest.webapp > 06-16 14:09:28.098 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:246 in hl_getHomescreen: getHomescreen: this._instance=[object Object] > 06-16 14:09:28.098 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:255 in hl_getHomescreen: getHomescreen: browser_config.urlapp://verticalhome.gaiamobile.org/index.html#root14029205659991402920566230140292056642614029205666211402920566759 > 06-16 14:09:28.278 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:245 in hl_getHomescreen: getHomescreen: this._currentManifestURL=app://verticalhome.gaiamobile.org/manifest.webapp > 06-16 14:09:28.278 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:246 in hl_getHomescreen: getHomescreen: this._instance=[object Object] > 06-16 14:09:28.278 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_launcher.js:255 in hl_getHomescreen: getHomescreen: browser_config.urlapp://collection.gaiamobile.org/view.html > 06-16 14:09:28.288 11844 11844 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/homescreen_window.js:186 in hw_ensure: this.browser_config.url=app://collection.gaiamobile.org/view.html So it looks like we end up with a getHomescreen() call that returns a homescreen (manifestURL is app://verticalhome.gaiamobile.org/manifest.webapp) but whose browser_config.url is the collection app.
Attached file Debug code (deleted) —
This is the debug used to generate comment 11.
> 06-16 14:46:42.144 15301 15301 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [app://collection.gaiamobile.org/manifest.webapp] this.config.url: app://collection.gaiamobile.org/view.html => app://collection.gaiamobile.org/view.html > 06-16 14:46:42.144 15301 15301 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [app://verticalhome.gaiamobile.org/manifest.webapp] this.config.url: app://verticalhome.gaiamobile.org/index.html#root => app://collection.gaiamobile.org/view.html > 06-16 14:46:42.614 15301 15301 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [app://verticalhome.gaiamobile.org/manifest.webapp] this.config.url: app://collection.gaiamobile.org/view.html => app://collection.gaiamobile.org/view.html1402922802331 > 06-16 14:46:43.524 15301 15301 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [app://verticalhome.gaiamobile.org/manifest.webapp] this.config.url: app://collection.gaiamobile.org/view.html1402922802331 => app://collection.gaiamobile.org/view.html14029228023311402922802682
This isolates the issue: rearWindow is undefined in the Smart Collections app, while it should not. > 06-16 14:57:14.784 18188 18188 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [Vertical] this.rearWindow=UNDEFINED > 06-16 14:57:14.784 18188 18188 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:853 in aw__handle_mozbrowserlocationchange: AppWindow: [app://verticalhome.gaiamobile.org/manifest.webapp] this.config.url: app://verticalhome.gaiamobile.org/index.html#root140292343182814029234320051402923432166 => app://verticalhome.gaiamobile.org/index.html#root1402923431828140292343200514029234321661402923434750 > 06-16 14:57:14.824 18188 18188 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [Smart Collections] this.rearWindow=UNDEFINED > 06-16 14:57:14.834 18188 18188 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:853 in aw__handle_mozbrowserlocationchange: AppWindow: [app://collection.gaiamobile.org/manifest.webapp] this.config.url: app://collection.gaiamobile.org/view.html => app://collection.gaiamobile.org/view.html > 06-16 14:57:14.834 18188 18188 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:852 in aw__handle_mozbrowserlocationchange: AppWindow: [Vertical] this.rearWindow=UNDEFINED > 06-16 14:57:14.844 18188 18188 E GeckoConsole: Content JS DEBUG at app://system.gaiamobile.org/js/app_window.js:853 in aw__handle_mozbrowserlocationchange: AppWindow: [app://verticalhome.gaiamobile.org/manifest.webapp] this.config.url: app://verticalhome.gaiamobile.org/index.html#root1402923431828140292343200514029234321661402923434750 => app://collection.gaiamobile.org/view.html
There's a race condition with AppWindow.kill() and the events. If we check for this._killed and stopPropagation in AppWindow.handleEvent(), then everything seems to be fine.
Flags: needinfo?(anygregor) → needinfo?(alive)
Please find attached a link to the github pull request that fixes the issue.
Attachment #8440114 - Attachment is obsolete: true
Attachment #8440700 - Flags: review?(alive)
James, Kevin, do you mind checking on your side also?
Flags: needinfo?(kgrandon)
Flags: needinfo?(jlal)
Nice find! I can't reproduce with this patch.
Flags: needinfo?(kgrandon)
Whiteboard: [systemsfe]
QA Whiteboard: [VH-FL-blocking-][VH-FC-blocking+]
Blocks: 1015336
No longer blocks: collection-app
Comment on attachment 8440700 [details] Link to Github https://github.com/mozilla-b2g/gaia/pull/20572 Redirecting to Etienne who has less pending reviews :)
Attachment #8440700 - Flags: review?(alive) → review?(etienne)
Comment on attachment 8440700 [details] Link to Github https://github.com/mozilla-b2g/gaia/pull/20572 Looking good, tiny comment on github :)
Attachment #8440700 - Flags: review?(etienne) → review+
(In reply to Etienne Segonzac (:etienne) from comment #21) > Comment on attachment 8440700 [details] > Link to Github https://github.com/mozilla-b2g/gaia/pull/20572 > > Looking good, tiny comment on github :) Thanks :), let's merge it.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
clear ni
Flags: needinfo?(jlal)
Flags: needinfo?(alive)
Verified the issue is fixed on 2.1 and 2.0 Flame After followed steps in comment 2, didn't see the"File not found" when attempting to view collection activity, the collection always opens with results "Flame 2.1 Device: Flame 2.1 (319mb)(Kitkat Base)(Shallow Flash) BuildID: 20141120001207 Gaia: f8d3bf44029e0afc0124600a4bb34dba8fc1ad21 Gecko: f70a67a7f846 Version: 34.0 (2.1) Firmware: V188-1 User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0" "Flame 2.0 Device: Flame 2.0 (319mb)(Kitkat Base)(Shallow Flash) BuildID: 20141120000206 Gaia: 1ede2666f1e6c1b3fd3b282011caf0cbc59544b0 Gecko: 54f1b0ee07a6 Version: 32.0 (2.0) Firmware: V188-1 User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0"
Status: RESOLVED → VERIFIED
QA Whiteboard: [VH-FL-blocking-][VH-FC-blocking+] → [VH-FL-blocking-][VH-FC-blocking+][QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [VH-FL-blocking-][VH-FC-blocking+][QAnalyst-Triage?] → [VH-FL-blocking-][VH-FC-blocking+][QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: