New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 762951 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Ctl+N sometimes opens new window with tabs from a previously-closed window

Reported by tabf...@zoho.com, Sep 7 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36

Steps to reproduce the problem:
This is new since I updated to Chrome 61 this morning.
0. In Settings | On Startup, set "Pages to open" to Specific page `about:blank`.  (This is the way I have had it set for a long time.) 
1.  open a popup (e.g., `chrome.windows.create({type:'popup', url:'about:blank'})`).
2. From the popup, hit Ctl+N.

What is the expected behavior?
A new window with one tab showing `about:blank`

What went wrong?
Unfortunately, this is a heisenbug.  Since updating to Chrome 61 this morning, Ctl+N will sometimes populate the newly-opened window with tabs from a previous session.  I have not been able to consistently reproduce, but I will post an update if I am able to do so.

Did this work before? Yes Chrome 60

Chrome version: 61.0.3163.79  Channel: stable
OS Version: 6.3
Flash Version: 

- This may be related to #746745, but I don't know enough about the codebase to be sure.  
- I encountered this issue while testing my Chrome extension, TabFern, with M-61.  However, TabFern does not trap or process Ctl+N, so I don't think that's the issue.  Its key event handlers are installed at https://github.com/cxw42/TabFern/blob/master/src/view/bypasser.js#L121 in case you want to see them.  Thank you!
 

Comment 1 by tabf...@zoho.com, Sep 7 2017

OK - a sort-of repro - after steps 0 and 1 above:
1.1 Open the Developer Tools window for the `about:blank` popup
1.2 Open a window with the following tabs (JSON follows):
["https://chromereleases.googleblog.com/2017/09/stable-channel-update-for-desktop.html", "chrome://extensions/", "https://bugs.chromium.org/p/chromium/issues/detail?id=762951", "https://bugs.chromium.org/p/chromium/issues/detail…ponent%20Status%20Owner%20Summary%20OS%20Modified", "https://github.com/cxw42/TabFern/blob/master/src/view/bypasser.js#L121"]
1.3 Close that window by clicking the X in the upper-right corner
1.4 Click into the `about:blank` popup
1.5 Hit Ctl+N

This re-opens the window in the same place it was when closed, with the same set of five tabs.  

- This happens whether the TabFern popup is open or closed.  
- There are no log messages in the Developer Tools window for the about:blank popup.
- I also tried hitting Ctl+N in the `about:blank` popup before closing the five-tab window, and I got the expected one-tab (about:blank) window.

Comment 2 by tabf...@zoho.com, Sep 7 2017

Sorry for the number of comments - I am trying to keep my ability to repro alive as long as possible, which involves closing and opening the issue window!

I disabled all extensions through chrome://extensions and was still able to repro using steps 1.3--1.5 in #1.  I was also able to repro after closing the chrome://extensions tab.

Comment 3 by tabf...@zoho.com, Sep 7 2017

OK, and one more that may be related (let me know if it is a separate issue) - sometimes, TabFern's calls to `chrome.windows.create({url:[]}...)` get more results than they expect.  Example that happened just now:

