[GHC] #10510: Testsuite driver does not run tests in parallel on Windows

GHC ghc-devs at haskell.org
Mon Jun 29 15:43:59 UTC 2015


#10510: Testsuite driver does not run tests in parallel on Windows
-------------------------------------+-------------------------------------
        Reporter:  thomie            |                   Owner:
            Type:  bug               |                  Status:  new
        Priority:  high              |               Milestone:
       Component:  Test Suite        |                 Version:  7.10.1
      Resolution:                    |                Keywords:
Operating System:  Windows           |            Architecture:
 Type of failure:  None/Unknown      |  Unknown/Multiple
      Blocked By:                    |               Test Case:
 Related Tickets:                    |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by Phyx-):

 So what I know so far is that this seems to be a bug in the `msys-2.0`
 runtime that happens sporadically. In my case it manifests itself inside
 the `diff.exe` that is being called by the Python testsuite scripts.

 [[Image(http://i.imgur.com/IWciMQM.png)]]

 `diff.exe` gets stuck in an infinite loop while starting up. Eventually,
 you'll either run out of cores or the tests finish but it'll wait on the
 one that's stuck.

 Looking at the stack of the application shows:


 {{{
 msys-2.0.dll!Ordinal1816+0x1b7
 msys-2.0.dll!Ordinal208+0x3e984
 msys-2.0.dll!Ordinal130+0x171c
 msys-2.0.dll!Ordinal1816+0x1b7
 ntdll.dll!RtlInitializeCriticalSection+0x10e
 ntdll.dll!RtlInitializeCriticalSection+0x88
 ntdll.dll!RtlIsCriticalSectionLockedByThread+0x2a5
 ntdll.dll!RtlIsCriticalSectionLockedByThread+0x1ed
 ntdll.dll!RtlGetVersion+0x7c0
 ntdll.dll!RtlInitializeHandleTable+0xe89
 ntdll.dll!RtlInitializeHandleTable+0x45
 ntdll.dll!LdrInitializeThunk+0x10
 }}}

 and it never exits from `msys-2.0.dll!Ordinal1816`.

 Curiously `msys-2.0.dll` does not export anything with ordinal `1816` so I
 am not sure what happens here.

 Unfortunately because this is happening inside a critical section the
 debuggers won't attach. `strace`, `gdb` and `windbg` just wait to break
 in. Eventually `windbg` will time out and suspend the program to allow you
 to look, but it doesn't allow you to step to see what may be causing the
 loop.

 I'm currently attempting to find the `msys-2.0 runtime` version that
 introduced the issue.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10510#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list