Thanks Simon! Yup I'll mark them when I get home. It had occurred to me today that the difference might be in that ghc-pkg on windows uses locks and on Linux atomic replace. Not sure why the same wasn't done on Windows but that might be it. <div><br></div><div>I'll mark them tomorrow :) </div><div><br></div><div>Cheers, </div><div>Tamar <br><br><div class="gmail_quote"><div dir="ltr">On Tue, Jun 26, 2018, 09:59 Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com">simonpj@microsoft.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-GB" link="blue" vlink="purple">
<div class="m_2341600113830315639WordSection1">
<p class="MsoNormal"><span style="font-size:12.0pt">Great.  <a href="https://ghc.haskell.org/trac/ghc/ticket/15313#ticket" target="_blank">https://ghc.haskell.org/trac/ghc/ticket/15313#ticket</a> is created.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt">I don’t know how to force them to be “cpu multirace on windows”.   If you could do that sometime it’d be great.  No rush.  Thank you!<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><br>
Simon<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt"><u></u> <u></u></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span lang="EN-US"> Phyx <<a href="mailto:lonetiger@gmail.com" target="_blank">lonetiger@gmail.com</a>>
<br>
<b>Sent:</b> 26 June 2018 06:01<br>
<b>To:</b> Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>><br>
<b>Subject:</b> Re: Strace<u></u><u></u></span></p>
</div>
</div></div></div></div><div lang="EN-GB" link="blue" vlink="purple"><div class="m_2341600113830315639WordSection1"><div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
Hi Simon,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
Thanks for the log, that does give a clue. The command fails with<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
setup.exe: 'C:/code/HEAD/inplace/bin/ghc-pkg.exe' exited with an error:<br>
...<br>
rule-defining-plugin-0.1: cannot find any of<br>
["libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z.a","libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z.p_a","<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2FlibHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.so&data=02%7C01%7Csimonpj%40microsoft.com%7C8583db4eca874993ceee08d5db21e587%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636655860987246561&sdata=1DZ1OEllqBTNwnAjzL5JQMyfchbhE7x7VgUYJZeJdZ4%3D&reserved=0" target="_blank">libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.so</a>","libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.dylib","HSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.dll"]<br>
on library path (use --force to override)<br>
<br>
make[2]: *** [Makefile:18: package.T10420] Error 1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
so it's the `setup install` from <a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fghc%2Fghc%2Fblob%2Fc2783ccf545faabd21a234a4dfc569cd856082b9%2Ftestsuite%2Ftests%2Fplugins%2Frule-defining-plugin%2FMakefile&data=02%7C01%7Csimonpj%40microsoft.com%7C8583db4eca874993ceee08d5db21e587%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636655860987256565&sdata=3sO%2FDU5dhjiZ3au%2BbsWghcRA%2FZIwT1vj2iuJaMiqufU%3D&reserved=0" target="_blank">
https://github.com/ghc/ghc/blob/c2783ccf545faabd21a234a4dfc569cd856082b9/testsuite/tests/plugins/rule-defining-plugin/Makefile</a> failing.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
unfortunately, all those tests run with -v0 which is annoying because now the verbosity of the testsuite doesn't control that of these tests. I'm not sure why these commands fail under heavy load though.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
I'll need to dive into the source of ghc-pkg to figure out what's happening. Notice that all the framework failures are these plugin tests which modify a package database. A wild guess is that ghc-pkg tries<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
to take a lock on all package-databases or something when it's mutating one. But I'm not intimately familiar with the package store and this doesn't explain why it doesn't happen on Linux.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
for now one solution I can propose is to create a ticket to track these and mark these tests as cpu multirace on Windows, which will force them to run sequentially. I'll try to take a look at ghc-pkg this week<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
and if I don't figure anything out I'll force the tests sequential on the short term.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
Cheers,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
Tamar<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
</div>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
<u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:6.0pt;margin-left:0cm">
On Mon, Jun 25, 2018 at 4:08 AM, Simon Peyton Jones <<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>> wrote:<u></u><u></u></p>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal">Tamar<u></u><u></u></p>
<p class="MsoNormal">I tried this<u></u><u></u></p>
<p class="MsoNormal" style="text-indent:36.0pt">
TEST_VERBOSITY="VERBOSE=3" sh validate --fast --no-clean >& log<u></u><u></u></p>
<p class="MsoNormal">in the root directory.  I get the framework failures, but I’m not sure the verbosity-control worked.<u></u><u></u></p>
<p class="MsoNormal">Log attached<u></u><u></u></p>
<p class="MsoNormal"><span style="color:#888888">SImon<u></u><u></u></span></p>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div></blockquote></div></div>