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

Richard Nelson richard at lindenlab.com
Tue May 3 17:47:12 PDT 2011


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

Ship it!


looks good.

- Richard


On May 2, 2011, 4:30 p.m., Brad Kittenbrink wrote:
> 
> -----------------------------------------------------------
> 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/20110504/4b9d7dc5/attachment.htm 


More information about the opensource-dev mailing list