Page 1 of 1

MPI_Channel::recvVector() - incorrect number of entries for Vector received

Posted: Mon Apr 12, 2021 12:59 pm
by cmckee
Howdy,

When using the Mumps system, I am receiving the following error:

Code: Select all

MPI_Channel::recvVector() - incorrect number of entries for Vector received: -32766 expected: 24
The call stack leading up to this failure is:

Code: Select all

	OpenSeesSP.exe!MPI_Channel::recvVector(int dbTag, int commitTag, Vector & theVector, ChannelAddress * theAddress) Line 340	C++
 	OpenSeesSP.exe!MumpsParallelSOE::solve() Line 353	C++
 	OpenSeesSP.exe!NewtonRaphson::solveCurrentStep() Line 187	C++
 	OpenSeesSP.exe!DirectIntegrationAnalysis::analyzeStep(double dT) Line 215	C++
 	OpenSeesSP.exe!DirectIntegrationAnalysis::analyze(int numSteps, double dT) Line 173	C++
 	OpenSeesSP.exe!analyzeModel(void * clientData, Tcl_Interp * interp, int argc, const char * * argv) Line 1902	C++
 	[External Code]	
 	OpenSeesSP.exe!OPS_SourceCmd(void * dummy, Tcl_Interp * interp, int objc, Tcl_Obj * const * objv) Line 1179	C++
 	[External Code]	
 	OpenSeesSP.exe!OPS_SourceCmd(void * dummy, Tcl_Interp * interp, int objc, Tcl_Obj * const * objv) Line 1179	C++
 	[External Code]	
 	OpenSeesSP.exe!g3TclMain(int argc, char * * argv, int(*)(Tcl_Interp *) appInitProc, int rank, int np) Line 443	C++
 	OpenSeesSP.exe!main(int argc, char * * argv) Line 275	C++
Error occurs when the MumpsParallelSOE is receiving the *vectX from each channel. A quick try with SuperLU shows the same issue.

Error occurs using both IMPI and OpenMpi.

Is there anything obvious that may be the issue here? I can provide more details if necessary.

Thank you

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Posted: Mon Apr 12, 2021 1:25 pm
by mhscott
Can you spit out the size and values in vectX before the call the recvVector in MumpsParallelSOE line 353ish?

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Posted: Mon Apr 12, 2021 1:57 pm
by cmckee

Code: Select all

vectX.size() - 24
vectX[0] = -4.43559e-06 -0.000700246 1.16597e-06 -2.14741e-06 -0.00130121 9.16138e-07 2.14741e-06 -0.00130121 -9.16138e-07 4.43559e-06 -0.000700246 -1.16597e-06 3.62509e-06 -0.00051289 3.78252e-07 1.75734e-06 -0.000940812 3.64984e-07 -1.75734e-06 -0.000940812 -3.64984e-07 -3.62509e-06 -0.00051289 -3.78252e-07
vectX[1] =
vectX[2] =
vectX[3] =
vectX[4] = 0 0 0
vectX[5] =
vectX[6] =
vectX[7] =
vectX[8] = 0.000155822 -3.1354 1.16593e-06 0.000147964 -6.34034 9.16101e-07 -0.000147964 -6.34034 -9.16101e-07 -0.000155822 -3.1354 -1.16593e-06 0.15083 -3.81564 2.17735 -0.1511 -6.99583 1.58268 0.000127963 -7.01149 -3.6497e-07 0.000141536 -3.79998 -3.78237e-07
vectX[9] =
vectX[10] =
vectX[11] =
vectX[12] = -0.00145004 -0.205156 -0.000151301
vectX[13] =
vectX[14] =
vectX[15] =
vectX[16] = 0 0 0
vectX[17] =
vectX[18] =
vectX[19] =
vectX[20] = 4.43559e-06 -0.000700246 -1.16597e-06
vectX[21] =
vectX[22] =
vectX[23] =

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Posted: Mon Apr 12, 2021 3:05 pm
by cmckee
I believe it is related to the NormUnbalance convergence test. If I change to NormDispIncr, the issue goes away.

Re: MPI_Channel::recvVector() - incorrect number of entries for Vector received

Posted: Mon Jan 09, 2023 10:33 am
by jfhuang
cmckee wrote: Mon Apr 12, 2021 3:05 pm I believe it is related to the NormUnbalance convergence test. If I change to NormDispIncr, the issue goes away.
I can confirm this as well using the lastest OpenSeesSP code. I was having this same error using NormUnbalance. When changing to NormDispIncr, it went away. Any thoughts/updates on this?