<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace">There is a memory leak when destroying an IS object created with ISConcatenate function. <br><br>The leak can be reproduced with code below.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Cheers,<br>Michael Souza<br></div><div class="gmail_default" style="font-family:courier new,monospace">------------------------------------------------------------------<br>static char help[] = "Memory leak in ISConcatenate function\n\n";<br>#include <petscksp.h><br>#include "matblock.h"<br>int main(int argc, char **args) {<br>   PetscErrorCode ierr;<br>   IS isa, isb, isc;<br><br>   ierr = PetscInitialize(&argc, &args, (char *) 0, help); CHKERRQ(ierr);<br><br>   ierr = ISCreateStride(PETSC_COMM_WORLD,2,0,1,&isa); CHKERRQ(ierr);<br>   ierr = ISCreateStride(PETSC_COMM_WORLD,2,2,1,&isb); CHKERRQ(ierr);<br><br>   IS isarray[] = {isa, isb};<br>   ierr = ISConcatenate(PETSC_COMM_WORLD,2,isarray,&isc); CHKERRQ(ierr);<br><br>   ierr = ISDestroy(&isa); CHKERRQ(ierr);<br>   ierr = ISDestroy(&isb); CHKERRQ(ierr);    <br>   ierr = ISDestroy(&isc); CHKERRQ(ierr);<br><br>   ierr = PetscFinalize(); CHKERRQ(ierr);<br>   PetscFunctionReturn(0);<br>}<br>------------------------------------------------------------------<br><br></div></div>