[petsc-dev] GMRES with one processor crashes
Alexander Grayver
agrayver at gfz-potsdam.de
Mon Jan 9 05:54:05 CST 2012
Sorry, I don't quite understand what you mean by first error was earlier?
Yes, symbols are on and I found the crash-related part in the log file.
See it attached.
Regards,
Alexander
On 09.01.2012 12:51, Jed Brown wrote:
>
> 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
> <mailto: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 <mailto: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/b236cabe/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: valgrind.txt
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120109/b236cabe/attachment.txt>
More information about the petsc-dev
mailing list