I don't know much about modules so can't help, but PETSc variables are just like any other variables and so should behave in the same way.
Barry > On Sep 23, 2016, at 2:31 PM, Manuel Valera <mval...@mail.sdsu.edu> wrote: > > Ok, i got this: > > RHS loaded, size: 213120 / 213120 > CSRMAt loaded, sizes: 213120 x 213120 > 8.43036175 s > solveP pass: 1 > RHS loaded, size: 213120 / 213120 > [0]PETSC ERROR: MatGetSize() line 6295 in > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c Wrong type of > object: Parameter # 1 > > Program received signal SIGABRT: Process abort signal. > > Backtrace for this error: > #0 0x7F2A35AEA777 > #1 0x7F2A35AEAD7E > #2 0x7F2A34FC6CAF > #3 0x7F2A34FC6C37 > #4 0x7F2A34FCA027 > #5 0x7F2A35F6F6AA > #6 0x7F2A35F6A2EA > #7 0x7F2A362E2FEF > #8 0x7F2A36326681 > #9 0x799AFF in solvepetsclinear_ at SolvePetscLinear.f90:137 (discriminator > 2) > #10 0x798F6A in solvep_rhs_ at SolveP_Rhs.f90:284 > #11 0x80D028 in ucmsmain at ucmsMain.f90:472 > > .-.-.-.-.-.-.-.- > > What is weird for me is why it loads everything as it should for the first > timestep of the problem and then it breaks on the second one, shouldnt the > matrix be loaded at modules and shared with all subroutines? also, shouldnt > the matrix be locked after assembly_final was used ? that matrix call is Ap > which is inside LoadPetscMatrix module, and it looks like its changed after > the first timestep. > > > On Fri, Sep 23, 2016 at 12:18 PM, Barry Smith <bsm...@mcs.anl.gov> wrote: > > Ok, so the problem is not memory corruption. > > > 0]PETSC ERROR: --------------------- Error Message > > -------------------------------------------------------------- > > [0]PETSC ERROR: Invalid argument > > [0]PETSC ERROR: Wrong type of object: Parameter # 1 > > [0]PETSC ERROR: #1 MatGetSize() line 6295 in > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > So it looks like the matrix has not been created yet in this call. You can > run with -start_in_debugger noxterm and then type cont in the debugger and it > should stop at this error so you can look at the mat object to see what its > value is. > > Barry > > > > > On Sep 23, 2016, at 2:07 PM, Manuel Valera <mval...@mail.sdsu.edu> wrote: > > > > Barry, that was awesome, all the valgrind error dissappeared after using > > the mpiexec from petsc folder, the more you know... > > > > Anyway this is my output from valgrind running with those options: > > > > Last Update: 9/23/2016 12: 5:12 > > ucmsSeamount Entering MAIN loop. > > RHS loaded, size: 213120 / 213120 > > CSRMAt loaded, sizes: 213120 x 213120 > > 8.32709217 s > > solveP pass: 1 > > RHS loaded, size: 213120 / 213120 > > CSRMAt loaded, sizes: 213120 x 0 > > [0]PETSC ERROR: --------------------- Error Message > > -------------------------------------------------------------- > > [0]PETSC ERROR: Invalid argument > > [0]PETSC ERROR: Wrong type of object: Parameter # 1 > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for > > trouble shooting. > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > �J� on a arch-linux2-c-debug > > named valera-HP-xw4600-Workstation by valera Fri Sep 23 12:05:03 2016 > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > --download-ml=1 > > [0]PETSC ERROR: #1 MatGetSize() line 6295 in > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > [0]PETSC ERROR: --------------------- Error Message > > -------------------------------------------------------------- > > [0]PETSC ERROR: Invalid argument > > [0]PETSC ERROR: Wrong type of object: Parameter # 2 > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for > > trouble shooting. > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > �J� on a arch-linux2-c-debug > > named valera-HP-xw4600-Workstation by valera Fri Sep 23 12:05:03 2016 > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > --download-ml=1 > > [0]PETSC ERROR: #2 KSPSetOperators() line 531 in > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcreate.c > > [0]PETSC ERROR: --------------------- Error Message > > -------------------------------------------------------------- > > [0]PETSC ERROR: Nonconforming object sizes > > [0]PETSC ERROR: Preconditioner number of local rows -1 does not equal > > resulting vector number of rows 213120 > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for > > trouble shooting. > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > �J� on a arch-linux2-c-debug > > named valera-HP-xw4600-Workstation by valera Fri Sep 23 12:05:03 2016 > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > --download-ml=1 > > [0]PETSC ERROR: #3 PCApply() line 474 in > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > [0]PETSC ERROR: --------------------- Error Message > > -------------------------------------------------------------- > > [0]PETSC ERROR: Object is in wrong state > > [0]PETSC ERROR: Mat object's type is not set: Argument # 1 > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for > > trouble shooting. > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > �J� on a arch-linux2-c-debug > > named valera-HP-xw4600-Workstation by valera Fri Sep 23 12:05:03 2016 > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > --download-ml=1 > > [0]PETSC ERROR: #4 MatGetFactorAvailable() line 4286 in > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > [0]PETSC ERROR: #5 PCGetDefaultType_Private() line 28 in > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > [0]PETSC ERROR: #6 PCSetFromOptions() line 159 in > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/pcset.c > > [0]PETSC ERROR: #7 KSPSetFromOptions() line 400 in > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcl.c > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > [cli_0]: aborting job: > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > =================================================================================== > > = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES > > = PID 6490 RUNNING AT valera-HP-xw4600-Workstation > > = EXIT CODE: 73 > > = CLEANING UP REMAINING PROCESSES > > = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES > > =================================================================================== > > ==6488== > > ==6488== HEAP SUMMARY: > > ==6488== in use at exit: 131,120 bytes in 2 blocks > > ==6488== total heap usage: 1,224 allocs, 1,222 frees, 249,285 bytes > > allocated > > ==6488== > > ==6488== LEAK SUMMARY: > > ==6488== definitely lost: 0 bytes in 0 blocks > > ==6488== indirectly lost: 0 bytes in 0 blocks > > ==6488== possibly lost: 0 bytes in 0 blocks > > ==6488== still reachable: 131,120 bytes in 2 blocks > > ==6488== suppressed: 0 bytes in 0 blocks > > ==6488== Rerun with --leak-check=full to see details of leaked memory > > ==6488== > > ==6488== For counts of detected and suppressed errors, rerun with: -v > > ==6488== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) > > > > > > On Fri, Sep 23, 2016 at 11:15 AM, Barry Smith <bsm...@mcs.anl.gov> wrote: > > > > > On Sep 23, 2016, at 1:09 PM, Manuel Valera <mval...@mail.sdsu.edu> wrote: > > > > > > Thanks Barry, for the quick reply, > > > > > > I tried doing that once recently, not for this problem though, but it > > > looks like the model i'm working on isn't optimized at all for memory > > > leaks, and valgrind stopped with thousands of errors before reaching this > > > part of the execution. > > > > Some MPI implementations by default produce many meaningless valgrind > > messages. So make sure you ./configure PETSc with --download-mpich this > > version will not produce any meaningless valgrind messages about MPI. > > > > You are not concerned with "memory leaks" in this exercise, only with > > using uninitialized memory or overwriting memory you should not overwrite. > > So you want valgrind arguments like -q --tool=memcheck --num-callers=20 > > --track-origins=yes you do not need --leak-check=yes > > > > So run with valgrind and email use the output and we may have > > suggestions on the cause. > > > > Barry > > > > > > > > > > > > Is there maybe an alternative approach ? or it would be better to just > > > get the model in better shape already ? > > > > > > Thanks > > > > > > On Fri, Sep 23, 2016 at 10:53 AM, Barry Smith <bsm...@mcs.anl.gov> wrote: > > > > > > Run with valgrind to find the exact location of the first memory > > > corruption. http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind > > > > > > > On Sep 23, 2016, at 12:47 PM, Manuel Valera <mval...@mail.sdsu.edu> > > > > wrote: > > > > > > > > Hello all, > > > > > > > > I'm trying to load my laplacian matrix into a fortran module, and i > > > > have implemented it and it works for the first iteration of laplacian > > > > solver, but when starts the second step the laplacian matrix object > > > > becomes corrupts and looks like it loses one of it's dimensions. > > > > > > > > Can you help me understand whats happening? > > > > > > > > The modules are attached, the error i get is the following, i bolded > > > > the lines where i detected corruption: > > > > > > > > ucmsSeamount Entering MAIN loop. > > > > RHS loaded, size: 213120 / 213120 > > > > CSRMAt loaded, sizes: 213120 x 213120 > > > > 8.39198399 s > > > > solveP pass: 1 !Iteration number > > > > RHS loaded, size: 213120 / 213120 > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Invalid argument > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 1 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > �J� on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 10:27:21 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #1 MatGetSize() line 6295 in > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > CSRMAt loaded, sizes: 213120 x 0 > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Invalid argument > > > > [0]PETSC ERROR: Wrong type of object: Parameter # 2 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > �J� on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 10:27:21 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #2 KSPSetOperators() line 531 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcreate.c > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Nonconforming object sizes > > > > [0]PETSC ERROR: Preconditioner number of local rows -1 does not equal > > > > resulting vector number of rows 213120 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > �J� on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 10:27:21 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #3 PCApply() line 474 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > > > [0]PETSC ERROR: --------------------- Error Message > > > > -------------------------------------------------------------- > > > > [0]PETSC ERROR: Object is in wrong state > > > > [0]PETSC ERROR: Mat object's type is not set: Argument # 1 > > > > [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > > > > for trouble shooting. > > > > [0]PETSC ERROR: Petsc Release Version 3.7.3, unknown > > > > [0]PETSC ERROR: ./ucmsSeamount > > > > > > > > > > > > �J� on a > > > > arch-linux2-c-debug named valera-HP-xw4600-Workstation by valera Fri > > > > Sep 23 10:27:21 2016 > > > > [0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ > > > > --with-fc=gfortran --download-fblaslapack=1 --download-mpich=1 > > > > --download-ml=1 > > > > [0]PETSC ERROR: #4 MatGetFactorAvailable() line 4286 in > > > > /home/valera/v5PETSc/petsc/petsc/src/mat/interface/matrix.c > > > > [0]PETSC ERROR: #5 PCGetDefaultType_Private() line 28 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/precon.c > > > > [0]PETSC ERROR: #6 PCSetFromOptions() line 159 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/pc/interface/pcset.c > > > > [0]PETSC ERROR: #7 KSPSetFromOptions() line 400 in > > > > /home/valera/v5PETSc/petsc/petsc/src/ksp/ksp/interface/itcl.c > > > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > [unset]: aborting job: > > > > application called MPI_Abort(MPI_COMM_WORLD, 73) - process 0 > > > > > > > > <LoadPetscMatrix.f90><SolvePetscLinear.f90> > > > > > > > > > > > >