-
Notifications
You must be signed in to change notification settings - Fork 689
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Setup.hs must be compiled with -threaded #2398
Comments
slightly more info with -debug +RTS -Ds runtime:
waitpid() stuck and does not get unblocked by VTALARM (signals stop hppening as ./setup does nothing). |
I strongly suspect this is yet another lazy IO bug. At this point, that deserves its own label. |
I think the cause of this problem is that |
This is a different flavor of #2489. I am testing the recommended fix for that now. I'll apply it here once everything checks out. |
…time Gentoo-bug: https://bugs.gentoo.org/show_bug.cgi?id=537500 Cabal-bug: haskell/cabal#2398 Signed-off-by: Sergei Trofimovich <siarheit@google.com>
Is there a better work-around than building with |
@nomeata No, the |
It might make sense to keep Setup.hs simple and reliable, e.g. for automatic builders, and do fancy stuff in If it is related to |
Yes, that's how it was originally implemented. In fact, if Cabal's log files aren't needed, we can even just pipe the test output directly to |
I see a few test suite failures on various packages, and due to this bug I’m not sure whether to blame cabal or the actual package at hand. I’d be grateful for a patch, especially if it is simple and can be backported to GHC-7.10. |
I’m confused now. I tried to add a test case to Cabal to reproduce the problem, but I’m failing to to do so. Moreover, it seems that there, Maybe the runtime works fine without |
Ok, I could reproduce it now, with large enough output. Preparing a pull request with the updated output. I suggest to go this, less ambitious but more reliable route:
The last bit is a slight loss of functionality, but avoids any threading or pipe foo in Cabal, and furthermore fixes #2911 en passant. |
The test case is changed to print a rather large amount of text, large enough to fill a buffer. This way, the buffer draining functionality in the test runner is tested, and it reveals haskell#2398. This makes the test suite currently fail, of course, but the bug was there before.
This mode implements haskell#2911, and allows to connect the test runner directly to stdout/stdin. This is more reliable in the presence of no threading, i.e. a work-arond for haskell#2398. I make the test suite use this, so that it passes again, despite printing lots of stuff. Once haskell#2398 is fixed properly, the test suite should probably be extended to test all the various --show-details modes.
This mode implements haskell#2911, and allows to connect the test runner directly to stdout/stdin. This is more reliable in the presence of no threading, i.e. a work-arond for haskell#2398. I make the test suite use this, so that it passes again, despite printing lots of stuff. Once haskell#2398 is fixed properly, the test suite should probably be extended to test all the various --show-details modes.
This mode implements haskell#2911, and allows to connect the test runner directly to stdout/stdin. This is more reliable in the presence of no threading, i.e. a work-arond for haskell#2398. I make the test suite use this, so that it passes again, despite printing lots of stuff. Once haskell#2398 is fixed properly, the test suite should probably be extended to test all the various --show-details modes.
I ran into Gentoo bug #537500 with the test suite for ShellCheck. I asked Haskell-Cafe about it, and Thomas Tuegel told me to report it here. So here you go!
I was able to reproduce the issue with the latest Cabal master branch.
The text was updated successfully, but these errors were encountered: