
Fellow developers, I need advice on using GHC build system. Recently I've been spending more time on resolving problems with the build system itself than on developing GHC, and this is not how things are supposed to be. I have found testsuite and validation to be very unreliable - things seem to break randomly and results are not repeatable. I suspect that I might be doing something wrong and I will appreciate any advice or explanations why I'm having these problem. I have three GHC trees: * ghc-working - source tree I use for development * ghc-build - lndir'ed to ghc-working, used for building * ghc-validate - source tree used for validation, ghc-working is set up as one of the remotes Here's the situation from yesterday evening. I updated ghc-working and ghc-validate trees from the origin - according to the fingerprint.py script both trees were identical. I ran validation in ghc-validate and ghc-build trees (on the master branches, no my changes). The only difference between them should be that ghc-build is symlinked. Validation in ghc-validate passed with two failures (others on IRC confirmed they are having same failures), while validation in ghc-build failed with: Haddock coverage: 100% ( 1 / 1) in 'GHC.IntWord64' 78% ( 7 / 9) in 'GHC.Types' 17% ( 1 / 6) in 'GHC.CString' 3% ( 2 / 63) in 'GHC.Tuple' 0% ( 0 / 3) in 'GHC.Debug' 0% ( 0 /342) in 'GHC.PrimopWrappers' 30% (160 /531) in 'GHC.Prim' 100% ( 3 / 3) in 'GHC.Magic' 38% ( 6 / 16) in 'GHC.Classes' haddock: internal error: /dane/uczelnia/projekty/ghc-build/inpl ace/lib/html/Ocean.std-theme/ocean.css: copyFile: does not exis t (No such file or directory) gmake[1]: *** [libraries/ghc-prim/dist-install/doc/html/ghc-pri m/ghc-prim.haddock] Błąd 1 gmake[1]: *** Kasuję plik `libraries/ghc-prim/dist-install/doc/ html/ghc-prim/ghc-prim.haddock' Today I ran ./sync-all pull in both trees, but no new commits were added (according to fingerprint). I run the validation again and the validation in ghc-build fails as previously, while the validation in ghc-validate reports over 200 unexpected failures. What is more, I found that rerunning some of the failing tests (make TEST=whatever) often results with these tests passing. This unreliability is very frustrating. I've been having these problems since I started working on GHC in December. I'm wondering whether this is a common thing or am I doing something not-so-obviously wrong? As usual, I will appreciate any advice from those more experienced than me. Janek

On 05/15/2013 10:24 AM, Jan Stolarek wrote:
Fellow developers,
I need advice on using GHC build system. Recently I've been spending more time on resolving problems with the build system itself than on developing GHC, and this is not how things are supposed to be. I have found testsuite and validation to be very unreliable - things seem to break randomly and results are not repeatable. I suspect that I might be doing something wrong and I will appreciate any advice or explanations why I'm having these problem.
I have three GHC trees: * ghc-working - source tree I use for development * ghc-build - lndir'ed to ghc-working, used for building * ghc-validate - source tree used for validation, ghc-working is set up as one of the remotes
Here's the situation from yesterday evening. I updated ghc-working and ghc-validate trees from the origin - according to the fingerprint.py script both trees were identical. I ran validation in ghc-validate and ghc-build trees (on the master branches, no my changes). The only difference between them should be that ghc-build is symlinked. Validation in ghc-validate passed with two failures (others on IRC confirmed they are having same failures), while validation in ghc-build failed with:
Haddock coverage: 100% ( 1 / 1) in 'GHC.IntWord64' 78% ( 7 / 9) in 'GHC.Types' 17% ( 1 / 6) in 'GHC.CString' 3% ( 2 / 63) in 'GHC.Tuple' 0% ( 0 / 3) in 'GHC.Debug' 0% ( 0 /342) in 'GHC.PrimopWrappers' 30% (160 /531) in 'GHC.Prim' 100% ( 3 / 3) in 'GHC.Magic' 38% ( 6 / 16) in 'GHC.Classes' haddock: internal error: /dane/uczelnia/projekty/ghc-build/inpl ace/lib/html/Ocean.std-theme/ocean.css: copyFile: does not exis t (No such file or directory) gmake[1]: *** [libraries/ghc-prim/dist-install/doc/html/ghc-pri m/ghc-prim.haddock] Błąd 1 gmake[1]: *** Kasuję plik `libraries/ghc-prim/dist-install/doc/ html/ghc-prim/ghc-prim.haddock'
Today I ran ./sync-all pull in both trees, but no new commits were added (according to fingerprint). I run the validation again and the validation in ghc-build fails as previously, while the validation in ghc-validate reports over 200 unexpected failures. What is more, I found that rerunning some of the failing tests (make TEST=whatever) often results with these tests passing. This unreliability is very frustrating.
I've been having these problems since I started working on GHC in December. I'm wondering whether this is a common thing or am I doing something not-so-obviously wrong? As usual, I will appreciate any advice from those more experienced than me.
Janek
The haddock failure you're seeing is caused by using relative symlinks with lndir. See #7879. I don't know what your other failures are, so I can't speak to them. Perhaps you have different library versions checked out in different trees; you could check whether or not this is the case by looking at the various trees' fingerprints. Personally, I think the current mix of git submodules and non-git submodule dependencies is horrible. It makes it impossible to check out a consistent tree without a full fingerprint while also incurring all the disadvantages of submodules. Geoff

The haddock failure you're seeing is caused by using relative symlinks with lndir. See #7879. Thanks, that's one problem less :) I applied the patch and I'm running the validation to see if that works.
Perhaps you have different library versions checked out in different trees; you could check whether or not this is the case by looking at the various trees' fingerprints. According to fingerprints the trees are identical. I diffed both directories and there are some minor differences, but I think these come from the fact that ghc-working never contained build artifacts, whereas ghc-validate was cleaned with 'make maintainer-clean', which might have been inaccurate.
Personally, I think the current mix of git submodules and non-git submodule dependencies is horrible. It makes it impossible to check out a consistent tree without a full fingerprint while also incurring all the disadvantages of submodules. I admit I don't understand motivation for using both git submodules and non-git submodules.
What worries me the most is unreliability of the test suite. After getting 200 test failures mentioned in the previous mail, I ran the validation again and got only 3 failures. I ran one of the failed tests manually and it passed, leaving me with two known failures. Janek

| What worries me the most is unreliability of the test suite. After | getting 200 test failures mentioned in the previous mail, I ran the | validation again and got only 3 failures. I ran one of the failed tests | manually and it passed, leaving me with two known failures. This has never happened to me. I can't even guess why it might happen to you. Simon

This has never happened to me. I can't even guess why it might happen to you. Looking through the validation log I see that tests fail with this error message:
Actual stderr output differs from expected: --- /dev/null 2013-05-14 15:38:10.771000000 +0200 +++ ../../libraries/base/tests/IO/T3307.run.stderr 2013-05-15 09:21:45.695049002 +0200 @@ -0,0 +1,2 @@ +WARNING: cache is out of date: /dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/lib/ghc-7.7.20130514/package.conf.d/package.cache + use 'ghc-pkg recache' to fix. *** unexpected failure for T3307(normal) Any ideas why this happens? Janek

I no longer use a separate build dir (i.e., lndir). I switched away from it
as it wasn't buying me anything and I would run into issues that only
seemed to manifest with symlinks. Otherwise I've not experienced the issues
you mention. I'd point out though that GHC's 'no validate failures' is very
frequently violated which did confuse me a lot when getting started.
On 15 May 2013 05:10, Jan Stolarek
This has never happened to me. I can't even guess why it might happen to you. Looking through the validation log I see that tests fail with this error message:
Actual stderr output differs from expected: --- /dev/null 2013-05-14 15:38:10.771000000 +0200 +++ ../../libraries/base/tests/IO/T3307.run.stderr 2013-05-15 09:21:45.695049002 +0200 @@ -0,0 +1,2 @@ +WARNING: cache is out of date: /dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/lib/ghc-7.7.20130514/package.conf.d/package.cache + use 'ghc-pkg recache' to fix. *** unexpected failure for T3307(normal)
Any ideas why this happens?
Janek
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

