Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(409)

Issue 5875044: Fence has pointer to the associated egl::Display. (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 2 months ago by apatrick1
Modified:
12 years, 1 month ago
Reviewers:
dgkoch
CC:
angleproject-review_googlegroups.com
Base URL:
http://angleproject.googlecode.com/svn/trunk/
Visibility:
Public.

Description

Fence has pointer to the associated egl::Display. I think the assumption that getDisplay() returns a valid display in the Fence destructor is wrong. I'm trying to fix a crash in the field that looks like this: Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0x00000000 ) 0x69582e38 [libglesv2.dll - fence.cpp:27 gl::Fence::~Fence() 0x69582f29 [libglesv2.dll + 0x00022f29] gl::Fence::`scalar deleting destructor'(unsigned int) 0x6958077d [libglesv2.dll - context.cpp:1020 gl::Context::deleteFence(unsigned int) 0x69582b9b [libglesv2.dll - context.cpp:195 gl::Context::~Context() 0x69582dcb [libglesv2.dll + 0x00022dcb] gl::Context::`scalar deleting destructor'(unsigned int) 0x69582df2 [libglesv2.dll - context.cpp:4259 glDestroyContext 0x73166ab8 [libegl.dll - display.cpp:768 egl::Display::destroyContext(gl::Context *) 0x73168393 [libegl.dll - libegl.cpp:861 eglDestroyContext 0x6e18f1db [chrome.dll - gl_context_egl.cc:76 gfx::GLContextEGL::Destroy() 0x6e18f40d [chrome.dll - gl_context_egl.cc:43 gfx::GLContextEGL::~GLContextEGL() Here's the disassembly: 69582E21 push esi 69582E22 mov esi,ecx 69582E24 cmp dword ptr [esi+4],0 69582E28 mov dword ptr [esi],695CBBE0h 69582E2E je 69582E3F 69582E30 call 695743F5 // this is getDisplay() 69582E35 push dword ptr [esi+4] 69582E38 mov edx,dword ptr [eax] // crashes here because EAX is zero 69582E3A mov ecx,eax 69582E3C call dword ptr [edx+24h] // this is freeEventQuery() 69582E3F pop esi 69582E40 ret It looks like getDisplay() returns null. http://code.google.com/p/chromium/issues/detail?id=117817 Committed: https://code.google.com/p/angleproject/source/detail?r=1008

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+13 lines, -6 lines) Patch
M src/libGLESv2/Context.cpp View 1 chunk +1 line, -1 line 0 comments Download
M src/libGLESv2/Fence.h View 2 chunks +7 lines, -1 line 0 comments Download
M src/libGLESv2/Fence.cpp View 3 chunks +5 lines, -4 lines 0 comments Download

Messages

Total messages: 2
apatrick1
Hi Daniel, Can you take a look at this? Thanks, Al
12 years, 2 months ago (2012-03-22 01:21:22 UTC) #1
dgkoch
12 years, 1 month ago (2012-03-23 20:04:41 UTC) #2
I'm a little disturbed about getDisplay returning NULL though, unless it has
something to with being in the middle or destroying the context.  While this
will ensure we've got a pointer to the display, it won't prevent the display
from getting destroyed.

LGTM for the patch though.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b