On Fri, Jul 20, 2012 at 1:39 AM, Florian Beck <span dir="ltr"><<a href="mailto:Flo.44@gmx.de" target="_blank">Flo.44@gmx.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
<br>
On Thu, Jul 19, 2012 at 2:40 AM, Florian Beck <Flo.44 at <a href="http://gmx.de" target="_blank">gmx.de</a>> wrote:<br>
<br>
>> In the debugger is the adress of my vector at the beginning and the end<br>
>> the same, but if I look inside the vector the adress of ops, map and >data<br>
>> are 0x0 after I call the function VecDuplicate(). Is there a function to<br>
>> synchronize the vectors before I destroy them?<br>
><br>
><br>
>Sounds like a reference-counting bug. The most common cause is basically<br>
><br>
>Vec X,Y;<br>
>VecCreate(comm,&X);<br>
>...<br>
>Y = X;<br>
>...<br>
>VecDestroy(&X);<br>
>VecDestroy(&Y);<br>
><br>
>(perhaps spread across multiple functions, and perhaps with a reference<br>
>obtained through a function that does not give you an "ownership share" by<br>
>incrementing reference count).<br>
><br>
>You can use "watch -l X->hdr.refct" in recent gdb to follow all the<br>
>locations where reference count was changed (this includes the library), >if<br>
>you need a heavyweight methodology for tracking down the error.<br>
><br>
<br>
I have looked for the counting bug, but I haven't found anything because my gdb crashes.<br>
<br>
Is it not possible to restore the addresses ops, map and data? I think it's possible to get values and from the vectors, so why shouldn't it possible to destroy them? Or is it possible to destroy the Vectors manually?<br>

</blockquote></div><br>1) This has nothing to do with shared libraries. You have a bug in your code.<div><br></div><div>2)  Debugging is about making your code simpler until you can find the bug, and</div><div>     learning to use debugging tools. This is a big part of programming.</div>
<div><br></div><div>3) Of course, you can destroy Vecs. You have a bug. Try using valgrind.</div><div><br></div><div>    Matt<br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>
</div>