I no longer use a separate build dir (i.e., lndir). I switched away from it as it wasn't buying me anything and I would run into issues that only seemed to manifest with symlinks. Otherwise I've not experienced the issues you mention. I'd point out though that GHC's 'no validate failures' is very frequently violated which did confuse me a lot when getting started.
On 15 May 2013 05:10, Jan Stolarek
wrote: > This has never happened to me. I can't even guess why it might happen to > you. Looking through the validation log I see that tests fail with
I use separate build dirs because I synchronize my tree across multiple machines. It also makes it easy to blow away the build. Jan, you clearly have some stale build artifacts. Don't mix in-tree and out-of-tree builds. If you want to use out-of-tree builds, you can eliminate leftover build artifacts from your source tree using 'git ls-files -o' (you'll have to execute this in libraries/*, etc. also to make sure you've got everything). Unfortunately make maintainer-clean doesn't quite get everything. Geoff On 05/15/2013 08:25 PM, David Terei wrote: this error message:
Actual stderr output differs from expected: --- /dev/null 2013-05-14 15:38:10.771000000 +0200 +++ ../../libraries/base/tests/IO/T3307.run.stderr 2013-05-15
09:21:45.695049002 +0200
@@ -0,0 +1,2 @@ +WARNING: cache is out of date:
/dane/uczelnia/projekty/ghc-validate/bindisttest/install
dir/lib/ghc-7.7.20130514/package.conf.d/package.cache + use 'ghc-pkg recache' to fix. *** unexpected failure for T3307(normal)
Any ideas why this happens?
Janek

Don't mix in-tree and out-of-tree builds. I *think* I am not mixing them. I'm running builds either in ghc-build (lndired to ghc-working, this often gets blown away) and ghc-validate (these are in-tree builds, cleaned with maintainer-clean). There are no builds in ghc-working.
If you want to use out-of-tree builds, you can eliminate leftover build artifacts from your source tree using 'git ls-files -o' (you'll have to execute this in libraries/*, etc. also to make sure you've got everything). Thanks for the tip, I'll try that.
I'll also try to debug my problem if I find some time. I think this deserves a bug report. Janek
Geoff
On 05/15/2013 08:25 PM, David Terei wrote:
I no longer use a separate build dir (i.e., lndir). I switched away
from it as it wasn't buying me anything and I would run into issues that only seemed to manifest with symlinks. Otherwise I've not experienced the issues you mention. I'd point out though that GHC's 'no validate failures' is very frequently violated which did confuse me a lot when getting started.
On 15 May 2013 05:10, Jan Stolarek
wrote: > This has never happened to me. I can't even guess why it might happen to
> you.
Looking through the validation log I see that tests fail with
this error message:
Actual stderr output differs from expected: --- /dev/null 2013-05-14 15:38:10.771000000 +0200 +++ ../../libraries/base/tests/IO/T3307.run.stderr 2013-05-15
09:21:45.695049002 +0200
@@ -0,0 +1,2 @@ +WARNING: cache is out of date:
/dane/uczelnia/projekty/ghc-validate/bindisttest/install
dir/lib/ghc-7.7.20130514/package.conf.d/package.cache + use 'ghc-pkg recache' to fix. *** unexpected failure for T3307(normal)
Any ideas why this happens?
Janek

On Wed, May 15, 2013 at 12:25:14PM -0700, David Terei wrote:
I'd point out though that GHC's 'no validate failures' is very frequently violated which did confuse me a lot when getting started.
This is at least partly caused by inconsistencies in test results. For example, a Linux developer might push a change that causes a failure on OS X, or one person might push a change that means that a perf test fails on someone else's machine but not his own (or perhaps even fails randomly, and they got lucky on their validate run). The first person is not aware that anything is wrong, and the second person just ignores the failure because their patches didn't cause it. In an ideal world, the second person would either fix the bug, revert thc bad change, or file a ticket and mark the test as broken. Unfortunately, the second person is generally trying to do something else when they discover the problem, and doesn't want to spend time fixing something they didn't break. Thanks Ian

On Fri, May 17, 2013 at 8:52 AM, Ian Lynagh
On Wed, May 15, 2013 at 12:25:14PM -0700, David Terei wrote:
I'd point out though that GHC's 'no validate failures' is very frequently violated which did confuse me a lot when getting started.
This is at least partly caused by inconsistencies in test results. For example, a Linux developer might push a change that causes a failure on OS X, or one person might push a change that means that a perf test fails on someone else's machine but not his own (or perhaps even fails randomly, and they got lucky on their validate run).
The first person is not aware that anything is wrong, and the second person just ignores the failure because their patches didn't cause it.
In an ideal world, the second person would either fix the bug, revert thc bad change, or file a ticket and mark the test as broken. Unfortunately, the second person is generally trying to do something else when they discover the problem, and doesn't want to spend time fixing something they didn't break.
Can't the build bots instructed to systematically fire up on every commit for testing on the various platforms you currently do? Maybe you probably want to optimize for the cases of "whitespaces only" patches. Volunteers have set up something similar to this and it has helped up tremendously in the GCC land. -- Gaby

On Fri, May 17, 2013 at 11:34:01AM -0500, Gabriel Dos Reis wrote:
Can't the build bots instructed to systematically fire up on every commit for testing on the various platforms you currently do?
In principle, yes, although (a) many of them are on machines that are used to do something else during the day, and (b) the builders may often still be building the last patches when more patches are pushed. We already get testsuite results mailed to the list each night, though. What we need is for people to fix unexpected results in them. (admittedly we don't currently identify who/which patches caused a test to start failing; perhaps that would help). Thanks Ian -- Ian Lynagh, Haskell Consultant Well-Typed LLP, http://www.well-typed.com/

On Fri, May 17, 2013 at 3:14 PM, Ian Lynagh
On Fri, May 17, 2013 at 11:34:01AM -0500, Gabriel Dos Reis wrote:
Can't the build bots instructed to systematically fire up on every commit for testing on the various platforms you currently do?
In principle, yes, although (a) many of them are on machines that are used to do something else during the day, and (b) the builders may often still be building the last patches when more patches are pushed.
For (a), we've benefited from the compile farm project made possible by the Ada-Europe people: http://gcc.gnu.org/wiki/CompileFarm It supports open source projects, and I don't think it is restricted only to GCC people. It is available to people developing open source project (see the webpage for details.) Maybe the Haskell developer community might want to give it a try or set up similar projects. This is a community thing, and it takes a community to grow. For (b) you may consider job queues and/or concurrent compiles.
We already get testsuite results mailed to the list each night, though.
Yes, I see those. But from your previous description it sounds to me as though they would catch some particular cluster of commits that may cumulatively break things with no one taking responsibility or stepping forward to fix (because they didn't break it in the first place.)
What we need is for people to fix unexpected results in them.
Agreed. But, from my 15+ years with GCC, it makes a huge difference when you have an automated assistance that can pinpoint breakages to specific commits/offenders. Another thing I've found useful was the "24 hours" rule whereby when a breakage was identified to be caused by a specific commits, the author is given 24 hours to fix it. Beyond that, if no action is taken by the committer and/or if it is clear that it will take much longer to fix then a reversal patch is pre-approved. That helps getting people clean their mess :-)
(admittedly we don't currently identify who/which patches caused a test to start failing; perhaps that would help).
Yes, exactly! -- Gaby

On Wed, May 15, 2013 at 02:10:29PM +0200, Jan Stolarek wrote:
This has never happened to me. I can't even guess why it might happen to you. Looking through the validation log I see that tests fail with this error message:
Actual stderr output differs from expected: --- /dev/null 2013-05-14 15:38:10.771000000 +0200 +++ ../../libraries/base/tests/IO/T3307.run.stderr 2013-05-15 09:21:45.695049002 +0200 @@ -0,0 +1,2 @@ +WARNING: cache is out of date: /dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/lib/ghc-7.7.20130514/package.conf.d/package.cache + use 'ghc-pkg recache' to fix. *** unexpected failure for T3307(normal)
Any ideas why this happens?
The testsuite does check whether the package.cache timestamp changed while running a test. If it did then you'll get a Package cache timestamps do not match: [...] framework failure. Do you know whether that happened? Otherwise, looking at why the package.cache is out of date, along with what tests were run around the time that it happened, might give a clue as to what went wrong. Thanks Ian

The testsuite does check whether the package.cache timestamp changed while running a test. If it did then you'll get a Package cache timestamps do not match: [...] framework failure. Do you know whether that happened? If it checks cache local to the build tree, then I have no idea. I just run the validation and don't touch the tree until validation ends. If it checks the global cache in ~ then I have a suspicion of what might have happened - will check that.
Otherwise, looking at why the package.cache is out of date, along with what tests were run around the time that it happened, might give a clue as to what went wrong. Thanks Ian, I will keep that in mind and try to investigate the problem when it happens again.
Janek

Otherwise, looking at why the package.cache is out of date, along with what tests were run around the time that it happened, might give a clue as to what went wrong. I think I got it. After running 'make maintainer-clean' in the validation tree I still have this files in testsuite left from previous validation:
tests/cabal/local01.package.conf/package.cache tests/cabal/local03.package.conf/package.cache tests/cabal/local03.package.conf/testpkg-1.2.3.4-XXX.conf tests/cabal/local03.package.conf/testpkg-2.0-XXX.conf tests/cabal/local03.package.conf/testpkg-4.0-XXX.conf tests/cabal/local04.package.conf/newtestpkg-2.0-XXX.conf tests/cabal/local04.package.conf/package.cache tests/cabal/local04.package.conf/testpkg-1.2.3.4-XXX.conf tests/cabal/local05a.package.conf/package.cache tests/cabal/local05b.package.conf/package.cache tests/cabal/local06.package.conf/package.cache tests/cabal/local06.package.conf/testdup-1.0-XXX.conf tests/cabal/local06.package.conf/testpkg-1.2.3.4-XXX.conf tests/cabal/localT1750.package.conf/T1750A-1-XXX.conf tests/cabal/localT1750.package.conf/T1750B-1-XXX.conf tests/cabal/localT1750.package.conf/package.cache tests/cabal/localshadow1.package.conf/package.cache tests/cabal/localshadow1.package.conf/shadow-1-XXX.conf tests/cabal/localshadow1.package.conf/shadowdep-1-XXX.conf tests/cabal/localshadow2.package.conf/package.cache tests/cabal/localshadow2.package.conf/shadow-1-YYY.conf tests/cabal/package.conf.ghcpkg02/package.cache (plus lots of other build artifacts in the testsuite). Deleting files listed by 'git ls-files -o' solves the problem. I wonder how is it possible that - if this is really the cause - I am the first person that run into this problem? Janek

On 05/17/2013 02:43 PM, Ian Lynagh wrote:
On Wed, May 15, 2013 at 02:10:29PM +0200, Jan Stolarek wrote:
This has never happened to me. I can't even guess why it might happen to you. Looking through the validation log I see that tests fail with this error message:
Actual stderr output differs from expected: --- /dev/null 2013-05-14 15:38:10.771000000 +0200 +++ ../../libraries/base/tests/IO/T3307.run.stderr 2013-05-15 09:21:45.695049002 +0200 @@ -0,0 +1,2 @@ +WARNING: cache is out of date: /dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/lib/ghc-7.7.20130514/package.conf.d/package.cache + use 'ghc-pkg recache' to fix. *** unexpected failure for T3307(normal)
Any ideas why this happens?
The testsuite does check whether the package.cache timestamp changed while running a test. If it did then you'll get a Package cache timestamps do not match: [...] framework failure. Do you know whether that happened?
Otherwise, looking at why the package.cache is out of date, along with what tests were run around the time that it happened, might give a clue as to what went wrong.
I am now seeing this error, and it's killing my validation runs. I am quite sure I do not have any stale build artifacts. Relevant bits from my validate run are below. It looks like "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d" gets *younger*, leading to the recache error. Rather odd... Any ideas why this is happening? Jan, are you still seeing this error? Thanks, Geoff for f in '/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d'/*; do create () { touch "$1" && chmod 644 "$1" ; } && create "$f"; done /usr/bin/install -c -m 755 -d "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/bin" for i in utils/hp2ps/dist/build/tmp/hp2ps utils/hpc/dist-install/build/tmp/hpc; do \ /usr/bin/install -c -m 755 $i "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/bin" ; \ done /usr/bin/install -c -m 755 -d "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624" for i in utils/unlit/dist/build/tmp/unlit libraries/integer-gmp/mkGmpDerivedConstants/dist/build/tmp/mkGmpDerivedConstants; do \ /usr/bin/install -c -m 755 $i "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624"; \ done /usr/bin/install -c -m 755 -d "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc" /usr/bin/install -c -m 755 -d "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html" /usr/bin/install -c -m 644 docs/index.html "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html" /usr/bin/install -c -m 755 -d "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html/libraries" for i in libraries/dist-haddock/*; do \ /usr/bin/install -c -m 644 $i "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html/libraries/"; \ done /usr/bin/install -c -m 644 libraries/prologue.txt "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html/libraries/" /usr/bin/install -c -m 755 libraries/gen_contents_index "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html/libraries/" for i in utils/haddock/doc/haddock docs/users_guide/users_guide; do \ /usr/bin/install -c -m 755 -d "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html/`basename $i`"; \ /usr/bin/install -c -m 644 $i/* "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/share/doc/ghc/html/`basename $i`"; \ done bindisttest/"install dir"/bin/runghc bindisttest/HelloWorld > bindisttest/output diff -U 1 bindisttest/output bindisttest/expected_output bindisttest/"install dir"/bin/ghc --make bindisttest/HelloWorld [1 of 1] Compiling Main ( bindisttest/HelloWorld.lhs, bindisttest/HelloWorld.o ) Linking bindisttest/HelloWorld ... bindisttest/HelloWorld > bindisttest/output diff -U 1 bindisttest/output bindisttest/expected_output bindisttest/"install dir"/bin/ghc-pkg check --no-user-package-db == Start post-install package check Timestamp 2013-06-24 11:02:04.121267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Timestamp 2013-06-24 11:02:04.093781 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d (older than cache) using cache: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache == End post-install package check ===--- building phase 0 make -r --no-print-directory -f ghc.mk phase=0 phase_0_builds make[1]: Nothing to be done for `phase_0_builds'. ===--- building phase 1 make -r --no-print-directory -f ghc.mk phase=1 phase_1_builds make[1]: Nothing to be done for `phase_1_builds'. ===--- building final phase make -r --no-print-directory -f ghc.mk phase=final validate_build_xhtml cd libraries/xhtml && "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/bin/ghc" --make Setup [1 of 1] Compiling Main ( Setup.hs, Setup.o ) Linking Setup ... cd libraries/xhtml && ./Setup configure --with-ghc="/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/bin/ghc" --with-haddock="/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/bin/haddock" --enable-shared --disable-library-vanilla --disable-library-prof --global --builddir=dist-bindist --prefix="/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir" Configuring xhtml-3000.2.1... cd libraries/xhtml && ./Setup build --builddir=dist-bindist Building xhtml-3000.2.1... Preprocessing library xhtml-3000.2.1... [ 1 of 15] Compiling Text.XHtml.BlockTable ( Text/XHtml/BlockTable.hs, dist-bindist/build/Text/XHtml/BlockTable.dyn_o ) [ 2 of 15] Compiling Text.XHtml.Internals ( Text/XHtml/Internals.hs, dist-bindist/build/Text/XHtml/Internals.dyn_o ) [ 3 of 15] Compiling Text.XHtml.Transitional.Elements ( Text/XHtml/Transitional/Elements.hs, dist-bindist/build/Text/XHtml/Transitional/Elements.dyn_o ) [ 4 of 15] Compiling Text.XHtml.Transitional.Attributes ( Text/XHtml/Transitional/Attributes.hs, dist-bindist/build/Text/XHtml/Transitional/Attributes.dyn_o ) [ 5 of 15] Compiling Text.XHtml.Frameset.Attributes ( Text/XHtml/Frameset/Attributes.hs, dist-bindist/build/Text/XHtml/Frameset/Attributes.dyn_o ) [ 6 of 15] Compiling Text.XHtml.Strict.Attributes ( Text/XHtml/Strict/Attributes.hs, dist-bindist/build/Text/XHtml/Strict/Attributes.dyn_o ) [ 7 of 15] Compiling Text.XHtml.Frameset.Elements ( Text/XHtml/Frameset/Elements.hs, dist-bindist/build/Text/XHtml/Frameset/Elements.dyn_o ) [ 8 of 15] Compiling Text.XHtml.Strict.Elements ( Text/XHtml/Strict/Elements.hs, dist-bindist/build/Text/XHtml/Strict/Elements.dyn_o ) [ 9 of 15] Compiling Text.XHtml.Extras ( Text/XHtml/Extras.hs, dist-bindist/build/Text/XHtml/Extras.dyn_o ) [10 of 15] Compiling Text.XHtml.Strict ( Text/XHtml/Strict.hs, dist-bindist/build/Text/XHtml/Strict.dyn_o ) [11 of 15] Compiling Text.XHtml.Frameset ( Text/XHtml/Frameset.hs, dist-bindist/build/Text/XHtml/Frameset.dyn_o ) [12 of 15] Compiling Text.XHtml.Table ( Text/XHtml/Table.hs, dist-bindist/build/Text/XHtml/Table.dyn_o ) [13 of 15] Compiling Text.XHtml.Debug ( Text/XHtml/Debug.hs, dist-bindist/build/Text/XHtml/Debug.dyn_o ) [14 of 15] Compiling Text.XHtml.Transitional ( Text/XHtml/Transitional.hs, dist-bindist/build/Text/XHtml/Transitional.dyn_o ) [15 of 15] Compiling Text.XHtml ( Text/XHtml.hs, dist-bindist/build/Text/XHtml.dyn_o ) In-place registering xhtml-3000.2.1... cd libraries/xhtml && ./Setup haddock --builddir=dist-bindist Running Haddock for xhtml-3000.2.1... Preprocessing library xhtml-3000.2.1... Haddock coverage: 73% ( 8 / 11) in 'Text.XHtml.BlockTable' 71% ( 27 / 38) in 'Text.XHtml.Internals' 8% ( 1 / 12) in 'Text.XHtml.Transitional.Elements' 5% ( 2 / 37) in 'Text.XHtml.Transitional.Attributes' 14% ( 1 / 7) in 'Text.XHtml.Frameset.Attributes' 2% ( 1 / 50) in 'Text.XHtml.Strict.Attributes' 20% ( 1 / 5) in 'Text.XHtml.Frameset.Elements' 1% ( 1 / 79) in 'Text.XHtml.Strict.Elements' 34% ( 11 / 32) in 'Text.XHtml.Extras' 19% ( 37 /190) in 'Text.XHtml.Strict' 18% ( 36 /197) in 'Text.XHtml.Frameset' 30% ( 3 / 10) in 'Text.XHtml.Table' 60% ( 3 / 5) in 'Text.XHtml.Debug' 16% ( 39 /244) in 'Text.XHtml.Transitional' 71% ( 5 / 7) in 'Text.XHtml' Documentation created: dist-bindist/doc/html/xhtml/index.html cd libraries/xhtml && ./Setup install --builddir=dist-bindist Installing library in /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/x86_64-linux-ghc-7.7.20130624/xhtml-3000.2.1 Registering xhtml-3000.2.1... cd libraries/xhtml && ./Setup clean --builddir=dist-bindist cleaning... cd libraries/xhtml && rm -f Setup Setup.exe Setup.hi Setup.o == Start post-xhtml package check Timestamp 2013-06-24 11:02:14.669097 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Timestamp 2013-06-24 11:02:14.669197 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d (NEWER than cache) WARNING: cache is out of date: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Use 'ghc-pkg recache' to fix. Timestamp 2013-06-24 11:02:04.109267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-prim-seq-0.8.0.1-210e4f7a8f16529a2ec53e83ab50080a.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-prim-seq-0.8.0.1-210e4f7a8f16529a2ec53e83ab50080a.conf Timestamp 2013-06-24 11:02:04.125267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/process-1.2.0.0-a57473e1c925594e84382e9056485694.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/process-1.2.0.0-a57473e1c925594e84382e9056485694.conf Timestamp 2013-06-24 11:02:04.109267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-vseg-0.8.0.1-d4163d48b63dffeeb08aa85f9f8e0c26.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-vseg-0.8.0.1-d4163d48b63dffeeb08aa85f9f8e0c26.conf Timestamp 2013-06-24 11:02:04.121267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/pretty-1.1.1.0-f43642640d939cae65d3c62b2c9f1dfb.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/pretty-1.1.1.0-f43642640d939cae65d3c62b2c9f1dfb.conf Timestamp 2013-06-24 11:02:04.113267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/ghc-prim-0.3.1.0-cf75c70b85389df439b6e800b148b7c7.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/ghc-prim-0.3.1.0-cf75c70b85389df439b6e800b148b7c7.conf Timestamp 2013-06-24 11:02:04.105267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-base-0.8.0.1-375baf633d66abdb0a453d26f86c8454.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-base-0.8.0.1-375baf633d66abdb0a453d26f86c8454.conf Timestamp 2013-06-24 11:02:04.117267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/hoopl-3.10.0.0-1679cf3bd566c16af94d8c17ec6ed56e.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/hoopl-3.10.0.0-1679cf3bd566c16af94d8c17ec6ed56e.conf Timestamp 2013-06-24 11:02:04.101267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/containers-0.5.0.0-4fdda7b0b1de82f14ede6431f19e166b.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/containers-0.5.0.0-4fdda7b0b1de82f14ede6431f19e166b.conf Timestamp 2013-06-24 11:02:04.125267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/terminfo-0.3.2.5-1b55547ca99a04baef1d8a155d33656c.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/terminfo-0.3.2.5-1b55547ca99a04baef1d8a155d33656c.conf Timestamp 2013-06-24 11:02:04.097267023 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/bin-package-db-0.0.0.0-8dd4b537adc30ec2e7dc25c7c5f86325.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/bin-package-db-0.0.0.0-8dd4b537adc30ec2e7dc25c7c5f86325.conf Timestamp 2013-06-24 11:02:04.097267023 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/Cabal-1.17.0-f5791edb3b79eb7243aca7d14dd4358c.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/Cabal-1.17.0-f5791edb3b79eb7243aca7d14dd4358c.conf Timestamp 2013-06-24 11:02:04.113267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/haskeline-0.7.0.4-4d3d7a08dcbf998edae9ab6078d72dcf.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/haskeline-0.7.0.4-4d3d7a08dcbf998edae9ab6078d72dcf.conf Timestamp 2013-06-24 11:02:04.125267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/template-haskell-2.9.0.0-a0186916a6b97accead92ac10deca378.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/template-haskell-2.9.0.0-a0186916a6b97accead92ac10deca378.conf Timestamp 2013-06-24 11:02:04.101267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/bytestring-0.10.3.0-f3cc36bf9e32e7e8a0b90c75ebbee862.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/bytestring-0.10.3.0-f3cc36bf9e32e7e8a0b90c75ebbee862.conf Timestamp 2013-06-24 11:02:04.105267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-boxed-0.8.0.1-85c3c6176452e682a4e5485c58c14e8c.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-boxed-0.8.0.1-85c3c6176452e682a4e5485c58c14e8c.conf Timestamp 2013-06-24 11:02:04.117267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/haskell98-2.0.0.3-c5686fa30b4b2f19fe3ad49719a6f74d.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/haskell98-2.0.0.3-c5686fa30b4b2f19fe3ad49719a6f74d.conf Timestamp 2013-06-24 11:02:04.125267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/random-1.0.1.1-27a60004f9b2ed697f991f21e0caf131.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/random-1.0.1.1-27a60004f9b2ed697f991f21e0caf131.conf Timestamp 2013-06-24 11:02:04.105267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-base-0.8.0.1-19a1a371f3392826504a4c386369e828.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-base-0.8.0.1-19a1a371f3392826504a4c386369e828.conf Timestamp 2013-06-24 11:02:04.129267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/transformers-0.3.0.0-059787b385844316829d92153e3aae96.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/transformers-0.3.0.0-059787b385844316829d92153e3aae96.conf Timestamp 2013-06-24 11:02:04.101267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/binary-0.7.0.0-9d193bdf36eb84160dead27cb8fa8cc5.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/binary-0.7.0.0-9d193bdf36eb84160dead27cb8fa8cc5.conf Timestamp 2013-06-24 11:02:04.101267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/deepseq-1.3.0.2-46fb49e0483a96267b7b96533a2bd05f.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/deepseq-1.3.0.2-46fb49e0483a96267b7b96533a2bd05f.conf Timestamp 2013-06-24 11:02:04.121267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/old-time-1.1.0.1-3d55dddf6d95f915b092a4754bc649ec.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/old-time-1.1.0.1-3d55dddf6d95f915b092a4754bc649ec.conf Timestamp 2013-06-24 11:02:04.097267023 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/array-0.4.0.2-1313be63c7703b2d5ff4ab80ba2658a6.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/array-0.4.0.2-1313be63c7703b2d5ff4ab80ba2658a6.conf Timestamp 2013-06-24 11:02:04.129267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/unix-2.7.0.0-81384b9dccdd72997dd6af9bdd405c5d.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/unix-2.7.0.0-81384b9dccdd72997dd6af9bdd405c5d.conf Timestamp 2013-06-24 11:02:04.121267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/old-locale-1.0.0.5-d9f80c600a5428ecd373adec12598d4c.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/old-locale-1.0.0.5-d9f80c600a5428ecd373adec12598d4c.conf Timestamp 2013-06-24 11:02:04.109267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-prim-par-0.8.0.1-e97a3649200e78d827149219a602ca7a.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-prim-par-0.8.0.1-e97a3649200e78d827149219a602ca7a.conf Timestamp 2013-06-24 11:02:04.129267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/vector-0.9.1-2948d133ec698208cc7e609ab2d2654c.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/vector-0.9.1-2948d133ec698208cc7e609ab2d2654c.conf Timestamp 2013-06-24 11:02:04.117267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/integer-gmp-0.5.1.0-7d539199b5ff2f1f458e94990ffe7e16.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/integer-gmp-0.5.1.0-7d539199b5ff2f1f458e94990ffe7e16.conf Timestamp 2013-06-24 11:02:04.117267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/hpc-0.6.0.1-2e7b6723d0c386a07fa4c0a1b1290da1.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/hpc-0.6.0.1-2e7b6723d0c386a07fa4c0a1b1290da1.conf Timestamp 2013-06-24 11:02:04.101267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/builtin_rts.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/builtin_rts.conf Timestamp 2013-06-24 11:02:04.113267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/haskell2010-1.1.1.0-bf951a4e72643b8e4e571e6385964717.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/haskell2010-1.1.1.0-bf951a4e72643b8e4e571e6385964717.conf Timestamp 2013-06-24 11:02:04.129267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/time-1.4.0.2-7265230817fd209eda7e7a9a202a64ad.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/time-1.4.0.2-7265230817fd209eda7e7a9a202a64ad.conf Timestamp 2013-06-24 11:02:04.113267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/ghc-7.7.20130624-eeed18236adab46adb4748a37dc20592.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/ghc-7.7.20130624-eeed18236adab46adb4748a37dc20592.conf Timestamp 2013-06-24 11:02:04.121267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/primitive-0.4.0.1-3fa29b1acb951cdbaf037dd4e246f8c6.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/primitive-0.4.0.1-3fa29b1acb951cdbaf037dd4e246f8c6.conf Timestamp 2013-06-24 11:02:04.109267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-prim-interface-0.8.0.1-b3148291e0c4b8a80c0cae0a0512a06c.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-prim-interface-0.8.0.1-b3148291e0c4b8a80c0cae0a0512a06c.conf Timestamp 2013-06-24 11:02:14.649626 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/xhtml-3000.2.1-b455a48b4b5f078bf868322b899efe8e.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/xhtml-3000.2.1-b455a48b4b5f078bf868322b899efe8e.conf Timestamp 2013-06-24 11:02:04.113267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/filepath-1.3.0.2-6f3e918bcb99996f8081d676fe17bd63.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/filepath-1.3.0.2-6f3e918bcb99996f8081d676fe17bd63.conf Timestamp 2013-06-24 11:02:04.105267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/directory-1.2.0.1-925245ee360cb91046dfbd0d365d05f3.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/directory-1.2.0.1-925245ee360cb91046dfbd0d365d05f3.conf Timestamp 2013-06-24 11:02:04.109267024 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-copy-0.8.0.1-ee48196af7d662d2c19a3c5bd7e94319.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/dph-lifted-copy-0.8.0.1-ee48196af7d662d2c19a3c5bd7e94319.conf Timestamp 2013-06-24 11:02:04.097267023 UTC for /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/base-4.7.0.0-284daa47db76b97d3aed840842fb656d.conf (older than cache) reading package config: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/base-4.7.0.0-284daa47db76b97d3aed840842fb656d.conf == End post-xhtml package check make -C testsuite/tests CLEANUP=1 OUTPUT_SUMMARY=../../testsuite_summary.txt fast WARNING: cache is out of date: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Use 'ghc-pkg recache' to fix. WARNING: cache is out of date: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Use 'ghc-pkg recache' to fix. make[1]: Entering directory `/home/gmainlan/ghc/ghc-working-build/testsuite/tests' make fast=YES WARNING: cache is out of date: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Use 'ghc-pkg recache' to fix. WARNING: cache is out of date: /home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d/package.cache Use 'ghc-pkg recache' to fix.

Geoffrey, I think your errors are slightly different than mine. Mine always happend when running the testsuite, yours seem to be from a different stage of the validation. I will pull the latest HEAD and validate, but I'm not sure whether my results will mean anything - failures I was getting seemed quite random (i.e. sometimes they appeared and sometimes not). Do you get these errors every time you run validation? Jan

I get the errors when running the testsuite too, but I excerpted the earliest "recache" warning from my full validation run. The same tests consistently fail for me. I only get the errors when running the testsuite with BINDIST=YES, as expected. Geoff On 06/24/2013 12:49 PM, Jan Stolarek wrote:
Geoffrey, I think your errors are slightly different than mine. Mine always happend when running the testsuite, yours seem to be from a different stage of the validation. I will pull the latest HEAD and validate, but I'm not sure whether my results will mean anything - failures I was getting seemed quite random (i.e. sometimes they appeared and sometimes not). Do you get these errors every time you run validation?
Jan

The same tests consistently fail for me. Even if you run them separately with 'make TEST=failingTest'?
I only get the errors when running the testsuite with BINDIST=YES, as expected. I'm running validation without BINDIST=YES at the moment, will run the second validation later.
Where do you put BINDIST=YES setting? Jan

On 06/24/2013 01:03 PM, Jan Stolarek wrote:
The same tests consistently fail for me. Even if you run them separately with 'make TEST=failingTest'?
I only get the errors when running the testsuite with BINDIST=YES, as expected. I'm running validation without BINDIST=YES at the moment, will run the second validation later.
I believe validate uses the binary distribution unless you specify --fast, e.g., when you specify no arguments to validate.
Where do you put BINDIST=YES setting?
Jan
One recipe for reliable failure: cd testsuite && make TEST=T1372 BINDIST=YES Geoff

One recipe for reliable failure:
cd testsuite && make TEST=T1372 BINDIST=YES Not reliable I'm afraid - it passes here. Unless I do something wrong.
Jan [killy@xerxes : /dane/uczelnia/projekty/ghc-validate] cd testsuite && make TEST=T1372 BINDIST=YES make -C ./tests all make[1]: Wejście do katalogu `/dane/uczelnia/projekty/ghc-validate/testsuite/tests' python2 ../driver/runtests.py -e ghc_compiler_always_flags="'-fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts '" -e ghc_debugged=False -e ghc_with_native_codegen=1 -e ghc_with_vanilla=1 -e ghc_with_dynamic=1 -e ghc_with_profiling=0 -e ghc_with_threaded_rts=1 -e ghc_with_dynamic_rts=1 -e ghc_with_interpreter=1 -e ghc_unregisterised=0 -e ghc_dynamic_by_default=False -e ghc_dynamic=True -e ghc_with_smp=1 -e ghc_with_llvm=1 -e windows=False -e darwin=False -e in_tree_compiler=True -e clean_only=False --rootdir=. --config=../config/ghc -e 'config.confdir="../config"' -e 'config.compiler="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/ghc"' -e 'config.ghc_pkg="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/ghc-pkg"' -e 'config.hp2ps="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/hp2ps"' -e 'config.hpc="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/hpc"' -e 'config.gs="gs"' -e 'config.platform="x86_64-unknown-linux"' -e 'config.os="linux"' -e 'config.arch="x86_64"' -e 'config.wordsize="64"' -e 'default_testopts.cleanup=""' -e 'config.timeout=int() or config.timeout' -e 'config.timeout_prog="../timeout/install-inplace/bin/timeout"' -e 'config.exeext=""' -e 'config.top="/dane/uczelnia/projekty/ghc-validate/testsuite"' --rootdir=../../libraries/ghc-prim/tests --rootdir=../../libraries/array/tests --rootdir=../../libraries/containers/tests --rootdir=../../libraries/hpc/tests --rootdir=../../libraries/binary/tests --rootdir=../../libraries/haskeline/tests --rootdir=../../libraries/vector/tests --rootdir=../../libraries/bytestring/tests --rootdir=../../libraries/random/tests --rootdir=../../libraries/old-time/tests --rootdir=../../libraries/pretty/tests --rootdir=../../libraries/process/tests --rootdir=../../libraries/directory/tests --rootdir=../../libraries/filepath/tests --rootdir=../../libraries/stm/tests --rootdir=../../libraries/unix/tests --rootdir=../../libraries/template-haskell/tests --rootdir=../../libraries/parallel/tests --rootdir=../../libraries/base/tests \ --only=T1372 \ \ \ \ \ \ Timeout is 300 Found 243 .T files... Beginning test run at pon, 24 cze 2013, 15:50:17 CEST ====> Scanning ./cps/all.T ====> Scanning ./layout/all.T ====> Scanning ./annotations/should_run/all.T ====> Scanning ./annotations/should_compile/all.T ====> Scanning ./annotations/should_fail/all.T ====> Scanning ./lib/integer/all.T ====> Scanning ./numeric/should_run/all.T ====> Scanning ./th/TH_import_loop/TH_import_loop.T ====> Scanning ./th/TH_spliceViewPat/test.T ====> Scanning ./th/all.T ====> Scanning ./th/T2014/all.T ====> Scanning ./arrows/should_run/all.T ====> Scanning ./arrows/should_compile/all.T ====> Scanning ./arrows/should_fail/all.T ====> Scanning ./polykinds/all.T ====> Scanning ./ghci.debugger/scripts/all.T ====> Scanning ./ghci.debugger/scripts/break023/all.T ====> Scanning ./ghci.debugger/scripts/break022/all.T ====> Scanning ./profiling/should_run/all.T ====> Scanning ./profiling/should_compile/all.T ====> Scanning ./profiling/should_fail/all.T ====> Scanning ./codeGen/should_gen_asm/all.T ====> Scanning ./codeGen/should_run/all.T ====> Scanning ./codeGen/should_compile/all.T ====> Scanning ./deriving/should_run/all.T ====> Scanning ./deriving/should_compile/all.T ====> Scanning ./deriving/should_fail/all.T ====> Scanning ./boxy/all.T ====> Scanning ./dynlibs/all.T ====> Scanning ./plugins/all.T ====> Scanning ./perf/compiler/all.T ====> Scanning ./perf/space_leaks/all.T ====> Scanning ./perf/should_run/all.T ====> Scanning ./perf/haddock/all.T ====> Scanning ./mdo/should_run/all.T ====> Scanning ./mdo/should_compile/all.T ====> Scanning ./mdo/should_fail/all.T ====> Scanning ./generics/GFunctor/test.T ====> Scanning ./generics/all.T ====> Scanning ./generics/Uniplate/test.T ====> Scanning ./generics/GShow/test.T ====> Scanning ./generics/GEq/test.T ====> Scanning ./generics/GMap/test.T ====> Scanning ./ghc-api/T4891/all.T ====> Scanning ./ghc-api/all.T ====> Scanning ./ghc-api/T7478/all.T ====> Scanning ./ghc-api/dynCompileExpr/all.T ====> Scanning ./ghc-api/apirecomp001/all.T ====> Scanning ./concurrent/prog002/all.T ====> Scanning ./concurrent/prog003/all.T ====> Scanning ./concurrent/T2317/all.T ====> Scanning ./concurrent/prog001/all.T ====> Scanning ./concurrent/should_run/all.T ====> Scanning ./safeHaskell/check/pkg01/all.T ====> Scanning ./safeHaskell/check/all.T ====> Scanning ./safeHaskell/unsafeLibs/all.T ====> Scanning ./safeHaskell/flags/all.T ====> Scanning ./safeHaskell/ghci/all.T ====> Scanning ./safeHaskell/safeInfered/all.T ====> Scanning ./safeHaskell/safeLanguage/all.T ====> Scanning ./llvm/should_compile/all.T ====> Scanning ./dph/enumfromto/dph-enumfromto.T ====> Scanning ./dph/sumnats/dph-sumnats.T ====> Scanning ./dph/nbody/dph-nbody.T ====> Scanning ./dph/quickhull/dph-quickhull.T ====> Scanning ./dph/diophantine/dph-diophantine.T ====> Scanning ./dph/classes/dph-classes.T ====> Scanning ./dph/words/dph-words.T ====> Scanning ./dph/smvm/dph-smvm.T ====> Scanning ./dph/dotp/dph-dotp.T ====> Scanning ./dph/modules/dph-modules.T ====> Scanning ./dph/primespj/dph-primespj.T ====> Scanning ./programs/record_upd/test.T ====> Scanning ./programs/jq_readsPrec/test.T ====> Scanning ./programs/andre_monad/test.T ====> Scanning ./programs/launchbury/test.T ====> Scanning ./programs/barton-mangler-bug/test.T ====> Scanning ./programs/fast2haskell/test.T ====> Scanning ./programs/jules_xref/test.T ====> Scanning ./programs/seward-space-leak/test.T ====> Scanning ./programs/jules_xref2/test.T ====> Scanning ./programs/thurston-modular-arith/test.T ====> Scanning ./programs/joao-circular/test.T ====> Scanning ./programs/fun_insts/test.T ====> Scanning ./programs/hs-boot/all.T ====> Scanning ./programs/life_space_leak/test.T ====> Scanning ./programs/sanders_array/test.T ====> Scanning ./programs/okeefe_neural/test.T ====> Scanning ./programs/Queens/test.T ====> Scanning ./programs/lennart_range/test.T ====> Scanning ./programs/jtod_circint/test.T ====> Scanning ./programs/10queens/test.T ====> Scanning ./programs/jl_defaults/test.T ====> Scanning ./programs/maessen-hashtab/test.T ====> Scanning ./programs/strict_anns/test.T ====> Scanning ./programs/lex/test.T ====> Scanning ./programs/cvh_unboxing/test.T ====> Scanning ./programs/galois_raytrace/test.T ====> Scanning ./programs/north_array/test.T ====> Scanning ./programs/andy_cherry/test.T ====> Scanning ./programs/rittri/test.T ====> Scanning ./programs/cholewo-eval/test.T ====> Scanning ./parser/unicode/all.T ====> Scanning ./parser/prog001/test.T ====> Scanning ./parser/should_run/all.T ====> Scanning ./parser/should_compile/all.T ====> Scanning ./parser/should_compile/T7476/all.T ====> Scanning ./parser/should_fail/all.T ====> Scanning ./typecheck/prog002/test.T ====> Scanning ./typecheck/testeq1/test.T ====> Scanning ./typecheck/prog001/test.T ====> Scanning ./typecheck/bug1465/all.T ====> Scanning ./typecheck/should_run/all.T ====> Scanning ./typecheck/should_compile/all.T ====> Scanning ./typecheck/should_fail/all.T ====> Scanning ./cpranal/should_compile/all.T ====> Scanning ./overloadedlists/should_run/all.T ====> Scanning ./overloadedlists/should_fail/all.T ====> Scanning ./ffi/should_run/all.T ====> Scanning ./ffi/should_compile/all.T ====> Scanning ./ffi/should_fail/all.T ====> Scanning ./cabal/all.T ====> Scanning ./cabal/cabal01/all.T ====> Scanning ./cabal/cabal03/all.T ====> Scanning ./cabal/cabal04/all.T ====> Scanning ./cabal/pkg02/all.T ====> Scanning ./indexed-types/should_run/all.T ====> Scanning ./indexed-types/should_compile/all.T ====> Scanning ./indexed-types/should_fail/all.T ====> Scanning ./rebindable/all.T ====> Scanning ./rename/prog002/test.T ====> Scanning ./rename/prog003/test.T ====> Scanning ./rename/prog004/test.T ====> Scanning ./rename/prog001/test.T ====> Scanning ./rename/prog006/all.T ====> Scanning ./rename/should_compile/all.T ====> Scanning ./rename/should_compile/T3103/test.T ====> Scanning ./rename/should_fail/all.T ====> Scanning ./rename/prog005/test.T ====> Scanning ./rts/all.T ====> Scanning ./rts/T5644/all.T ====> Scanning ./simplCore/prog002/test.T ====> Scanning ./simplCore/prog001/test.T ====> Scanning ./simplCore/should_run/all.T ====> Scanning ./simplCore/should_compile/all.T ====> Scanning ./ghc-e/should_run/all.T ====> Scanning ./module/base01/all.T ====> Scanning ./module/all.T ====> Scanning ./module/mod175/all.T ====> Scanning ./hsc2hs/all.T ====> Scanning ./quasiquotation/qq006/test.T ====> Scanning ./quasiquotation/qq007/test.T ====> Scanning ./quasiquotation/qq008/test.T ====> Scanning ./quasiquotation/all.T ====> Scanning ./quasiquotation/qq005/test.T ====> Scanning ./quasiquotation/qq002/test.T ====> Scanning ./quasiquotation/qq001/test.T ====> Scanning ./quasiquotation/T4491/test.T ====> Scanning ./quasiquotation/qq004/test.T ====> Scanning ./quasiquotation/qq003/test.T ====> Scanning ./gadt/all.T ====> Scanning ./ghci/prog002/prog002.T ====> Scanning ./ghci/prog003/prog003.T ====> Scanning ./ghci/prog007/prog007.T ====> Scanning ./ghci/prog009/ghci.prog009.T ====> Scanning ./ghci/prog008/prog008.T ====> Scanning ./ghci/prog004/prog004.T ====> Scanning ./ghci/prog001/prog001.T ====> Scanning ./ghci/prog006/prog006.T ====> Scanning ./ghci/linking/all.T ====> Scanning ./ghci/prog011/prog011.T ====> Scanning ./ghci/should_run/all.T ====> Scanning ./ghci/prog012/all.T ====> Scanning ./ghci/prog005/prog005.T ====> Scanning ./ghci/scripts/all.T ====> Scanning ./deSugar/should_run/all.T ====> Scanning ./deSugar/should_compile/all.T ====> Scanning ./array/should_run/all.T ====> Scanning ./runghc/all.T ====> Scanning ./esc/all.T ====> Scanning ./haddock/should_fail_flag_haddock/all.T ====> Scanning ./haddock/should_compile_noflag_nohaddock/all.T ====> Scanning ./haddock/should_compile_flag_haddock/all.T ====> Scanning ./haddock/should_compile_flag_nohaddock/all.T ====> Scanning ./haddock/haddock_examples/test.T ====> Scanning ./haddock/should_compile_noflag_haddock/all.T ====> Scanning ./stranal/should_run/all.T ====> Scanning ./stranal/should_compile/all.T ====> Scanning ./driver/T3007/all.T ====> Scanning ./driver/dynamic_flags_001/all.T ====> Scanning ./driver/bug1677/all.T ====> Scanning ./driver/recomp003/all.T ====> Scanning ./driver/recomp008/all.T ====> Scanning ./driver/all.T ====> Scanning ./driver/T7373/all.T ====> Scanning ./driver/recomp001/all.T ====> Scanning ./driver/recomp005/all.T ====> Scanning ./driver/recomp009/all.T ====> Scanning ./driver/recomp011/all.T ====> Scanning ./driver/T1959/test.T ====> Scanning ./driver/conflicting_flags/test.T ====> Scanning ./driver/T437/all.T ====> Scanning ./driver/recomp012/all.T ====> Scanning ./driver/recomp006/all.T ====> Scanning ./driver/T1372/all.T ====> Scanning ./driver/dynamic_flags_002/all.T ====> Scanning ./driver/dynamicToo/all.T ====> Scanning ./driver/dynamicToo/dynamicToo002/test.T ====> Scanning ./driver/dynamicToo/dynamicToo004/test.T ====> Scanning ./driver/dynamicToo/dynamicToo001/test.T ====> Scanning ./driver/objc/all.T ====> Scanning ./driver/T5147/all.T ====> Scanning ./driver/recomp010/all.T ====> Scanning ./driver/recomp007/all.T ====> Scanning ./driver/recomp004/all.T ====> Scanning ./driver/recomp002/all.T ====> Scanning ./ext-core/all.T ====> Scanning ../../libraries/array/tests/all.T ====> Scanning ../../libraries/hpc/tests/function2/test.T ====> Scanning ../../libraries/hpc/tests/function/test.T ====> Scanning ../../libraries/hpc/tests/ghc_ghci/test.T ====> Scanning ../../libraries/hpc/tests/raytrace/tixs/test.T ====> Scanning ../../libraries/hpc/tests/raytrace/test.T ====> Scanning ../../libraries/hpc/tests/simple/tixs/test.T ====> Scanning ../../libraries/hpc/tests/simple/test.T ====> Scanning ../../libraries/hpc/tests/fork/test.T ====> Scanning ../../libraries/random/tests/all.T ====> Scanning ../../libraries/old-time/tests/all.T ====> Scanning ../../libraries/pretty/tests/all.T ====> Scanning ../../libraries/process/tests/all.T ====> Scanning ../../libraries/directory/tests/all.T ====> Scanning ../../libraries/filepath/tests/all.T ====> Scanning ../../libraries/stm/tests/all.T ====> Scanning ../../libraries/unix/tests/libposix/all.T ====> Scanning ../../libraries/unix/tests/all.T ====> Scanning ../../libraries/template-haskell/tests/all.T ====> Scanning ../../libraries/parallel/tests/all.T ====> Scanning ../../libraries/base/tests/all.T ====> Scanning ../../libraries/base/tests/Numeric/all.T ====> Scanning ../../libraries/base/tests/Concurrent/all.T ====> Scanning ../../libraries/base/tests/Text.Printf/all.T ====> Scanning ../../libraries/base/tests/IO/all.T ====> Scanning ../../libraries/base/tests/System/all.T =====> T1372(normal) 3378 of 3699 [0, 0, 0] cd ./driver/T1372 && $MAKE -s --no-print-directory T1372 T1372.run.stdout 2>T1372.run.stderr OVERALL SUMMARY for test run started at pon, 24 cze 2013, 15:50:17 CEST 3699 total tests, which gave rise to 14706 test cases, of which 14705 were skipped 0 had missing libraries 1 expected passes 0 expected failures 0 caused framework failures 0 unexpected passes 0 unexpected failures make[1]: Opuszczenie katalogu `/dane/uczelnia/projekty/ghc-validate/testsuite/tests'

I thought it was obvious that I only meant that it was reliable for me :) Regardless, it seems pretty clear that the issue is file system timestamp granularity. What file system are you running? ext4? Is there any method by which you can consistently reproduce the recache error on your system? Geoff On 06/24/2013 02:55 PM, Jan Stolarek wrote:
One recipe for reliable failure:
cd testsuite && make TEST=T1372 BINDIST=YES Not reliable I'm afraid - it passes here. Unless I do something wrong.
Jan
[killy@xerxes : /dane/uczelnia/projekty/ghc-validate] cd testsuite && make TEST=T1372 BINDIST=YES make -C ./tests all make[1]: Wejście do katalogu `/dane/uczelnia/projekty/ghc-validate/testsuite/tests' python2 ../driver/runtests.py -e ghc_compiler_always_flags="'-fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts '" -e ghc_debugged=False -e ghc_with_native_codegen=1 -e ghc_with_vanilla=1 -e ghc_with_dynamic=1 -e ghc_with_profiling=0 -e ghc_with_threaded_rts=1 -e ghc_with_dynamic_rts=1 -e ghc_with_interpreter=1 -e ghc_unregisterised=0 -e ghc_dynamic_by_default=False -e ghc_dynamic=True -e ghc_with_smp=1 -e ghc_with_llvm=1 -e windows=False -e darwin=False -e in_tree_compiler=True -e clean_only=False --rootdir=. --config=../config/ghc -e 'config.confdir="../config"' -e 'config.compiler="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/ghc"' -e 'config.ghc_pkg="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/ghc-pkg"' -e 'config.hp2ps="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/hp2ps"' -e 'config.hpc="/dane/uczelnia/projekty/ghc-validate/bindisttest/install dir/bin/hpc"' -e 'config.gs="gs"' -e 'config.platform="x86_64-unknown-linux"' -e 'config.os="linux"' -e 'config.arch="x86_64"' -e 'config.wordsize="64"' -e 'default_testopts.cleanup=""' -e 'config.timeout=int() or config.timeout' -e 'config.timeout_prog="../timeout/install-inplace/bin/timeout"' -e 'config.exeext=""' -e 'config.top="/dane/uczelnia/projekty/ghc-validate/testsuite"' --rootdir=../../libraries/ghc-prim/tests --rootdir=../../libraries/array/tests --rootdir=../../libraries/containers/tests --rootdir=../../libraries/hpc/tests --rootdir=../../libraries/binary/tests --rootdir=../../libraries/haskeline/tests --rootdir=../../libraries/vector/tests --rootdir=../../libraries/bytestring/tests --rootdir=../../libraries/random/tests --rootdir=../../libraries/old-time/tests --rootdir=../../libraries/pretty/tests --rootdir=../../libraries/process/tests --rootdir=../../libraries/directory/tests --rootdir=../../libraries/filepath/tests --rootdir=../../libraries/stm/tests --rootdir=../../libraries/unix/tests --rootdir=../../libraries/template-haskell/tests --rootdir=../../libraries/parallel/tests --rootdir=../../libraries/base/tests \ --only=T1372 \ \ \ \ \ \
Timeout is 300 Found 243 .T files... Beginning test run at pon, 24 cze 2013, 15:50:17 CEST ====> Scanning ./cps/all.T ====> Scanning ./layout/all.T ====> Scanning ./annotations/should_run/all.T ====> Scanning ./annotations/should_compile/all.T ====> Scanning ./annotations/should_fail/all.T ====> Scanning ./lib/integer/all.T ====> Scanning ./numeric/should_run/all.T ====> Scanning ./th/TH_import_loop/TH_import_loop.T ====> Scanning ./th/TH_spliceViewPat/test.T ====> Scanning ./th/all.T ====> Scanning ./th/T2014/all.T ====> Scanning ./arrows/should_run/all.T ====> Scanning ./arrows/should_compile/all.T ====> Scanning ./arrows/should_fail/all.T ====> Scanning ./polykinds/all.T ====> Scanning ./ghci.debugger/scripts/all.T ====> Scanning ./ghci.debugger/scripts/break023/all.T ====> Scanning ./ghci.debugger/scripts/break022/all.T ====> Scanning ./profiling/should_run/all.T ====> Scanning ./profiling/should_compile/all.T ====> Scanning ./profiling/should_fail/all.T ====> Scanning ./codeGen/should_gen_asm/all.T ====> Scanning ./codeGen/should_run/all.T ====> Scanning ./codeGen/should_compile/all.T ====> Scanning ./deriving/should_run/all.T ====> Scanning ./deriving/should_compile/all.T ====> Scanning ./deriving/should_fail/all.T ====> Scanning ./boxy/all.T ====> Scanning ./dynlibs/all.T ====> Scanning ./plugins/all.T ====> Scanning ./perf/compiler/all.T ====> Scanning ./perf/space_leaks/all.T ====> Scanning ./perf/should_run/all.T ====> Scanning ./perf/haddock/all.T ====> Scanning ./mdo/should_run/all.T ====> Scanning ./mdo/should_compile/all.T ====> Scanning ./mdo/should_fail/all.T ====> Scanning ./generics/GFunctor/test.T ====> Scanning ./generics/all.T ====> Scanning ./generics/Uniplate/test.T ====> Scanning ./generics/GShow/test.T ====> Scanning ./generics/GEq/test.T ====> Scanning ./generics/GMap/test.T ====> Scanning ./ghc-api/T4891/all.T ====> Scanning ./ghc-api/all.T ====> Scanning ./ghc-api/T7478/all.T ====> Scanning ./ghc-api/dynCompileExpr/all.T ====> Scanning ./ghc-api/apirecomp001/all.T ====> Scanning ./concurrent/prog002/all.T ====> Scanning ./concurrent/prog003/all.T ====> Scanning ./concurrent/T2317/all.T ====> Scanning ./concurrent/prog001/all.T ====> Scanning ./concurrent/should_run/all.T ====> Scanning ./safeHaskell/check/pkg01/all.T ====> Scanning ./safeHaskell/check/all.T ====> Scanning ./safeHaskell/unsafeLibs/all.T ====> Scanning ./safeHaskell/flags/all.T ====> Scanning ./safeHaskell/ghci/all.T ====> Scanning ./safeHaskell/safeInfered/all.T ====> Scanning ./safeHaskell/safeLanguage/all.T ====> Scanning ./llvm/should_compile/all.T ====> Scanning ./dph/enumfromto/dph-enumfromto.T ====> Scanning ./dph/sumnats/dph-sumnats.T ====> Scanning ./dph/nbody/dph-nbody.T ====> Scanning ./dph/quickhull/dph-quickhull.T ====> Scanning ./dph/diophantine/dph-diophantine.T ====> Scanning ./dph/classes/dph-classes.T ====> Scanning ./dph/words/dph-words.T ====> Scanning ./dph/smvm/dph-smvm.T ====> Scanning ./dph/dotp/dph-dotp.T ====> Scanning ./dph/modules/dph-modules.T ====> Scanning ./dph/primespj/dph-primespj.T ====> Scanning ./programs/record_upd/test.T ====> Scanning ./programs/jq_readsPrec/test.T ====> Scanning ./programs/andre_monad/test.T ====> Scanning ./programs/launchbury/test.T ====> Scanning ./programs/barton-mangler-bug/test.T ====> Scanning ./programs/fast2haskell/test.T ====> Scanning ./programs/jules_xref/test.T ====> Scanning ./programs/seward-space-leak/test.T ====> Scanning ./programs/jules_xref2/test.T ====> Scanning ./programs/thurston-modular-arith/test.T ====> Scanning ./programs/joao-circular/test.T ====> Scanning ./programs/fun_insts/test.T ====> Scanning ./programs/hs-boot/all.T ====> Scanning ./programs/life_space_leak/test.T ====> Scanning ./programs/sanders_array/test.T ====> Scanning ./programs/okeefe_neural/test.T ====> Scanning ./programs/Queens/test.T ====> Scanning ./programs/lennart_range/test.T ====> Scanning ./programs/jtod_circint/test.T ====> Scanning ./programs/10queens/test.T ====> Scanning ./programs/jl_defaults/test.T ====> Scanning ./programs/maessen-hashtab/test.T ====> Scanning ./programs/strict_anns/test.T ====> Scanning ./programs/lex/test.T ====> Scanning ./programs/cvh_unboxing/test.T ====> Scanning ./programs/galois_raytrace/test.T ====> Scanning ./programs/north_array/test.T ====> Scanning ./programs/andy_cherry/test.T ====> Scanning ./programs/rittri/test.T ====> Scanning ./programs/cholewo-eval/test.T ====> Scanning ./parser/unicode/all.T ====> Scanning ./parser/prog001/test.T ====> Scanning ./parser/should_run/all.T ====> Scanning ./parser/should_compile/all.T ====> Scanning ./parser/should_compile/T7476/all.T ====> Scanning ./parser/should_fail/all.T ====> Scanning ./typecheck/prog002/test.T ====> Scanning ./typecheck/testeq1/test.T ====> Scanning ./typecheck/prog001/test.T ====> Scanning ./typecheck/bug1465/all.T ====> Scanning ./typecheck/should_run/all.T ====> Scanning ./typecheck/should_compile/all.T ====> Scanning ./typecheck/should_fail/all.T ====> Scanning ./cpranal/should_compile/all.T ====> Scanning ./overloadedlists/should_run/all.T ====> Scanning ./overloadedlists/should_fail/all.T ====> Scanning ./ffi/should_run/all.T ====> Scanning ./ffi/should_compile/all.T ====> Scanning ./ffi/should_fail/all.T ====> Scanning ./cabal/all.T ====> Scanning ./cabal/cabal01/all.T ====> Scanning ./cabal/cabal03/all.T ====> Scanning ./cabal/cabal04/all.T ====> Scanning ./cabal/pkg02/all.T ====> Scanning ./indexed-types/should_run/all.T ====> Scanning ./indexed-types/should_compile/all.T ====> Scanning ./indexed-types/should_fail/all.T ====> Scanning ./rebindable/all.T ====> Scanning ./rename/prog002/test.T ====> Scanning ./rename/prog003/test.T ====> Scanning ./rename/prog004/test.T ====> Scanning ./rename/prog001/test.T ====> Scanning ./rename/prog006/all.T ====> Scanning ./rename/should_compile/all.T ====> Scanning ./rename/should_compile/T3103/test.T ====> Scanning ./rename/should_fail/all.T ====> Scanning ./rename/prog005/test.T ====> Scanning ./rts/all.T ====> Scanning ./rts/T5644/all.T ====> Scanning ./simplCore/prog002/test.T ====> Scanning ./simplCore/prog001/test.T ====> Scanning ./simplCore/should_run/all.T ====> Scanning ./simplCore/should_compile/all.T ====> Scanning ./ghc-e/should_run/all.T ====> Scanning ./module/base01/all.T ====> Scanning ./module/all.T ====> Scanning ./module/mod175/all.T ====> Scanning ./hsc2hs/all.T ====> Scanning ./quasiquotation/qq006/test.T ====> Scanning ./quasiquotation/qq007/test.T ====> Scanning ./quasiquotation/qq008/test.T ====> Scanning ./quasiquotation/all.T ====> Scanning ./quasiquotation/qq005/test.T ====> Scanning ./quasiquotation/qq002/test.T ====> Scanning ./quasiquotation/qq001/test.T ====> Scanning ./quasiquotation/T4491/test.T ====> Scanning ./quasiquotation/qq004/test.T ====> Scanning ./quasiquotation/qq003/test.T ====> Scanning ./gadt/all.T ====> Scanning ./ghci/prog002/prog002.T ====> Scanning ./ghci/prog003/prog003.T ====> Scanning ./ghci/prog007/prog007.T ====> Scanning ./ghci/prog009/ghci.prog009.T ====> Scanning ./ghci/prog008/prog008.T ====> Scanning ./ghci/prog004/prog004.T ====> Scanning ./ghci/prog001/prog001.T ====> Scanning ./ghci/prog006/prog006.T ====> Scanning ./ghci/linking/all.T ====> Scanning ./ghci/prog011/prog011.T ====> Scanning ./ghci/should_run/all.T ====> Scanning ./ghci/prog012/all.T ====> Scanning ./ghci/prog005/prog005.T ====> Scanning ./ghci/scripts/all.T ====> Scanning ./deSugar/should_run/all.T ====> Scanning ./deSugar/should_compile/all.T ====> Scanning ./array/should_run/all.T ====> Scanning ./runghc/all.T ====> Scanning ./esc/all.T ====> Scanning ./haddock/should_fail_flag_haddock/all.T ====> Scanning ./haddock/should_compile_noflag_nohaddock/all.T ====> Scanning ./haddock/should_compile_flag_haddock/all.T ====> Scanning ./haddock/should_compile_flag_nohaddock/all.T ====> Scanning ./haddock/haddock_examples/test.T ====> Scanning ./haddock/should_compile_noflag_haddock/all.T ====> Scanning ./stranal/should_run/all.T ====> Scanning ./stranal/should_compile/all.T ====> Scanning ./driver/T3007/all.T ====> Scanning ./driver/dynamic_flags_001/all.T ====> Scanning ./driver/bug1677/all.T ====> Scanning ./driver/recomp003/all.T ====> Scanning ./driver/recomp008/all.T ====> Scanning ./driver/all.T ====> Scanning ./driver/T7373/all.T ====> Scanning ./driver/recomp001/all.T ====> Scanning ./driver/recomp005/all.T ====> Scanning ./driver/recomp009/all.T ====> Scanning ./driver/recomp011/all.T ====> Scanning ./driver/T1959/test.T ====> Scanning ./driver/conflicting_flags/test.T ====> Scanning ./driver/T437/all.T ====> Scanning ./driver/recomp012/all.T ====> Scanning ./driver/recomp006/all.T ====> Scanning ./driver/T1372/all.T ====> Scanning ./driver/dynamic_flags_002/all.T ====> Scanning ./driver/dynamicToo/all.T ====> Scanning ./driver/dynamicToo/dynamicToo002/test.T ====> Scanning ./driver/dynamicToo/dynamicToo004/test.T ====> Scanning ./driver/dynamicToo/dynamicToo001/test.T ====> Scanning ./driver/objc/all.T ====> Scanning ./driver/T5147/all.T ====> Scanning ./driver/recomp010/all.T ====> Scanning ./driver/recomp007/all.T ====> Scanning ./driver/recomp004/all.T ====> Scanning ./driver/recomp002/all.T ====> Scanning ./ext-core/all.T ====> Scanning ../../libraries/array/tests/all.T ====> Scanning ../../libraries/hpc/tests/function2/test.T ====> Scanning ../../libraries/hpc/tests/function/test.T ====> Scanning ../../libraries/hpc/tests/ghc_ghci/test.T ====> Scanning ../../libraries/hpc/tests/raytrace/tixs/test.T ====> Scanning ../../libraries/hpc/tests/raytrace/test.T ====> Scanning ../../libraries/hpc/tests/simple/tixs/test.T ====> Scanning ../../libraries/hpc/tests/simple/test.T ====> Scanning ../../libraries/hpc/tests/fork/test.T ====> Scanning ../../libraries/random/tests/all.T ====> Scanning ../../libraries/old-time/tests/all.T ====> Scanning ../../libraries/pretty/tests/all.T ====> Scanning ../../libraries/process/tests/all.T ====> Scanning ../../libraries/directory/tests/all.T ====> Scanning ../../libraries/filepath/tests/all.T ====> Scanning ../../libraries/stm/tests/all.T ====> Scanning ../../libraries/unix/tests/libposix/all.T ====> Scanning ../../libraries/unix/tests/all.T ====> Scanning ../../libraries/template-haskell/tests/all.T ====> Scanning ../../libraries/parallel/tests/all.T ====> Scanning ../../libraries/base/tests/all.T ====> Scanning ../../libraries/base/tests/Numeric/all.T ====> Scanning ../../libraries/base/tests/Concurrent/all.T ====> Scanning ../../libraries/base/tests/Text.Printf/all.T ====> Scanning ../../libraries/base/tests/IO/all.T ====> Scanning ../../libraries/base/tests/System/all.T =====> T1372(normal) 3378 of 3699 [0, 0, 0] cd ./driver/T1372 && $MAKE -s --no-print-directory T1372 T1372.run.stdout 2>T1372.run.stderr
OVERALL SUMMARY for test run started at pon, 24 cze 2013, 15:50:17 CEST 3699 total tests, which gave rise to 14706 test cases, of which 14705 were skipped
0 had missing libraries 1 expected passes 0 expected failures
0 caused framework failures 0 unexpected passes 0 unexpected failures
make[1]: Opuszczenie katalogu `/dane/uczelnia/projekty/ghc-validate/testsuite/tests'

I thought it was obvious that I only meant that it was reliable for me :) "Reliable for me" is a bit of oxymoron in the context of validating correctness of software :) I guess that's why I titled this thread "Unreliability of the build system".
I'm running ext4.
Is there any method by which you can consistently reproduce the recache error on your system? Not that I'm aware of.
Jan

On 06/24/2013 03:47 PM, Jan Stolarek wrote:
I thought it was obvious that I only meant that it was reliable for me :) "Reliable for me" is a bit of oxymoron in the context of validating correctness of software :) I guess that's why I titled this thread "Unreliability of the build system".
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful.
I'm running ext4.
Is there any method by which you can consistently reproduce the recache error on your system? Not that I'm aware of.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system? Geoff

My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful. just misunderstood your use of the word "reliable". Certainly having this level of reproducibility is very helpful in debugging, even if it's only on one machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system? Yes, except I would say "very often" instead of "sporadically". I'm not sure about single-threaded. I run validate without any parameters - doesn't it use more then one thread in this case?
Jan

My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful. just misunderstood your use of the word "reliable". Certainly having
On 06/24/2013 09:21 PM, Jan Stolarek wrote: this level of
reproducibility is very helpful in debugging, even if it's only on one machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system? Yes, except I would say "very often" instead of "sporadically". I'm not sure about single-threaded. I run validate without any parameters - doesn't it use more then one thread in this case?
It looks like running validate without any parameters will use 2 threads. I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now? Geoff

I just ran validation (once without any parameters and once with --normal) and got no failures, except for some tests that always fail. Looks like the problem may be solved. Janek Dnia wtorek, 25 czerwca 2013, Geoffrey Mainland napisał:
On 06/24/2013 09:21 PM, Jan Stolarek wrote:
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful.
just misunderstood your use of the word "reliable". Certainly having
this level of
reproducibility is very helpful in debugging, even if it's only on one
machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system?
Yes, except I would say "very often" instead of "sporadically". I'm
not sure about
single-threaded. I run validate without any parameters - doesn't it
use more then one thread in
this case?
It looks like running validate without any parameters will use 2 threads.
I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now?
Geoff

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 25/06/13 15:43, Jan Stolarek wrote:
I just ran validation (once without any parameters and once with --normal) and got no failures, except for some tests that always fail. Looks like the problem may be solved.
Janek
Dnia wtorek, 25 czerwca 2013, Geoffrey Mainland napisał:
On 06/24/2013 09:21 PM, Jan Stolarek wrote:
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful.
just misunderstood your use of the word "reliable". Certainly having
this level of
reproducibility is very helpful in debugging, even if it's only on one
machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system?
Yes, except I would say "very often" instead of "sporadically". I'm
not sure about
single-threaded. I run validate without any parameters - doesn't it
use more then one thread in
this case?
It looks like running validate without any parameters will use 2 threads.
I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now?
Geoff
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
Which tests are these? I ran `./validate' yesterday on a stock (that is, I haven't made any changes to the source) and had about 5-7 tests fail and wasn't sure if this was a known issue or something I should be reporting. - -- Mateusz K. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQIcBAEBAgAGBQJRya5EAAoJEM1mucMq2pqXxhQQAKbdvG0n+UzMb7UZEOOlIDhi +gjIWm6Pz3nJTAHPmK4u/oDJD2iwsso/AMuuIPj641jUIc+2BC3QslODebFRXMEg Dh0PC7DlqaHsGh+wsjpvksdaVL5oZ4hijXKuKpo3hYOJlMZmXBghethv55tOknzU 3spoL+Tt+iwQaG7zxxAey7Su4cMi4qNtFdTMV8aBjbGgTzrCQWqSmj4AYmwqLWP+ Vuqk2WfhC8KDezhn2wNFdqcyUqlqssVIjykTCHJQaAj3M+G6+Otx0iQi0KraRNYx r64KW65z1Yx7wzNr2TJoCQCfAy/iLKqgh0xsuWkCB/Nrgi2run5EE/Z1rn0eb24q HskL7anITbgjupjpKINlx2gkmx5n+0fhQSZixMzoZvTw4G7HPtuswz5er1x0XT3c 21kX2/sxWu8aq4UprkIl79Omn19YH/lq39GW4A+Gh7YbIye71uJPLl916CP3qZlb 8lPFluJlaZ5yRY75CzEB0J2T9F6QcIobWjOxp4kJCF5BaJnOJpPNm3XVhHvuZR3f iLshECwf+Cb0WEzJhjgsaaWVU2von505JmNHw99Uijz2AHXjjpD7LYZprXJiuqBw 1O+l7TiFRWtiC44OCjipoCZfwPmKnQ4U5TQXn6LQ9C98GMiZAhwpwbu+vs3pImYa +sCwFqiIpL2tFbxmbX/u =RPpV -----END PGP SIGNATURE-----

T149 has been failing for a very long time (a few weeks at least). I also had process007 fail. Janek Dnia wtorek, 25 czerwca 2013, Mateusz Kowalczyk napisał:
On 25/06/13 15:43, Jan Stolarek wrote:
I just ran validation (once without any parameters and once with --normal) and got no failures, except for some tests that always fail. Looks like the problem may be solved.
Janek
Dnia wtorek, 25 czerwca 2013, Geoffrey Mainland napisał:
On 06/24/2013 09:21 PM, Jan Stolarek wrote:
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful.
just misunderstood your use of the word "reliable". Certainly having
this level of
reproducibility is very helpful in debugging, even if it's only on one
machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system?
Yes, except I would say "very often" instead of "sporadically". I'm
not sure about
single-threaded. I run validate without any parameters - doesn't it
use more then one thread in
this case?
It looks like running validate without any parameters will use 2 threads.
I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now?
Geoff
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs
Which tests are these? I ran `./validate' yesterday on a stock (that is, I haven't made any changes to the source) and had about 5-7 tests fail and wasn't sure if this was a known issue or something I should be reporting.

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 25/06/13 21:06, Jan Stolarek wrote:
T149 has been failing for a very long time (a few weeks at least). I also had process007 fail.
Janek
Dnia wtorek, 25 czerwca 2013, Mateusz Kowalczyk napisał:
On 25/06/13 15:43, Jan Stolarek wrote:
I just ran validation (once without any parameters and once with --normal) and got no failures, except for some tests that always fail. Looks like the problem may be solved.
Janek
Which tests are these? I ran `./validate' yesterday on a stock (that is, I haven't made any changes to the source) and had about 5-7 tests fail and wasn't sure if this was a known issue or something I should be reporting.
Thanks, I seem to get quite a few more failing. Seeing the nature of this thread, I think it's not totally out of order to post the summary here, considering I had a tree without any personal changes. Surprisingly (?), no T149 or process007. I can post up the full log (1.3M) and/or start a new thread if anyone from the dev team is interested in taking a look. OVERALL SUMMARY for test run started at Mon 24 Jun 13:35:28 BST 2013 3675 total tests, which gave rise to 14517 test cases, of which 11178 were skipped 28 had missing libraries 3237 expected passes 58 expected failures 0 caused framework failures 1 unexpected passes 15 unexpected failures Unexpected passes: perf/should_run T149 (normal) Unexpected failures: ../../libraries/process/tests process007 [bad stdout] (normal) ffi/should_run T1288_ghci [bad exit code] (ghci) ghci.debugger/scripts dynbrk009 [bad exit code] (ghci) ghci.debugger/scripts print020 [bad exit code] (ghci) ghci/linking ghcilink002 [bad exit code] (normal) ghci/linking ghcilink005 [bad exit code] (normal) perf/compiler T1969 [stat not good enough] (normal) perf/compiler T3064 [stat not good enough] (normal) perf/compiler T3294 [stat not good enough] (normal) perf/haddock haddock.Cabal [stat not good enough] (normal) perf/haddock haddock.base [stat not good enough] (normal) perf/haddock haddock.compiler [stat too good] (normal) perf/should_run T7797 [stat too good] (normal) perf/should_run T7954 [stat not good enough] (normal) perf/should_run lazy-bs-alloc [stat too good] (normal) - -- Mateusz K. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) iQIcBAEBAgAGBQJRyfoMAAoJEM1mucMq2pqXCSMP/ilPBFHAilICXhzmzoiNajik +3dlcrtnPOkJNR+ES2iqpxeEI4QFq4wjlCLKs1bqmWlViOoRk03PAYeEFpQzHuR/ MUAG63ChgEn8DhzUHk73Bpq7jGYauNqQD8BAiDtn+9PyRXHkZpQjzqDh8C9nlqMa aMRDbL3S1NLrXcIMqtLSuU4a60BmzXolFYNfY1uJoH+rtxBmr42J0uEVXPwUFrvS fu+kqe38rEiQ04XIxHkcIhxuOwa9TLFOla6AwI2cBQBx+67NEXuXR7Tx9uB+CPon b0Z4DGV1fc2+1XUEZ0XfFXrSXDX+HtVtnGhAE9UlXcPZvJbofLh8dc5zuxuytz6P OXhHVrh02zx1TMMFTKKo5jEjaPFJOwii0VQCYP+nsHaj1KXeQxpQNa6puHVd3aZr 3UVTTOzFVd1sIF/36V4JoG/XfFae/WfyjNPFZso8mfzXsDhZRJ33dJV4qatV3V4b mbofJIcU9KWdulFdxWNzYZtcJ1yIRPnxIvQTv77j6XLd3ctwMOmg4tU5wc6Dsy41 /X5/9e9/5EBdecmmAqaAZr+FZTtXVPw5FWjUpajnPH6sDbVynfJNB4DMOTgd51EA SQkUa6UbnGHs+s2MV/sENN3u2m88NJlFd5S1sgkT8C4tvgswXJv1kR4XlGY5DEF8 nLaqesxc5L48WtlfC2dy =kZRZ -----END PGP SIGNATURE-----

Surprisingly (?), no T149 or process007. Yes, you do have these tests failing:
Unexpected passes: perf/should_run T149 (normal)
Unexpected failures: ../../libraries/process/tests process007 [bad stdout] (normal)
I learned not to worry about performance tests - they seem to be quite fragile. As for the others I always verify why they failed by rerunning them separately (cd testsuite/tests && make TEST=T149). Janek

On 26/06/13 07:55, Jan Stolarek wrote:
Surprisingly (?), no T149 or process007. Yes, you do have these tests failing:
Unexpected passes: perf/should_run T149 (normal)
Unexpected failures: ../../libraries/process/tests process007 [bad stdout] (normal)
I learned not to worry about performance tests - they seem to be quite fragile.
This makes me sad. You should shout when performance tests fail. Cheers, Simon

T149 is a CSE test. I think the CSE is now happening, but it's fragile. It's fine that it happens, so perhaps we should record it as ok, and look again if it starts failing. Simon | -----Original Message----- | From: ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] On | Behalf Of Jan Stolarek | Sent: 25 June 2013 21:06 | To: ghc-devs@haskell.org | Subject: Re: Unreliability of the build system | | T149 has been failing for a very long time (a few weeks at least). I also had | process007 fail. | | Janek | | Dnia wtorek, 25 czerwca 2013, Mateusz Kowalczyk napisał: | > On 25/06/13 15:43, Jan Stolarek wrote: | > > I just ran validation (once without any parameters and once with | > > --normal) and got no failures, except for some tests that always | > > fail. Looks like the problem may be solved. | > > | > > Janek | > > | > > Dnia wtorek, 25 czerwca 2013, Geoffrey Mainland napisał: | > >> On 06/24/2013 09:21 PM, Jan Stolarek wrote: | > >>>> My only claim was that I have a set of steps that can | > >>>> reliably reproduce an error on my system, not that these | > >>>> steps will reliably reproduce it on an arbitrary system, | > >>>> e.g., yours. Still, being able to reliably reproduce an | > >>>> error, even if only on one system, is *very* useful. | > >>> | > >>> just misunderstood your use of the word "reliable". Certainly | > >>> having | > >> | > >> this level of | > >> | > >>> reproducibility is very helpful in debugging, even if it's only | > >>> on one | > >> | > >> machine. | > >> | > >>>> So, to be clear, you see recache errors sporadically and for | > >>>> different sets of tests across different runs, and you are | > >>>> running validate with no extra arguments, single-threaded, on | > >>>> a Linux x86_64 system with an ext4 file system? | > >>> | > >>> Yes, except I would say "very often" instead of "sporadically". | > >>> I'm | > >> | > >> not sure about | > >> | > >>> single-threaded. I run validate without any parameters - | > >>> doesn't it | > >> | > >> use more then one thread in | > >> | > >>> this case? | > >> | > >> It looks like running validate without any parameters will use 2 | > >> threads. | > >> | > >> I've pushed a fix (I hope) for this issue. Could you check and | > >> see if it's fixed for you now? | > >> | > >> Geoff | > > | > > _______________________________________________ ghc-devs mailing | > > list ghc-devs@haskell.org | > > http://www.haskell.org/mailman/listinfo/ghc-devs | > | > Which tests are these? I ran `./validate' yesterday on a stock (that | > is, I haven't made any changes to the source) and had about 5-7 tests | > fail and wasn't sure if this was a known issue or something I should | > be reporting. | | | | _______________________________________________ | ghc-devs mailing list | ghc-devs@haskell.org | http://www.haskell.org/mailman/listinfo/ghc-devs

Great, thanks for checking! On 06/25/2013 03:43 PM, Jan Stolarek wrote:
I just ran validation (once without any parameters and once with --normal) and got no failures, except for some tests that always fail. Looks like the problem may be solved.
Janek
Dnia wtorek, 25 czerwca 2013, Geoffrey Mainland napisał:
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful. just misunderstood your use of the word "reliable". Certainly having
On 06/24/2013 09:21 PM, Jan Stolarek wrote: this level of
reproducibility is very helpful in debugging, even if it's only on one machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system? Yes, except I would say "very often" instead of "sporadically". I'm not sure about
single-threaded. I run validate without any parameters - doesn't it use more then one thread in
this case? It looks like running validate without any parameters will use 2 threads.
I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now?
Geoff

Geoff - is it possible that this problem might be caused by time skew between NFS servers? Are any parts of the build, or files accessed by it, on NFS? Cheers, Simon On 24/06/13 23:44, Geoffrey Mainland wrote:
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful. just misunderstood your use of the word "reliable". Certainly having
On 06/24/2013 09:21 PM, Jan Stolarek wrote: this level of
reproducibility is very helpful in debugging, even if it's only on one machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system? Yes, except I would say "very often" instead of "sporadically". I'm not sure about single-threaded. I run validate without any parameters - doesn't it use more then one thread in this case?
It looks like running validate without any parameters will use 2 threads.
I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now?
Geoff
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

No, it's all done on a local (ZFS) file system (I don't even have any NFS volumes mounted), although I *am* using a separate build tree. Geoff On 06/28/2013 10:30 AM, Simon Marlow wrote:
Geoff - is it possible that this problem might be caused by time skew between NFS servers? Are any parts of the build, or files accessed by it, on NFS?
Cheers, Simon
On 24/06/13 23:44, Geoffrey Mainland wrote:
My only claim was that I have a set of steps that can reliably reproduce an error on my system, not that these steps will reliably reproduce it on an arbitrary system, e.g., yours. Still, being able to reliably reproduce an error, even if only on one system, is *very* useful. just misunderstood your use of the word "reliable". Certainly having
On 06/24/2013 09:21 PM, Jan Stolarek wrote: this level of
reproducibility is very helpful in debugging, even if it's only on one machine.
So, to be clear, you see recache errors sporadically and for different sets of tests across different runs, and you are running validate with no extra arguments, single-threaded, on a Linux x86_64 system with an ext4 file system? Yes, except I would say "very often" instead of "sporadically". I'm not sure about single-threaded. I run validate without any parameters - doesn't it use more then one thread in this case?
It looks like running validate without any parameters will use 2 threads.
I've pushed a fix (I hope) for this issue. Could you check and see if it's fixed for you now?
Geoff
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://www.haskell.org/mailman/listinfo/ghc-devs

On Mon, Jun 24, 2013 at 12:37:17PM +0100, Geoffrey Mainland wrote:
It looks like "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d" gets *younger*, leading to the recache error. Rather odd... Any ideas why this is happening?
That's expected: When we install xhtml, we add it to the DB, and the cache gets updated. It looks like the problem is this: Timestamp 2013-06-24 11:02:14.669097 UTC for [...]/package.conf.d/package.cache Timestamp 2013-06-24 11:02:14.669197 UTC for [...]/package.conf.d (NEWER I would guess that we assume that when we write package.cache, the directory gets updated with the same timestamp; but actually, both use the timestamp at which they really happen. This is of course much more likely to be a problem if your filesystem has sub-second precision. If that's it, then it should be possible to fix it by explicitly setting the modification time of the directory to match the cache when we write the cache in ghc-pkg. Thanks Ian

On 06/24/2013 01:16 PM, Ian Lynagh wrote:
On Mon, Jun 24, 2013 at 12:37:17PM +0100, Geoffrey Mainland wrote:
It looks like "/home/gmainlan/ghc/ghc-working-build/bindisttest/install dir/lib/ghc-7.7.20130624/package.conf.d" gets *younger*, leading to the recache error. Rather odd... Any ideas why this is happening?
That's expected: When we install xhtml, we add it to the DB, and the cache gets updated.
It looks like the problem is this:
Timestamp 2013-06-24 11:02:14.669097 UTC for [...]/package.conf.d/package.cache Timestamp 2013-06-24 11:02:14.669197 UTC for [...]/package.conf.d (NEWER
I would guess that we assume that when we write package.cache, the directory gets updated with the same timestamp; but actually, both use the timestamp at which they really happen. This is of course much more likely to be a problem if your filesystem has sub-second precision.
If that's it, then it should be possible to fix it by explicitly setting the modification time of the directory to match the cache when we write the cache in ghc-pkg.
I'm using ZFS, so I suspect that this is indeed the issue. Thanks, Geoff
participants (8)
-
David Terei
-
Gabriel Dos Reis
-
Geoffrey Mainland
-
Ian Lynagh
-
Jan Stolarek
-
Mateusz Kowalczyk
-
Simon Marlow
-
Simon Peyton-Jones