<div dir="ltr"><div class="gmail_default" style="font-size:small">Your description is really vague and I doubt this has anything to do with PETSc.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Did you recompile before executing the second test?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Have you stepped through with gdb or other debugger, and have you run with valgrind?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">If so, one thing to be extra careful about - do you have anything in global or stack arrays, for example, an array declared in your function like "float array[16];"?  Valgrind won't check bounds for those arrays - there are other tools which do.  Anyway, it sounds like you have a bug but it's hard to tell because I don't know what you are trying to do.</div><div class="gmail_default" style="font-size:small"><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 7, 2018 at 4:13 PM, Ali Berk Kahraman <span dir="ltr"><<a href="mailto:aliberkkahraman@yahoo.com" target="_blank">aliberkkahraman@yahoo.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear All,<br>
<br>
I am in an impossible position. My real code is long, so I will briefly describe my situation.<br>
<br>
I call 2 functions that I have written in my code, it goes like<br>
<br>
Function1(Do stuff with MatGetValues and MatSetValues);<br>
Visualize the Result of Function1 with MatView;<br>
Function2(Do stuff with MatGetValues and MatSetValues);<br>
<br>
The result I get in this situation is wrong, because I know the correct result. Function 1 reaches rows of the matrix that it should not. But here is where it gets interesting. If I do not call Function2 at all, namely do the following,<br>
<br>
Function1(Do stuff with MatGetValues and MatSetValues);<br>
Visualize the Result of Function1 with MatView;<br>
/* Function2(Do stuff with MatGetValues and MatSetValues); */<br>
<br>
Here, the result I see from Function 1 is correct and different from the result of the first case. But, for my simulation to work, I must call Function2. I have been dealing with this for the whole day, and I still have no idea how this happens. The code sees the next line and changes the result of the previous line.<br>
<br>
Any ideas? Anything similar to this in the literature?<br>
<br>
Best Regards to All,<br>
<br>
Ali Berk Kahraman<br>
M.Sc. Student, Bogazici Uni.<br>
Istanbul, Turkey<br>
<br>
<br>
<br>
<br>
<br>
</blockquote></div><br></div>