[petsc-dev] memory leak

Mark Adams mfadams at lbl.gov
Mon Jun 1 09:35:04 CDT 2015


On Mon, Jun 1, 2015 at 9:23 AM, Matthew Knepley <knepley at gmail.com> wrote:

> On Mon, Jun 1, 2015 at 8:08 AM, Mark Adams <mfadams at lbl.gov> wrote:
>
>>
>>>
>>> Send the command that you used to create the branch.
>>>
>>>
>> Matt, I just cloned PETSc/master.  I did not create any branches.
>>
>
> 1) Cloning just creates a repository structure. You have to keep pulling
> to get things up to date.
>
> 2) You are always working on a branch, no matter what you cloned. You can
> see the branch that
>      you are on using 'git branch' (it is the one with the star).
>
> 3) A branch is a list of commits. The 'branch' command makes a new line
> from this list starting at the
>     current commit (so that you have a tree). Thus, when you type "branch"
> there is an implicit a) branch
>     you are on, and b) current commit. We are just trying to get those
> right.
>

Let me summarize what I did (and showed the raw output in my original
email) on a branch named master that is from a relatively new clone:

> git pull origin master
> git status --> 7 commits ahead of master
> git commit ...  // first commit of mine on this clone
> git status --> 8 commits ahead of master

So it looks like I have 7 mystery commits but I did not do them.  How did
they get there?  What are they?  I may have checkout maint in this clone,
but I did not create any branches.

Thanks,
Mark



