[cmake-developers] Parallel ctest issues on the MinGW-w64/MSYS2 platform

Nils Gladitz nilsgladitz at gmail.com
Tue Mar 29 17:56:04 EDT 2016


On 29.03.2016 23:34, Alan W. Irwin wrote:
> On 2016-03-29 22:46+0200 Nils Gladitz wrote:
>
>> On 29.03.2016 21:39, Alan W. Irwin wrote:
>>> One of the PLplot developers, Arjen Markus, has just reported to me
>>> that ctest -j4 for PLplot hangs on his MinGW-w64/MSYS2 platform while
>>> ctest works fine. This issue occurred for the
>>> mingw64/mingw-w64-x86_64-cmake 3.4.1-1 package version of ctest.exe,
>>> and the PLplot build was done with the "MSYS Makefiles" generator. In
>>> contrast to the MinGW-w64/MSYS2 platform case, ctest -j4 works fine
>>> for the Linux case.
>>>
>>> Has anyone else here had similar difficulties OR success with the
>>> parallel ctest option on the MinGW-w64/MSYS2 platform?
>>
>> Afair there are sporadic issues with the cygwin runtime (on which 
>> msys/msys2 is based) in the process handling code of kwsys (used by 
>> cmake).
>> The code is used by e.g. execute_process() and also ctest for test 
>> execution.
>>
>> I think the issue is due to how pipes are implemented by the runtime.
>> From what I remember rsync also suffers from this.
>>
>> Also having Kaspersky installed (even when paused) seems to make 
>> these hangs more likely.
>
> Thanks, Nils, for that information.  Could this issue be related to
> the Cygwin unreliability mentioned in
> <http://cygwin.com/cygwin-ug-net/highlights.html> where they say "In
> summary, current Windows implementations make it impossible to
> implement a perfectly reliable fork, and occasional fork failures are
> inevitable."?

Afair the issue was a wait or select on the pipes used to connect to the 
spawned process rather than fork but I haven't debugged into it myself.
I think there was a cygwin mailing list post on this too but I don't 
seem to be able to find it.

Nils


More information about the cmake-developers mailing list