Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Docker: stack commands "hang" until return hit waiting for docker start to complete #790
Disclaimer: I'm filing this even though I'm running in an odd environment and so it could be something other than stack itself, but I'm not sure and I figure best to file it and then close it if need be. Also this issue might be a bit longer than desired for issue filing. Let me know if you want it split out into gists or whatever.
I'm running stack 0.1.3.1 with the lts-3.0 resolver on OSX with boot2docker 1.7.1 and docker 1.7.1 using a custom image.
My custom image is my best attempt to reverse engineer
I've previously had this configuration working with no apparent issues other than the boot2docker warning with stack 0.1.2, GHC 7.10.1 from the haskell:7.10 docker image, and the nightly-2015-07-23 resolver.
Since upgrading to stack 0.1.3.1 and lts-3.0 though I've had some trouble. Other issues I managed to track down to the particular GHC versions and how I was installing them and have since resolved, but the final issue I can't sort out is that when I run stack commands that delegate through docker they wait for input before finishing.
For example, if I
and no prompt. if I hit return, this then happens:
while it's waiting for input if I check
then the issue reproduces as it does with stack. However, if I turn off the
I noted in the
isStdoutTerminal <- asks getTerminal (isStdinTerminal,isStderrTerminal) <- liftIO ((,) <$> hIsTerminalDevice stdin <*> hIsTerminalDevice stderr)
isn't consulting the global option, but that's a bit beyond my understanding of Stack's internals.
I think I get what you're doing and I once tried something similar with some success. Nevertheless, I'm going to close this issue since the way you're using trying to use stack w/ boot2docker is definitely not supported for now.
The logic for determining when to pass
You should be able to force it off by using something like