Chaos to Perfection demo fails to load in Firefox

RESOLVED WONTFIX

Status

RESOLVED WONTFIX
6 years ago
2 years ago

People

(Reporter: bugzillawatcher, Assigned: adamopenweb)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [sitewait], URL)

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

6 years ago
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:14.0) Gecko/20100101 Firefox/14.0
Build ID: 20120619191901

Steps to reproduce:

Visit the following website:
www.chaostoperfection.com/

You will notice that Firefox is blocked and doesnt even let Firefox load the page. Spoofing the user agent loads the page, but it never finishes loading, it stops at 50%. Same results in Safari on OS X when spoofing the user agent. 




Actual results:

You are directed to a page saying
"We are sorry, but it appears that your browser does not support WebGL."

Updated

6 years ago

Comment 2

6 years ago
They are using UA sniffing. Change your UA for one of Chrome (with add-on User Agent Switcher e.g.) and the WebGL animation will load.
Assignee: nobody → english-us
Component: Untriaged → English US
OS: Mac OS X → All
Product: Firefox → Tech Evangelism
QA Contact: untriaged → english-us
Hardware: x86 → All
Version: 14 Branch → unspecified
(Reporter)

Comment 3

6 years ago
(In reply to Loic from comment #2)
> They are using UA sniffing. Change your UA for one of Chrome (with add-on
> User Agent Switcher e.g.) and the WebGL animation will load.

Please see comment 0, I did that already. But the demo still fails to load, it stops at 50%.

Updated

6 years ago
Assignee: english-us → nobody
Component: English US → Canvas: WebGL
Product: Tech Evangelism → Core
QA Contact: english-us → canvas.webgl
Despite UA Faking I get

Warning: Error: WebGL: bufferData: null object passed
Source file: http://www.chaostoperfection.com/js/Main.min.js
Line: 290

in the Error Console. Though unsure if related.
Trying OpenGL WebGL + UA Faking doesn't work neither.
Version: unspecified → Trunk
Something resembling a reduced testcase (starting with unminified JS) would be really nice here...
Keywords: testcase-wanted
WFM on linux. Please reopen this bug if it's still broken for you.
Status: UNCONFIRMED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → WORKSFORME
I lied. I didn't follow the repro case properly. Indeed, I get "Error: WebGL: bufferData: null object passed".
Status: RESOLVED → REOPENED
Ever confirmed: true
Resolution: WORKSFORME → ---
Looks like we don't properly handle when bufferData is called with a null buffer. It looks like we should just allocate a zero-size buffer here.
Created attachment 823543 [details] [diff] [review]
patch: Passing `null` to bufferData should alloc a zero-sized buffer

This looks like the reasonable thing to do.
Assignee: nobody → jgilbert
Status: REOPENED → ASSIGNED
Attachment #823543 - Flags: review?(bjacob)
Summary: Chaos of Perfection demo claims that WebGL is not supported in Firefox → Chaos of Perfection demo fails to load
Comment on attachment 823543 [details] [diff] [review]
patch: Passing `null` to bufferData should alloc a zero-sized buffer

Review of attachment 823543 [details] [diff] [review]:
-----------------------------------------------------------------

The existing code is intentional; this change breaks conformance with the spec. http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.5 says clearly:

void bufferData(GLenum target, ArrayBuffer? data, GLenum usage) (OpenGL ES 2.0 §2.9, man page)
    Set the size of the currently bound WebGLBuffer object for the passed target to the size of the passed data, then write the contents of data to the buffer object.

    If the passed data is null then an INVALID_VALUE error is generated. 

The code also has a comment linking to the khronos bug where this was agreed on.
Attachment #823543 - Flags: review?(bjacob) → review-
Ok, excellent. I somehow managed to overlook the comments in the middle when I read the khronos bug.

This is actually two bugs, one in the webpage and one in Chrome. Firefox is working properly here.
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago5 years ago
Resolution: --- → WONTFIX
Jeff, Benoit, please file the bug on Chrome!
Status: RESOLVED → REOPENED
Component: Canvas: WebGL → English US
Keywords: testcase-wanted
Product: Core → Tech Evangelism
Resolution: WONTFIX → ---
Does Chrome actually allow this?

https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/core/html/canvas/WebGLRenderingContext.cpp

Scroll down to bufferData:

void WebGLRenderingContext::bufferData(GC3Denum target, ArrayBuffer* data, GC3Denum usage)
{
    if (isContextLost())
        return;
    WebGLBuffer* buffer = validateBufferDataParameters("bufferData", target, usage);
    if (!buffer)
        return;
    if (!data) {
        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "no data");
        return;
    }
    m_context->bufferData(target, data->byteLength(), data->data(), usage);
}

void WebGLRenderingContext::bufferData(GC3Denum target, ArrayBufferView* data, GC3Denum usage)
{
    if (isContextLost())
        return;
    WebGLBuffer* buffer = validateBufferDataParameters("bufferData", target, usage);
    if (!buffer)
        return;
    if (!data) {
        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "no data");
        return;
    }

    m_context->bufferData(target, data->byteLength(), data->baseAddress(), usage);
}


As far as I can see, they are correctly rejecting the null data case with an INVALID_VALUE error, just like we are!
Attachment #823543 - Attachment is obsolete: true
Created attachment 825545 [details]
testcase: bufferData(null) should cause INVALID_VALUE

Simple testcase for this behavior.
Testcase works fine in Firefox and Chrome.
The problem must be elsewhere in the website.
Since there's nothing obvious on our end, the best way forward is to try to get the author to debug it on their end.
Assignee: jgilbert → english-us
(Assignee)

Comment 17

4 years ago
Still not working in FF29. It doesn't get very far in Chrome 34 without errors either. 

Maybe Maxime Montegnies can help: http://fr.linkedin.com/in/montegnies
Assignee: english-us → astevenson
Component: English US → Desktop
Whiteboard: [sitewait]
(Assignee)

Updated

4 years ago
Summary: Chaos of Perfection demo fails to load → Chaos to Perfection demo fails to load in Firefox

Comment 19

4 years ago
Hi there.
I will look at this as soon as I have some time and will keep you informed.
I was in charge of making the main webGl stuff but I can certainly help with the half integration.
(Assignee)

Comment 20

4 years ago
Thank you Maxime, appreciate the help.
(Assignee)

Comment 21

2 years ago
Update: site still doesn't load in Firefox (or Safari). In Chrome it loads but fails not long after starting. I'm thinking we should close this, the issue was reported 4 years ago and it doesn't work in other browsers now.
Agreed.
Status: REOPENED → RESOLVED
Last Resolved: 5 years ago2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.