Closed Bug 774943 Opened 12 years ago Closed 12 years ago

Session restore puts "+" button in the wrong spot and hides first tab

Categories

(Firefox :: Session Restore, defect)

14 Branch
x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: rcfa+mozilla.org, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:14.0) Gecko/20100101 Firefox/14.0
Build ID: 20120710123126

Steps to reproduce:

When one opens a new tab, the tab-like button with the + to create more tabs is on the top-right side of the tab bar.

So now I e.g. create two windows, one with e.g. 4 tabs, one with just the single tab that is created when a new window is opened.

I quit Firefox, restart Firefox, and restore the previous session.


Actual results:

What I have now, are two windows (good), 
one with 3 visible tabs (bad), 
and one with zero visible tabs (bad). 
The tab-like button with the + is now no longer at the top right, but the top left (bad), with any tabs the window may have to the right of it, rather than to the left of it. (bad)

I should add that this has been going on for a while (FF13, FF14 betas), so it's not something new. I was just hopeful that some newer beta might fix this, but since I have this issue now for a long time (can't even remember when it started), I think it's time to find a solution or report a bug. 

Also, this seems to be the same as https://bugzilla.mozilla.org/show_bug.cgi?id=666822 which is IMO incorrectly listed as RESOLVED, which it is obviously not.
It could also be related to https://bugzilla.mozilla.org/show_bug.cgi?id=696684



Expected results:

Windows should be restored exactly as they were when Firefox was quit, and the + button-tab should be on the right, not on the left.

  Application Basics

        Name
        Firefox

        Version
        14.0

        User Agent
        Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:14.0) Gecko/20100101 Firefox/14.0

        Profile Folder

          Show in Finder

        Enabled Plugins

          about:plugins

        Build Configuration

          about:buildconfig

        Crash Reports

          about:crashes

        Memory Use

          about:memory

  Extensions

        Name

        Version

        Enabled

        ID

        bug682944
        1.1
        true
        bug682944@alice0775

        Check for Updates in Help Menu
        1.1
        true
        helpupdate@dagger2-addons.mozilla.org

        Clip to DEVONthink
        1.2.3
        true
        Clip-to-DEVONthink@devon-technologies.com

        DivX Plus Web Player HTML5 <video>
        2.1.2.145
        true
        {23fcfd51-4958-4f00-80a3-ae97e717ed8b}

        Easy YouTube Video Downloader
        6.2
        true
        {c0c9a2c7-2e5c-4447-bc53-97718bc91e1b}

        Flashblock
        1.5.15.1
        true
        {3d7eb24f-2740-49df-8937-200b1cc08f8a}

        Session History Tree
        1.0
        true
        sessionhistorytree@daniel.dawson

        Session Manager
        0.7.9
        true
        {1280606b-2510-4fe0-97ef-9b5a22eafe30}

        Session Manager Export Tool
        0.2
        true
        sessionmanagerexporttool@tijtij.com

        Test Pilot
        1.2.1
        true
        testpilot@labs.mozilla.com

  Important Modified Preferences

      Name

      Value

        accessibility.typeaheadfind.flashBar
        0

        browser.cache.disk.capacity
        1048576

        browser.cache.disk.smart_size.first_run
        false

        browser.cache.disk.smart_size_cached_value
        573440

        browser.places.smartBookmarksVersion
        4

        browser.sessionstore.restore_hidden_tabs
        true

        browser.sessionstore.restore_pinned_tabs_on_demand
        true

        browser.startup.homepage_override.buildID
        20120710123126

        browser.startup.homepage_override.mstone
        14.0

        dom.disable_window_move_resize
        true

        dom.event.contextmenu.enabled
        false

        dom.max_chrome_script_run_time
        0

        dom.max_script_run_time
        0

        extensions.lastAppVersion
        14.0

        network.cookie.prefsMigrated
        true

        places.database.lastMaintenance
        1342032535

        places.history.expiration.transient_current_max_pages
        104858

        places.history.expiration.transient_optimal_database_size
        167772160

        print.macosx.pagesetup-2
        PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUvL0RURCBQTElTVCAxLjAvL0VO…

        privacy.donottrackheader.enabled
        true

        privacy.sanitize.migrateFx3Prefs
        true

        security.warn_viewing_mixed
        false

  Graphics

        Vendor ID
        0x8086

        Device ID
        0x 116

        WebGL Renderer
        Intel Inc. -- Intel HD Graphics 3000 OpenGL Engine -- 2.1 APPLE-8.0.51

        GPU Accelerated Windows
        39/39 OpenGL

        AzureBackend
        quartz

  JavaScript

        Incremental GC
        1

  Library Versions

        Expected minimum version

        Version in use

        NSPR
        4.9
        4.9

        NSS
        3.13.5.0 Basic ECC
        3.13.5.0 Basic ECC

        NSS Util
        3.13.5.0
        3.13.5.0

        NSS SSL
        3.13.5.0 Basic ECC
        3.13.5.0 Basic ECC

        NSS S/MIME
        3.13.5.0 Basic ECC
        3.13.5.0 Basic ECC
