Thanks Matt. If that is not against PETSc coding policies, it sounds reasonable to me.
Mohammad On Mon, Feb 20, 2012 at 7:30 PM, Matthew Knepley <knepley at gmail.com> wrote: > On Mon, Feb 20, 2012 at 6:30 PM, Mohammad Mirzadeh <mirzadeh at > gmail.com>wrote: > >> Matt, I'm just trying to understand what is going on and why the things >> do what they do -- I'm not asking for anything in particular :). I just >> thought that the situation for VecCreateGhost and AOXXXXToYYYY are somewhat >> similar here and was surprised to see one crashes on NULL while the other >> one does not. >> >> I have included a check on the pointer and size for AO calls and just >> wanted to check if I need the same thing with VecCreateGhost if there is >> such an internal check. >> > > I have no problem making that change. It is pushed to petsc-dev. > > Matt > > >> Mohammad >> >> >> On Mon, Feb 20, 2012 at 4:10 PM, Matthew Knepley <knepley at gmail.com>wrote: >> >>> On Mon, Feb 20, 2012 at 5:58 PM, Mohammad Mirzadeh <mirzadeh at >>> gmail.com>wrote: >>> >>>> Just if wondering what the actual code is, here's the bit causing the >>>> trouble: >>>> >>>> AOApplicationToPetsc(ao, ghostNodes.size(), (int*)ghostNodes); >>>> VecCreateGhost(comm, localNodes.size(), PETSC_DECIDE, >>>> ghostNodes.size(), (int*)ghostNodes, &v); >>>> AOPetscToApplication(ao, ghostNodes.size(), (int*)ghostNodes); >>>> >>>> when the code is in serial, ghostNodes.size() = 0 and (int*)ghostNodes >>>> = NULL. >>>> >>> >>> So you are asking us to give up checking for NULL if the size is 0? >>> >>> Matt >>> >>> >>>> On Mon, Feb 20, 2012 at 3:54 PM, Mohammad Mirzadeh <mirzadeh at >>>> gmail.com>wrote: >>>> >>>>> Sure, Jed. My bad. Here's the whole message when the code is run in >>>>> _serial_: >>>>> >>>>> [0]PETSC ERROR: --------------------- Error Message >>>>> ------------------------------------ >>>>> [0]PETSC ERROR: Invalid pointer! >>>>> [0]PETSC ERROR: Null Pointer: Parameter # 3! >>>>> [0]PETSC ERROR: >>>>> ------------------------------------------------------------------------ >>>>> [0]PETSC ERROR: Petsc Release Version 3.2.0, Patch 6, Wed Jan 11 >>>>> 09:28:45 CST 2012 >>>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates. >>>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting. >>>>> [0]PETSC ERROR: See docs/index.html for manual pages. >>>>> [0]PETSC ERROR: >>>>> ------------------------------------------------------------------------ >>>>> [0]PETSC ERROR: ./petsc on a arch-linu named mohammad-laptop by >>>>> mohammad Mon Feb 20 15:52:25 2012 >>>>> [0]PETSC ERROR: Libraries linked from >>>>> /home/mohammad/soft/petsc-3.2-p6/arch-linux2-cxx-debug/lib >>>>> [0]PETSC ERROR: Configure run at Thu Feb 16 02:16:40 2012 >>>>> [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ >>>>> --with-fc=gfortran --with-clanguage=cxx --download-f-blas-lapack=1 >>>>> --download-mpich=1 --download-hypre=1 --download-ml=1 >>>>> --with-parmetis-include=/home/mohammad/soft/parmetis/include >>>>> --with-parmetis-lib="-L/home/mohammad/soft/parmetis/lib -lparmetis >>>>> -lmetis" >>>>> --download-superlu_dist=1 >>>>> [0]PETSC ERROR: >>>>> ------------------------------------------------------------------------ >>>>> [0]PETSC ERROR: AOApplicationToPetsc() line 249 in >>>>> /home/mohammad/soft/petsc-3.2-p6/src/dm/ao/interface/ao.c >>>>> [0]PETSC ERROR: --------------------- Error Message >>>>> ------------------------------------ >>>>> [0]PETSC ERROR: Invalid pointer! >>>>> [0]PETSC ERROR: Null Pointer: Parameter # 3! >>>>> [0]PETSC ERROR: >>>>> ------------------------------------------------------------------------ >>>>> [0]PETSC ERROR: Petsc Release Version 3.2.0, Patch 6, Wed Jan 11 >>>>> 09:28:45 CST 2012 >>>>> [0]PETSC ERROR: See docs/changes/index.html for recent updates. >>>>> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting. >>>>> [0]PETSC ERROR: See docs/index.html for manual pages. >>>>> [0]PETSC ERROR: >>>>> ------------------------------------------------------------------------ >>>>> [0]PETSC ERROR: ./petsc on a arch-linu named mohammad-laptop by >>>>> mohammad Mon Feb 20 15:52:25 2012 >>>>> [0]PETSC ERROR: Libraries linked from >>>>> /home/mohammad/soft/petsc-3.2-p6/arch-linux2-cxx-debug/lib >>>>> [0]PETSC ERROR: Configure run at Thu Feb 16 02:16:40 2012 >>>>> [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ >>>>> --with-fc=gfortran --with-clanguage=cxx --download-f-blas-lapack=1 >>>>> --download-mpich=1 --download-hypre=1 --download-ml=1 >>>>> --with-parmetis-include=/home/mohammad/soft/parmetis/include >>>>> --with-parmetis-lib="-L/home/mohammad/soft/parmetis/lib -lparmetis >>>>> -lmetis" >>>>> --download-superlu_dist=1 >>>>> [0]PETSC ERROR: >>>>> ------------------------------------------------------------------------ >>>>> [0]PETSC ERROR: AOPetscToApplication() line 210 in >>>>> /home/mohammad/soft/petsc-3.2-p6/src/dm/ao/interface/ao.c >>>>> >>>>> >>>>> It seems to complain about the 3rd parameter of AOApplicationToPetsc() >>>>> and AOPetscToApplication(). VecCreateGhost, on the other hand, is fine. >>>>> >>>>> On Mon, Feb 20, 2012 at 3:47 PM, Jed Brown <jedbrown at mcs.anl.gov>wrote: >>>>> >>>>>> On Mon, Feb 20, 2012 at 17:25, Mohammad Mirzadeh <mirzadeh at >>>>>> gmail.com>wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> Is there an internal check to see if the 'ghost' pointer in >>>>>>> VecCreateGhost() is NULL ? This can happen, for example, if the code is >>>>>>> run >>>>>>> in serial and the there are no ghost points (hence n_ghost = 0 and >>>>>>> ghost = >>>>>>> NULL(implementation dependent of course) ). AOXXXXToYYYY functions seem >>>>>>> to >>>>>>> crash if the corresponding pointer is NULL. >>>>>>> >>>>>> >>>>>> Always send the whole error message. >>>>>> >>>>> >>>>> >>>> >>> >>> >>> -- >>> 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-users/attachments/20120221/4aed5ea2/attachment.htm>
