Infinite loop in snappyHexMesh

It's meshing a set of overlapping surfaces - the same case works fine on linux / OpenFOAM 1.7.1

output is something like:

Surface refinement iteration 4

Marked for refinement due to surface intersection : 4993 cells.
Marked for refinement due to curvature/regions : 0 cells.
Determined cells to refine in = 0.019 s
Selected for refinement : 5291 cells (out of 11038)
Edge intersection testing:
Number of edges : 156258
Number of edges to retest : 149608
findLine : treeStart:(2.15625 -0.03125 0.78125) treeEnd:(2.15625 -0.09375 0.78125)
node:73210 octant:7 bb:(2.14551 -0.0322609 0.778093) (2.15625 -0.0276522 0.782739)
iter:0 at current:(2.15625 -0.03125 0.78125) (perturbed:(2.15625 -0.03125 0.78125))
node:73210 octant:7 bb:(2.14551 -0.0322609 0.778093) (2.15625 -0.0276522 0.782739)
iter:0 hit face:right at:(2.15625 -0.03125 0.78125)
node:73210 octant:7 bb:(2.14551 -0.0322609 0.778093) (2.15625 -0.0276522 0.782739)
walking to neighbour containing:(2.15625 -0.03125 0.78125)
walked for point:(2.15625 -0.03125 0.78125)
to neighbour node:73361 octant:6 face:left of octantBb:(2.15625 -0.0322609 0.778093) (2.16699 -0.0276522 0.782739)

There will be differences between platforms

I have no experience running snappyHexMesh, but there is every chance that it will not run identically under Windows and Linux.

Note that OpenFlow uses single precision to represent real numbers while I'd guess that your Linux version used double precision. So it's highly likely that you will need to tune your parameters specifically for each platform.

Could be precision, yes...

Yes, my linux version is using double precision but the mesh is not especially fine, and one would think that a meshing tool would be less sensitive to this than a flow solver, for example. Of course, it does seem to be oscillating between two neighbouring nodes, so it could just be a numerical indeterminacy.

It seems to be having trouble with overlapping geometry for the most part, so I'll see what I can do to clean it up...