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
Original issue reported on code.google.com by
apatr...@chromium.org
on 27 Oct 2010 at 12:02