Holding down Cmd/Ctrl+Shift+P for a couple of seconds will stop Private Browsing mode transistions (Error: this._privateBrowsingService is null)

NEW
Unassigned

Status

()

Firefox
Private Browsing
9 years ago
9 years ago

People

(Reporter: whimboo, Unassigned)

Tracking

({regression})

3.6 Branch
regression
Points:
---
Bug Flags:
blocking-firefox3.6 -
wanted-firefox3.6 +

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

9 years ago
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.3a1pre) Gecko/20091118 Minefield/3.7a1pre (.NET CLR 3.5.30729)

Having two windows open and holding down the shortcut keys for a couple of seconds will cause the Private Browsing transistion to fail. It's not possible to start/stop the PB mode anymore:

Error: this._privateBrowsingService is null
Source File: chrome://browser/content/browser.js
Line: 9189

>  get privateBrowsingEnabled PBUI_get_privateBrowsingEnabled() {
>    return this._privateBrowsingService.privateBrowsingEnabled;
>  }


Error: browser.stop is not a function
Source File: file:///C:/mozilla/bin/minefield/components/nsSessionStore.js
Line: 1972

>      aTabData[t]._tabStillLoading = true;
>      if (!aTabData[t].entries || aTabData[t].entries.length == 0) {
>        // make sure to blank out this tab's content
>        // (just purging the tab's history won't be enough)
>        browser.contentDocument.location = "about:blank";
>        continue;
>      }
>      
>      browser.stop(); // in case about:blank isn't done yet

Steps:
1. Open two window
2. Hold down the Cmd/Ctrl+Shift+P key for a couple of seconds

After a while the above errors are thrown and no transistion happens anymore. You have to restart the browser.
Flags: blocking-firefox3.6?
(Reporter)

Comment 1

9 years ago
When you try to change the state in the other window you will get the following exception:

Error: uncaught exception: [Exception... "'Failure' when calling method: [nsIPrivateBrowsingService::privateBrowsingEnabled]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://browser/content/browser.js :: PBUI_toggleMode :: line 9185"  data: no]

Comment 2

9 years ago
I observed this on OS X with several windows open (~10), but for me, it was possible to transition into the PB mode.  I bet it's been because of bug 529667 (I tested using a build patched with the fix for that bug.)  If that is the case, then I don't think that this bug needs to block 3.6 (perhaps we can consider it for 3.6.1).

I have submitted a try server build with that fix so that Henrik can try it tomorrow, and I'll unmark the blocking request in case Henrik confirms that this doesn't prevent the user from further transitions in/out of the PB mode.
Ehsan: I agree with your assessment, but think the better approach is to renominate for blocking if this turns out to be more serious.
Flags: blocking-firefox3.6?
(Reporter)

Comment 4

9 years ago
Ehsan, which try server build I have to use? There are two in the builds folder on the FTP server.
(Reporter)

Comment 6

9 years ago
The try server build doesn't fix the problem. See the attached screencast:
http://screencast.com/t/N2Y5Yzk3ZjMt

So we should handle it separately from bug 529667.
Still an issue despite bug 529667.
Flags: blocking-firefox3.6?
I don't think that this blocks, based on the steps required to reproduce. Would take a safe fix in a security branch, most likely.
Flags: wanted-firefox3.6+
Flags: blocking-firefox3.6?
Flags: blocking-firefox3.6-
The steps don't seem different from those in bug 526194.
(Reporter)

Comment 10

9 years ago
With the difference that we do not run into an OOM and finally crash.

Comment 11

9 years ago
(In reply to comment #10)
> With the difference that we do not run into an OOM and finally crash.

Yes, and that was the reason why I supported bug 526194 to be blocking.

I'm working on a fix here, but I'm kind of moving in the dark, since I haven't been able to reproduce this locally with the fix to bug 529667.

Henrik, can you please try a nightly with the fix to bug 529667 as well?  I know that you tested the try server build, but I'm suspecting whether it could have been a thing I missed to fix in the try server build, because the symptom that you're observing (the command being disabled in one of the windows) looks an awful lot like bug 529667.
(In reply to comment #10)
> With the difference that we do not run into an OOM and finally crash.

That's not a difference regarding the steps to reproduce. (Besides, I haven't seen said effects in bug 526194, I just got plenty of windows.)
(Reporter)

Comment 13

9 years ago
(In reply to comment #11)
> Henrik, can you please try a nightly with the fix to bug 529667 as well?  I
> know that you tested the try server build, but I'm suspecting whether it could
> have been a thing I missed to fix in the try server build, because the symptom
> that you're observing (the command being disabled in one of the windows) looks
> an awful lot like bug 529667.

I have verified that bug 529667 is fixed but that one is still present. For me it needs 3-4 transistions and then the mentioned errors occur.
(Reporter)

Comment 14

9 years ago
Ehsan, after our conversation on IRC I was able to reproduce this bug on OS X now. Even with a fresh profile. In comment 0 I forgot to say that you have to disable the warning dialog when entering pb mode. On OS X it takes a bit longer - around 10-15s. No idea if that happens because I run all the other builds in VM's.

Comment 15

9 years ago
Henrik, can you please try this build: <http://build.mozilla.org/tryserver-builds/eakhgari@mozilla.com-try-e9480c984599>?  I believe it should fix the problem.  I managed to finally see this on OS X, and I don't get this behavior with this build, but I need you to confirm it on multiple platforms.
(Reporter)

Comment 16

9 years ago
Tested that build in a XP VM and the issue is still present. Same errors appear.

Comment 17

9 years ago
(In reply to comment #16)
> Tested that build in a XP VM and the issue is still present. Same errors
> appear.

Even the "this._privateBrowsingService is null" error?  Because I had a patch in that build specifically to fix that error.
(Reporter)

Comment 18

9 years ago
Oh, no sorry. I only see the following exception:

Error: uncaught exception: [Exception... "'Failure' when calling method: [nsIPrivateBrowsingService::privateBrowsingEnabled]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: chrome://browser/content/browser.js :: PBUI_toggleMode :: line 9188"  data: no]
You need to log in before you can comment on or make changes to this bug.