<div dir="ltr"><div>Dear PETSC users,</div><div><br></div><div>I hope that I can have a comment about errors I got during sparse symmetric matrix construction. In this example, I used three processes. The size of a test matrix is 52105-by-52105. The length of array d_nnz and o_nnz is 17461 at rank 0, 17111 at rank 1 and 17535 at rank 2. The two arrays exactly describe nnz of the diagonal and off-diagonal part. At rank 0, I tried to add 148767 element for the diagonal part and 5821 for the off-diagonal part. At rank 1, I tried to add 135826 and 19541 for the diagonal and off-diagonal parts, respectively. At rank 2, I tried to add 138155 and 0 for the diagonal and off-diagonal parts. Rank 0 has matrix rows from 0 to 17460; rank 1 from 17460 to 34570 and rank 2 from 34570 to 52104.</div><div>During the run, I got an error message: nnz cannot be greater than block row length: local row 17124 value 38762560 rowlength 17368. My d_nnz and o_nnz arrays never have a value such as 38762560. Could anyone help me decode this error message? In advance, I appreciate your help. </div><div><br></div><div>Evan </div><div><br></div><div>// CODE<br></div><div>MatCreate(PETSC_COMM_WORLD,&B);<br>MatSetSizes(B,PETSC_DECIDE,PETSC_DECIDE,ngedges_internal,ngedges_internal);<br>MatSetType(B,MATSBAIJ);<br>MatMPISBAIJSetPreallocation(B,1,0,d_nnz,0,o_nnz);<br>delete [] d_nnz;<br>delete [] o_nnz;</div><div>MatSetValues(B, nentries_mat_b_partitioned, mat_b_i_partitioned, nentries_mat_b_partitioned, mat_b_j_partitioned, mat_b_val_partitioned, ADD_VALUES);<br>delete [] mat_b_i_partitioned;<br>delete [] mat_b_j_partitioned;<br>delete [] mat_b_val_partitioned;</div><div>MatAssemblyBegin(B,MAT_FINAL_ASSEMBLY);<br>MatAssemblyEnd(B,MAT_FINAL_ASSEMBLY);</div><div><br></div><div>//Errors:</div><div>[1]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[1]PETSC ERROR: Argument out of range<br>[1]PETSC ERROR: nnz cannot be greater than block row length: local row 17124 value 38762560 rowlength 17368<br>[1]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[1]PETSC ERROR: Petsc Release Version 3.5.0, Jun, 30, 2014 <br>[1]PETSC ERROR: fetdem3dp on a arch-linux2-c-debug named n0024.voltaire0 by esum Thu Nov  6 11:34:23 2014<br>[1]PETSC ERROR: Configure options --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --with-ptscotch=1 --with-ptscotch-dir=/clusterfs/voltaire/home/software/modules/scotch/5.1.12-gcc/ --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/<br>[1]PETSC ERROR: #1 MatSeqSBAIJSetPreallocation_SeqSBAIJ() line 1599 in /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/seq/sbaij.c<br>[1]PETSC ERROR: #2 MatSeqSBAIJSetPreallocation() line 2054 in /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/seq/sbaij.c<br>[1]PETSC ERROR: #3 MatMPISBAIJSetPreallocation_MPISBAIJ() line 1626 in /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/mpi/mpisbaij.c<br>[1]PETSC ERROR: #4 MatMPISBAIJSetPreallocation() line 1930 in /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/mpi/mpisbaij.c<br>[1]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[1]PETSC ERROR: Object is in wrong state<br>[1]PETSC ERROR: Must call MatXXXSetPreallocation() or MatSetUp() on argument 1 "mat" before MatSetValues()<br>[1]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[1]PETSC ERROR: Petsc Release Version 3.5.0, Jun, 30, 2014 <br>[1]PETSC ERROR: fetdem3dp on a arch-linux2-c-debug named n0024.voltaire0 by esum Thu Nov  6 11:34:23 2014<br>[1]PETSC ERROR: Configure options --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --with-ptscotch=1 --with-ptscotch-dir=/clusterfs/voltaire/home/software/modules/scotch/5.1.12-gcc/ --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/<br>[1]PETSC ERROR: #5 MatSetValues() line 1110 in /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>PNT 7 Rank:1<br>[1]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[1]PETSC ERROR: Object is in wrong state<br>[1]PETSC ERROR: Must call MatXXXSetPreallocation() or MatSetUp() on argument 1 "mat" before MatAssemblyBegin()<br>[1]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[1]PETSC ERROR: Petsc Release Version 3.5.0, Jun, 30, 2014 <br>[1]PETSC ERROR: fetdem3dp on a arch-linux2-c-debug named n0024.voltaire0 by esum Thu Nov  6 11:34:23 2014<br>[1]PETSC ERROR: Configure options --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --with-ptscotch=1 --with-ptscotch-dir=/clusterfs/voltaire/home/software/modules/scotch/5.1.12-gcc/ --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/<br>[1]PETSC ERROR: #6 MatAssemblyBegin() line 4799 in /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>--------------------------------------------------------------------------<br>MPI_ABORT was invoked on rank 1 in communicator MPI_COMM_WORLD <br>with errorcode 59.</div><div>NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.<br>You may or may not see output from other processes, depending on<br>exactly when Open MPI kills them.<br>--------------------------------------------------------------------------<br>[1]PETSC ERROR: ------------------------------------------------------------------------<br>[1]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>[1]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>[1]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[1]PETSC">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[1]PETSC</a> ERROR: or try <a href="http://valgrind.org">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>[1]PETSC ERROR: likely location of problem given in stack below<br>[1]PETSC ERROR: ---------------------  Stack Frames ------------------------------------<br>[1]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,<br>[1]PETSC ERROR:       INSTEAD the line number of the start of the function<br>[1]PETSC ERROR:       is given.<br>[1]PETSC ERROR: [1] MatStashScatterEnd_Private line 112 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/utils/matstash.c<br>[1]PETSC ERROR: [1] MatAssemblyEnd_MPISBAIJ line 517 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/mpi/mpisbaij.c<br>[1]PETSC ERROR: [1] MatAssemblyEnd line 4892 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>[1]PETSC ERROR: [1] MatAssemblyBegin line 4796 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>[1]PETSC ERROR: [1] MatSetValues line 1103 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>[1]PETSC ERROR: [1] MatSeqSBAIJSetPreallocation_SeqSBAIJ line 1575 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/seq/sbaij.c<br>[1]PETSC ERROR: [1] MatSeqSBAIJSetPreallocation line 2050 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/seq/sbaij.c<br>[1]PETSC ERROR: [1] MatMPISBAIJSetPreallocation_MPISBAIJ line 1587 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/mpi/mpisbaij.c<br>[1]PETSC ERROR: [1] MatMPISBAIJSetPreallocation line 1926 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/impls/sbaij/mpi/mpisbaij.c<br>[1]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[1]PETSC ERROR: Signal received<br>[1]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[1]PETSC ERROR: Petsc Release Version 3.5.0, Jun, 30, 2014 <br>[1]PETSC ERROR: fetdem3dp on a arch-linux2-c-debug named n0024.voltaire0 by esum Thu Nov  6 11:34:23 2014<br>[1]PETSC ERROR: Configure options --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --with-ptscotch=1 --with-ptscotch-dir=/clusterfs/voltaire/home/software/modules/scotch/5.1.12-gcc/ --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/<br>[1]PETSC ERROR: #7 User provided function() line 0 in  unknown file<br>PNT 5 Rank:2<br>PNT 5 Rank:0<br>[2]PETSC ERROR: ------------------------------------------------------------------------<br>[2]PETSC ERROR: Caught signal number 15 Terminate: Some process (or the batch system) has told this process to end<br>[2]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>[2]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[2]PETSC">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[2]PETSC</a> ERROR: or try <a href="http://valgrind.org">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>[2]PETSC ERROR: likely location of problem given in stack below<br>[2]PETSC ERROR: ---------------------  Stack Frames ------------------------------------<br>[2]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,<br>[2]PETSC ERROR:       INSTEAD the line number of the start of the function<br>[2]PETSC ERROR:       is given.<br>[2]PETSC ERROR: [2] MatSetValues line 1103 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>[2]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[2]PETSC ERROR: Signal received<br>[2]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[2]PETSC ERROR: Petsc Release Version 3.5.0, Jun, 30, 2014 <br>[2]PETSC ERROR: fetdem3dp on a arch-linux2-c-debug named n0024.voltaire0 by esum Thu Nov  6 11:34:23 2014<br>[2]PETSC ERROR: Configure options --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --with-ptscotch=1 --with-ptscotch-dir=/clusterfs/voltaire/home/software/modules/scotch/5.1.12-gcc/ --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/<br>[2]PETSC ERROR: #1 User provided function() line 0 in  unknown file<br>[0]PETSC ERROR: ------------------------------------------------------------------------<br>[0]PETSC ERROR: Caught signal number 15 Terminate: Some process (or the batch system) has told this process to end<br>[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>[0]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[0]PETSC">http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[0]PETSC</a> ERROR: or try <a href="http://valgrind.org">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>[0]PETSC ERROR: likely location of problem given in stack below<br>[0]PETSC ERROR: ---------------------  Stack Frames ------------------------------------<br>[0]PETSC ERROR: Note: The EXACT line numbers in the stack are not available,<br>[0]PETSC ERROR:       INSTEAD the line number of the start of the function<br>[0]PETSC ERROR:       is given.<br>[0]PETSC ERROR: [0] MatSetValues line 1103 /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/mat/interface/matrix.c<br>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<br>[0]PETSC ERROR: Signal received<br>[0]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[0]PETSC ERROR: Petsc Release Version 3.5.0, Jun, 30, 2014 <br>[0]PETSC ERROR: fetdem3dp on a arch-linux2-c-debug named n0024.voltaire0 by esum Thu Nov  6 11:34:23 2014<br>[0]PETSC ERROR: Configure options --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --with-ptscotch=1 --with-ptscotch-dir=/clusterfs/voltaire/home/software/modules/scotch/5.1.12-gcc/ --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/<br>[0]PETSC ERROR: #1 User provided function() line 0 in  unknown file<br>--------------------------------------------------------------------------</div></div>