Everytime I have visited a page with WebGL content, I get a crash on exit (NULL pointer access violation). I believe the reason for the crash is that the libGLESv2.dll is detached from the process at exit, and releases relevant memory, and then the atexit cleanup routine is called afterwards, accessing the released memory. This is the stacktrace I'm getting: libGLESv2.dll!0588787f() [Frames below may be incorrect and/or missing, no symbols loaded for libGLESv2.dll] libGLESv2.dll!05893fdc() WebKit.dll!WebCore::GLContextEGL::~GLContextEGL() Line 236 C++ WebKit.dll!WebCore::GLContextEGL::`scalar deleting destructor'() + 0xb bytes C++ WebKit.dll!WebCore::GLContext::cleanupActiveContextsAtExit() Line 140 C++ WebKit.dll!_CRT_INIT(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 415 C WebKit.dll!__DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 526 + 0x8 bytes C WebKit.dll!_DllMainCRTStartup(void * hDllHandle, unsigned long dwReason, void * lpreserved) Line 476 + 0xe bytes C
Created attachment 210598 [details] Patch
Nice catch. This can probably be surrounded by PLATFORM(X11) actually. Looks like the activeContextList is unused otherwise? That can go into the #ifdef as well, i guess.
Created attachment 213356 [details] Patch
(In reply to comment #2) > Nice catch. This can probably be surrounded by PLATFORM(X11) actually. Looks like the activeContextList is unused otherwise? That can go into the #ifdef as well, i guess. Thanks for looking into this, I have updated the patch accordingly :) This should also reduce code size for other platforms.
Comment on attachment 213356 [details] Patch Thanks!
Comment on attachment 213356 [details] Patch Clearing flags on attachment: 213356 Committed r156893: <http://trac.webkit.org/changeset/156893>
All reviewed patches have been landed. Closing bug.
(In reply to comment #5) > (From update of attachment 213356 [details]) > Thanks! Thanks for reviewing ;)