Closed
Bug 1067687
Opened 11 years ago
Closed 8 years ago
Tabs gone after Nightly update
Categories
(Firefox for Android Graveyard :: Session Restore, defect)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: liam, Unassigned)
Details
Attachments
(3 files)
User Agent: Mozilla/5.0 (Linux; Android 4.4.4; Nexus 5 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile Safari/537.36
Steps to reproduce:
Installed Nightly update.
Opened browser.
Actual results:
Previously opened tabs were gone.
Expected results:
Previously opened tabs should've opened when browser was restarted.
Comment 1•11 years ago
|
||
You can restore previously opened tabs in the recent tabs panel in Nightly.
Status: UNCONFIRMED → RESOLVED
Closed: 11 years ago
Resolution: --- → INVALID
(In reply to Aaron Train [:aaronmt] from comment #1)
> You can restore previously opened tabs in the recent tabs panel in Nightly.
>
That's was never an option. I had close to 190 tabs.
I've browsed to root and found the sessionstore.bak which has the correct tabs but I'm not able to simply replace the sessionstore.js. Is there some signing involved?
Comment 3•11 years ago
|
||
Is the file valid json? I forget if we use the same format as desktop, one thing to try would be to create a clean desktop profile and see if desktop will accept it as sessionstore.js. The file needs to be owned by the same user as whatever Android assigned Nightly to.
(In reply to Kevin Brosnan [:kbrosnan] from comment #3)
> Is the file valid json? I forget if we use the same format as desktop, one
> thing to try would be to create a clean desktop profile and see if desktop
> will accept it as sessionstore.js. The file needs to be owned by the same
> user as whatever Android assigned Nightly to.
As near as I can tell (using a text file viewer), it looks correct. It should be owned by me as it was saved as a .bak, and the only change I made was changing the extension to .js (as root).
Using a root browser it says owned by app_93 (the same as the sessionstore.js I'd overwritten), but when I relaunch the browser the sessionstore I'd renamed gets renamed to .bak, and a new sessionstore is created.
I'll try your idea with the desktop to see if it works.
(In reply to Kevin Brosnan [:kbrosnan] from comment #3)
> Is the file valid json? I forget if we use the same format as desktop, one
> thing to try would be to create a clean desktop profile and see if desktop
> will accept it as sessionstore.js. The file needs to be owned by the same
> user as whatever Android assigned Nightly to.
Ok, it opens correctly on the desktop (also linted it).
Any ideas about how to get it working on android?
BTW, apparently you can't log on to Persona from Nightly on Android (says you need a modern browser like FF). It does, however, work from chrome on android.
Flags: needinfo?(kbrosnan)
Comment 6•11 years ago
|
||
I'm not sure what the next steps are here. Brian I believe is the session restore expert. Liam would you be willing to share the session restore file with a developer?
Flags: needinfo?(liam)
Flags: needinfo?(kbrosnan)
Flags: needinfo?(bnicholson)
Comment 7•11 years ago
|
||
I'm curious why this isn't working. Some options:
1) Check logcat for errors (grep for "Gecko").
2) Send over your sessionstore.js and I can try to reproduce. Given that it contains 190 tabs, there's a good chance it contains sensitive data, so this might not be a good option.
3) I can post custom Fennec builds with verbose logging. You can copy your sessionstore.js into those profiles, then upload the logs.
Liam, please let me know which of these you're willing to try!
Flags: needinfo?(bnicholson)
Hi all,
Sorry for the long pause between responses. For some reason I didn't receive any email for the subsequent responses...
So, why don't we give logcat a shot first?
Flags: needinfo?(liam)
I probably should've given you a bit more context for the log in the first post.
That earlier log was the result of deleting the sessionstore.js and leaving only the .bak.
This log is the inverse.
I thought this might be useful as I read a bug report from a few years ago for fennec that said that the browser reacted differently depending on whether .bak or .js was present. In particular the behavior was changed, iirc, so that on clean exits the .js was erased, and it's existence meant a an early exit had occured.
Comment 10•11 years ago
|
||
Thanks for posting. That second attachment is interesting as it means something might be wrong with the format of the file. Could you post the beginning contents of your sessionstore.js file, up until the first URL?
For example: {"windows":[{"tabs":[{"entries":[{"url":"about:home"...
And this with your 190 tab sessionstore.js file that works on desktop, right?
Flags: needinfo?(liam)
Reporter | ||
Comment 11•11 years ago
|
||
Yeah, I noticed that as well but it didn't make sense to me as I both linted the json and, more importantly, was able to recover the tabs on the desktop. However, I'd still like to be able to recover then on the phone:)
Flags: needinfo?(liam)
Comment 12•11 years ago
|
||
Well, I don't see anything wrong with that snippet, and if the linter validates it and it works on desktop, it's probably not the file itself. Perhaps we're running out of memory trying to parse that blob.
I'll see if I can try recreating a similar session file. Liam, what's the file size of this sessionstore.js?
Flags: needinfo?(liam)
Updated•11 years ago
|
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: INVALID → ---
Comment 14•11 years ago
|
||
That's not too big, so I'm not sure memory would be a concern. NI'ing myself to test this.
Flags: needinfo?(bnicholson)
Updated•10 years ago
|
Flags: needinfo?(bnicholson)
Reporter | ||
Comment 15•9 years ago
|
||
Hi again,
So, this just happened to me, again....TWICE, in the last few days. Both times after an update, but I didn't lose the session until I actually "closed" the browser (swiped away from the apps overview screen).
Perhaps, as a stop gap, the mozilla sync service could allow state rollbacks? As it is, as soon as this happens, sync becomes useless for that session.
Comment 16•8 years ago
|
||
Short of a file format upgrade blunder as in bug 1379374, there's nothing special about app updates when compared to a normal OOM kill.
I fear that the current state still isn't entirely foolproof, but as the last comment here still predates bug 1190627 I'm closing this for now.
Status: REOPENED → RESOLVED
Closed: 11 years ago → 8 years ago
Component: General → Session Restore
Resolution: --- → WORKSFORME
Updated•5 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
•