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

Issue 901629 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 901383
Owner:
Closed: Nov 9
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 902569



Sign in to add a comment

WebGL will not attach CORS loaded texture map

Reported by aa...@lunadigital.tv, Nov 3

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36

Steps to reproduce the problem:
1. Visit test case: https://dev.lunadigital.tv/chrome-webgl-bug/
2. Open developer tools

(View link in Firefox for expected result)

What is the expected behavior?
I expect the browser to apply the CORS loaded video file to a texture map and play the video file.

What went wrong?
Browser returns numerous CORS errors.

THREE.WebGLState: DOMException: Failed to execute 'texImage2D' on 'WebGLRenderingContext': The video element contains cross-origin data, and may not be loaded.

Did this work before? Yes Never checked, likely the last stable version of Chrome

Chrome version: 70.0.3538.77  Channel: stable
OS Version: Fedora 28
Flash Version: 

I opened a ticket with the THREE JS team and they directed me here. Link to the ticket: https://discourse.threejs.org/t/cors-texture-error-on-chrome-in-linux/4596

The loaded video object is set to 'anonymous', which is a common solution to this kind of problem, but it's been loading with 'anonymous' set long before it broke.

I think this problem is limited to WebGL because I can directly insert the video file into the document with an appendChild() call in the browser with no problem:

document.body.appendChild(player.stage.children[0].material.map.image)
 
Labels: Needs-Bisect Needs-Triage-M70
Cc: vamshi.kommuri@chromium.org
Components: -Blink Blink>WebGL
Labels: -Pri-2 -Needs-Bisect RegressedIn-70 Triaged-ET ReleaseBlock-Stable Target-70 Target-71 Target-72 M-70 FoundIn-71 FoundIn-70 FoundIn-72 hasbisect OS-Mac OS-Windows Pri-1
Owner: jiajia....@intel.com
Status: Assigned (was: Unconfirmed)
Thanks for filing the issue!

Able to reproduce the issue on reported chrome version 70.0.3538.77 and on the latest canary 72.0.3601.0 using Ubuntu 14.04, Windows 10 and Mac 10.13.1

Bisect Information:
-------------------
Good Build: 70.0.3508.0
Bad Build:  70.0.3509.0

Providing the changelog from Omahaproxy as we are getting runtime error while running per-revision bisect, neither chromium bisect helped. I.e., all the invoked builds couldn't play the video and we didn't observe the error mentioned in c#0 in console.

https://chromium.googlesource.com/chromium/src/+log/70.0.3508.0..70.0.3509.0?pretty=fuller&n=10000
Suspecting: https://chromium.googlesource.com/chromium/src/+/bb1ff6ae23813a01f053dbc64ccf032b8a4c4025
Review URL: https://chromium-review.googlesource.com/1152690

@Jiajia Qin: Please help us in assigning it to the right owner if this isn't related to your change. Adding RBS as this seems to be a recent regression please change/remove if not required.
Cc: kbr@chromium.org jiajia....@intel.com kainino@chromium.org
Owner: ----
Status: Available (was: Assigned)
Remove me from the owner. It's not possible that my change causes this regression. My change is only to add a new API 'bindImageTexture' for webgl2-compute context which is behind a flag. If the test case doesn't use 'webgl2-compute' context and call 'bindImageTexture' explicitly, it's not possible to enter my code path. In addition, bindImageTexture won't affect texImage2D and this feature is not available on Mac.
Labels: -hasbisect Needs-TestConfirmation Needs-Bisect
We need a per-revision bisect for this issue.
Components: Blink>SecurityFeature>CORS
Labels: -Needs-TestConfirmation -Needs-Bisect hasbisect-per-revision
Owner: japhet@chromium.org
Status: Assigned (was: Available)
Faced the issue with per revision bisect on Mac but worked fine on linux, hence updating the result from there.

You are probably looking for a change made after 579252 (known good), but no later than 579253 (first known bad).
CHANGELOG URL:
 https://chromium.googlesource.com/chromium/src/+log/3860ee78d5dcee57cc223582d766976d60e6c885..7a7c46db9c1c9e5b557d73b71af515e2188e956e
