ID:2054166
 
Resolved
Changing rendering modes could sometimes crash the renderer.
BYOND Version:510.1331
Operating System:Windows 7 Pro 64-bit
Web Browser:Firefox 43.0, Chrome.
Applies to:Webclient
Status: Resolved (510.1332)

This issue has been resolved.
Descriptive Problem Summary:
Clicking on the render mode button in the lower right corner causes the primary view window to go black and never recover.

Numbered Steps to Reproduce Problem:
1. Load up game in web client.
2. Click Render Mode button in lower right corner
3. Watch as your screen goes black.
4. Click the button more times, you'll never get your view back.

Code Snippet (if applicable) to Reproduce Problem:
No known code applicable


Expected Results:
Render mode/quality should change.

Actual Results:
Rendered view goes totally black.

Does the problem occur:
Every time, under multiple user names, under different computers, under different web browsers.

When does the problem NOT occur?
When I don't touch the button.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.)
Unknown.

Workarounds:

Are there any errors in the JavaScript console that might provide a clue? If it's not recovering from the change, that would imply the map loop is crashing.
In response to Lummox JR
Lummox JR wrote:
Are there any errors in the JavaScript console that might provide a clue? If it's not recovering from the change, that would imply the map loop is crashing.

Here's the entire report:

StageXL render engine : RenderEngine.Canvas2D webclient.dart.js:32042:9
Error:
webclient.dart.js:21743:17
StageXL render engine : RenderEngine.WebGL webclient.dart.js:32042:9
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11
Error:
webclient.dart.js:21743:17
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: drawElements: incomplete framebuffer webclient.dart.js:35570:11
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) webclient.dart.js:34982:9
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) webclient.dart.js:34982:9
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) webclient.dart.js:34982:9
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) webclient.dart.js:34982:9
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) webclient.dart.js:34982:9
Error: WebGL: clear: incomplete framebuffer webclient.dart.js:34982:9
Error: WebGL: No further warnings will be reported for this WebGL context. (already reported 32 warnings) webclient.dart.js:34982:9
timeout: Connection timeout. Check the Error Console on both ends for potential error messages. Reopen the Web Console to try again.
StageXL render engine : RenderEngine.Canvas2D webclient.dart.js:32042:9
Error:
In response to Lummox JR
Looks like the SPECIFIC issue might be - "Error: WebGL: A texture is going to be rendered as if it were black, as per the OpenGL ES 2.0.24 spec section 3.8.2, because it is a 2D texture and its width or height is equal to zero. webclient.dart.js:35570:11"
The zero-width texture is meaningless; ignore it. The real problem is likely here:

Error:
webclient.dart.js:21743:17


There's no message with that error. Is there any way to expand that in the console?
In response to Lummox JR
Lummox JR wrote:
The zero-width texture is meaningless; ignore it. The real problem is likely here:

Error:
> webclient.dart.js:21743:17


There's no message with that error. Is there any way to expand that in the console?

When I click on the error, this tab opens up and this code bit gets highlighted - http://i.imgur.com/hJvTKLb.png
Thanks, I think I can work with that.
Lummox JR resolved issue with message:
Changing rendering modes could sometimes crash the renderer.