[petsc-users] Error - Out of memory. This could be due to allocating too large an object or bleeding by not properly destroying unneeded objects.

Tsung-Hsing Chen barrydog505 at gmail.com
Sun Feb 23 01:59:19 CST 2020


Hi all,

I have written a simple code to solve the FEM problem, and I want to use LU
to solve the Ax=b.
My problem(error) won't happen at the beginning until M & N in A_matrix is
getting larger. (Can also be understood as mesh vertex increase.)
All the error output seems to relate to LU, but I don't know what should be
done.
The followings are the code I wrote(section) and the error output.

Here's the code (section) :
  /*
        code ...
  */
  ierr = MatCreate(PETSC_COMM_WORLD, &A_matrix);CHKERRQ(ierr);
  ierr = MatSetSizes(A_matrix, PETSC_DECIDE, PETSC_DECIDE, M,
N);CHKERRQ(ierr);
  ierr = MatSetType(A_matrix, MATSEQAIJ);CHKERRQ(ierr);
  // setting nnz ...
  ierr = MatSeqAIJSetPreallocation(A_matrix, 0, nnz);CHKERRQ(ierr);
  /*
        MatSetValues(); ...
        MatAssemblyBegin();
        MatAssemblyEnd();
  */
  ierr = KSPCreate(PETSC_COMM_WORLD, &ksp);CHKERRQ(ierr);
  ierr = KSPSetOperators(ksp, A_matrix, A_matrix);CHKERRQ(ierr);
  ierr = KSPSetType(ksp, KSPPREONLY);CHKERRQ(ierr);
  ierr = KSPGetPC(ksp, &pc);CHKERRQ(ierr);
  ierr = PCSetType(pc, PCLU);CHKERRQ(ierr);
  ierr = KSPSetFromOptions(ksp);CHKERRQ(ierr);
  ierr = KSPSetUp(ksp);CHKERRQ(ierr);
  /*
        code ...
  */

Here's the error (run with valgrind --tool=memcheck --leak-check=full) :
  ==6371== Warning: set address range perms: large range [0x7c84a040,
0xb4e9a598) (undefined)
  ==6371== Warning: set address range perms: large range [0xb4e9b040,
0x2b4e9aeac) (undefined)
  ==6371== Warning: set address range perms: large range [0x2b4e9b040,
0x4b4e9aeac) (undefined)
  ==6371== Argument 'size' of function memalign has a fishy (possibly
negative) value: -5187484888
  ==6371==    at 0x4C320A6: memalign (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  ==6371==    by 0x501B4B0: PetscMallocAlign (mal.c:49)
  ==6371==    by 0x501CE37: PetscMallocA (mal.c:422)
  ==6371==    by 0x5ACFF0C: MatLUFactorSymbolic_SeqAIJ (aijfact.c:366)
  ==6371==    by 0x561D8B3: MatLUFactorSymbolic (matrix.c:3005)
  ==6371==    by 0x644ED9C: PCSetUp_LU (lu.c:90)
  ==6371==    by 0x65A2C32: PCSetUp (precon.c:894)
  ==6371==    by 0x6707E71: KSPSetUp (itfunc.c:376)
  ==6371==    by 0x13AB09: Calculate (taylor_hood.c:1780)
  ==6371==    by 0x10CB85: main (taylor_hood.c:228)
  ==6371==
  [0]PETSC ERROR: --------------------- Error Message
--------------------------------------------------------------
  [0]PETSC ERROR: Out of memory. This could be due to allocating
  [0]PETSC ERROR: too large an object or bleeding by not properly
  [0]PETSC ERROR: destroying unneeded objects.
  [0]PETSC ERROR: Memory allocated 0 Memory used by process 15258234880
  [0]PETSC ERROR: Try running with -malloc_dump or -malloc_view for info.
  [0]PETSC ERROR: Memory requested 18446744068522065920
  [0]PETSC ERROR: See https://www.mcs.anl.gov/petsc/documentation/faq.html
for trouble shooting.
  [0]PETSC ERROR: Petsc Release Version 3.12.4, unknown
  [0]PETSC ERROR: ./taylor_hood on a arch-linux2-c-debug named e2-120 by
barry Sun Feb 23 14:18:46 2020
  [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++
--with-fc=gfortran --download-mpich --download-fblaslapack
--download-triangle
  [0]PETSC ERROR: #1 MatLUFactorSymbolic_SeqAIJ() line 366 in
/home/barry/petsc/src/mat/impls/aij/seq/aijfact.c
  [0]PETSC ERROR: #2 PetscMallocA() line 422 in
/home/barry/petsc/src/sys/memory/mal.c
  [0]PETSC ERROR: #3 MatLUFactorSymbolic_SeqAIJ() line 366 in
/home/barry/petsc/src/mat/impls/aij/seq/aijfact.c
  [0]PETSC ERROR: #4 MatLUFactorSymbolic() line 3005 in
/home/barry/petsc/src/mat/interface/matrix.c
  [0]PETSC ERROR: #5 PCSetUp_LU() line 90 in
/home/barry/petsc/src/ksp/pc/impls/factor/lu/lu.c
  [0]PETSC ERROR: #6 PCSetUp() line 894 in
/home/barry/petsc/src/ksp/pc/interface/precon.c
  [0]PETSC ERROR: #7 KSPSetUp() line 376 in
/home/barry/petsc/src/ksp/ksp/interface/itfunc.c
  [0]PETSC ERROR: #8 Calculate() line 1780 in
/home/barry/brain/brain/3D/taylor_hood.c
  [0]PETSC ERROR: #9 main() line 230 in
/home/barry/brain/brain/3D/taylor_hood.c
  [0]PETSC ERROR: PETSc Option Table entries:
  [0]PETSC ERROR: -dm_view
  [0]PETSC ERROR: -f mesh/ellipsoid.msh
  [0]PETSC ERROR: -matload_block_size 1
  [0]PETSC ERROR: ----------------End of Error Message -------send entire
error message to petsc-maint at mcs.anl.gov----------

Is there any setting that should be done but I ignore?

Thanks in advance,

Tsung-Hsing Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200223/bb2f9eeb/attachment.html>


More information about the petsc-users mailing list