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

Brad Kittenbrink brad at lindenlab.com
Mon May 2 16:30:14 PDT 2011


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

(Updated May 2, 2011, 4:30 p.m.)


Review request for Viewer and Richard Nelson.


Summary
-------

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/20110502/2d6434f8/attachment.htm 


More information about the opensource-dev mailing list