Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[Bug] Fenix doesn't handle content process dying #1577

Closed
agi90 opened this issue Apr 11, 2019 · 39 comments
Closed

[Bug] Fenix doesn't handle content process dying #1577

agi90 opened this issue Apr 11, 2019 · 39 comments
Labels
b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info 🐞 bug Crashes, Something isn't working, .. needs:ac Needs Android Component Work P1 Current sprint
Milestone

Comments

@agi90
Copy link
Contributor

agi90 commented Apr 11, 2019

Steps to reproduce

  • Load a page in Fenix Debug

Simulate device killing content process:

  • connect to device adb shell
  • $ run-as org.mozilla.fenix.debug
  • Get :tab process id: $ ps -A | grep org.mozilla.fenix.debug:tab
  • Kill process $ kill -9 <PROCESS ID>

Note: This is really common, especially on lower-end android devices.

Expected behavior

Pages refreshes and keeps state as much as possible

Actual behavior

Fenix navigates to about:blank

Device information

  • Android device: Samsung S10e
  • Fenix version: latest from playstore

┆Issue is synchronized with this Jira Task

@agi90 agi90 added the 🐞 bug Crashes, Something isn't working, .. label Apr 11, 2019
@agi90
Copy link
Contributor Author

agi90 commented Apr 25, 2019

I think the problem here is that Fenix doesn't handle ContentDelegate.onCrash properly, the app is responsible for restoring the state if the content process is gone.

@kbrosnan kbrosnan added b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info and removed needs:investigation labels Apr 27, 2019
@vesta0 vesta0 added the P1 Current sprint label Apr 30, 2019
@vesta0 vesta0 added this to the Bugs milestone Apr 30, 2019
@vesta0 vesta0 added the needs:ac Needs Android Component Work label May 1, 2019
@vesta0 vesta0 removed the needs:ac Needs Android Component Work label May 13, 2019
@bifleming bifleming added the Release Blocker Blocks a Release label May 17, 2019
@vesta0 vesta0 modified the milestones: Sprint 5-2 (Milestone 5), Bugs May 23, 2019
@sblatz sblatz self-assigned this May 28, 2019
@sblatz sblatz added the needs:ac Needs Android Component Work label May 29, 2019
@sblatz
Copy link
Contributor

sblatz commented May 29, 2019

Submitted an a-c patch here: mozilla-mobile/android-components#3170

@sblatz sblatz added this to the v1.3 milestone Aug 9, 2019
@cpeterso
Copy link

cpeterso commented Aug 9, 2019

@vesta0
Copy link
Collaborator

vesta0 commented Aug 9, 2019

Amazing work, thank you 💯

@stuarthenderson
Copy link

This appears to have been fixed in v1.3.0-rc1, but regressed in v1.3.0-rc2 and 3 (or at least the symptom has).

@ekager
Copy link
Contributor

ekager commented Aug 19, 2019

@stuarthenderson could you give more details about what you're seeing in v1.3.0-rc3 related to this bug?

@stuarthenderson
Copy link

Same symptom as before. I'd been using rc1 since it appeared on taskcluster without issue. Yesterday i tried rc2 and noticed one of my tabs got set to "about:blank". It happened again an hour or two later. I noticed rc3 today and tried that, but it happened again.

Happens when i navigate away from Preview for a bit (using other apps) and when you go back occasionally one or more of the "tabs" are at "about:blank".
The fix is definitely working some of the time, as I see tabs flickering to a:b and back to normal most of the time.

I think each time it was the last used tab that goes to a:b.

@IdmFoundInHim
Copy link

Did you open the tab?

I just had one case where two of four tabs became about:blank, then restored when I opened the tab.
On Nightly 190818 18:02 (Build #12301810)
📦: 8.0.0, 78354bc12
🦎: 69.0-20190812090043

@stuarthenderson
Copy link

Ah! You're right. It does eventually recover when you select the tab. Thanks!
So it's functional, but looks a bit bad.
Might be a good idea to block the list of tabs from showing "about:blank" in such cases, but probably not within the scope of this ticket.
Thanks all.

@pocmo
Copy link
Contributor

pocmo commented Aug 20, 2019

I think what you might be seeing is a variant of #3846. Currently the tabs tray does not seem to update automatically whenever the tabs/Session changes: The tab is already restored but the tab tray is showing the old state until you switch to it.

@bifleming bifleming added eng:qa:needed QA Needed and removed needs:gv GeckoView bug required to fix the issue. See bugzilla.mozilla.org 🙅 waiting Issues that are blocked or has dependencies that are not ready labels Sep 6, 2019
@nahuhh
Copy link

nahuhh commented Sep 11, 2019

Still seeing .. This or something like this on occasion.

Usually, after I open a bunch of new tabs (click a link and open in new tab), switch tabs a few times and then switch apps..When I come back to fenix, it has been killed by this os and I get this:

Screenshot_20190911-153217

The tabs are all about:blank with no history in them
Nightly 190910 18:03 (Build #12531808)
📦: 12.0.0, 9fecd17d3
🦎: 71.0a1-20190909095540

@sv-ohorvath
Copy link
Contributor

Logged a new issue: #5478

@data-sync-user data-sync-user changed the title [Bug] Fenix doesn't handle content process dying FNX2-17233 ⁃ [Bug] Fenix doesn't handle content process dying Aug 3, 2020
@data-sync-user data-sync-user changed the title FNX2-17233 ⁃ [Bug] Fenix doesn't handle content process dying FNX3-15657 ⁃ [Bug] Fenix doesn't handle content process dying Aug 11, 2020
@data-sync-user data-sync-user changed the title FNX3-15657 ⁃ [Bug] Fenix doesn't handle content process dying FNX-5113 ⁃ [Bug] Fenix doesn't handle content process dying Aug 11, 2020
@data-sync-user data-sync-user changed the title FNX-5113 ⁃ [Bug] Fenix doesn't handle content process dying [Bug] Fenix doesn't handle content process dying May 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
b:crash Crashes Fenix: should link to Sentry, Crash-Stats or GPlay info 🐞 bug Crashes, Something isn't working, .. needs:ac Needs Android Component Work P1 Current sprint
Projects
None yet
Development

No branches or pull requests