<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Jed, but why do I get in line 3003 in src/mat/impls/aij/seq/aij.c at
all? As far as understand, if I don't pass nnz (NULL in C/C++ or
PETSC_NULL in fortran) I have to avoid this loop in aij.c code. <br>
<br>
I don't have much experience with valgrind. Could you provide me
with right parameters to run my code under valgrind?<br>
Thanks a lot for your help.<br>
<br>
On 07.03.2011 14:59, Jed Brown wrote:
<blockquote
cite="mid:AANLkTinGaruueKFxyrTTXQJByfWANCD3Uw2b-dqaUyp=@mail.gmail.com"
type="cite">
<p>Looks like a memory error. Best bet is to run in Valgrind.</p>
<blockquote type="cite">On Mar 7, 2011 5:52 AM, "Alexander
Grayver" <<a moz-do-not-send="true"
href="mailto:agrayver@gfz-potsdam.de">agrayver@gfz-potsdam.de</a>>
wrote:<br>
<br>
<div bgcolor="#ffffff" text="#000000"> Hi Jed,<br>
<br>
It's getting even stranger. <br>
<br>
When I run this code under linux I've got error:<br>
<br>
[0]PETSC ERROR: --------------------- Error Message
------------------------------------<br>
[0]PETSC ERROR: Argument out of range!<br>
[0]PETSC ERROR: nnz cannot be greater than row length: local
row 98 value 1455203639 rowlength 343!<br>
[0]PETSC ERROR:
------------------------------------------------------------------------<br>
[0]PETSC ERROR: Petsc Release Version 3.1.0, Patch 7, Mon Dec
20 14:26:37 CST 2010<br>
[0]PETSC ERROR: See docs/changes/index.html for recent
updates.<br>
[0]PETSC ERROR: See docs/faq.html for hints about trouble
shooting.<br>
[0]PETSC ERROR: See docs/index.html for manual pages.<br>
[0]PETSC ERROR:
------------------------------------------------------------------------<br>
[0]PETSC ERROR:
/home/mt/agrayver/mt-soft/multiem/INV3D/_tiger/em_model on a
openmpi-i named glic by agrayver Mon Mar 7 14:49:43 2011<br>
[0]PETSC ERROR: Libraries linked from
/panfs/panfs.gfz-hpcc.cluster/home/mt/agrayver/lib/petsc-3.1-p7/openmpi-intel-complex-debug/lib<br>
[0]PETSC ERROR: Configure run at Fri Mar 4 12:43:58 2011<br>
[0]PETSC ERROR: Configure options
--with-petsc-arch=openmpi-intel-complex-debug
--with-mpi-dir=/opt/mpi/intel/openmpi-1.4.2
--with-scalar-type=complex
--with-blas-lapack-dir=/opt/intel/Compiler/11.1/072/mkl/lib/em64t
--with-precision=double --with-x=0<br>
[0]PETSC ERROR:
------------------------------------------------------------------------<br>
[0]PETSC ERROR: MatSeqAIJSetPreallocation_SeqAIJ() line 3003
in src/mat/impls/aij/seq/aij.c<br>
[0]PETSC ERROR: MatCreateSeqAIJ() line 2906 in
src/mat/impls/aij/seq/aij.c<br>
<br>
<br>
Then I traced it under debugger both on Windows and Linux and
realized that it doesn't crash under Windows only by luck. <br>
<br>
The call stack if the folowing:<br>
[C] MatSeqAIJSetPreallocation_SeqAIJ, FP=7fffb4513880<br>
[C] MatCreateSeqAIJ, FP=7fffb4513900<br>
[C] matcreateseqaij_, FP=7fffb4513960<br>
[F90] MODELING_MOD`modeling, FP=7fffb4517740<br>
<br>
As far as I understand after debugging the problem is that nnz
in MatSeqAIJSetPreallocation isn't 0 and I go through this
code:<br>
if (nnz) {<br>
for (i=0; i<B->rmap->n; i++) {<br>
if (nnz[i] < 0)
SETERRQ2(PETSC_ERR_ARG_OUTOFRANGE,"nnz cannot be less than 0:
local row %d value %d",i,nnz[i]);<br>
if (nnz[i] > B->cmap->n)
SETERRQ3(PETSC_ERR_ARG_OUTOFRANGE,"nnz cannot be greater than
row length: local row %d value %d rowlength
%d",i,nnz[i],B->cmap->n);<br>
}<br>
}<br>
<br>
But why is nnz nonzero? I passed PETSC_NULL. It seems like
macros CHKFORTRANNULLINTEGER in matcreateseqaij_ should set
it to zero, but it doesn't. <br>
<p><font color="#500050"><br>
Thanks. <br>
<br>
On 06.03.2011 16:49, Jed Brown wrote:</font></p>
<p><font color="#500050"><br>
><br>
> On Sun, Mar 6, 2011 at 07:39, Alexander Grayver <<a
moz-do-not-send="true"
href="mailto:agrayver@gfz-potsdam.de">agrayver@gfz-potsdam.de</a>>
wrote:<br>
>><br>
>> Hello,<br>
>...</font></p>
</div>
</blockquote>
</blockquote>
<br>
</body>
</html>