Test concio001 failures on PPC Mac OS X

naur at post11.tele.dk naur at post11.tele.dk
Thu Feb 7 02:24:49 EST 2008


Hello,

The test case concio001 fails like this on the PPC Mac OS X builder tnaur-ppc-osx, most likely because of a simple timing problem:

> =====> concio001(normal) 
> cd . && $MAKE -s --no-print-directory test.concio001    </dev/null >concio001.run.stdout 2>concio001.run.stderr
> Actual stdout output differs from expected:
> --- ./concio001.stdout.normalised       2008-02-06 08:18:52.000000000 +0100
> +++ ./concio001.run.stdout.normalised   2008-02-06 08:18:52.000000000 +0100
> @@ -1,2 +1 @@
> -child
>  parent
> *** unexpected failure for concio001(normal)

Briefly, the test uses

> (sleep 1; echo x) | ./concio001

to run the program

> $ cat concio001.hs 
> import Control.Concurrent
> 
> main = do
>   forkIO $ do threadDelay  100000; putStrLn "child"
>   getLine
>   putStrLn "parent"
> $ 

expecting the sleep 1 delay to be sufficient for the program to start running, performing its threadDelay and printing the "child" string, before the "parent" gets its input "x". But apparently, sleep 1 is insufficient in some cases.

If I run the test by hand, it succeeds. If I run the test alongside other processes that tries to spend disk I/O bandwith and/or CPU and/or memory, I am able to make it fail. So it appears that such circumstances are present during the buildbot running of the concio001 test.

I am not sure how to cure this. I am confident that simply increasing the sleep time would remove the problem in practice. However, perhaps some less brittle solution could be found.

And as a side issue: I also encountered this mode of failure:

> =====> concio001(normal)
> cd . && $MAKE -s --no-print-directory test.concio001    </dev/null >concio001.run.stdout 2>concio001.run.stderr
> Wrong exit code (expected 0 , actual 2 )
> Stdout:
> 
> Stderr:
> ghc-6.9.20080203: internal error: stg_ap_v_ret
>     (GHC version 6.9.20080203 for powerpc_apple_darwin)
>     Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
> make[1]: *** [test.concio001] Abort trap
> 
> *** unexpected failure for concio001(normal)

I intend to submit a bug report about this.

Best regards
Thorkil



More information about the Cvs-ghc mailing list