Browser initialization fails with the explorer shell replacement bbLean installed

VERIFIED FIXED in Firefox 27

Status

()

defect
VERIFIED FIXED
6 years ago
6 years ago

People

(Reporter: anton.kochkov, Assigned: ttaubert)

Tracking

({regression})

25 Branch
Firefox 29
x86_64
Windows 7
Points:
---

Firefox Tracking Flags

(firefox24 unaffected, firefox25- wontfix, firefox26- wontfix, firefox27 verified, firefox28 verified, firefox29 verified)

Details

()

Attachments

(1 attachment, 1 obsolete attachment)

Can't close any tab, if more than one. Nor "close" buttons doesn't work, nor Ctrl-W. So you can close the tab only if use one-tab-per-window.

I've found old, very old, but similar bug https://bugzilla.mozilla.org/show_bug.cgi?id=349145
Also same applicable for "Bookmarks" sidebar.
Try in safe mode:
https://support.mozilla.org/en-US/kb/troubleshoot-firefox-issues-using-safe-mode

Try with a clean profile:
https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles

Does it work?
Severity: critical → normal
Flags: needinfo?(anton.kochkov)
Someone on IRC reported this problem in nightly and release Firefox on Windows 8, but mentioned "using a shell replacement called bblean for Windows, when I switched to the default Windows shell (explorer) in safe mod the tabs worked again."

