oizma / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

glReadPixels crash #68

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Filing this Chromium crash here as well:
http://code.google.com/p/chromium/issues/detail?id=60826

Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_EXEC @ 0x0000000b )
0x0000000b                      
0x100151fd       [libglesv2.dll  - context.cpp:2135     
gl::Context::readPixels(int,int,int,int,unsigned int,unsigned int,void *)
0x1000972e       [libglesv2.dll  - libglesv2.cpp:4003   glReadPixels
0x01c56cea       [chrome.dll     - gles2_cmd_decoder.cc:4564    
gpu::gles2::GLES2DecoderImpl::HandleReadPixels(unsigned 
int,gpu::gles2::ReadPixels const &)
0x01c53ad3       [chrome.dll     - gles2_cmd_decoder.cc:2477    
gpu::gles2::GLES2DecoderImpl::DoCommand(unsigned int,unsigned int,void const *)

I initially thought the call to getReadFramebuffer() at the top of 
Context::readPixels was returning null. If that was the case though, the crash 
would be dereferencing 0x0 while looking up the vtable to dispatch to the 
virtual completeness(). I confirmed this in a debugger by simulating having 
getReadFramebuffer() return null.

In this case, it crashed jumping to 0xB, suggesting it followed an invalid 
vtable pointer from a returned dangling Framebuffer pointer.

The other information I have is that it was a Windows XP box with a Geforce 
6150 LE and version 6.14.10.9148 drivers. Uptime for ANGLE in this session was 
30733140 ms.

I cannot reproduce it unfortunately.

Another example in 8.0.560.0 (ANGLE r463).

Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_EXEC @ 0x6e616300 )
0x6e616300 
0x616251fd  [libglesv2.dll  - context.cpp:2135] 
    gl::Context::readPixels(int,int,int,int,unsigned int,unsigned int,void *)
0x6161972e  [libglesv2.dll  - libglesv2.cpp:4003]   glReadPixels
0x5b9f696e  [chrome.dll     - gles2_cmd_decoder.cc:4564] 
    gpu::gles2::GLES2DecoderImpl::HandleReadPixels(unsigned 
int,gpu::gles2::ReadPixels const &)

I can keep digging back to see when this started if need be.

Original issue reported on code.google.com by apatr...@chromium.org on 27 Oct 2010 at 12:02

GoogleCodeExporter commented 9 years ago
This seems to have stopped happening with Chrome 9.0.566.0. Closing.

Original comment by apatr...@chromium.org on 10 Nov 2010 at 9:55