Closed
Bug 1421182
Opened 7 years ago
Closed 1 year ago
Google map crash in OSX with Intel HD Graphics 3000
Categories
(Core :: Graphics: CanvasWebGL, defect, P3)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: daoshengmu, Unassigned)
References
Details
(Keywords: crash)
Crash Data
Attachments
(1 file)
85.27 KB,
image/png
|
Details |
Although we have given a workaround patch for Bug 1413269, we still need to find the root cause for this crash. This crash only happens on the specific hardware, MBP with Intel HD Graphics 3000.
Btw, I upload an attachment for devTool: Canvas inspector. We can realize the WebGL draw calls when viewing Google map from this snapshot.
Reporter | ||
Comment 1•7 years ago
|
||
The attachment link, https://drive.google.com/file/d/1p4pzFDGkAM8IHcPuL746rhAIpbHcU3qK/view?usp=sharing
Reporter | ||
Updated•7 years ago
|
Assignee: nobody → dmu
Reporter | ||
Comment 2•7 years ago
|
||
I notice Google map will send a very big number to gl.drawArrays(TRIANGLES, 52308, 3060), and it seems to exceed the vertex buffer size.
If I add a temporary condition for checking the number of `first` and `vertCount` at WebGLContext::DrawArrays() to avoid the number is bigger than 100, it would be more difficult to happen crashes. But, it still has chance to crash...
Reporter | ||
Comment 3•7 years ago
|
||
Adding a check for avoiding the loc is nullptr at WebGLContext::Uniform4f() of WebGLContextGL.cpp is also helpful. I don't see any crash currently.
Reporter | ||
Comment 4•7 years ago
|
||
I disable gl.multithreaded and here is the last draw call before crash.
WebGLContext::DrawArrays()
mode GLenum 4
first GLint 0
vertCount GLsizei 6
The buffer data size is 48 and only attrib0 is enabled. Its mByteLength is 48, mBytesPerVertex is 8, and mStride is 8.
I think the number from the vertex buffer makes sense. :jgilbert do you have any thought that might be a good point to keep investigating? Thanks!
Flags: needinfo?(jgilbert)
Reporter | ||
Comment 5•7 years ago
|
||
We can see HD Graphics 3000 only implement the features until OpenGL 3.3.
Comment 6•7 years ago
|
||
(In reply to Daosheng Mu[:daoshengmu] from comment #4)
> I disable gl.multithreaded and here is the last draw call before crash.
>
> WebGLContext::DrawArrays()
> mode GLenum 4
> first GLint 0
> vertCount GLsizei 6
>
> The buffer data size is 48 and only attrib0 is enabled. Its mByteLength is
> 48, mBytesPerVertex is 8, and mStride is 8.
>
> I think the number from the vertex buffer makes sense. :jgilbert do you have
> any thought that might be a good point to keep investigating? Thanks!
Please dump all the vertex attribs, not just the enabled one.
Flags: needinfo?(jgilbert)
Reporter | ||
Comment 7•7 years ago
|
||
Well, it seems to the program for the draw call no.39 and no.40 at DrawArrays will use mBoundVertexArray->mAttribs[1], but its mEnabled is false. It can be sure after forcing to make mGLMaxVertexAttribs to be 1, and it will hit the assertion when calling DrawArrays().
Updated•7 years ago
|
Priority: -- → P3
Reporter | ||
Updated•7 years ago
|
Assignee: dmu → nobody
Comment 8•7 years ago
|
||
Coyping the signature from bug 1413269 which still occur.
Updated•6 years ago
|
Type: enhancement → defect
Updated•2 years ago
|
Severity: normal → S3
Comment 9•1 year ago
|
||
Closing because no crashes reported for 12 weeks.
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•