View Issue Details

IDProjectCategoryView StatusLast Update
0002033OpenFOAM[All Projects] Bugpublic2016-04-07 09:06
Reporterarnaud6Assigned Tohenry 
Status resolvedResolutionno change required 
Platformcentos 7.0OSlinux 3.10.0-123.20.1.el7.x86_64OS Version(please specify)
Product Version 
Fixed in Version 
Summary0002033: 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:
Translating time = 10
[56] 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)
[56] From function Foam::label Foam::globalIndexAndTransform::addToTransformIndex
const label,
const label,
const bool
) const
[56] 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 ReproduceI will prepare a test case if this issue has never been seen before.
TagsNo tags attached.



2016-03-25 19:10

updater   ~0006057

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 ( ) 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.


2016-03-30 11:26

reporter   ~0006064

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 ...


2016-04-01 12:18

reporter   ~0006069

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.

    matchTolerance 0.1;

(default is 0.0001)

Issue History

Date Modified Username Field Change
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