[petsc-users] Create Hypre ILU(0) PC Segmentation error

Barry Smith bsmith at mcs.anl.gov
Sun Nov 1 10:18:33 CST 2015


   You need to learn how to use the debugger to debug this type of crash. In this case it is very simple just run the code in the debugger and when it crashes type "where" and "up" and "list" to see where it crashed. Make sure to use the debug version of the code.
 
> On Nov 1, 2015, at 7:39 AM, Feng Xing <snakexf at gmail.com> wrote:
> 
> Hello everyone,
> 
> I would like to look for help for a small problem. I am trying to create a Hypre ilu(0) preconditioned in Fortran with the following code, where the matrix A_mpi has been created.
> 
>     call PCCreate(MPI_COMM_WORLD, pcilu0, Ierr)
>     CHKERRQ(Ierr)
>     call PCSetOperators(pcilu0, A_mpi, A_mpi, Ierr)
>     CHKERRQ(Ierr)
>     call PCSetType(pcilu0, PCHYPRE, Ierr)
>     CHKERRQ(Ierr)
>     call PCHYPRESetType(pcilu0, 'euclid', Ierr)
>     CHKERRQ(Ierr)
>     call PetscOptionsSetValue(pcilu0, '-pc_hypre_euclid_levels', '0', Ierr) 

     This is likely the problem since you are using totally the wrong first argument for this function.

    Note also you would use KSPGetPC() and then set the PC and not use a PCCreate()

>     CHKERRQ(Ierr)
> 
> But, I got some segmentation errors. I tried to use valgrind, but it doesn’t report any errors. 
> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
> [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
> 
> Thank you very much!
> 
> Kind regards,
> Feng Xing
> Postdoc in France
> 



More information about the petsc-users mailing list