BrowserWorks / Waterfox-Classic

The Waterfox Classic repository, for legacy systems and customisation.
https://classic.waterfox.net
Mozilla Public License 2.0
181 stars 32 forks source link

New tab shows up in tab list but is not clickable; Waterfox then cannot be closed from top-right X window button #8

Open BchWut opened 3 years ago

BchWut commented 3 years ago

Describe the bug Sometimes when I Ctrl+click on a link to open a new tab, or middle-click on a link, the new tab becomes visible as the default website name, but the tab icon doesn't load, the tab is not clickable and the close window button becomes unusable, The close tab X does not appear. I need to close the Waterfox window by right-clicking it in the task bar or Alt-F4'ing. Usually if I restart, the culprit tab is either not there, as if I never clicked the link, or it loads normally.

I'm on a 5950x w/ 64 gig of ram and default Waterfox performance settings. IF THIS BUG IS LIKELY REPRODUCIBLE IN FIREFOX, PLEASE REPORT TO MOZILLA.

To Reproduce Steps to reproduce the behavior:

  1. Go to 'click on a bunch of links'.
  2. Click on 'a bunch of links'
  3. Some links don't open up in tabs properly
  4. See error

Expected behavior The tabs should load properly and be clickable. The close window button should still be working.

Screenshots If applicable, add screenshots to help explain your problem.

System (please complete the following information):

Additional context See below the screenshot of me trying to load some pages. The second last one is the broken one.

image

MrAlex94 commented 3 years ago

Do you get the same problem in safe mode?

reallyuniquename commented 3 years ago

https://bugzilla.mozilla.org/show_bug.cgi?id=1389784

Could be related.

reallyuniquename commented 3 years ago

For the record I do experience this too across all my profiles but it's rare and hard to reproduce.

It's particularly nasty bug. When tab browser is undefined it breaks a lot of critical things like session saving.

I'm fairly certain patch from message above should cover this.

BchWut commented 3 years ago

I admit I use uBlock Origin. I've tried the alleged fix of "element picker -> image -> click somewhere else" trick and will hopefully make it go away after this browser restart. Cheers.

reallyuniquename commented 3 years ago

I don't think this is related to uBO.

naqaden commented 2 years ago

This happens to me without uBO installed. I also can't figure out how to reproduce it, but when it happens, I can spam ctrl+T to produce more. I can get up to 20-30 ghost tabs this way. Eventually a proper new tab is created, ending the streak.

naqaden commented 1 year ago

It can also happen when reopening a closed tab (ctrl+shift+T), in which case that tab is removed from the closed list and lost.

naqaden commented 1 year ago

I figure none of this is helpful if the fix for the issue posted above is all we need, but I've noted some other behaviors just in case.

It breaks developer tools on other tabs. I can open the panel (F12 or CTRL+SHIFT+I), but it's blank and can't be closed.

It can't be dragged out of its window to create a new window, like normal tabs can. If another window already exists, it acts like it can be dragged there, but instead creates a proper new tab there while actually staying in its original window.

It can be duplicated via context menu (maybe a Tab Mix Plus feature). Similarly creating a new tab (CTRL+T) while on the ghost tab creates a new ghost tab. It can be pinned and unpinned, which seems to be the only way to reorder it among other tabs.

reallyuniquename commented 1 year ago

You need to use internal brower console (CTRL+SHIFT+J) and a few javascript lines to terminate a ghost tab.

naqaden commented 1 year ago

Nice to see that console still works. Would you mind sharing this ghostbuster javascript?

Edit: After a little experimentation, this worked for me: [...gBrowser.tabs].forEach(tab=>{if(tab._labelIsContentTitle===undefined)tab.remove()})

My experience and sample size is fairly limited here, but it seems to me only ghost tabs are missing the _fullLabel attribute. This ghostbuster removes any tabs missing that attribute.

Edit2: iterate a copy of gBrowser.tabs, else tab.remove() skips tabs when multiple ghost tabs exist. check _labelIsContentTitle instead of _fullLabel since ghost tabs spawned by the search bar have _fullLabels

naqaden commented 1 year ago

I can reliably reproduce this issue by creating a new tab while hovering an unloaded tab.

Squall-Leonhart commented 5 months ago

would have to bring the change from https://bugzilla.mozilla.org/show_bug.cgi?id=1389784 and get a new classic build out.

Squall-Leonhart commented 3 months ago

I can reliably reproduce this issue by creating a new tab while hovering an unloaded tab.

it becomes quite easy to replicate above 1000 tabs.