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>
> > >
> > >
> >
> >
> 
> 

Reply via email to