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

Issue 803416 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Deleting iframe from externally loaded script changes page mode to loading

Reported by urkass1...@gmail.com, Jan 18 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

Steps to reproduce the problem:
1. Create iframe
2. Append iframe to dom
3. Create function that closes iframe document and removes iframe from dom. Save it to iframe's window.
4. Make external script that calls this function.
5. Make document.write with tag script that loads this script
6. Run code and page will hang in loading mode

it happens with opened devtools every reload. And sometimes with closed devtools.

Example with bug: https://urkass.github.io/forChromiumBug/index-with-bug.html
Example without bug: https://urkass.github.io/forChromiumBug/index-without-bug.html
Bug is reproduced only when we load external script. Inline script works well.

What is the expected behavior?
Page in normal mode. As in example without bug.

What went wrong?
Page in loading mode. Spinner instead of favicon.

Did this work before? Yes 58.0.2991.0

Chrome version: 63.0.3239.132  Channel: stable
OS Version: OS X 10.12.6
Flash Version:
 
Labels: Needs-Bisect Needs-Triage-M63

Comment 2 by tkent@chromium.org, Jan 19 2018

Components: -Blink Blink>Loader
Cc: vamshi.k...@techmahindra.com
Labels: Needs-Feedback Triaged-ET
Checked the issue on reported chrome version 63.0.3239.132 and on the latest canary 65.0.3325.0 using Mac 10.13.1 with the below mentioned steps.
1. Launched Chrome
2. Navigated to both the URLs provided in comment#0
One URL rendered Blank page and other just kept loading. Attaching the screen cast of the same.

@Reporter: Could you please check the screen cast and let us know know whether the steps followed was correct. And please attach a sample test file as it would be out of scope for ET team to create an iframe and append it to dom. Any further inputs from your end helps us to triage the issue in a better way.

Thanks!
803416.mp4
5.6 MB View Download
Hello. I've checked screencast. Steps are correct.

Html file with bug reproduction:
https://github.com/Urkass/forChromiumBug/blob/master/index-with-bug.html

Script file that is loaded by html file with bug reproduction:
https://github.com/Urkass/forChromiumBug/blob/master/index.js

Html file without bug reproduction:
https://github.com/Urkass/forChromiumBug/blob/master/index-without-bug.html

Thanks!
Project Member

Comment 5 by sheriffbot@chromium.org, Jan 19 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "vamshi.kommuri@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: Needs-Feedback
Checked the issue on reported chrome version 63.0.3239.132 and on the latest canary 66.0.3327.0 using Mac 10.13.1 with the below mentioned steps.
1. Launched Chrome
2. Navigated to the URLs provided in comment#4
3. Pasted the code present in both the URLs in dev tools console
4. They both rendered "Uncaught SyntaxError"
Attaching the screen cast of the same.
We even tried creating a .html file with the given code opened it throught chrome, still they resulted in the same.

@Reporter: Could you please check the screen cast and let us know if the process followed was correct. It would be highly helpful if clarified on point no.4 of comment#0 about calling a function. Providing a screen cast/screenshot showing the problem helps us to triage it in a better way.

Thanks!
803416.mp4
7.9 MB View Download
Sorry, it happened after some refactoring. Already fixed. Take a look one more time please.
Thanks!
Project Member

Comment 8 by sheriffbot@chromium.org, Jan 22 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "vamshi.kommuri@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: Needs-Feedback
@Reporter: Could you please clarify us on your comment#7 which says "it happened after some refactoring. Already fixed". Does that mean the issue caused due to your change? and please clarify on "Already fixed". Please confirm if we can close the issue if it got resolved.

Thanks!
No, I fixed an example page that represents a bug. Now it represents it correctly. Bug in chrome still exists.
https://bugs.chromium.org/p/chromium/issues/detail?id=803416#c3 correctly represented it.
Project Member

Comment 11 by sheriffbot@chromium.org, Jan 23 2018

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "vamshi.kommuri@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Pri-2 -Needs-Bisect hasbisect-per-revision ReleaseBlock-Stable RegressedIn-63 M-66 FoundIn-65 FoundIn-64 FoundIn-66 Target-66 Target-65 Target-64 OS-Linux OS-Windows Pri-1
Owner: japhet@chromium.org
Status: Assigned (was: Unconfirmed)
Rechecked the issue as per the confirmation given by the reporter in comment#10.
Able to reproduce the issue on reported chrome version 63.0.3239.132 and on the latest canary 66.0.333.0 using Mac 10.13.1, Ubuntu 14.04 and Windows 10.

Bisect Info:
=================
Good Build : 63.0.3232.0
Bad Build: 63.0.3233.0

Change Log: 
You are probably looking for a change made after 506443 (known good), but no later than 506444 (first known bad).
  https://chromium.googlesource.com/chromium/src/+log/4dccf5d1c1bf257fdf600271404a8dd8d6d06fc6..3ecbb0c68cd72a8f2a9ef16691e6c13c9b80d0fc
Suspecting: https://chromium.googlesource.com/chromium/src/+/3ecbb0c68cd72a8f2a9ef16691e6c13c9b80d0fc

Review URL: https://chromium-review.googlesource.com/696324

@japhet: Please help in re-assigning to others this is not related to your change.

Note: Adding RB-Stable, Please feel free to remove if it is not applicable.

Thanks!

Comment 13 by ajha@chromium.org, Jan 24 2018

Labels: -M-66 M-64
Tagging with M-64, feel free to adjust if someone feels otherwise.
Labels: -M-64 M-65
Punting this to M65 stable roll out.
Status: Started (was: Assigned)
This bug requires a specific sequence of steps:
1. Add an iframe and have it complete loading while its parent is still blocked from firing onload on something else (in the case of this repro, we haven't finished parsing the parent's html).
2. open() the iframe's document while the parent is still loading. Because the iframe is now parsing, it is back in the loading state, and will therefore block the parent from firing onload.
3. Let everything that is blocking the parent's onload complete, except the iframe.
4. Remove the iframe.

I'll do my best to have something mergeable for M65, but especially if it's already been out on stable for several weeks, this is a sufficiently unusual set of steps that I'm not convinced it should be a release blocker.
Labels: -ReleaseBlock-Stable
As per C#15, removing stable blocker for now.Please add if required.

Thanks..!
Status: Fixed (was: Started)
This should be fixed in canary. Regarding whether this gets merged to M65...

The case for merge:
* It's annoying that a page can leave itself in the loading-forever state.

The case against merge:
* This is already present on stable.
* It requires a fairly specific set of steps to trigger, and if the page does almost anything else after that, it will fix itself.
* The user could always just hit the stop button.
* The bug fix *should* be safe, but the code around stopping loading a page is very subtle, and it's entirely possible I introduced a bug.

I think this is a no-merge situation, but I'm happy to be persuaded otherwise.

Sign in to add a comment