[petsc-dev] GMRES with one processor crashes

Jed Brown jedbrown at mcs.anl.gov
Mon Jan 9 05:51:38 CST 2012


The first error was likely earlier.

Do you have debugging symbols turned on?

Valgrind has options to write exception files for false positives. MPICH is
usually valgrind-clean while Open MPI is quite noisy.

I will look at the log when I have a computer.
On Jan 9, 2012 5:47 AM, "Alexander Grayver" <agrayver at gfz-potsdam.de> wrote:

> **
> Hi Jed,
>
> On 09.01.2012 12:34, Jed Brown wrote:
>
> On Mon, Jan 9, 2012 at 05:23, Alexander Grayver <agrayver at gfz-potsdam.de>wrote:
>
>> I run petsc-dev like that:
>> mpirun -n 2 /home/solveTest -ksp_view -ksp_monitor -ksp_converged_reason
>> -ksp_monitor_true_residual -log_summary -mat_type mpiaij -ksp_rtol 1.0e-12
>>
>>  [...]
>
>>  But just switching to one process (-n 1) makes it crashing:
>>
>
>  Try removing the "-mat_type mpiaij" part. Note that you can still use
> "-mat_type aij". Also note that you should usually use a prefix so that you
> are setting the type of a specific matrix instead of setting the type of
> all matrices (for which MatSetFromOptions() is called).
>
>
> There is only one matrix in application. It is very simple one, the test
> just loads system matrix and rhs and solves system. I want to use it to
> test different solvers/preconditioners.
>
>
>
>>
>> [0]PETSC ERROR:
>> ------------------------------------------------------------------------
>> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
>> probably memory access out of range
>>
>
> Please run with valgrind --db-attach=yes (or at least a debugger) to get a
> stack trace.
>
>
> This is the stack trace:
>
>      zdotc,               FP=7fffa35afce0
> VecNorm_Seq,         FP=7fffa35afe40
> VecNorm,             FP=7fffa35aff80
> VecNormalize,        FP=7fffa35b0080
> GMREScycle,          FP=7fffa35b02e0
> KSPSolve_GMRES,      FP=7fffa35b0390
> KSPSolve,            FP=7fffa35b1ef0
> main,                FP=7fffa35b31d0
>
> It crashes here:
>
>    PetscFunctionBegin;
>    if (type == NORM_2 || type == NORM_FROBENIUS) {
>      ierr = VecGetArrayRead(xin,&xx);CHKERRQ(ierr);
>      *z = BLASdot_(&bn,xx,&one,xx,&one);  // <<<< crash
>
> The log from valgrind is attached, but it is completely filled with stupid
> MPI messages. How could one filter out all that stuff?
>
> Regards,
> Alexander
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120109/c84900ef/attachment.html>


More information about the petsc-dev mailing list