- I reopened my repro window through TabFern.  This involved a `chrome.windows.create` call with a `url` array of four strings.
- The `create` callback got `win.tabs.length==4` (https://github.com/cxw42/TabFern/blob/v015pre1/src/view/view.js#L873 did *not* execute).  
- In the `create` callback, I called `chrome.windows.get` to work around this issue (https://github.com/cxw42/TabFern/blob/v015pre1/src/view/view.js#L898).
- The `get` callback got eight tabs.  I know because the check at https://github.com/cxw42/TabFern/blob/v015pre1/src/view/view.js#L901 *did* execute, producing `Win 1910: expected 4 tabs; got 8tabs --- pruning.`  TabFern then removed the four extra tabs, leaving me with the four I expected. 

Since I am seeing similar behavour with Ctl+N and `chrome.windows.create`, it makes me think perhaps there is a common underlying issue.
Cc: ranjitkan@chromium.org
Labels: Needs-Triage-M61 Needs-Feedback
Thanks for filing the issue, tried to reproduce the issue following the steps mentioned in comment#0. When tried to create a popup from dev console it showing the following error (Screen Shot attached). Can you please check and let us know if there is other way to invoke the popup or correct me If I am wrong.

Tried on Win 10 with chrome version 61.0.3163.79.

Thanks.!
Error-Console.png
111 KB View Download

Comment 5 by tabf...@zoho.com, Sep 8 2017

ranjitkan, thanks for following up!  Apologies --- I should have clarified that the chrome.windows.create call has to come from a window opened by an extension with the "tabs" permission.  Running

window.open('about:blank','','height=200,width=150')

in a regular JavaScript console looks like it has the same effect --- the resulting window has type:'popup' when viewed through the chrome.windows extension API.  However, I have not yet been able to reproduce from a window created that way.

Somewhere in the middle of the day yesterday my existing test case stopped reproducing.  However, late yesterday it happened again after I had closed a window with only a single YouTube tab --- a Ctl+N reopened that tab in the new window.  I think I will try setting up TabFern to create new windows periodically and break when the tab count is unexpected --- that might be a more effective way to reproduce.  I will post back with updates.
Project Member

Comment 6 by sheriffbot@chromium.org, Sep 8 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "ranjitkan@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 7 by tabf...@zoho.com, Sep 12 2017

Well, I haven't been able to reproduce.  If you want to try it, I have the following semi-automated procedure (which may or may not have the right combination of circumstances):

1. Install TabFern (https://chrome.google.com/webstore/detail/tabfern-tab-manager-and-b/hbajjpcdbninabigakflkhiogmmjaakm)
2. From the TabFern popup window, open the Developer Console
3. In the console, set IssueTester=762951 (this is a safety check since the production TabFern includes debugging code :D )
4. Open a Chrome window, go to about:about, and move the window somewhere almost offscreen.
5. In the console, run DBG_TestIssue()
6. Minimize (but do not close!) the console, if you want to.
6. Close the about:about window if you want to.

Every 1-2 minutes, DBG_TestIssue() will open a window with 0-3 tabs, in an effort to trigger the bug.  If the number of tabs differs from that expected, the TabFern window will freeze and the debugger in the Developer Console will be paused at the point the mismatch was detected.  This can be left running in the background --- each window opened is immediately closed.  Plus, the window will be opened at the size and position of the about:about window, so if you put that almost offscreen, it won't be too distracting :) .

Unfortunately, I have not been able to reproduce the issue over the last two days of running DBG_TestIssue() in the background.  That makes me think that function may not be accurately simulating my environment at the time described in comment #0.

I believe this is not extension-related, since I was able to reproduce before with all extensions disabled (comment #2).  However, I may be wrong!  If no one else can reproduce, feel free to close this one out, and I'll re-open if I figure out anything more.
Status: WontFix (was: Unconfirmed)
Unable to reproduce the issue on Win-7 and Win-10 using chrome latest stable #61.0.3163.91.
Hence, as per comment #7, closing the issue as wontfix.
Please feel free to raise a new issue if the issue reproduces again.

Thanks...!!

Not opening a new issue because I don't have a reliable repro.  However, I want to let you know that this hadn't happened to me for a long time, but it just started happening again after the update to Chrome 68.  Full version below. 

I note this forum thread which seems to describe similar symptoms: https://productforums.google.com/forum/#!topic/chrome/7kOoC_tjg2M


Google Chrome	68.0.3440.106 (Official Build) (64-bit) (cohort: 68_106_win)
Revision	1c32c539ce0065a41cb79da7bfcd2c71af1afe62-refs/branch-heads/3440@{#794}
OS	Windows
JavaScript	V8 6.8.275.26
Flash	30.0.0.134 C:\Users\chrisw\AppData\Local\Google\Chrome\User Data\PepperFlash\30.0.0.134\pepflashplayer.dll
User Agent	Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36
Command Line	"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end
Executable Path	C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
Profile Path	C:\Users\<me>\AppData\Local\Google\Chrome\User Data\Default
Variations	
c134752e-8af207f5
265533-3d47f4f4
1a0d11d4-ca7d8d80
ebeb14fc-3f4a17df
34a6bf44-f23d1dea
752a9400-3d47f4f4
bacf97b2-ca7d8d80
241fff6c-1623a499
3095aa95-3f4a17df
c27fec31-2d5b6ed9
7c1bc906-f55a7974
47e5d3db-3d47f4f4
125b7f68-865cc400
1149accc-3d47f4f4
4dc30737-b8a5ea08
a582a1b8-ad75ce17
3042ad4b-ca7d8d80
ebbb4e0a-ca7d8d80
e56c5101-27a0c3c6
267255c3-f4950e99
44827ee5-f23d1dea
334aa58d-ca7d8d80
5e3a236d-4113a79e
8f1e27f-ca7d8d80
de47491b-3f4a17df
9773d3bd-f23d1dea
43f62d3b-ca7d8d80
9e5c75f1-924ab050
da92f51d-3d47f4f4
f79cb77b-3d47f4f4
e5218ffe-ca7d8d80
4ea303a6-ecbb250e
bcc34a89-3f4a17df
7aa46da5-c946b150
2c1d398c-ca7d8d80
6973a1cf-3f4a17df
cac0a91c-77662737
58a025e3-36e97b2c
2a32876a-ca7d8d80
ff29b1bd-37ef7e17
da460ac8-3f4a17df
4bc337ce-69465896
9a2f4e5b-ca7d8d80
1354da85-eb933ac9
17507c76-ca7d8d80
494d8760-52325d43
f47ae82a-746c2ad4
3ac60855-486e2a9c
f296190c-19dcaa1a
4442aae2-d7f6b13c
ed1d377-e1cc0f14
12e17bc5-e1cc0f14
75f0f0a0-6bdfffe7
e2b18481-4ad60575
e7e71889-4ad60575
3a4029d-ca7d8d80
94e68624-803f8fc4
8834fcca-ca7d8d80
81c6897f-3f4a17df
Linker	lld-link
... and just to let you know I'm not crazy, here's a screenshot :) .  

 - Create a  new window, and make sure it has only one tab, that with GitHub.
 - Close that window
 - From an extension popup, call chrome.windows.create({url:[<#1>, <#2>, <#3>]}, (cwin)=>{...} )

Observed:
 - chrome.runtime.lastError is undefined (success)
 - cwin.tabs is an array with three items
 - There are actually four tabs open in the window - the fourth is GitHub!


screenshot-762951-2018-08-09.png
20.2 KB View Download

Sign in to add a comment