View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002033||OpenFOAM||[All Projects] Bug||public||2016-03-25 10:43||2016-04-07 09:06|
|Status||resolved||Resolution||no change required|
|Platform||centos 7.0||OS||linux 3.10.0-123.20.1.el7.x86_64||OS Version||(please specify)|
|Fixed in Version|
|Summary||0002033: foamToEnsight -parallel crashing|
I am encountering issues running foamToEnsight -latestTime -nodeValues -parallel in OpenFOAM3.0.0.
It crashes with the error message
Create mesh for time = 10
write case: 02_solve.case
Translating time = 10
 --> FOAM FATAL ERROR:
 More than one patch accessing the same transform but not of the same sign.
patch:procBoundary56to57 transform:0 sign:1 current transforms:(1 0 0)
 From function Foam::label Foam::globalIndexAndTransform::addToTransformIndex
 in file lnInclude/globalIndexAndTransformI.H at line 268.
FOAM parallel run exiting
MPI_ABORT was invoked on rank 56 in communicator MPI_COMM_WORLD
with errorcode 1.
I am using mpirun 1.10.1 with OpenFOAM compiled in Single Precision for linux 64 bits and label size 32 bits. I am using scotch decomposition method and 64 procs.
|Steps To Reproduce||I will prepare a test case if this issue has never been seen before.|
|Tags||No tags attached.|
Well, I gave it a shot with OpenFOAM 3.0.0 64-bit SP Int32 + Open-MPI 1.6.5, with the tutorial case "incompressible/pimpleDyMFoam/mixerVesselAMI2D" and I wasn't able to reproduce the problem.
I haven't tried building it with Open-MPI 1.10.1, but I expect that the result would be the same with this case.
@arnaud6: The closest I can remember for a potentially similar issue is #1792 ( http://www.openfoam.org/mantisbt/view.php?id=1792 ) and that's already solved since 2.4.x.
Therefore, if you can provide a test case and/or a variation of one of the OpenFOAM tutorials that makes it possible to reproduce this error, it would make things a lot easier to diagnose and reproduce.
Hi Wyldckat, thanks for coming back on this issue. The minimum size of a test case crashing I can send is 40Mb, is there a way to upload more than 2.097k on the bug tracker ?
I have tried to reduce the number of cores, and up to 32 procs it works fine. At 64 proc, I get the error message reported up.
At 128 procs, the error above is replaced by *** Error in `/cfd/apps/OpenFOAM/OpenFOAM-3.0.0/platforms/linux64GccSPInt32Opt/bin/foamToEnsight': malloc(): memory corruption: 0x0000000004460ee0 ***
So far, this only appears in SP, not in DP. It is tempting to go for SP and it is more than 2 times faster ...
The problem is most likely in the indexing of the transformations. It uses geometric matching to sort transformations (based on face normals). In single precision there will be more truncation errors so it might not find a matching transformation.
You can increase the matching tolerance. In all your polyMesh/boundary files (all processor directories) add to all the processor descriptions e.g.
(default is 0.0001)
|2016-03-25 10:43||arnaud6||New Issue|
|2016-03-25 19:10||wyldckat||Note Added: 0006057|
|2016-03-30 11:26||arnaud6||Note Added: 0006064|
|2016-04-01 12:18||MattijsJ||Note Added: 0006069|
|2016-04-07 09:06||henry||Status||new => resolved|
|2016-04-07 09:06||henry||Resolution||open => no change required|
|2016-04-07 09:06||henry||Assigned To||=> henry|