More teststuite woes

Ömer Sinan Ağacan omeragacan at gmail.com
Sun Nov 18 13:44:52 UTC 2018


This isprobably not the same problem, but I also started to get an error today
when running the test suite. I think the problem is with the test runner because
if I directly run the test command that the test runner prints the test works as
expected.

Error reported during validate:

    Unexpected results from:
    TEST="T14052"

    ...

    Unexpected failures:
       /tmp/ghctest-_w8smutp/test   spaces/perf/should_run/T14052.run
T14052 [[Errno 2] No such file or directory:
'/tmp/ghctest-_w8smutp/test
     spaces/perf/should_run/T14052.run/T14052.stats'] (ghci)

If I run only this test I get a slightly different error:

    $ make test TEST=T14052 WAY=ghci
    ...
    Unexpected failures:
       perf/should_run/T14052.run  T14052 [[Errno 2] No such file or
directory: 'perf/should_run/T14052.run/T14052.stats'] (ghci)

(note that the file path is different)

However if I copy the command printed when running the test and run it the test
works fine.

    $ HC="/home/omer/haskell/ghc/inplace/test   spaces/ghc-stage2"
HC_OPTS="-dcore-lint -dcmm-lint -no-user-package-db -rtsopts
-fno-warn-missed-specialisations -fshow-warning-groups
-fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat
-dno-debug-output " "/home/omer/haskell/ghc/inplace/test
spaces/ghc-stage2" --interactive -v0 -ignore-dot-ghci
-fno-ghci-history +RTS -I0.1 -RTS -fghci-leak-check -dcore-lint
-dcmm-lint -no-user-package-db -rtsopts
-fno-warn-missed-specialisations -fshow-warning-groups
-fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat
-dno-debug-output   < T14052.script > T14052.out
    ...
    $ diff T14052.out T14052.stdout
    (output matches the expected output)

Ömer

David Eichmann <davide at well-typed.com>, 18 Kas 2018 Paz, 01:40
tarihinde şunu yazdı:
>
> The exception is thrown by python's semaphore class. We are using it to limit the number of tests running concurrently, though I couldn't see anything obviously wrong with the relevant code. If possible, could you find out what `python --version` you have?
>
> David E
>
>
> On 17/11/18 21:55, Simon Peyton Jones wrote:
>
> Hmm.   The second run worked fine.  That’s unhelpful from a debugging point of view, but it means I’m not stuck!
>
>
>
> Simon
>
>
>
> From: Simon Peyton Jones
> Sent: 17 November 2018 17:57
> To: 'David Eichmann' <davide at well-typed.com>
> Cc: ghc-devs at haskell.org
> Subject: RE: More teststuite woes
>
>
>
> I’ll try validating again to see if the same thing happens.
>
> Simon
>
>
>
> From: David Eichmann <davide at well-typed.com>
> Sent: 17 November 2018 16:48
> To: Simon Peyton Jones <simonpj at microsoft.com>
> Cc: ghc-devs at haskell.org
> Subject: Re: More teststuite woes
>
>
>
> Hello Simon,
>
> I had a quick look into this today, and spoke a bit with Ben about it. We don't have a clear answer as to what is causing this at the moment. We'll have to look more into this early next week.
>
> > It means I can’t validate at all.
>
> So you've tried to validate multiple times? I.e. does the error happen deterministically or was it more of a one off event?
>
> - David E
>
>
>
> On 17/11/18 10:05, Simon Peyton Jones via ghc-devs wrote:
>
> David
>
> I got this error on Windows today.  It’s during the testuite run of ‘sh validate’
>
> =====> T7969(normal) 3998 of 6647 [0, 25, 1]
>
> cd "/c/Users/simonpj/AppData/Local/Temp/ghctest-b2z6dfqg/test   spaces/rename/should_compile/T7969.run" && $MAKE -s --no-print-directory T7969
>
> =====> T9127(normal) 3999 of 6647 [0, 25, 1]
>
> cd "/c/Users/simonpj/AppData/Local/Temp/ghctest-b2z6dfqg/test   spaces/rename/should_compile/T9127.run" &&  "/c/code/HEAD/bindisttest/install   dir/bin/ghc.exe" -c T9127.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output
>
> =====> T4426(normal) 4000 of 6647 [0, 25, 1]
>
> cd "/c/Users/simonpj/AppData/Local/Temp/ghctest-b2z6dfqg/test   spaces/rename/should_compile/T4426.run" &&  "/c/code/HEAD/bindisttest/install   dir/bin/ghc.exe" -c T4426.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output
>
> cd "/c/Users/simonpj/AppData/Local/Temp/ghctest-b2z6dfqg/test   spaces/rename/should_compile/T5592.run" && ./T5592
>
> =====> T9778(normal) 4001 of 6647 [0, 25, 1]
>
> cd "/c/Users/simonpj/AppData/Local/Temp/ghctest-b2z6dfqg/test   spaces/rename/should_compile/T9778.run" &&  "/c/code/HEAD/bindisttest/install   dir/bin/ghc.exe" -c T9778.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output  -fwarn-unticked-promoted-constructors
>
> =====> T10816(normal) 4002 of 6647 [0, 25, 1]
>
> cd "/c/Users/simonpj/AppData/Local/Temp/ghctest-b2z6dfqg/test   spaces/rename/should_compile/T10816.run" &&  "/c/code/HEAD/bindisttest/install   dir/bin/ghc.exe" -c T10816.hs -dcore-lint -dcmm-lint -no-user-package-db -rtsopts -fno-warn-missed-specialisations -fshow-warning-groups -fdiagnostics-color=never -fno-diagnostics-show-caret -Werror=compat -dno-debug-output
>
> Traceback (most recent call last):
>
>   File "/usr/lib/python3.6/threading.py", line 426, in acquire
>
>     self._cond.wait(timeout)
>
>   File "/usr/lib/python3.6/threading.py", line 287, in wait
>
>     raise RuntimeError("cannot wait on un-acquired lock")
>
> RuntimeError: cannot wait on un-acquired lock
>
>
>
> During handling of the above exception, another exception occurred:
>
>
>
> Traceback (most recent call last):
>
>   File "../driver/runtests.py", line 336, in <module>
>
>     oneTest(watcher)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 717, in <lambda>
>
>     thisTest = lambda watcher: runTest(watcher, myTestOpts, name, func, args)
>
>   File "/c/code/HEAD/testsuite/driver/testlib.py", line 678, in runTest
>
>     pool_sema.acquire()
>
>   File "/usr/lib/python3.6/threading.py", line 429, in acquire
>
>     rc = True
>
>   File "/usr/lib/python3.6/threading.py", line 243, in __exit__
>
>     return self._lock.__exit__(*args)
>
> RuntimeError: release unlocked lock
>
> make: *** [../mk/test.mk:344: test] Error 1
>
> make: Leaving directory '/c/code/HEAD/testsuite/tests'
>
> make: Entering directory '/c/code/HEAD/testsuite/tests/stage1'
>
>
>
> Does this ring any bells.  It means I can’t validate at all.
>
> Thanks
>
>
>
> Simon
>
>
>
> _______________________________________________
>
> ghc-devs mailing list
>
> ghc-devs at haskell.org
>
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>
>
>
>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


More information about the ghc-devs mailing list