Suspecting: https://chromium.googlesource.com/chromium/src/+/7a7c46db9c1c9e5b557d73b71af515e2188e956e
Review URL: https://chromium-review.googlesource.com/1150695

@Nate Chapin: Please help in assigning it to the right owner if this isn't related to your change.

Thanks!
Components: Blink>Loader
Blocking: 902569
Cc: yhirano@chromium.org
M71 Stable promotion is coming VERY soon. Your bug is labelled as Stable  ReleaseBlock, pls make sure to land the fix and request a merge into the release branch ASAP. Thank you.
Labels: M-72 M-71
When I run this on stable (m70), I see the failure described in the bug report. However, when I try to run this on m72, I get 2 console errors.

One during page load that just says "steamx.min.js:1 An error happened."

The other after clicking start:
steamx.min.js:1 Uncaught TypeError: Cannot read property 'image' of null
    at Stage.play (steamx.min.js:1)
    at Player.play (steamx.min.js:1)
    at Player.onVideoPlayButtonClick (steamx.min.js:1)


...it's unclear to me why there's a different across versions.
It looks like that's associated with the code used to load the video file, so it's possible there's a bug in my code there that I haven't found yet.

Is m72 the same version as Chrome unstable? I'm on Fedora Linux, I could take a look on my end and see if it's related to my code or not.
I cannot reproduce @Japhet's result on Firefox. Chrome unstable (v 	72.0.3602.2) still shows original bug. Can test more if I can download the m72 build @Japhet is referencing.
@aaron, would you mind trying reproducing with a very recent build from our continuous builders? This one should do (for Linux):

https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F606633%2Fchrome-linux.zip?generation=1541718161394139&alt=media

I'm surprised to see a behavior difference between 72.0.3602.2 and our continuous builders, given that 72.0.3602.2 is only a couple days old. I'm wondering if I've got a configuration problem of my own...
I'm not sure if it's related but, I landed a fix for a similar CORS/media  issue 901383  - https://crrev.com/657a055a66492e996b296d7bb999e3c8551eed23 this morning. But that issue appeared at 71, not 70.
I can reproduce the issue with stable (Windows). I cannot reproduce the issue with 72.0.3606.0 (Windows). double-check will be appreciated.
I'm able to reproduce @Japhet's issue on the continuous build. It doesn't seem to be an issue in the JS code though, but more an issue with the browser loading the video at all. If you look in the Network tab and click through the JW player generated link, it can't load it in the browser either.

It could also be an issue on JW's end, but it's odd that this particular problem is only on the continuous build and not in my stable or unstable builds from Fedora's repos.
Mergedinto: 901383
Status: Duplicate (was: Assigned)
Sigh. The failures I described in Comment #12 are specific to chromium (i.e., non-Chrome-branded) builds, because ffmpeg is configured differently. Building locally with the GN arg:
ffmpeg_branding = "Chrome"
...fixed that issue.

I verified that yhirano's fix (https://crrev.com/657a055a66492e996b296d7bb999e3c8551eed23) also resolves the original report in this issue, so marking this as a duplicate of 901383.
Thank you japhet@ for getting to the bottom of this.

Submitter: the fix for this is being aimed at Chrome 71. We're sorry that Chrome 70 will remain broken, but merges back to Chrome's stable branch carry risk, and are reserved for only extremely urgent fixes like security bugs. Please test your site with Chrome Beta (and, ideally, Chrome Canary) on a regular basis and file bugs if you see them - feel free to email me the bug IDs so we can ensure they get triaged more quickly. Thank you.

Thanks for all the help figuring this one out! I'll be sure to test on Chrome Beta more often. When is 71 slated for release?
Cc: krajshree@chromium.org japhet@chromium.org ajha@chromium.org toyoshim@chromium.org ligim...@chromium.org
 Issue 902569  has been merged into this issue.

Sign in to add a comment