Strace

Simon Peyton Jones simonpj at microsoft.com
Tue Jun 26 08:59:46 UTC 2018


Great.  https://ghc.haskell.org/trac/ghc/ticket/15313#ticket is created.

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!

Simon

From: Phyx <lonetiger at gmail.com>
Sent: 26 June 2018 06:01
To: Simon Peyton Jones <simonpj at microsoft.com>
Subject: Re: Strace

Hi Simon,

Thanks for the log, that does give a clue. The command fails with

setup.exe: 'C:/code/HEAD/inplace/bin/ghc-pkg.exe' exited with an error:
...
rule-defining-plugin-0.1: cannot find any of
["libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z.a","libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z.p_a","libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.so<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>","libHSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.dylib","HSrule-defining-plugin-0.1-GxqqrdsQ5NRK9hAhEkvz8Z-ghc8.5.20180616.dll"]
on library path (use --force to override)

make[2]: *** [Makefile:18: package.T10420] Error 1

so it's the `setup install` from https://github.com/ghc/ghc/blob/c2783ccf545faabd21a234a4dfc569cd856082b9/testsuite/tests/plugins/rule-defining-plugin/Makefile<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> failing.

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

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
and if I don't figure anything out I'll force the tests sequential on the short term.

Cheers,
Tamar


On Mon, Jun 25, 2018 at 4:08 AM, Simon Peyton Jones <simonpj at microsoft.com<mailto:simonpj at microsoft.com>> wrote:
Tamar
I tried this
TEST_VERBOSITY="VERBOSE=3" sh validate --fast --no-clean >& log
in the root directory.  I get the framework failures, but I’m not sure the verbosity-control worked.
Log attached
SImon

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20180626/7340fb34/attachment.html>


More information about the ghc-devs mailing list