[petsc-dev] Error during KSPDestroy

Matthew Knepley knepley at gmail.com
Sun May 6 08:07:25 CDT 2012


On Sun, May 6, 2012 at 8:42 AM, Alexander Grayver
<agrayver at gfz-potsdam.de>wrote:

> **
> On 06.05.2012 14:27, Matthew Knepley wrote:
>
> On Sun, May 6, 2012 at 7:28 AM, Alexander Grayver <agrayver at gfz-potsdam.de
> > wrote:
>
>> Hello,
>>
>> I use KSP and random rhs to compute largest singular value:
>>
>
>  1) Is this the whole program? If not, this can be caused by memory
> corruption somewhere else. This is what I suspect.
>
>
> Matt,
>
> I can reproduce error using attached test programm and this matrix (7 mb):
> http://dl.dropbox.com/u/60982984/A.dat
>

I run it fine with the latest petsc-dev:

  1.405802e+00

Can you valgrind it on your machine?

    Matt


>
>
>  2) You can put in CHKMEMQ; throughout the code to find exactly where the
> memory corruption happens.
>
>     Matt
>
>
>>  ! create solver and set options for singular value estimation
>>  call KSPCreate(MPI_COMM_WORLD,ksp,ierr);CHKERRQ(ierr)
>>  call KSPSetType(ksp,KSPGMRES,ierr);CHKERRQ(ierr)
>>  call
>> KSPSetTolerances(ksp,solvertol,PETSC_DEFAULT_DOUBLE_PRECISION,PETSC_DEFAULT_DOUBLE_PRECISION,its,ierr);CHKERRQ(ierr)
>>  call KSPGMRESSetRestart(ksp, its, ierr);CHKERRQ(ierr)
>>  call KSPSetComputeSingularValues(ksp, flg, ierr);CHKERRQ(ierr)
>>  call KSPSetFromOptions(ksp,ierr);CHKERRQ(ierr)
>>
>>  ! generate random RHS
>>  call PetscRandomCreate(PETSC_COMM_WORLD,rctx,ierr)
>>  call PetscRandomSetFromOptions(rctx,ierr)
>>  call VecSetRandom(b,rctx,ierr)
>>
>>  !no preconditioning
>>  call KSPGetPC(ksp,pc,ierr);CHKERRQ(ierr)
>>  call PCSetType(pc,PCNONE,ierr);CHKERRQ(ierr)
>>  call KSPSetOperators(ksp,A,A,SAME_PRECONDITIONER,ierr);CHKERRQ(ierr)
>>  !solve system
>>  call KSPSolve(ksp,b,x,ierr);CHKERRQ(ierr)
>>  call KSPComputeExtremeSingularValues(ksp, smax, smin, ierr);CHKERRQ(ierr)
>>
>>  call KSPDestroy(ksp,ierr);CHKERRQ(ierr)
>>
>> However it crashes:
>>
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
>> probably memory access out of range
>> [1]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
>> [1]PETSC ERROR: or see
>> http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[1]PETSCERROR: or try
>> http://valgrind.org on GNU/linux and Apple Mac OS X to find memory
>> corruption errors
>> [1]PETSC ERROR: PetscMallocValidate: error detected at
>>  PetscDefaultSignalHandler() line 157 in
>> /home/lib/petsc-dev1/src/sys/error/signal.c
>> [1]PETSC ERROR: Memory at address 0x4aa3f00 is corrupted
>> [1]PETSC ERROR: Probably write past beginning or end of array
>> [1]PETSC ERROR: Last intact block allocated in KSPSetUp_GMRES() line 73
>> in /home/lib/petsc-dev1/src/ksp/ksp/impls/gmres/gmres.c
>> [1]PETSC ERROR: --------------------- Error Message
>> ------------------------------------
>> [1]PETSC ERROR: Memory corruption!
>> [1]PETSC ERROR:  !
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: Petsc Development HG revision:
>> f3c119f7ddbfee243b51907a90acab15127ccb39  HG Date: Sun Apr 29 21:37:29 2012
>> -0500
>> [1]PETSC ERROR: See docs/changes/index.html for recent updates.
>> [1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
>> [1]PETSC ERROR: See docs/index.html for manual pages.
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: /home/prog on a openmpi-i named node207 by user Sun May
>>  6 12:58:24 2012
>> [1]PETSC ERROR: Libraries linked from
>> /home/lib/petsc-dev1/openmpi-intel-complex-debug-f/lib
>> [1]PETSC ERROR: Configure run at Mon Apr 30 10:20:49 2012
>> [1]PETSC ERROR: Configure options
>> --with-blacs-include=/opt/intel/Compiler/11.1/072/mkl/include
>> --with-blacs-lib=/opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_blacs_openmpi_lp64.a
>> --with-blas-lapack-lib="[/opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_intel_lp64.a,/opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_intel_thread.a,/opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_core.a,/opt/intel/Compiler/11.1/072/lib/intel64/libiomp5.a]"
>> --with-fortran-interfaces=1 --with-mpi-dir=/opt/mpi/intel/openmpi-1.4.2
>> --with-petsc-arch=openmpi-intel-complex-debug-f --with-precision=double
>> --with-scalapack-include=/opt/intel/Compiler/11.1/072/mkl/include
>> --with-scalapack-lib=/opt/intel/Compiler/11.1/072/mkl/lib/em64t/libmkl_scalapack_lp64.a
>> --with-scalar-type=complex --with-x=0
>> PETSC_ARCH=openmpi-intel-complex-debug-f
>> [1]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [1]PETSC ERROR: PetscMallocValidate() line 138 in
>> /home/lib/petsc-dev1/src/sys/memory/mtr.c
>> [1]PETSC ERROR: PetscDefaultSignalHandler() line 157 in
>> /home/lib/petsc-dev1/src/sys/error/signal.c
>>
>>
>> Call stack from debugger:
>>
>> opal_memory_ptmalloc2_int_free, FP=7fffd4765300
>> opal_memory_ptmalloc2_free_hook, FP=7fffd4765330
>> PetscFreeAlign,      FP=7fffd4765370
>> PetscTrFreeDefault,  FP=7fffd4765520
>> KSPReset_GMRES,      FP=7fffd4765740
>> KSPReset,            FP=7fffd4765840
>> KSPDestroy,          FP=7fffd47659a0
>> kspdestroy_,         FP=7fffd47659d0
>>
>>
>> Any ideas?
>>
>> Thanks.
>>
>> --
>> Regards,
>> Alexander
>>
>>
>
>
>  --
> 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
>
>
>
> --
> Regards,
> Alexander
>
>


-- 
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/20120506/090a61ec/attachment.html>


More information about the petsc-dev mailing list