Open Bug 1068657 Opened 10 years ago Updated 2 years ago

Sometimes "Profile Missing" dialog appears after closing the Firefox process in the "Firefox already running" dialog

Categories

(Toolkit :: Startup and Profile System, defect)

x86_64
Windows 7
defect

Tracking

()

People

(Reporter: FlorinMezei, Unassigned)

References

Details

Reproducible with:
Latest Firefox 34 Aurora - BuildID: 20140917004003
Latest Firefox 35 Nightly - BuildID: 20140917030202

Environment: Windows 7 x64

Steps to reproduce:
1. Open Firefox with a clean profile and set it to start without asking to pick a profile on startup.
2. Open 25 or more tabs with different websites.
3. Close Firefox.
4. Reopen Firefox and restore session.
5. Quickly select all tabs so they start to load (alternately you may also choose the option to "Reload All Tabs" and wait a few seconds for content to start loading).
6. Close Firefox and immediately attempt to restart it.
7. When the "Firefox already running" dialog appears, quickly click on the <Close Firefox> button.

Expected results: 
"Firefox already running" dialog is dismissed, the firefox task is closed after a few seconds, and Firefox is automatically restarted.

Actual results:
Sometimes the "Profile Missing" dialog appears. After dismissing the dialog, Firefox does NOT restart automatically. After the initial process is finally killed (automatically after several seconds), then you can manually start Firefox again. See http://www.screencast.com/t/d8cXT4J3AMKZ.

Notes:
- the issue is a follow up from bug 286355 which introduced the new "Firefox already running" dialog with the option to Close Firefox if the task is still running.
- the issue is intermittent but was reproduced multiple times on September 5th while verifying bug 286355. I could only reproduce it once today, mainly due to the fact that I was only rarely getting the "Firefox already running" dialog (possibly also due to issue 1068650).
The issue here is that there is a race between the initial process shutting down and the second process starting up. The second process thinks it can send a message to the first process to open a new window, but the first process has already passed the point of no return.

The delays seen are because of a timeout in SendMessage(WM_COPYDATA) -- the second process is hung trying communicate with the first process, but the first process isn't able to process the message anymore.

There is probably stuff that we can do to make this more reliable, but I would say that it is not directly a profile unlocker issue, so I'm removing this bug as a blocker of Windows profile unlocking.
No longer blocks: 286355
Please disregard comment 1, that was intended for bug 1068650.
Blocks: 286355
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.