Anton, can you include info on whether you're using a Windows shell replacement?
(In reply to Mardeg from comment #3)
> Someone on IRC reported this problem in nightly and release Firefox on
> Windows 8, but mentioned "using a shell replacement called bblean for
> Windows, when I switched to the default Windows shell (explorer) in safe mod
> the tabs worked again."
> 
> Anton, can you include info on whether you're using a Windows shell
> replacement?

Indeed! I'm using bbLean too! But all previous versions of Firefox were working quite well.
Flags: needinfo?(anton.kochkov)
Summary: Firefox Nightly 25.0a1 (2013-07-28) - Can't close any tab → Firefox Nightly 25.0a1 (2013-07-28) - Can't close any tab with the explorer shell replacement bbLean installed
I also have some sort of windows style and cannot close tabs. I've tried safe mode without any luck.
(In reply to Derrick Dymock from comment #5)
> I also have some sort of windows style and cannot close tabs. I've tried
> safe mode without any luck.

Remove the style from Windows and try again.
(In reply to Loic from comment #6)
> (In reply to Derrick Dymock from comment #5)
> > I also have some sort of windows style and cannot close tabs. I've tried
> > safe mode without any luck.
> 
> Remove the style from Windows and try again.

Btw, tried both in safe and with clean profile - bug is still here. So only interaction with bbLean broke the things. (Still in 26.0a1 too)
Yes, the issue is between FF and a third-party application used as Windows explorer shell replacement. The user needs to remove this application form his OS and test again with Firefox.

Anyway, does the issue occur with FF23?
Flags: needinfo?(anton.kochkov)
(In reply to Loic from comment #8)
> Yes, the issue is between FF and a third-party application used as Windows
> explorer shell replacement. The user needs to remove this application form
> his OS and test again with Firefox.
> 
> Anyway, does the issue occur with FF23?

1. After changing to default explorer shell - all ok.
2. Tabs closes as well in FF23, also in previous nightly builds (bug introduced in 25.0a1 (2013-07-28) - I'm updating and restarting firefox nightly every morning/day)
Flags: needinfo?(anton.kochkov)
This problem also occurs in Aurora since todays Aurora update (a big one, ~27mb)...
Could you use the tool mozregression to find a regression range, please.
See http://harthur.github.io/mozregression/ for details.

Ex: mozregression --good=2013-07-15

Paste the output of the console.
Flags: needinfo?(anton.kochkov)
Last good nightly: 2013-07-27
First bad nightly: 2013-07-28

Pushlog:
http:/hg.mozilla.org/mozilla-central/pushloghtml?fromchange=fb48c7d58b8b&tochange=73b69c146ca6

Is this what you wanted?
Yes. Anyway I don't see obvious suspected bug. Any idea, alice?

For the record, bbLean 1.17.1 can be downloaded here:
http://bb4win.sourceforge.net/bblean/
(In reply to Loic from comment #13)
> Yes. Anyway I don't see obvious suspected bug. Any idea, alice?

Sorry, I cannot help.
I know absolutely nothing about programming, but bblean replaces the shell, so it is probably missing something from explorer.exe, but that is kinda weird because GNU/Linux doesn't have explorer.exe at all.
My guess goes to this bug. Bisecting would help.
Bobby Holley — Bug 893324 - Invoke CleanUp synchronously and unconditionally for modal dialog windows. r=jst Historically, we've had a bunch of complicated machinery to delay the call to CleanUp() for modal dialogs, since we needed to harvest the return value after the window closed. But in the current world we don't actually null out mReturnValue in CleanUp() at all, which presumably happened sometime around the time mReturnValue became cycle-collected. So this stuff can just go away. \o/ That simplification is righteous in itself. But it also fixes the bug here as- filed. When the user quits while a modal dialog is currently being displayed, a failure code ends up bubbling up through windowWatcher to the OpenInternal call in nsGlobalWindow::ShowModalDialog, which means that we're unable to do our delayed CleanUp() call for the outer modal window. At first it seemed like a hard problem to solve, but with the above it becomes trivial.
What's the option to use with mozreg? -repo=tinderbox-builds?
(In reply to Loic from comment #18)
> What's the option to use with mozreg? -repo=tinderbox-builds?

i do not know mozregression.

Down load zip file
extract it
cd the extracted folder
run firefox.exe
And then repeat from top.
Hello, I'm also a bblean user affected by this bug. Aside from the inability to close tabs, it also breaks session loading - the browser starts up with no saved tabs each time regardless of the state it was closed. 

I just spent a while going through the builds from the 2nd of the links in comment 17 (didn't know what the difference between them was...). I had to go back to build 1374953956 before things started working again. The immediately following build is 1374976514 and the bug seems to appear there. I tried around 10 of the more recent builds from the last week or so and it was still broken in all of them. 

Session *saving* doesn't appear to be affected at least, once I had found a working build it happily restored my old set of tabs.
I am also experiencing the not restoring tab problem.

You said that the last good build was 1374953956 [31-Jul-2013 00:01], that's kinda weird because the last good nightly build was on 2013-07-27...
(In reply to Andrew Ramsay from comment #20)
> Hello, I'm also a bblean user affected by this bug. Aside from the inability
> to close tabs, it also breaks session loading - the browser starts up with
> no saved tabs each time regardless of the state it was closed. 
> 
> I just spent a while going through the builds from the 2nd of the links in
> comment 17 (didn't know what the difference between them was...). I had to
> go back to build 1374953956 before things started working again. The
> immediately following build is 1374976514 and the bug seems to appear there.
> I tried around 10 of the more recent builds from the last week or so and it
> was still broken in all of them. 
> 
> Session *saving* doesn't appear to be affected at least, once I had found a
> working build it happily restored my old set of tabs.

I can confirm broken session open, I'm affected too.
Flags: needinfo?(anton.kochkov)
All of the web developer tools and tab groups are also broken. But they have been broken for a very long time.
So, regression window already defined, any progress on this?
Maybe somone from QA could help.
Status: UNCONFIRMED → NEW
Ever confirmed: true
i have the same problem with bbLean and Nightly or Aurora
it dint happen to me till before nightly decided to update on its own about 3 weeks ago
it works when i start explorer.exe first and have bbLean boot when explorer is done now can close tabs
but if i minimize it still has the animation to go back to the task bar that isn't there :/
it works but i rather close Firefox instead of having to use explorer as shell
Is it possible a bugfix for dev tools has broken that?
There is a very annoying top green flashing bar over the FF window which doesn't allow me to work with tabs. How can I dismiss it ? I'm new with bblean.
(In reply to Paul Silaghi [QA] from comment #29)
> There is a very annoying top green flashing bar over the FF window which
> doesn't allow me to work with tabs. How can I dismiss it ? I'm new with
> bblean.

Try to add firefox.exe/nightly.exe in exclusions in bbLean configuration
No change if I add firefox.exe or c:\Program Files (x86)\Nightly\firefox.exe in context menu/BlackBox/bbLeanSkin/Edit Exclusions
(In reply to Paul Silaghi [QA] from comment #31)
> No change if I add firefox.exe or c:\Program Files (x86)\Nightly\firefox.exe
> in context menu/BlackBox/bbLeanSkin/Edit Exclusions

Can you post a screenshot? Have you tried rebooting? (Looks like it does require it).
(In reply to Anton Kochkov from comment #32)
> Can you post a screenshot?
http://img838.imageshack.us/img838/2793/rtmc.png
Ah, I see. Yes, I think you need to add nightly.exe instead, not firefox.exe.(In reply to Paul Silaghi [QA] from comment #33)
> (In reply to Anton Kochkov from comment #32)
> > Can you post a screenshot?
> http://img838.imageshack.us/img838/2793/rtmc.png
There isn't any file called "nightly.exe". The source of Nightly is still a firefox.exe (c:\Program Files (x86)\Nightly\firefox.exe)
(In reply to Paul Silaghi [QA] from comment #35)
> There isn't any file called "nightly.exe". The source of Nightly is still a
> firefox.exe (c:\Program Files (x86)\Nightly\firefox.exe)

Then, what about reboot? These settings are not apply even on bbLean restart (doesn't know why).
Still the same after reboot.
Anyway, let's see if someone from development have any ideas what might have caused this.
roc, jared ?
What info you're need?
I flagged myself for information since Paul has requested me to look in to this and I don't want it to slip off of my radar. I'll let you know if I have any questions.
(In reply to Alice0775 White from comment #23)
> comment#20 pointed to regression window:
> http://hg.mozilla.org/integration/mozilla-inbound/
> pushloghtml?fromchange=823c58cdd723&tochange=73b69c146ca6

Session Store being broken, plus Session Store changes being in that range, suggests that it's a Session Store problem, bizarre as that might be.
If this is a Session Store related bug, then Tim would probably be able to help here more since he worked on https://bugzilla.mozilla.org/show_bug.cgi?id=898308 which is within that regression range.
Flags: needinfo?(jaws) → needinfo?(ttaubert)
Some more info: when I open a direct download link the browser crashes, probably because it opens a new tab (the download link) and tries to close it.
I have no clue what bblean does and why this could interfere with any of the things that show up in the pushlog. Are there any errors in the console when trying to close a tab?
Flags: needinfo?(ttaubert)
(In reply to Tim Taubert [:ttaubert] from comment #43)
> I have no clue what bblean does and why this could interfere with any of the
> things that show up in the pushlog. Are there any errors in the console when
> trying to close a tab?

bblean is a shell replacement. So it stops explorer from running and removes the taskbar and adds it's own, basically.

When trying to close a tab, I get the error: uncaught exception: 2147942487

Not being able to close tabs isn't the only issue firefox has when using bblean either, sadly.
Unless Matt sees support issues around this, bblean isn't a common user config. No need to track, but would consider a fix for uplift if found.
Flags: needinfo?(mgrimes)
Please add
Uhm, I mean 27a1 still affected
I see 4 pieces of Input total that could be related to this issue. Nothing in the last 3 weeks. There isn't anything on the SUMO forums. I think this is an edge case, but we can keep an eye out to see if it gains momentum.
Flags: needinfo?(mgrimes)
I would like to add that this bug not only applies to bbLean, but other builds of the blackbox WM too, such as xoblite.  Just tested with latest Nightly build.
What about non blackbox shell replacements?
(In reply to Alex from comment #49)
> I would like to add that this bug not only applies to bbLean, but other
> builds of the blackbox WM too, such as xoblite.  Just tested with latest
> Nightly build.

It's not just blackbox. It's any shell replacement. Apart from EmergeDesktop, it seems.
For anybody else still using bblean or any other shell and having this problem, I found a fix. Just set Firefox to vista service pack 2 compatibility. It also fixes the web dev tools as well and some other stuff, so I presume all the issues are related.
I guess this is never going to get looked at then? With each release it just gets more and more broken.

You can close tabs now, but the session manager is still broken and so you cant undo close tab and things like that. Pressing alt doesn't open up the menu, and you can no longer customize by right clicking the navigation bar. 

It would be appreciated by a lot of people if you could at least look into it.
Oh, and changing the compatibility mode no longer fixes anything.
(In reply to c4163058 from comment #54)
> Oh, and changing the compatibility mode no longer fixes anything.

Scratch that, actually. On Firefox 26.0 setting to vista service pack 2 fixes everything.
You need to have your OS up-to-date.
Assignee: nobody → ttaubert
Status: NEW → ASSIGNED
Component: Tabbed Browser → Shell Integration
Using a shell replacement like blackbox or bblean the WinTaskbar initialization may fail. WinTaskbar.GetAvailable() should return false in those cases so that we don't try to set previews for windows.

A failure in WindowsPreviewPerTab.jsm broke the browser initialization and thus lead to unclosable tabs and unusable devtools etc. This patch fixes all obvious bbLean issues on my machine.
Attachment #8358849 - Flags: review?(jmathies)
Summary: Firefox Nightly 25.0a1 (2013-07-28) - Can't close any tab with the explorer shell replacement bbLean installed → Browser initialization fails with the explorer shell replacement bbLean installed
Curious, what fails in Initialize on these systems? The creation of ITaskbarList4?
(In reply to Jim Mathies [:jimm] from comment #58)
> Curious, what fails in Initialize on these systems? The creation of
> ITaskbarList4?

I unfortunately can't investigate this right now. I'll have a Win machine accessible next week (Jan 20th) again so if anyone feels like answering this question in the meantime please go for it :)
(In reply to Tim Taubert [:ttaubert] from comment #59)
> (In reply to Jim Mathies [:jimm] from comment #58)
> > Curious, what fails in Initialize on these systems? The creation of
> > ITaskbarList4?
> 
> I unfortunately can't investigate this right now. I'll have a Win machine
> accessible next week (Jan 20th) again so if anyone feels like answering this
> question in the meantime please go for it :)

I'd like to figure this out so we can add a comment in the code noting it to prevent future regressions. Generally I'm ok with the patch.
(In reply to Jim Mathies [:jimm] from comment #58)
> Curious, what fails in Initialize on these systems? The creation of
> ITaskbarList4?

It's the ITaskbarList4::HrInit() call that fails. Added some comments to clarify.
Attachment #8358849 - Attachment is obsolete: true
Attachment #8358849 - Flags: review?(jmathies)
Attachment #8362301 - Flags: review?(jmathies)
I'm not sure if this is the best place to bring this up, but is it possible this bug affects Thunderbird too? I use bblean and have noticed that the visual new message alerts (the small popup windows) never work unless I switch the shell back to explorer. If that seems plausible I can go open a separate Thunderbird bug.
(In reply to Andrew Ramsay from comment #62)
> I'm not sure if this is the best place to bring this up, but is it possible
> this bug affects Thunderbird too? I use bblean and have noticed that the
> visual new message alerts (the small popup windows) never work unless I
> switch the shell back to explorer. If that seems plausible I can go open a
> separate Thunderbird bug.

It does seem plausible to me. I don't know much about the Thunderbird code but if you reference this bug when filing the new one I hope the developers will be able to fix that more easily.
Comment on attachment 8362301 [details] [diff] [review]
0001-Bug-899011-Make-WinTaskbar.GetAvailable-return-false.patch, v2

Thanks!
Attachment #8362301 - Flags: review?(jmathies) → review+
https://hg.mozilla.org/mozilla-central/rev/0772ae9b4153
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 29
Comment on attachment 8362301 [details] [diff] [review]
0001-Bug-899011-Make-WinTaskbar.GetAvailable-return-false.patch, v2

[Approval Request Comment]
Bug caused by (feature/regressing bug #): ?
User impact if declined: Users with shell replacements like bbLean or blackbox can't use Firefox at all. It would be great to unblock those users with a simple fix although they're clearly rather a minority. Not sure if that meets the Beta requirements but I thought I'd try :)
Testing completed (on m-c, etc.): on m-c
Risk to taking this patch (and alternatives if risky): Very small and low-risk patch.
String or IDL/UUID changes made by this patch: None
Attachment #8362301 - Flags: approval-mozilla-beta?
Attachment #8362301 - Flags: approval-mozilla-aurora?
Paul, can you please test to make sure this is fixed on Nightly?
Flags: needinfo?(paul.silaghi)
Keywords: verifyme
Comment on attachment 8362301 [details] [diff] [review]
0001-Bug-899011-Make-WinTaskbar.GetAvailable-return-false.patch, v2

Given the low risk and that it was a recent Firefox regression to have users(although minimal) end-up in a non-working browser, approving for uplift.

Also requesting QA verification once this lands on beta.
Attachment #8362301 - Flags: approval-mozilla-beta?
Attachment #8362301 - Flags: approval-mozilla-beta+
Attachment #8362301 - Flags: approval-mozilla-aurora?
Attachment #8362301 - Flags: approval-mozilla-aurora+
(In reply to Anthony Hughes, QA Mentor (:ashughes) from comment #68)
> Paul, can you please test to make sure this is fixed on Nightly?
I can't reproduce the initial issue, tested on nightlies 2013-07-29, 2013-07-30, Win 7 x64, bblean 1.17.1.
All I get is the behavior described in comment 29.

Anton, or anybody who's having trouble with this, could you please try in latest nightly to see it's fixed ?
Flags: needinfo?(paul.silaghi) → needinfo?(anton.kochkov)
(In reply to Paul Silaghi, QA [:pauly] from comment #71)
> (In reply to Anthony Hughes, QA Mentor (:ashughes) from comment #68)
> > Paul, can you please test to make sure this is fixed on Nightly?
> I can't reproduce the initial issue, tested on nightlies 2013-07-29,
> 2013-07-30, Win 7 x64, bblean 1.17.1.
> All I get is the behavior described in comment 29.

The core step to reproduce is to set blackbox.exe as your default shell and then restart Windows. On my machine (Win 7), it didn't work to set as the default shell for all users but per-user. Running blackbox on top of explorer.exe doesn't break Firefox because the WinTaskbar is initialized and available there.

The easiest way to do that is to hit Win+R, type "cmd" and then right click the command prompt to "Run As Administrator". Then change to your bbLean install dir and execute "blackbox.exe -install". Pick the per-user radio button and select blackbox.exe. Reboot.

Uninstall works the same, just call "blackbox.exe -uninstall". From bblean you might need to hit Win+E to open the explorer, navigate to C:\Windows\System32\, right click cmd.exe and "Run As Administrator" again. Reboot.
(In reply to Paul Silaghi, QA [:pauly] from comment #71)
> (In reply to Anthony Hughes, QA Mentor (:ashughes) from comment #68)
> > Paul, can you please test to make sure this is fixed on Nightly?
> I can't reproduce the initial issue, tested on nightlies 2013-07-29,
> 2013-07-30, Win 7 x64, bblean 1.17.1.
> All I get is the behavior described in comment 29.
> 
> Anton, or anybody who's having trouble with this, could you please try in
> latest nightly to see it's fixed ?

Looks like FIXED for me.
Flags: needinfo?(anton.kochkov)
(In reply to Tim Taubert [:ttaubert] from comment #72)
> The core step to reproduce is to set blackbox.exe as your default shell and
> then restart Windows
Thanks Tim.
Reproduced in nightly 2013-07-29, win 7 x64.
In nightly 2014-01-21 tab closing is working properly, also no sign of errors in the browser console.
Verified fixed.
(In reply to Anton Kochkov from comment #73)
> Looks like FIXED for me.
Thank you!
Flagging for verification in Aurora and Beta.
Status: RESOLVED → VERIFIED
User Agents: 
[1] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[2] Mozilla/5.0 (Windows NT 6.2; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[3] Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[4] Mozilla/5.0 (Windows NT 6.0; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
[5] Mozilla/5.0 (Windows NT 5.2; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0

I was able to confirm the fix for this issue on Windows 7 64-bit [1], Windows 8.1 64-bit [3], Windows Vista 64-bit [4] and Windows XP 64-bit [5] using:
- the latest Beta (Build ID: 20140123185438)
- the latest Aurora (Build ID: 20140123004002)

I also tried running bblean shell replacement on my Windows 8 64-bit [2] machine, with no success despite using different compatibility options.
You need to log in before you can comment on or make changes to this bug.