[opensource-dev] Review Request: VWR-25609 crash on shutdown in LLGLNamePool::sInstances destructor

Brad Kittenbrink brad at lindenlab.com
Tue Apr 26 17:40:09 PDT 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://codereview.secondlife.com/r/279/
-----------------------------------------------------------

(Updated April 26, 2011, 5:40 p.m.)


Review request for Viewer.


Summary (updated)
-------

The error is due to the fact that the instances of subclasses of LLGLNamePool (e.g. LLVertexBuffer::sStreamVBOPool) were having their destructors run after the destructor for LLGLNamePool::sInstances, yet accessing the members of the already destructed vector, causing a crash.

The fix is to use the LLInstanceTracker class which has already solved this problem in a general way, rather than hand-rolling our own custom solution in LLGLNamePool.


This addresses bug VWR-25609.
    http://jira.secondlife.com/browse/VWR-25609


Diffs
-----

  indra/llrender/llgl.h UNKNOWN 
  indra/llrender/llgl.cpp UNKNOWN 
  indra/llrender/llvertexbuffer.cpp UNKNOWN 
  indra/newview/llspatialpartition.cpp UNKNOWN 

Diff: http://codereview.secondlife.com/r/279/diff


Testing
-------

Tested in debug builds with the Microsoft Debug heap and confirmed that this patch allows shutdown to complete without error.


Thanks,

Brad

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/opensource-dev/attachments/20110427/480e5113/attachment.htm 


More information about the opensource-dev mailing list