>
>   Thanks,
>
>      Matt
>
>
>>   Thanks,
>>>
>>>     Matt
>>>
>>>
>>>> Anyway, I've blown it away and am starting with a fresh clone.
>>>>
>>>> Thanks again,
>>>>
>>>>
>>>>
>>>>>    Matt
>>>>>
>>>>>
>>>>>> Thanks,
>>>>>> Mark
>>>>>>
>>>>>>
>>>>>>>    Matt
>>>>>>>
>>>>>>>
>>>>>>>> from another branch, at least I did not knowingly.  I am tempted to
>>>>>>>> just start with a fresh clone and redo this whole thing.
>>>>>>>>
>>>>>>>> What is going on here?  Did I sleep walk last night and pull from
>>>>>>>> next?
>>>>>>>>
>>>>>>>> Can I just push this to master (I tested it and it is a trivial
>>>>>>>> change) or should I reclone. etc.?
>>>>>>>>
>>>>>>>> Mark
>>>>>>>>
>>>>>>>> 19:10 edison03 master ~/petsc$ git status
>>>>>>>> # On branch master
>>>>>>>> # Your branch is ahead of 'origin/master' by 7 commits.
>>>>>>>> #
>>>>>>>> # Changes not staged for commit:
>>>>>>>> #   (use "git add <file>..." to update what will be committed)
>>>>>>>> #   (use "git checkout -- <file>..." to discard changes in working
>>>>>>>> directory)
>>>>>>>> #
>>>>>>>> #       modified:
>>>>>>>> src/ksp/pc/impls/fieldsplit/ftn-custom/zfieldsplitf.c
>>>>>>>> #
>>>>>>>> no changes added to commit (use "git add" and/or "git commit -a")
>>>>>>>> 19:10 edison03 master ~/petsc$ git commit
>>>>>>>> src/ksp/pc/impls/fieldsplit/ftn-custom/zfieldsplitf.c -m"fixed memory leak"
>>>>>>>> [master d4dcd7b] fixed memory leak
>>>>>>>>  1 file changed, 1 insertion(+)
>>>>>>>> 19:10 edison03 master ~/petsc$ git pull origin master
>>>>>>>> From https://bitbucket.org/petsc/petsc
>>>>>>>>  * branch            master     -> FETCH_HEAD
>>>>>>>> Already up-to-date.
>>>>>>>> 19:11 edison03 master ~/petsc$ git status
>>>>>>>> # On branch master
>>>>>>>> # Your branch is ahead of 'origin/master' by 8 commits.
>>>>>>>> #
>>>>>>>> nothing to commit (working directory clean)
>>>>>>>> 19:11 edison03 master ~/petsc$
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, May 31, 2015 at 10:02 PM, Mark Adams <mfadams at lbl.gov>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> This is coming from this line (last):
>>>>>>>>>
>>>>>>>>> #undef __FUNCT__
>>>>>>>>> #define __FUNCT__ "PCFieldSplitGetSubKSP_FieldSplit_Schur"
>>>>>>>>> static PetscErrorCode  PCFieldSplitGetSubKSP_FieldSplit_Schur(PC
>>>>>>>>> pc,PetscInt *n,KSP **subksp)
>>>>>>>>> {
>>>>>>>>>   PC_FieldSplit  *jac = (PC_FieldSplit*)pc->data;
>>>>>>>>>   PetscErrorCode ierr;
>>>>>>>>>
>>>>>>>>>   PetscFunctionBegin;
>>>>>>>>>   ierr = PetscMalloc1(jac->nsplits,subksp);CHKERRQ(ierr);
>>>>>>>>>
>>>>>>>>> I call it with:
>>>>>>>>>
>>>>>>>>>   KSP::subksp(2)
>>>>>>>>>  ....
>>>>>>>>>   call
>>>>>>>>> PCFieldSplitGetSubKSP(solver%pc,PETSC_NULL_INTEGER,subksp,ierr)
>>>>>>>>>
>>>>>>>>> The Fortran wrapper is:
>>>>>>>>>
>>>>>>>>> PETSC_EXTERN void PETSC_STDCALL pcfieldsplitgetsubksp_(PC
>>>>>>>>> *pc,PetscInt *n_local,KSP *ksp,PetscErrorCode *ierr)
>>>>>>>>> {
>>>>>>>>>   KSP      *tksp;
>>>>>>>>>   PetscInt i,nloc;
>>>>>>>>>   CHKFORTRANNULLINTEGER(n_local);
>>>>>>>>>   *ierr = PCFieldSplitGetSubKSP(*pc,&nloc,&tksp); if (*ierr)
>>>>>>>>> return;
>>>>>>>>>   if (n_local) *n_local = nloc;
>>>>>>>>>   CHKFORTRANNULLOBJECT(ksp);
>>>>>>>>>   if (ksp) {
>>>>>>>>>     for (i=0; i<nloc; i++) ksp[i] = tksp[i];
>>>>>>>>>   }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>> Should I just add a PetscFree(&tksp) here?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sun, May 31, 2015 at 7:24 PM, Mark Adams <mfadams at lbl.gov>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Sat, May 30, 2015 at 10:51 PM, Barry Smith <bsmith at mcs.anl.gov
>>>>>>>>>> > wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>  Need more details. How can we reproduce this?
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> I was hoping this would be obvious. a missed free.
>>>>>>>>>>
>>>>>>>>>> What tests use Schur solvers?  I could see if they have the same
>>>>>>>>>> problem.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>   Barry
>>>>>>>>>>>
>>>>>>>>>>> > On May 30, 2015, at 7:10 PM, Mark Adams <mfadams at lbl.gov>
>>>>>>>>>>> wrote:
>>>>>>>>>>> >
>>>>>>>>>>> > This look like there might be a memory leak in PETSc.  Let me
>>>>>>>>>>> know if this is not obvious and get more detail.
>>>>>>>>>>> > Mark
>>>>>>>>>>> >
>>>>>>>>>>> > [0]Total space allocated 16 bytes
>>>>>>>>>>> > [ 0]16 bytes PCFieldSplitGetSubKSP_FieldSplit_Schur() line
>>>>>>>>>>> 1263 in /global/u2/m/madams/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
>>>>>>>>>>> >       [0]  PCFieldSplitGetSubKSP_FieldSplit_Schur() line 1263
>>>>>>>>>>> in /global/u2/m/madams/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
>>>>>>>>>>> >       [0]  PCFieldSplitGetSubKSP() line 1665 in
>>>>>>>>>>> /global/u2/m/madams/petsc/src/ksp/pc/impls/fieldsplit/fieldsplit.c
>>>>>>>>>>> >       [0]  KSPSetUp() line 247 in
>>>>>>>>>>> /global/u2/m/madams/petsc/src/ksp/ksp/interface/itfunc.c
>>>>>>>>>>> >
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> What most experimenters take for granted before they begin their
>>>>>>> experiments is infinitely more interesting than any results to which their
>>>>>>> experiments lead.
>>>>>>> -- Norbert Wiener
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> What most experimenters take for granted before they begin their
>>>>> experiments is infinitely more interesting than any results to which their
>>>>> experiments lead.
>>>>> -- Norbert Wiener
>>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> What most experimenters take for granted before they begin their
>>> experiments is infinitely more interesting than any results to which their
>>> experiments lead.
>>> -- Norbert Wiener
>>>
>>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20150601/7ace87bc/attachment.html>


More information about the petsc-dev mailing list