When upgrading to oxide 1.19, tabs from saved session are not restored

Bug #1649861 reported by Olivier Tilloy
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Oxide
Fix Released
High
Olivier Tilloy
1.19
Fix Released
Critical
Olivier Tilloy
1.20
Fix Released
High
Olivier Tilloy
webbrowser-app (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

When upgrading to oxide 1.19, tabs from a session saved with oxide 1.18 are not restored. I’m seeing the following in the browser’s log:

  Failed to read initial state: invalid data

It appears sessions::SerializedNavigationEntry::ReadFromPickle() fails, most likely because the format of the serialized entries was changed in chromium 55. Specifically, this commit seems like a good suspect: https://chromium.googlesource.com/chromium/src/+/f62ca6f9d33e93733fccb3f3815d9554429dbb38.

Related branches

Olivier Tilloy (osomon)
summary: - With oxide 1.19, tabs from saved session are not restored
+ When upgrading to oxide 1.19, tabs from saved session are not restored
Revision history for this message
Olivier Tilloy (osomon) wrote :

I confirm that https://chromium.googlesource.com/chromium/src/+/f62ca6f9d33e93733fccb3f3815d9554429dbb38 introduced the regression: serialized navigation entries are pickled one after the other, and the size of the resulting data is not stored anywhere. As a result, the new implementation of SerializedNavigationEntry::ReadFromPickle() starts reading from the beginning of the next entry looking for extended info.

It is unfortunate that navigation entries are serialized this way. To prevent this from happening again in the future when additional data is added to serialized navigation entries, we should pickle them separately, and for each entry store the size followed by the raw data.

Changed in webbrowser-app (Ubuntu):
status: New → Invalid
Changed in oxide:
status: New → Confirmed
assignee: nobody → Olivier Tilloy (osomon)
milestone: none → branch-1.20
importance: Undecided → High
Changed in oxide:
milestone: branch-1.20 → branch-1.21
Olivier Tilloy (osomon)
Changed in oxide:
status: Confirmed → In Progress
Olivier Tilloy (osomon)
Changed in oxide:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.