Same here: https://bugzilla.mozilla.org/show_bug.cgi?id=714382
Also listed as resolved.

Obviously this is an issue that plagues FireFox since at least the version 5 days, and it's still there in FF 14, latest beta.

For some of the developer to just close out the bug because it works on their system is not helpful, given how long this zombie has been around.

It's time this is investigated and the head of this beast is being chopped off.
Did you try basic troubleshooting, safe mode and new Firefox profile?
This happens on multiple (non-synced) computers, and it happens for a long time i.e. many browser releases.

Even if I could temporarily fix it by doing a new profile, what good is it?
After all the reason why I restore a session, is that I restore the session. That session isn't going to be in a new profile. I may, at any time, have over a 100 active tabs in a session for various projects I'm working on, this isn't anything I'm going to give up easily, that's like suggesting deleting all my bookmarks, which is also not going to happen, because they are a reference.

The question is: why do valid windows save an invalid state, or why is a valid state restored improperly? Why does FireFox even get into that state?
Not: how can I temporarily fix it until it happens the next time. Not interested in a band-aid, I already do a band-aid:

if you create a new window, and then drag all the tabs of an incorrectly restored window into the new window, then the URL of the missing tab will show up in the URL field, from where it can be cut&paste-ed into a newly created tab in the new window => all tabs are back. But I have to do that with a few dozen windows each time I restore a session. Not fun.

Also, if you have a single-tab window that's improperly restored, the URL won't show up. But you can add, then delete a tab to such a window, at which point the URL will show up in the URL field, and a new window can be created into which one can paste the URL, and thus such a window can be restored, too.

But these are extremely clumsy work-arounds. Obviously, what these work-arounds show, is that all necessary information is saved and restored, just the window/tab configuration isn't properly initialized with that information.

Newly created windows behave just fine. So it's a matter of what's in the saved session and/or how a saved session is restored.

If I get around to it, I'll create a test user account, and run some things in FireFox there, just for the sake of it. Maybe I can create a small sample session that exhibits the problem, and then zip up the entire user for testing.
Component: Untriaged → Session Restore
With the latest Firefox 15 beta 1 this behavior seems to have gone away.

At least after upgrading on one computer, the same session that used to be restored corrupted was restored properly. No safemode or anything like that, just regular auto-upgrade.

Of course, this doesn't mean this behavior may not be back at some point in the future, but it means something relevant was changed in that the same session was loaded properly now.

Same add-ins, extensions, etc. too.

Let's hope this is the last word on this.

There's still one minor issue: the first/active tab, while being restored, doesn't show the URL in the URL field unless one first switches to another tab, and then back. Before that switcheroo, it just shows an empty field with the "Go to a website" legend. Adding and then deleting a tab (if it's the only tab), or switching to another tab, and then back to the first one, will display the correct URL. This however is minor, and it doesn't affect usability in a significant way.
I spoke too soon :(

While things restored properly the first time I relaunched FireFox after verion 15b1 was installed, a subsequent quit and relaunch and session restore also restored the buggy behavior.

This is really puzzling. This is more or less the same session. Exhibited the bug for ages as I restore the session from one quit-relaunch cycle to the other for several FF release cycles. Then with FF15b1, it did it ONCE properly, and when I quit FF a couple of days later because some unrelated thing required the system to be rebooted, upon relaunch the old behavior was back.

This is pretty frustrating, because the same profile, plug-ins and session restored ONCE properly.

Is there something FF does special when it reads a session that was stored with a different major version of FF? If so, whatever that is, may be a hint to the solution of the problem.
Did you try a new profile and in safe mode?
If not, do it please, because it's basic troubleshooting for such cases.
Here's one thing I figured out:
if I force quit aka kill Firefox, and then relaunch it, and it asks me to restore the session, all is fine.
if I quit Firefox the regular way, relaunch it, and then choose History > Restore Previous Session, then I have the bug.

Further, while creating a new window never causes this behavior, often dragging a tab out of an affected window to open it in a separate window, will cause exactly the same behavior.

So the big question: what's different between the way a session gets restored after a crash/forcequit of the app, and the "normal" session restoration?
Also, what attributes/settings are maintained when a tab is dragged out of a multi-tab window to make a new window with the tab's content? Because the issue must be part of what's inherited during such an operation, too.
Had the same problem on Firefox 15.0 on Windows.
In my case, Safe Mode showed no buggy behavior, and after some trials and errors i pointed out the addon disabling which solved the problem. It was "Google Search by Image" version 0.3.
The only thing preventing from claiming that the same solution should apply to the bug reporter is that he doesn't seem to have the same addon installed.
The initial reporter didn't reply about safe mode and new profile, hard to know if the issue is due to an add-on or theme.
Closing this bug per the above comments.

If anyone can reproduce this issue with a clean profile, please reopen the bug.
http://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
Status: UNCONFIRMED → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.