Hi Edward,

thanks for dealing with this. I've found a little bit different reason. validate runs with ghc installed in bindisttest/install dir/ and the tests invokes ghc-pkg to get gmp library path. The dir above is then returned quoted: "...../install dir/....". What I did in my linker_unload fix is to cut -d ' ' -f 1-1 IIRC which returned "..../install and nothing more (quotes missing). The shell then complains with the message below.

Anyway, this is already fixed by reverting the patch and I already validated and pushed another version of it which correctly use head -1 to get the intended first directory name...

Hopefully this time I've not broken anything.

Thanks!
Karel

On 08/ 6/14 12:04 PM, Edward Z. Yang wrote:
Austin and I chatted about it, and it's probably because the test is not
creating ghcconfig.h early enough.  I haven't looked further on how to
fix it though.

Edward

Excerpts from Karel Gardas's message of 2014-08-06 10:16:20 +0100:

Folks,

I've noted that validate is failing on Linux recently due to issue in
linker_unload. As I've submitted some patch to this test case recently
which fixes this on Solaris I'm kind of curious if I broke it or not.
Anyway, strange thing is: when I configure ghc and run the test by
(g)make TEST=linker_unload on both Linux and Solaris I get no failure.
When I validate on Linux (validate is not working on Solaris yet), then
I get failure in linker_unload:

Wrong exit code (expected 0 , actual 2 )
Stdout:

Stderr:
/bin/sh: 1: Syntax error: Unterminated quoted string
make[3]: *** [linker_unload] Error 2

*** unexpected failure for linker_unload(normal)


when I try to run:

cd testsuite
make TEST=linker_unload

inside this validation tree I again get no failure in this test:

[...]
=====>  linker_unload(normal) 2522 of 4082 [0, 0, 0]
cd ./rts&&  $MAKE -s --no-print-directory linker_unload</dev/null
  >linker_unload.run.stdout 2>linker_unload.run.stderr

OVERALL SUMMARY for test run started at Wed Aug  6 10:55:17 2014 CEST
   0:00:08 spent to go through
      4082 total tests, which gave rise to
     13459 test cases, of which
     13458 were skipped

         0 had missing libraries
         1 expected passes
         0 expected failures

         0 caused framework failures
         0 unexpected passes
         0 unexpected failures

make[1]: Leaving directory `/home/karel/src/validate-test/testsuite/tests'

I've also noted that this test case fails on Solaris builders with
strange error:

=====>  linker_unload(normal) 170 of 4082 [0, 0, 1]
cd ./rts&&  $MAKE -s --no-print-directory linker_unload</dev/null
  >linker_unload.run.stdout 2>linker_unload.run.stderr
Wrong exit code (expected 0 , actual 2 )
Stdout:
Stderr:
linker_unload: internal error: loadObj: can't read
`/buildbot/gabor-ghc-head-builder/builder/tempbuild/build/bindisttest/install/libHSinteg_BcPVjqcazPNGsNFG4agFty.a'
(GHC version 7.9.20140806 for i386_unknown_solaris2)
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
gmake[3]: *** [linker_unload] Abort (core dumped)


So the question is: why validate fails and why builder fails on this
particular test and why my common testing on both Solaris and Linux is
not able to duplicate the issue? What's so different between validate
and builders and between my common: perl boot; ./configure<some
params>; gmake -j12; cd testsuite; gmake THREADS=12 fast
?

Thanks!
Karel


_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs

Reply via email to