[petsc-dev] Cannot reuse matrix of type (null)

Eric Chamberland Eric.Chamberland at giref.ulaval.ca
Fri Dec 16 08:33:31 CST 2016


Ok, the offending call made is:

  ierr = (*conv)(mat,newtype,reuse,M);CHKERRQ(ierr);

with:
print newtype
$1 = (MatType) 0x7fdc7bf8414a "seqdense"
print reuse
$2 = MAT_REUSE_MATRIX


and mat is:

(gdb) print *mat

$4 = {hdr = {classid = 1211214, bops = {{getcomm = 0x7fdc6adda05b 
<PetscObjectGetComm_Petsc>, view = 0x7fdc6b7205e8 <MatView>, destroy = 
0x7fdc6b7234b7 <MatDestroy>, compose = 0x7fdc6adda98d 
<PetscObjectCompose_Petsc>, query = 0x7fdc6addadbd 
<PetscObjectQuery_Petsc>, composefunction = 0x7fdc6addb28e 
<PetscObjectComposeFunction_Petsc>, queryfunction = 0x7fdc6addb75f 
<PetscObjectQueryFunction_Petsc>}}, comm = 0x5054930, type = 0, flops = 
0, time = 0, mem = 16584, memchildren = 0, id = 41, refct = 1, tag = 
2147483601, qlist = 0x4c0fc60, olist = 0x0, class_name = 0x7fdc6cc195e0 
"Mat", description = 0x7fdc6cc195e4 "Matrix", mansec = 0x7fdc6cc195e0 
"Mat", type_name = 0x4c0f600 "seqaij", parent = 0x0, parentid = 0, name 
= 0x0, prefix = 0x0, tablevel = 0, cpp = 0x0, state = 4, int_idmax = 0, 
intstar_idmax = 0, intcomposedstate = 0x0, intstarcomposedstate = 0x0, 
intcomposeddata = 0x0, intstarcomposeddata = 0x0, real_idmax = 0, 
realstar_idmax = 0, realcomposedstate = 0x0, realstarcomposedstate = 
0x0, realcomposeddata = 0x0, realstarcomposeddata = 0x0, scalar_idmax = 
0, scalarstar_idmax = 0, scalarcomposedstate = 0x0, 
scalarstarcomposedstate = 0x0, scalarcomposeddata = 0x0, 
scalarstarcomposeddata = 0x0, fortran_func_pointers = 0x0, 
num_fortran_func_pointers = 0, fortrancallback = {0x0, 0x0}, 
num_fortrancallback = {0, 0}, python_context = 0x0, python_destroy = 
0x0, noptionhandler = 0, optionhandler = {0x0, 0x0, 0x0, 0x0, 0x0}, 
optiondestroy = {0x0, 0x0, 0x0, 0x0, 0x0}, optionctx = {0x0, 0x0, 0x0, 
0x0, 0x0}, precision = PETSC_PRECISION_DOUBLE, optionsprinted = 
PETSC_FALSE, options = 0x0}, ops = {{setvalues = 0x7fdc6b53198a 
<MatSetValues_SeqAIJ>, getrow = 0x7fdc6b544343 <MatGetRow_SeqAIJ>, 
restorerow = 0x7fdc6b54476f <MatRestoreRow_SeqAIJ>, mult = 
0x7fdc6b5bc57c <MatMult_SeqAIJ_Inode>, multadd = 0x7fdc6b5bdbda 
<MatMultAdd_SeqAIJ_Inode>, multtranspose = 0x7fdc6b53cd04 
<MatMultTranspose_SeqAIJ>, multtransposeadd = 0x7fdc6b53c574 
<MatMultTransposeAdd_SeqAIJ>, solve = 0x0, solveadd = 0x0, 
solvetranspose = 0x0, solvetransposeadd = 0x0, lufactor = 0x7fdc6b56e475 
<MatLUFactor_SeqAIJ>, choleskyfactor = 0x0, sor = 0x7fdc6b5d3913 
<MatSOR_SeqAIJ_Inode>, transpose = 0x7fdc6b545be6 <MatTranspose_SeqAIJ>, 
getinfo = 0x7fdc6b5426c4 <MatGetInfo_SeqAIJ>, equal = 0x7fdc6b55e32e 
<MatEqual_SeqAIJ>, getdiagonal = 0x7fdc6b53bcc9 <MatGetDiagonal_SeqAIJ>, 
diagonalscale = 0x7fdc6b548097 <MatDiagonalScale_SeqAIJ>, norm = 
0x7fdc6b544a61 <MatNorm_SeqAIJ>, assemblybegin = 0x0, assemblyend = 
0x7fdc6b538f0a <MatAssemblyEnd_SeqAIJ>, setoption = 0x7fdc6b53b7b6 
<MatSetOption_SeqAIJ>, zeroentries = 0x7fdc6b53a23a 
<MatZeroEntries_SeqAIJ>, zerorows = 0x7fdc6b542abf <MatZeroRows_SeqAIJ>, 
lufactorsymbolic = 0x0, lufactornumeric = 0x0, choleskyfactorsymbolic = 
0x0, choleskyfactornumeric = 0x0, setup = 0x7fdc6b54e099 
<MatSetUp_SeqAIJ>, ilufactorsymbolic = 0x0, iccfactorsymbolic = 0x0, 
getdiagonalblock = 0x0, placeholder_33 = 0x0, duplicate = 0x7fdc6b55cc4f 
<MatDuplicate_SeqAIJ>, forwardsolve = 0x0, backwardsolve = 0x0, 
ilufactor = 0x7fdc6b54adf8 <MatILUFactor_SeqAIJ>, iccfactor = 0x0, axpy 
= 0x7fdc6b54f265 <MatAXPY_SeqAIJ>, getsubmatrices = 0x7fdc6b54bfd8 
<MatGetSubMatrices_SeqAIJ>, increaseoverlap = 0x7fdc6b54c432 
<MatIncreaseOverlap_SeqAIJ>, getvalues = 0x7fdc6b532b7e 
<MatGetValues_SeqAIJ>, copy = 0x7fdc6b54dbd1 <MatCopy_SeqAIJ>, getrowmax 
= 0x7fdc6b5508bd <MatGetRowMax_SeqAIJ>, scale = 0x7fdc6b54b8d1 
<MatScale_SeqAIJ>, shift = 0x7fdc6b5541b6 <MatShift_SeqAIJ>, diagonalset 
= 0x7fdc6b52e223 <MatDiagonalSet_SeqAIJ>, zerorowscolumns = 
0x7fdc6b54373d <MatZeroRowsColumns_SeqAIJ>, setrandom = 0x7fdc6b553bdb 
<MatSetRandom_SeqAIJ>, getrowij = 0x7fdc6b52e980 <MatGetRowIJ_SeqAIJ>, 
restorerowij = 0x7fdc6b52f0c0 <MatRestoreRowIJ_SeqAIJ>, getcolumnij = 
0x7fdc6b52f642 <MatGetColumnIJ_SeqAIJ>, restorecolumnij = 0x7fdc6b52ffd6 
<MatRestoreColumnIJ_SeqAIJ>, fdcoloringcreate = 0x7fdc6b58f28d 
<MatFDColoringCreate_SeqXAIJ>, coloringpatch = 0x0, setunfactored = 0x0, 
permute = 0x7fdc6b54cdc6 <MatPermute_SeqAIJ>, setvaluesblocked = 0x0, 
getsubmatrix = 0x0, destroy = 0x7fdc6b53a623 <MatDestroy_SeqAIJ>, view = 
0x7fdc6b538922 <MatView_SeqAIJ>, convertfrom = 0x0, matmatmult = 
0x7fdc6b5e8922 <MatMatMatMult_SeqAIJ_SeqAIJ_SeqAIJ>, matmatmultsymbolic 
= 0x7fdc6b5e917a <MatMatMatMultSymbolic_SeqAIJ_SeqAIJ_SeqAIJ>, 
matmatmultnumeric = 0x7fdc6b5e9a2f 
<MatMatMatMultNumeric_SeqAIJ_SeqAIJ_SeqAIJ>, setlocaltoglobalmapping = 
0x0, setvalueslocal = 0x0, zerorowslocal = 0x0, getrowmaxabs = 
0x7fdc6b550244 <MatGetRowMaxAbs_SeqAIJ>, getrowminabs = 0x7fdc6b550fca 
<MatGetRowMinAbs_SeqAIJ>, convert = 0x0, dummy72 = 0x0, placeholder_73 = 
0x0, setvaluesadifor = 0x0, fdcoloringapply = 0x7fdc6b6a0408 
<MatFDColoringApply_AIJ>, setfromoptions = 0x0, multconstrained = 0x0, 
multtransposeconstrained = 0x0, findzerodiagonals = 0x7fdc6b52d703 
<MatFindZeroDiagonals_SeqAIJ>, mults = 0x0, solves = 0x0, getinertia = 
0x0, load = 0x7fdc6b55d1e7 <MatLoad_SeqAIJ>, issymmetric = 
0x7fdc6b5479d3 <MatIsSymmetric_SeqAIJ>, ishermitian = 0x7fdc6b547d35 
<MatIsHermitian_SeqAIJ>, isstructurallysymmetric = 0x0, 
setvaluesblockedlocal = 0x0, getvecs = 0x0, matmult = 0x7fdc6b595db4 
<MatMatMult_SeqAIJ_SeqAIJ>, matmultsymbolic = 0x7fdc6b59e054 
<MatMatMultSymbolic_SeqAIJ_SeqAIJ>, matmultnumeric = 0x7fdc6b597e13 
<MatMatMultNumeric_SeqAIJ_SeqAIJ>, ptap = 0x7fdc6b5ab519 
<MatPtAP_SeqAIJ_SeqAIJ>, ptapsymbolic = 0x7fdc6b5aeda4 
<MatPtAPSymbolic_SeqAIJ_SeqAIJ_DenseAxpy>, ptapnumeric = 0x7fdc6b5af661 
<MatPtAPNumeric_SeqAIJ_SeqAIJ>, mattransposemult = 0x7fdc6b59f105 
<MatMatTransposeMult_SeqAIJ_SeqAIJ>, mattransposemultsymbolic = 
0x7fdc6b59fe65 <MatMatTransposeMultSymbolic_SeqAIJ_SeqAIJ>, 
mattransposemultnumeric = 0x7fdc6b5a0e80 
<MatMatTransposeMultNumeric_SeqAIJ_SeqAIJ>, placeholder_98 = 0x0, 
placeholder_99 = 0x0, placeholder_100 = 0x0, placeholder_101 = 0x0, 
conjugate = 0x7fdc6b54ff61 <MatConjugate_SeqAIJ>, placeholder_103 = 0x0, 
setvaluesrow = 0x7fdc6b531318 <MatSetValuesRow_SeqAIJ>, realpart = 
0x7fdc6b539aee <MatRealPart_SeqAIJ>, imaginarypart = 0x7fdc6b539e9d 
<MatImaginaryPart_SeqAIJ>, getrowuppertriangular = 0x0, 
restorerowuppertriangular = 0x0, matsolve = 0x7fdc6b5704d4 
<MatMatSolve_SeqAIJ>, placeholder_110 = 0x0, getrowmin = 0x7fdc6b5517ae 
<MatGetRowMin_SeqAIJ>, getcolumnvector = 0x0, missingdiagonal = 
0x7fdc6b53f8ea <MatMissingDiagonal_SeqAIJ>, getseqnonzerostructure = 
0x0, create = 0x0, getghosts = 0x0, getlocalsubmatrix = 0x0, 
restorelocalsubmatrix = 0x0, multdiagonalblock = 0x7fdc6b5e1597 
<MatMultDiagonalBlock_SeqAIJ_Inode>, hermitiantranspose = 0x0, 
multhermitiantranspose = 0x0, multhermitiantransposeadd = 0x0, 
getmultiprocblock = 0x7fdc6b54a83c <MatGetMultiProcBlock_SeqAIJ>, 
findnonzerorows = 0x7fdc6b52daec <MatFindNonzeroRows_SeqAIJ>, 
getcolumnnorms = 0x7fdc6b52c3d1 <MatGetColumnNorms_SeqAIJ>, 
invertblockdiagonal = 0x7fdc6b551ebb <MatInvertBlockDiagonal_SeqAIJ>, 
placeholder_127 = 0x0, getsubmatricesmpi = 0x0, setvaluesbatch = 0x0, 
transposematmult = 0x7fdc6b5a1c5a <MatTransposeMatMult_SeqAIJ_SeqAIJ>, 
transposematmultsymbolic = 0x7fdc6b5a2498 
<MatTransposeMatMultSymbolic_SeqAIJ_SeqAIJ>, transposematmultnumeric = 
0x7fdc6b5a2a65 <MatTransposeMatMultNumeric_SeqAIJ_SeqAIJ>, 
transposecoloringcreate = 0x7fdc6b5a6ee6 
<MatTransposeColoringCreate_SeqAIJ>, transcoloringapplysptoden = 
0x7fdc6b5a6094 <MatTransColoringApplySpToDen_SeqAIJ>, 
transcoloringapplydentosp = 0x7fdc6b5a663b 
<MatTransColoringApplyDenToSp_SeqAIJ>, rart = 0x7fdc6b5b4b9e 
<MatRARt_SeqAIJ_SeqAIJ>, rartsymbolic = 0x7fdc6b5b4258 
<MatRARtSymbolic_SeqAIJ_SeqAIJ>, rartnumeric = 0x7fdc6b5b47b2 
<MatRARtNumeric_SeqAIJ_SeqAIJ>, setblocksizes = 0x0, aypx = 0x0, 
residual = 0x0, fdcoloringsetup = 0x7fdc6b5907a3 
<MatFDColoringSetUp_SeqXAIJ>, findoffblockdiagonalentries = 
0x7fdc6b52cb21 <MatFindOffBlockDiagonalEntries_SeqAIJ>, 
creatempimatconcatenateseqmat = 0x7fdc6b5602f6 
<MatCreateMPIMatConcatenateSeqMat_SeqAIJ>}}, rmap = 0x4c0e120, cmap = 
0x4c0e7a0, data = 0x4c0ee20, factortype = MAT_FACTOR_NONE, assembled = 
PETSC_TRUE, was_assembled = PETSC_TRUE, num_ass = 2, nonzerostate = 1, 
info = {block_size = 0, nz_allocated = 0, nz_used = 0, nz_unneeded = 0, 
memory = 0, assemblies = 0, mallocs = 0, fill_ratio_given = 0, 
fill_ratio_needed = 0, factor_mallocs = 0}, insertmode = NOT_SET_VALUES, 
stash = {nmax = 0, umax = 0, oldnmax = 0, n = 0, bs = 0, reallocs = 0, 
space_head = 0x0, space = 0x0, ScatterBegin = 0x0, ScatterGetMesg = 0x0, 
ScatterEnd = 0x0, ScatterDestroy = 0x0, comm = 0x0, size = 0, rank = 0, 
tag1 = 0, tag2 = 0, send_waits = 0x0, recv_waits = 0x0, send_status = 
0x0, nsends = 0, nrecvs = 0, svalues = 0x0, sindices = 0x0, rvalues = 
0x0, rindices = 0x0, nprocessed = 0, flg_v = 0x0, reproduce = 
PETSC_FALSE, reproduce_count = 0, subset_off_proc = PETSC_FALSE, 
use_status = PETSC_FALSE, nsendranks = 0, nrecvranks = 0, sendranks = 
0x0, recvranks = 0x0, sendhdr = 0x0, recvhdr = 0x0, sendframes = 0x0, 
recvframes = 0x0, recvframe_active = 0x0, recvframe_i = 0, 
recvframe_count = 0, recvcount = 0, some_indices = 0x0, some_statuses = 
0x0, some_count = 0, some_i = 0, sendreqs = 0x0, recvreqs = 0x0, 
segsendblocks = 0x0, segrecvframe = 0x0, segrecvblocks = 0x0, blocktype 
= 0x0, blocktype_size = 0, insertmode = 0x0}, bstash = {nmax = 0, umax = 
0, oldnmax = 0, n = 0, bs = 0, reallocs = 0, space_head = 0x0, space = 
0x0, ScatterBegin = 0x0, ScatterGetMesg = 0x0, ScatterEnd = 0x0, 
ScatterDestroy = 0x0, comm = 0x0, size = 0, rank = 0, tag1 = 0, tag2 = 
0, send_waits = 0x0, recv_waits = 0x0, send_status = 0x0, nsends = 0, 
nrecvs = 0, svalues = 0x0, sindices = 0x0, rvalues = 0x0, rindices = 
0x0, nprocessed = 0, flg_v = 0x0, reproduce = PETSC_FALSE, 
reproduce_count = 0, subset_off_proc = PETSC_FALSE, use_status = 
PETSC_FALSE, nsendranks = 0, nrecvranks = 0, sendranks = 0x0, recvranks 
= 0x0, sendhdr = 0x0, recvhdr = 0x0, sendframes = 0x0, recvframes = 0x0, 
recvframe_active = 0x0, recvframe_i = 0, recvframe_count = 0, recvcount 
= 0, some_indices = 0x0, some_statuses = 0x0, some_count = 0, some_i = 
0, sendreqs = 0x0, recvreqs = 0x0, segsendblocks = 0x0, segrecvframe = 
0x0, segrecvblocks = 0x0, blocktype = 0x0, blocktype_size = 0, 
insertmode = 0x0}, nullsp = 0x0, transnullsp = 0x0, nearnullsp = 0x0, 
congruentlayouts = -1, preallocated = PETSC_TRUE, stencil = {dim = 0, 
dims = {0, 0, 0, 0}, starts = {0, 0, 0, 0}, noc = PETSC_FALSE}, 
symmetric = PETSC_FALSE, hermitian = PETSC_FALSE, structurally_symmetric 
= PETSC_FALSE, spd = PETSC_FALSE, symmetric_set = PETSC_FALSE, 
hermitian_set = PETSC_FALSE, structurally_symmetric_set = PETSC_FALSE, 
spd_set = PETSC_FALSE, symmetric_eternal = PETSC_FALSE, nooffprocentries 
= PETSC_FALSE, nooffproczerorows = PETSC_TRUE, subsetoffprocentries = 
PETSC_FALSE, submat_singleis = PETSC_FALSE, spptr = 0x0, solvertype = 
0x0, checksymmetryonassembly = PETSC_FALSE, checknullspaceonassembly = 
PETSC_FALSE, checksymmetrytol = 0, redundant = 0x0, erroriffailure = 
PETSC_FALSE, factorerrortype = MAT_FACTOR_NOERROR, 
factorerror_zeropivot_value = 0, factorerror_zeropivot_row = 0}

Eric




More information about the petsc-dev mailing list