Hi Paul, Hi Christof<br><br><br>What is smells fishy is the use of "proto->className()" to identify the renderBin prototype to remove in removeRenderBinPrototype();<br><br><code><br><br>void RenderBin::removeRenderBinPrototype(RenderBin* proto)<br>
{<br>    RenderBinPrototypeList* list = renderBinPrototypeList();<br>    if (list && proto)<br>    {                                                                       // something wrong there<br>        RenderBinPrototypeList::iterator itr = list->find(proto->className());<br>
        if (itr != list->end()) list->erase(itr);<br>    }<br>}<br><br></code><br><br>proto->className() return always "RenderBin" because this is the name of the class :).<br><br>Instead, in "void RenderBin::removeRenderBinPrototype(RenderBin* proto)" we need something like this<br>
<br><br><code><br>
<br>
void RenderBin::removeRenderBinPrototype(const std::string & binName, RenderBin* proto)<br>
{<br>
    RenderBinPrototypeList* list = renderBinPrototypeList();<br>
    if (list && proto)<br>
    {<br>
        RenderBinPrototypeList::iterator itr = list->find(binName);<br>
        if (itr != list->end()) list->erase(itr);<br>
    }<br>
}<br>
<br>
</code><br><br><br>Thought ?<br><br><br>David Callu<br><br><div class="gmail_quote">2009/3/12 Paul Melis <span dir="ltr"><<a href="mailto:paul@science.uva.nl">paul@science.uva.nl</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">Christof Krüger wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm using the current 2.8.0 stable release. I used the 'Browse Source' to check the current trunk version of RenderBin.cpp and I see no change since.<br>
<br>
The actual crash occurs later in static object destruction when s_renderBinPrototypeList is destructed itself. I don't understand enough of osg to know what's exactly wrong. However, the s_registerDepthSortedBinProxy doesn't release the object it created and this looks very suspicious to me.<br>

  <br>
</blockquote></div>
The fact that two different instances of RenderBin get registered under the same name indeed smells fishy :)<br><font color="#888888">
<br>
Paul</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org" target="_blank">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</div></div></blockquote></div><br>