<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi,</p>
<p><br>
</p>
<p>Thanks for using the PRF form, please first try TAO 2.5.0 which
you can download.dre.vanderbilt.edu. When that doesn't help,
please make a small reproducer that reproduces it.</p>
<p><br>
</p>
<p>Best regards,<br>
</p>
<br>
<pre class="moz-signature" cols="72">Johnny Willemsen
Remedy IT
Postbus 81 | 6930 AB Westervoort | The Netherlands
<a class="moz-txt-link-freetext" href="http://www.remedy.nl">http://www.remedy.nl</a>
</pre>
<div class="moz-cite-prefix">On 06/26/2018 09:37 PM, Dan Kempenich
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:DM5PR11MB148455EAE14C6FB26A0C20BAC4490@DM5PR11MB1484.namprd11.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper"
style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;"
dir="ltr">
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<div style="color: rgb(0, 0, 0);">
<meta content="text/html; charset=iso-8859-1">
<div dir="ltr">
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<span>I'm looking at what looks to me to be a memory leak
when using the any type and looking for some help
resolving.</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<span><br>
</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<span><br>
</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<span> TAO VERSION: 2.2a_p14<br>
</span>
<div><br>
</div>
<div> HOST MACHINE and OPERATING SYSTEM: Should be an
issue on all platforms. I found on RHEL 7.5 using
valgrind/gdb.<br>
</div>
<div><br>
</div>
<div> TARGET MACHINE and OPERATING SYSTEM, if different
from HOST: Nope<br>
</div>
<div> COMPILER NAME AND VERSION (AND PATCHLEVEL): gcc
version 4.4.7 20120313 (Red Hat 4.4.7-17)<br>
</div>
<div><br>
</div>
<div> CONTENTS OF $ACE_ROOT/ace/config.h [if you use a
link to a platform-<br>
</div>
<div> specific file, simply state which one]:<br>
</div>
<div><br>
</div>
<div> CONTENTS OF
$ACE_ROOT/include/makeinclude/platform_macros.GNU [if
you<br>
</div>
<div> use a link to a platform-specific file, simply
state which one<br>
</div>
<div> (unless this isn't used in this case, e.g., with
Microsoft Visual<br>
</div>
<div> C++)]:<br>
</div>
<div><br>
</div>
<div> CONTENTS OF
$ACE_ROOT/bin/MakeProjectCreator/config/default.features<br>
</div>
<div> (used by MPC when you generate your own
makefiles):<br>
</div>
<div><br>
</div>
<div> LEVEL OF URGENCY (LOW, MEDIUM, or HIGH): MEDIUM<br>
</div>
<div><br>
</div>
<div> AREA/CLASS/EXAMPLE AFFECTED:<br>
</div>
<div>AnyTypeCode<br>
</div>
<div><br>
</div>
<div> DOES THE PROBLEM AFFECT:<br>
</div>
<div> COMPILATION? Nope<br>
</div>
<div> LINKING? Nope<br>
</div>
<div> On Unix systems, did you run make
realclean first?<br>
</div>
<div> EXECUTION? Yes, memory leak found during
execution<br>
</div>
<div> OTHER (please specify)?<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div> SYNOPSIS: </div>
<div>Memory/reference leaked in Any_Impl::marshal.
ValueBase pointer is set via to_value() function and
never freed or decremented in the function or any
function called by Any_Impl::marshal.<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div> DESCRIPTION:<br>
</div>
<div><br>
</div>
<div><br>
</div>
<div>TAO::Any_Impl::marshal calls the to_value function
with a ValueBase pointer. This function can allocate
memory using a factory or increment a reference count.
Neither the marshal or the to_value function appear to
have any current means to clean-up the reference.</div>
<div><br>
</div>
</div>
<blockquote style="margin:0 0 0 40px; border:none;
padding:0px">
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>CORBA::<span>Boolean</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>TAO::Any_Impl::marshal</span>
(TAO_OutputCDR &cdr)</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>{</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>CORBA::ValueBase * vb = <span>0</span>;</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>if</span> (<b><i><u><span>this</span>-><span>to_value</span>
(vb) </u></i></b>&& vb)</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>{</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> Since we ARE a value
type, we need to</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> send the ACTUAL
derived typecode for</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> the type we are
marshaling NOT the</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> typecode of the base
pointer that may</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> have been inserted
into the any.</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>if</span> ((cdr << <span>TAO_ORB_Core_instance</span>
()</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>-><span>valuetype_adapter</span>()</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>-><span>derived_type</span> (vb)) == <span>0</span>)</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>{</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>return</span> <span>false</span>;</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>}</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>}</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> Otherwise send the
typecode of the inserted type.</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>else</span> <span>if</span> ((cdr
<< <span>this</span>-><span>type_</span>)
==
<span>0</span>)</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>{</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>return</span> <span>false</span>;</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>}</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><br>
</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> Once the typecode has
been marshaled send the actual</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span><span>//</span> value (this is
polymorphic for valuetypes)</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><span>return</span> <span>this</span>-><span>marshal_value</span>
(cdr);</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>}</div>
</div>
</blockquote>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div><br>
</div>
<div>The to_value function as generated
here: be/be_visitor_valuetype/any_op_cs.cpp:48 show the
reference count is incremented</div>
<div><br>
</div>
</div>
<blockquote style="margin:0 0 0 40px; border:none;
padding:0px">
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td>*os << be_nl_2</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>namespace TAO<span>"</span></span>
<< be_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>{<span>"</span></span>
<< be_idt_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>template<><span>"</span></span>
<< be_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>::CORBA::Boolean<span>"</span></span>
<< be_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>Any_Impl_T<<span>"</span></span>
<< node-><span>name</span> ()
<<
<span><span>"</span>>::to_value (<span>"</span></span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< be_idt << be_idt_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>::CORBA::ValueBase
*&_tao_elem) const<span>"</span></span>
<< be_uidt</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< be_uidt_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>{<span>"</span></span>
<< be_idt_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span></span><b><i><u>::CORBA::add_ref
(this->value_);" </u>
</i></b><< be_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>_tao_elem =
this->value_;<span>"</span></span>
<< be_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>return true;<span>"</span></span>
<< be_uidt_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div>
<table>
<tbody>
<tr>
<td><< <span><span>"</span>}<span>"</span></span>
<< be_uidt_nl</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div><< <span><span>"</span>}<span>"</span></span>
<< be_nl_2;</div>
</div>
</blockquote>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div><br>
</div>
<div>and I believe via the
TAO::Unknown_IDL_Type::to_value() we can also get a new
object via a factory method. In my case I found the
issue via the generated to_value function in my idl
generated C.cpp file implementation which incremented
the reference count.</div>
<div><br>
</div>
<div> REPEAT BY:<br>
</div>
<div><br>
</div>
<div>I can work on providing a small sample test case if
needed.</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div> SAMPLE FIX/WORKAROUND:<br>
</div>
<span></span><br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
I would propose a fix of modifying the ::marshal function
to use a ValueBase_var type to track the reference count:</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td>--CORBA::ValueBase * vb =<span> </span><span
style="margin:0px">0</span>;<br>
++CORBA::ValueBase_var vb;</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px">--if</span><span> </span>(<span
style="margin:0px">this</span>-><span
style="margin:0px">to_value</span><span> </span>(vb)
&& vb)<br>
++if (this->to_value(vb.out())) &&
(0 != vb.ptr()))</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">{</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px"><span
style="margin:0px">//</span><span> </span>Since
we ARE a value type, we need to</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px"><span
style="margin:0px">//</span><span> </span>send
the ACTUAL derived typecode for</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px"><span
style="margin:0px">//</span><span> </span>the
type we are marshaling NOT the</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px"><span
style="margin:0px">//</span><span> </span>typecode
of the base pointer that may</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px"><span
style="margin:0px">//</span><span> </span>have
been inserted into the any.</span></td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td><span style="margin:0px">if</span><span> </span>((cdr
<<<span> </span><span style="margin:0px">TAO_ORB_Core_instance</span><span> </span>()</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td>-><span style="margin:0px">valuetype_adapter</span>()</td>
</tr>
<tr>
</tr>
</tbody>
</table>
</div>
</div>
<div style="margin:0px; font-size:12pt;
background-color:rgb(255,255,255)">
<div style="margin:0px">
<table>
<tbody>
<tr>
<td>-- -><span style="margin:0px">derived_type</span><span> </span>(vb))
==<span> </span><span style="margin:0px">0</span>)</td>
</tr>
<tr>
</tr>
</tbody>
</table>
++ ->derived_type(vb.in())) == 0)</div>
</div>
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
However, this introduces a new dependency on TAO_ValueType
for TAO_AnyTypeCode and this would create a circular
dependency between the two libraries.</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
I'm looking for some advice on how best to resolve; </div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
Do I look to separate library creation steps on windows to
create the import library/export file as a separate step
from the link and keep the AnyTypeCode/ValueType structure
(I'm not quite sure how to do that yet with MPC)?</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
Or do I look to combine the two into a single dll and
eliminate the circular dependency?</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
Or is there some other solution that resolves the memory
leak while avoiding circular dependency that I haven't
been able to see or a work-around that others have used to
avoid leaking memory here?</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
Thanks,</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
Dan Kempenich.</div>
<div style="font-family:Calibri,Helvetica,sans-serif;
font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
</div>
</div>
</div>
<!--'"--><br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
tao-bugs mailing list
<a class="moz-txt-link-abbreviated" href="mailto:tao-bugs@list.isis.vanderbilt.edu">tao-bugs@list.isis.vanderbilt.edu</a>
<a class="moz-txt-link-freetext" href="http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-bugs">http://list.isis.vanderbilt.edu/cgi-bin/mailman/listinfo/tao-bugs</a></pre>
</blockquote>
<br>
</body>
</html>