<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Oct 15, 2014 at 12:04 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> writes:<br>
<br>
>   and yet it is not broke in next. I thought that was impossible!<br>
<br>
</span>This commit was bad:<br>
<br>
  <a href="https://bitbucket.org/petsc/petsc/commits/60a1948e59517edd5702a5e277d78229b7015096" target="_blank">https://bitbucket.org/petsc/petsc/commits/60a1948e59517edd5702a5e277d78229b7015096</a><br>
<br>
Toby pointed it out and fixed it in this commit, which went into 'next':<br>
<br>
  <a href="https://bitbucket.org/petsc/petsc/commits/38e7336fef8d310d693744ab39306ec09879f8c2" target="_blank">https://bitbucket.org/petsc/petsc/commits/38e7336fef8d310d693744ab39306ec09879f8c2</a><br>
<br>
Meanwhile, Matt didn't put this in his branch and went on to make other<br>
changes to SF, including a similar commit:<br>
<br>
  <a href="https://bitbucket.org/petsc/petsc/commits/9837ea968140067d7f638ef40a3e6ee2b94657e5" target="_blank">https://bitbucket.org/petsc/petsc/commits/9837ea968140067d7f638ef40a3e6ee2b94657e5</a><br>
<br>
Again, Toby pointed out the bug in this commit, which Matt had to<br>
resolve when merging to 'next' because it conflicted with Toby's correct<br>
version.  The tests certainly did not pass in Matt's branch, but they<br>
passed in 'next' because Toby's branch fixed the bug.<br>
<br>
Ultimately, Matt merged to 'master' without merging Toby's bug fix.<br>
<br>
I have now merged Toby's branch and 'master' works again.  Thanks, Toby.<br>
<br>
<br>
Note that prior to this merge, the following was the only difference<br>
between 'master' and 'next':<br>
<br>
diff --git c/src/vec/is/sf/interface/sf.c w/src/vec/is/sf/interface/sf.c<br>
index af2dc58..26a286a 100644<br>
--- c/src/vec/is/sf/interface/sf.c<br>
+++ w/src/vec/is/sf/interface/sf.c<br>
@@ -794,7 +794,7 @@ PetscErrorCode PetscSFGetMultiSF(PetscSF sf,PetscSF *multi)<br>
     ierr = PetscMalloc1(sf->nleaves,&remote);CHKERRQ(ierr);<br>
     for (i=0; i<sf->nleaves; i++) {<br>
       remote[i].rank  = sf->remote[i].rank;<br>
-      remote[i].index = outoffset[sf->mine ? sf->mine[i] : 1];<br>
+      remote[i].index = outoffset[sf->mine ? sf->mine[i] : i];<br>
     }<br>
     ierr = PetscSFDuplicate(sf,PETSCSF_DUPLICATE_RANKS,&sf->multi);CHKERRQ(ierr);<br>
     ierr = PetscSFSetGraph(sf->multi,inoffset[sf->nroots],sf->nleaves,NULL,PETSC_COPY_VALUES,remote,PETSC_OWN_POINTER);CHKERRQ(ierr);<br>
<br>
<br>
To avoid this in the future, I suggest<br>
<br>
  1. Run tests on topic branches, especially those tests related to the<br>
  modification.  If you're tinkering with SF, the least you can do is<br>
  run the SF tests.<br></blockquote><div><br></div><div>Of course I ran the tests and they passed in next.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  2. Fix content bugs in the topic branch instead of sneaking it into a<br>
  merge commit that's oh so easy to forget.<br>
</blockquote></div><br>Git should make it easier to just push this back onto the branch so that</div><div class="gmail_extra">it cannot be forgotten.</div><div class="gmail_extra"><br></div><div class="gmail_extra">   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
</div></div>