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

Stack based devel server #1305

Merged
merged 8 commits into from Nov 29, 2016

Conversation

Projects
None yet
9 participants
@snoyberg
Member

snoyberg commented Nov 24, 2016

Going to put up a blog post about this momentarily, would like some user feedback besides myself before merging and releasing.

One question: I was conservative and made this a major version bump (to 1.5.0), since it drops some functionality in the yesod devel command. This will delay release of this to existing LTS users. If you think I'm being too conservative here, speak up!

Fixes #1304

If you've tested this out and would like to report back without commenting, could you click on the thumbs up or thumbs down below?

@chreekat

This comment has been minimized.

Show comment
Hide comment
@chreekat

chreekat Nov 24, 2016

Contributor

The very first time I ran it, the app seems to have started twice... but it didn't happen again when I restarted, nor after a stack clean.

ExitSuccess
Type help for available commands. Press enter to force a rebuild.
Starting devel application
Initializing schema
NOTICE:  relation "schema_migrations" already exists, skipping
Ok:     payment-capability
Devel application launched: http://localhost:3000
Starting devel application
Initializing schema
NOTICE:  relation "schema_migrations" already exists, skipping
Ok:     payment-capability
Devel application launched: http://localhost:3000
Contributor

chreekat commented Nov 24, 2016

The very first time I ran it, the app seems to have started twice... but it didn't happen again when I restarted, nor after a stack clean.

ExitSuccess
Type help for available commands. Press enter to force a rebuild.
Starting devel application
Initializing schema
NOTICE:  relation "schema_migrations" already exists, skipping
Ok:     payment-capability
Devel application launched: http://localhost:3000
Starting devel application
Initializing schema
NOTICE:  relation "schema_migrations" already exists, skipping
Ok:     payment-capability
Devel application launched: http://localhost:3000
@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 24, 2016

Member

That was really fast feedback :). I had that problem with some earlier commits and then thought I'd fixed it with later commits. Can you confirm which commit you experienced that with?

Member

snoyberg commented Nov 24, 2016

That was really fast feedback :). I had that problem with some earlier commits and then thought I'd fixed it with later commits. Can you confirm which commit you experienced that with?

@chreekat

This comment has been minimized.

Show comment
Hide comment
@chreekat

chreekat Nov 24, 2016

Contributor

+1 on version bump btw.

Version I tested is f3fc735

Contributor

chreekat commented Nov 24, 2016

+1 on version bump btw.

Version I tested is f3fc735

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 24, 2016

Member

Could you try running with yesod devel --verbose for the next bit, and if you see it happen again, paste the logs? That may short-circuit the debugging.

Member

snoyberg commented Nov 24, 2016

Could you try running with yesod devel --verbose for the next bit, and if you see it happen again, paste the logs? That may short-circuit the debugging.

@chreekat

This comment has been minimized.

Show comment
Hide comment
@chreekat

chreekat Nov 24, 2016

Contributor

Yep, and in the meanwhile it hardly seems like a showstopper.

Contributor

chreekat commented Nov 24, 2016

Yep, and in the meanwhile it hardly seems like a showstopper.

@simonmichael

This comment has been minimized.

Show comment
Hide comment
@simonmichael

simonmichael Nov 24, 2016

It worked nicely for me with hledger-web. I wondered about usage, eg if I could provide command line arguments to my app, and wished for a yesod --help. It kept serving the app while rebuilding, minimising downtime - nice. Not having to worry about GHC version compatibility or installing yesod-bin in the project is a big improvement. Thank you!

simonmichael commented Nov 24, 2016

It worked nicely for me with hledger-web. I wondered about usage, eg if I could provide command line arguments to my app, and wished for a yesod --help. It kept serving the app while rebuilding, minimising downtime - nice. Not having to worry about GHC version compatibility or installing yesod-bin in the project is a big improvement. Thank you!

@psibi

This comment has been minimized.

Show comment
Hide comment
@psibi

psibi Nov 24, 2016

Member

I tested in a big Yesod application I use. It took a lot of time to build. So I quited it by typing quit and then did a stack clean and tried it again. This time, I got this:

bind: resource busy (Address already in use)

So probably it didn't properly shut down when I typed quit. Also it also showed this:

yesod: addWatch: resource exhausted (No space left on device)

Even though, I have space in my device.
This is the entire log: https://gist.github.com/psibi/01eb0e3b65182e76869ab7ca75892172

I was not able to see the development server working at 127.0.0.1:3000

Member

psibi commented Nov 24, 2016

I tested in a big Yesod application I use. It took a lot of time to build. So I quited it by typing quit and then did a stack clean and tried it again. This time, I got this:

bind: resource busy (Address already in use)

So probably it didn't properly shut down when I typed quit. Also it also showed this:

yesod: addWatch: resource exhausted (No space left on device)

Even though, I have space in my device.
This is the entire log: https://gist.github.com/psibi/01eb0e3b65182e76869ab7ca75892172

I was not able to see the development server working at 127.0.0.1:3000

@psibi

This comment has been minimized.

Show comment
Hide comment
@psibi

psibi Nov 24, 2016

Member

I quited the app and tried it again. This time it worked perfectly (and was also very fast).

Member

psibi commented Nov 24, 2016

I quited the app and tried it again. This time it worked perfectly (and was also very fast).

@enolan

This comment has been minimized.

Show comment
Hide comment
@enolan

enolan Nov 24, 2016

This doesn't seem to work with Stack's Docker integration. I just get the "This application isn't built" page refreshing forever. docker ps doesn't have a Stack process in it either. Console output:

Yesod devel server. Enter 'quit' or hit Ctrl-C to quit.
Application can be accessed at:

http://localhost:3000
https://localhost:3443
If you wish to test https capabilities, you should set the following variable:
  export APPROOT=https://localhost:3443

Nothing after that. I tested with the yesod-simple template.

enolan commented Nov 24, 2016

This doesn't seem to work with Stack's Docker integration. I just get the "This application isn't built" page refreshing forever. docker ps doesn't have a Stack process in it either. Console output:

Yesod devel server. Enter 'quit' or hit Ctrl-C to quit.
Application can be accessed at:

http://localhost:3000
https://localhost:3443
If you wish to test https capabilities, you should set the following variable:
  export APPROOT=https://localhost:3443

Nothing after that. I tested with the yesod-simple template.

@enolan

This comment has been minimized.

Show comment
Hide comment
@enolan

enolan Nov 25, 2016

Upon further investigation, --file-watch doesn't work at all in Docker mode.

enolan commented Nov 25, 2016

Upon further investigation, --file-watch doesn't work at all in Docker mode.

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 25, 2016

Member

@enolan Good catch on the Docker front. Can you confirm if you used method 1 or 2 from the blog post? And if method 1, could you try method 2? I think it may be necessary to wrap in stack exec based on my own Docker experience. Then there's a question of whether we add that logic to yesod devel or make it a user requirement.

@simonmichael yesod devel --help should give you the info you're looking for. It is possible to pass extra arguments to the stack build command with --extra-stack-arg.

@psibi Hmm, that's worrying. Do you know by any chance which process was using up the CPU? The "no space left on device" is a terrible error message; it actually means you're out of file descriptors in this case. My theory (and just a theory) is that, somehow, stack build --file-watch ended up trying to track far too many directories, and got caught tracking down the files. This screwed everything else up by hogging the CPU and using up your FD limit (NB: I thought FD limit on Linux was only per process, maybe there's also a process group limit?). If you run into this again, any new information on it would be greatly appreciated.

Thanks for the feedback everyone!

Member

snoyberg commented Nov 25, 2016

@enolan Good catch on the Docker front. Can you confirm if you used method 1 or 2 from the blog post? And if method 1, could you try method 2? I think it may be necessary to wrap in stack exec based on my own Docker experience. Then there's a question of whether we add that logic to yesod devel or make it a user requirement.

@simonmichael yesod devel --help should give you the info you're looking for. It is possible to pass extra arguments to the stack build command with --extra-stack-arg.

@psibi Hmm, that's worrying. Do you know by any chance which process was using up the CPU? The "no space left on device" is a terrible error message; it actually means you're out of file descriptors in this case. My theory (and just a theory) is that, somehow, stack build --file-watch ended up trying to track far too many directories, and got caught tracking down the files. This screwed everything else up by hogging the CPU and using up your FD limit (NB: I thought FD limit on Linux was only per process, maybe there's also a process group limit?). If you run into this again, any new information on it would be greatly appreciated.

Thanks for the feedback everyone!

@simonmichael

This comment has been minimized.

Show comment
Hide comment
@simonmichael

simonmichael Nov 25, 2016

simonmichael commented Nov 25, 2016

@danpalmer

This comment has been minimized.

Show comment
Hide comment
@danpalmer

danpalmer Nov 26, 2016

I've just tried this on a nearly stock yesod-postgres template, and it's failing:

Yesod devel server. Enter 'quit' or hit Ctrl-C to quit.
Application can be accessed at:

http://localhost:3000
https://localhost:3443
If you wish to test https capabilities, you should set the following variable:
  export APPROOT=https://localhost:3443

Error parsing targets: Unknown local package: projectname
Type help for available commands. Press enter to force a rebuild.

I'm using the Docker integration because GHC 8 is broken on macOS Sierra, and I can't get 7.x to work with Stack.

danpalmer commented Nov 26, 2016

I've just tried this on a nearly stock yesod-postgres template, and it's failing:

Yesod devel server. Enter 'quit' or hit Ctrl-C to quit.
Application can be accessed at:

http://localhost:3000
https://localhost:3443
If you wish to test https capabilities, you should set the following variable:
  export APPROOT=https://localhost:3443

Error parsing targets: Unknown local package: projectname
Type help for available commands. Press enter to force a rebuild.

I'm using the Docker integration because GHC 8 is broken on macOS Sierra, and I can't get 7.x to work with Stack.

@v0d1ch

This comment has been minimized.

Show comment
Hide comment
@v0d1ch

v0d1ch Nov 26, 2016

Installs just fine on the Debian 8 Docker image but as @enolan noticed file watch does not work. I tried both installation methods with the same result.

v0d1ch commented Nov 26, 2016

Installs just fine on the Debian 8 Docker image but as @enolan noticed file watch does not work. I tried both installation methods with the same result.

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 27, 2016

Member

Everyone reporting Docker issues: please see the first paragraph of this comment: #1305 (comment). Can you provide feedback on yesod devel installation method?

Member

snoyberg commented Nov 27, 2016

Everyone reporting Docker issues: please see the first paragraph of this comment: #1305 (comment). Can you provide feedback on yesod devel installation method?

@danpalmer

This comment has been minimized.

Show comment
Hide comment
@danpalmer

danpalmer Nov 27, 2016

@snoyberg have just tried the latest commit here, in the fcpo/stack-build Docker image, and I get the same error as in #1304. I used method 2 from the blog post.

app/devel.hs:2:1: error:
    Failed to load interface for ‘Application’
    It is a member of the hidden package ‘mypackage-0.0.0@mypackage-0.0.0-K471blRkI0PcaZvWDrmmE’.
    It is a member of the hidden package ‘mypackage-0.0.0@mypackage-0.0.0-B8ruDh9MmZbDVFu7A8lhK’.
Exit code: ExitFailure 1

Note: used in the Docker image, but not using Stack's Docker integration. I'm on macOS Sierra so I can't Haskell normally right now 😞.

danpalmer commented Nov 27, 2016

@snoyberg have just tried the latest commit here, in the fcpo/stack-build Docker image, and I get the same error as in #1304. I used method 2 from the blog post.

app/devel.hs:2:1: error:
    Failed to load interface for ‘Application’
    It is a member of the hidden package ‘mypackage-0.0.0@mypackage-0.0.0-K471blRkI0PcaZvWDrmmE’.
    It is a member of the hidden package ‘mypackage-0.0.0@mypackage-0.0.0-B8ruDh9MmZbDVFu7A8lhK’.
Exit code: ExitFailure 1

Note: used in the Docker image, but not using Stack's Docker integration. I'm on macOS Sierra so I can't Haskell normally right now 😞.

@amitaibu

This comment has been minimized.

Show comment
Hide comment
@amitaibu

amitaibu Nov 27, 2016

Contributor

From a functional point of view I'm missing the intermediate screen that tells me a build is broken. That is, now instead of jumping from the editor to the browser, I need first to check the console to confirm if the compiling worked or not.

Contributor

amitaibu commented Nov 27, 2016

From a functional point of view I'm missing the intermediate screen that tells me a build is broken. That is, now instead of jumping from the editor to the browser, I need first to check the console to confirm if the compiling worked or not.

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 28, 2016

Member

@amitaibu You're right. We'd need to add new functionality to Stack to run a command before starting the build. I honestly wasn't certain if people wanted that functionality. Most other devel servers seem to leave the previous version of the app running until the new version is available.

Member

snoyberg commented Nov 28, 2016

@amitaibu You're right. We'd need to add new functionality to Stack to run a command before starting the build. I honestly wasn't certain if people wanted that functionality. Most other devel servers seem to leave the previous version of the app running until the new version is available.

@amitaibu

This comment has been minimized.

Show comment
Hide comment
@amitaibu

amitaibu Nov 28, 2016

Contributor

Most other devel servers seem to leave the previous version

Well, to be fair, other devel servers also don't encourage you to sit straight and drink a lot of water 😉

Contributor

amitaibu commented Nov 28, 2016

Most other devel servers seem to leave the previous version

Well, to be fair, other devel servers also don't encourage you to sit straight and drink a lot of water 😉

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 28, 2016

Member

I'm not saying one way or the other on best functionality. I'm simply commenting that there's precedent. However, after a bit more thought, there may be a way to do this without modifying Stack.

And to the Docker reports: I'm trying to reproduce myself right now.

Member

snoyberg commented Nov 28, 2016

I'm not saying one way or the other on best functionality. I'm simply commenting that there's precedent. However, after a bit more thought, there may be a way to do this without modifying Stack.

And to the Docker reports: I'm trying to reproduce myself right now.

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 28, 2016

Member

Docker folks: I'm unable to reproduce. I scaffolded a brand new yesod-simple template (stack new foo yesod-simple). Then I changed the stack.yaml to read:

resolver: lts-6.26
docker:
    enable: true

packages:
- '.'
- location:
    git: https://github.com/yesodweb/yesod
    commit: b1f1e4e222cc97434432ffc3c67ed9597634fc53
  subdirs:
  - yesod-bin
  extra-dep: true
extra-deps:
- say-0.1.0.0
- typed-process-0.1.0.0

Running stack docker pull && stack build yesod-bin && stack exec -- yesod devel worked just fine. Can someone give more detailed information on what isn't working?

Member

snoyberg commented Nov 28, 2016

Docker folks: I'm unable to reproduce. I scaffolded a brand new yesod-simple template (stack new foo yesod-simple). Then I changed the stack.yaml to read:

resolver: lts-6.26
docker:
    enable: true

packages:
- '.'
- location:
    git: https://github.com/yesodweb/yesod
    commit: b1f1e4e222cc97434432ffc3c67ed9597634fc53
  subdirs:
  - yesod-bin
  extra-dep: true
extra-deps:
- say-0.1.0.0
- typed-process-0.1.0.0

Running stack docker pull && stack build yesod-bin && stack exec -- yesod devel worked just fine. Can someone give more detailed information on what isn't working?

@amitaibu

This comment has been minimized.

Show comment
Hide comment
@amitaibu

amitaibu Nov 28, 2016

Contributor

Great, I'll give it a try

Contributor

amitaibu commented on 3883063 Nov 28, 2016

Great, I'll give it a try

@v0d1ch

This comment has been minimized.

Show comment
Hide comment
@v0d1ch

v0d1ch Nov 28, 2016

Did you run stack commands on you host or guest ? I need to run them on guest and have file sync. I will try again using your stack.yml

v0d1ch commented Nov 28, 2016

Did you run stack commands on you host or guest ? I need to run them on guest and have file sync. I will try again using your stack.yml

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 28, 2016

Member

I ran them on my host. By using stack exec first, it should automatically spawn a container and have everything else run inside of it. That's why I've been so surprised that people are having trouble with Docker + method 2, since it should be almost identical to running on the host OS.

Member

snoyberg commented Nov 28, 2016

I ran them on my host. By using stack exec first, it should automatically spawn a container and have everything else run inside of it. That's why I've been so surprised that people are having trouble with Docker + method 2, since it should be almost identical to running on the host OS.

@v0d1ch

This comment has been minimized.

Show comment
Hide comment
@v0d1ch

v0d1ch Nov 28, 2016

Since I am on Sierra I can't build from host so I log in to the guest machine and do all of the stack commands there. Can you try running all from guest since I believe you can recreate these issues that way.

v0d1ch commented Nov 28, 2016

Since I am on Sierra I can't build from host so I log in to the guest machine and do all of the stack commands there. Can you try running all from guest since I believe you can recreate these issues that way.

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 28, 2016

Member

I'm not sure what you mean by host and guess here. If you're saying that you're using a virtual machine running Linux on OS X, then there's nothing special about the configuration that needs to be tested, as far as the stack and yesod toolchain is concerned, you're running natively on Linux. It's only in the situation where you have docker enabled in your stack.yaml that something different would be occurring, and that's the case I was testing.

After you've tested out the file I've provided above, if it doesn't work, please provide precise repro instructions to see the bug you're encountering.

Member

snoyberg commented Nov 28, 2016

I'm not sure what you mean by host and guess here. If you're saying that you're using a virtual machine running Linux on OS X, then there's nothing special about the configuration that needs to be tested, as far as the stack and yesod toolchain is concerned, you're running natively on Linux. It's only in the situation where you have docker enabled in your stack.yaml that something different would be occurring, and that's the case I was testing.

After you've tested out the file I've provided above, if it doesn't work, please provide precise repro instructions to see the bug you're encountering.

@v0d1ch

This comment has been minimized.

Show comment
Hide comment
@v0d1ch

v0d1ch Nov 28, 2016

I guess we didn't understand each other. Ok so I tried your described method and all compiles well and app gets started on port 3000. I am not able to access it in browser for some reason but I guess that has nothing to do with stack. When I type quit and do

stack exec -- yesod devel

I get:

Running /usr/bin/git clone --recursive https://github.com/yesodweb/yesod /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC in directory /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/ exited with ExitFailure 128

fatal: destination path '/Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC' already exists and is not an empty directory.
Type help for available commands. Press enter to force a rebuild.
/Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC/yesod-bin: canonicalizePath: does not exist (No such file or directory)
Unexpected: child process exited with ExitFailure 1
Trying again
Running /usr/bin/git clone --recursive https://github.com/yesodweb/yesod /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC in directory /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/ exited with ExitFailure 128

Cloning into '/Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC'...
fatal: Not a git repository: '.git'
Unexpected: child process exited with ExitFailure 1
Trying again

Then it hangs for a while and restarts the app sucessfully but file sync does not work at all.
When I save edited file nothing happens

Devel application launched: http://localhost:3000
<-- here nothing happens on file save and when pressed enter -->
removeWatch: invalid argument (Invalid argument)
Type help for available commands. Press enter to force a rebuild.

I don't know how can I be of more help. Workflow that I used earlier was

  • I start my Debian/Haskell docker image with
docker run -p 3000:3000 -itv /path/to/local/project/:/some/path/on/docker/container/ vodich/yesod:latest /bin/bash
  • I start the yesod devel and all works just fine.
    I run MacOs Sierra 10.12.1

v0d1ch commented Nov 28, 2016

I guess we didn't understand each other. Ok so I tried your described method and all compiles well and app gets started on port 3000. I am not able to access it in browser for some reason but I guess that has nothing to do with stack. When I type quit and do

stack exec -- yesod devel

I get:

Running /usr/bin/git clone --recursive https://github.com/yesodweb/yesod /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC in directory /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/ exited with ExitFailure 128

fatal: destination path '/Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC' already exists and is not an empty directory.
Type help for available commands. Press enter to force a rebuild.
/Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC/yesod-bin: canonicalizePath: does not exist (No such file or directory)
Unexpected: child process exited with ExitFailure 1
Trying again
Running /usr/bin/git clone --recursive https://github.com/yesodweb/yesod /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC in directory /Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/ exited with ExitFailure 128

Cloning into '/Users/xxx/yyy/n-stack/foo/.stack-work/downloaded/3XBbBUKW9nlC'...
fatal: Not a git repository: '.git'
Unexpected: child process exited with ExitFailure 1
Trying again

Then it hangs for a while and restarts the app sucessfully but file sync does not work at all.
When I save edited file nothing happens

Devel application launched: http://localhost:3000
<-- here nothing happens on file save and when pressed enter -->
removeWatch: invalid argument (Invalid argument)
Type help for available commands. Press enter to force a rebuild.

I don't know how can I be of more help. Workflow that I used earlier was

  • I start my Debian/Haskell docker image with
docker run -p 3000:3000 -itv /path/to/local/project/:/some/path/on/docker/container/ vodich/yesod:latest /bin/bash
  • I start the yesod devel and all works just fine.
    I run MacOs Sierra 10.12.1
@danpalmer

This comment has been minimized.

Show comment
Hide comment
@danpalmer

danpalmer Nov 29, 2016

@snoyberg I've this branch all working now:

  • macOS Sierra.
  • GHC 8.0.2 with the example stack.yaml that you tweeted yesterday.
  • yesod-postgres template.
  • Installation of this branch with "method 2" (stack.yaml) updated for the hash of the latest commit on this branch.
  • No Docker manually or via Stack.

danpalmer commented Nov 29, 2016

@snoyberg I've this branch all working now:

  • macOS Sierra.
  • GHC 8.0.2 with the example stack.yaml that you tweeted yesterday.
  • yesod-postgres template.
  • Installation of this branch with "method 2" (stack.yaml) updated for the hash of the latest commit on this branch.
  • No Docker manually or via Stack.
@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Nov 29, 2016

Member

Since almost all problems seem to be around Docker integration, I think I'm going to move ahead with a release and indicate in the README/announcement that Docker support is experimental. We can work out those bugs over time, but with the imminent GHC 8.0.2 release, I'd like to get something working out there soon. Last chance to scream an objection :)

Member

snoyberg commented Nov 29, 2016

Since almost all problems seem to be around Docker integration, I think I'm going to move ahead with a release and indicate in the README/announcement that Docker support is experimental. We can work out those bugs over time, but with the imminent GHC 8.0.2 release, I'd like to get something working out there soon. Last chance to scream an objection :)

@snoyberg snoyberg merged commit 3883063 into master Nov 29, 2016

0 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
continuous-integration/travis-ci/push The Travis CI build could not complete due to an error
Details

@snoyberg snoyberg removed the in progress label Nov 29, 2016

@snoyberg snoyberg deleted the 1304-stack-based-devel branch Nov 29, 2016

@CrowDaddy

This comment has been minimized.

Show comment
Hide comment
@CrowDaddy

CrowDaddy Mar 9, 2017

When following your quick start guide on Win7, using lts-8.4, received the following error message:

Progress: 70/106
-- While building package cookie-0.4.2.1 using:
C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.
0.2.exe --builddir=.stack-work\dist\ca59d0ab register
Process exited with code: ExitFailure 1
Logs have been written to: C:\Users\John\JohnYesod.stack-work\logs\cookie-0
.4.2.1.log

Configuring cookie-0.4.2.1...
Building cookie-0.4.2.1...
Preprocessing library cookie-0.4.2.1...
[1 of 1] Compiling Web.Cookie       ( Web\Cookie.hs, .stack-work\dist\ca59d0

ab\build\Web\Cookie.o )

Web\Cookie.hs:92:18: warning: [-Wdeprecations]
    In the use of `breakByte' (imported from Data.ByteString):
    Deprecated: "It is an internal function and should never have been expor

ted. Use 'break (== x)' instead. (There are rewrite rules that handle this speci
al case of 'break'.)"

Web\Cookie.hs:241:21: warning: [-Wdeprecations]
    In the use of `parseTime'
    (imported from Data.Time, but defined in time-1.6.0.1:Data.Time.Format.P

arse):
Deprecated: "use "parseTimeM True" instead"
Installing library in
C:\sr\snapshots\523bd341\lib\x86_64-windows-ghc-8.0.2\cookie-0.4.2.1-K68NuFI
Z07nEstxwB6c3aL
Registering cookie-0.4.2.1...
Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe:
'C:\Users\John\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc
-pkg.EXE'
exited with an error:
cookie-0.4.2.1: Warning: haddock-interfaces:
C:\sr\snapshots\523bd341\doc\cookie-0.4.2.1\cookie.haddock doesn't exist or
isn't a file
ghc-pkg.EXE: C:\sr\snapshots\523bd341\pkgdb\package.cache: you don't have
permission to modify this file

CrowDaddy commented Mar 9, 2017

When following your quick start guide on Win7, using lts-8.4, received the following error message:

Progress: 70/106
-- While building package cookie-0.4.2.1 using:
C:\sr\setup-exe-cache\x86_64-windows\Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.
0.2.exe --builddir=.stack-work\dist\ca59d0ab register
Process exited with code: ExitFailure 1
Logs have been written to: C:\Users\John\JohnYesod.stack-work\logs\cookie-0
.4.2.1.log

Configuring cookie-0.4.2.1...
Building cookie-0.4.2.1...
Preprocessing library cookie-0.4.2.1...
[1 of 1] Compiling Web.Cookie       ( Web\Cookie.hs, .stack-work\dist\ca59d0

ab\build\Web\Cookie.o )

Web\Cookie.hs:92:18: warning: [-Wdeprecations]
    In the use of `breakByte' (imported from Data.ByteString):
    Deprecated: "It is an internal function and should never have been expor

ted. Use 'break (== x)' instead. (There are rewrite rules that handle this speci
al case of 'break'.)"

Web\Cookie.hs:241:21: warning: [-Wdeprecations]
    In the use of `parseTime'
    (imported from Data.Time, but defined in time-1.6.0.1:Data.Time.Format.P

arse):
Deprecated: "use "parseTimeM True" instead"
Installing library in
C:\sr\snapshots\523bd341\lib\x86_64-windows-ghc-8.0.2\cookie-0.4.2.1-K68NuFI
Z07nEstxwB6c3aL
Registering cookie-0.4.2.1...
Cabal-simple_Z6RU0evB_1.24.2.0_ghc-8.0.2.exe:
'C:\Users\John\AppData\Local\Programs\stack\x86_64-windows\ghc-8.0.2\bin\ghc
-pkg.EXE'
exited with an error:
cookie-0.4.2.1: Warning: haddock-interfaces:
C:\sr\snapshots\523bd341\doc\cookie-0.4.2.1\cookie.haddock doesn't exist or
isn't a file
ghc-pkg.EXE: C:\sr\snapshots\523bd341\pkgdb\package.cache: you don't have
permission to modify this file

@snoyberg

This comment has been minimized.

Show comment
Hide comment
@snoyberg

snoyberg Mar 10, 2017

Member
Member

snoyberg commented Mar 10, 2017

@CrowDaddy

This comment has been minimized.

Show comment
Hide comment
@CrowDaddy

CrowDaddy Mar 10, 2017

that fixed the problem with step 3, but then I had to hit enter twice to force rebuilds to get through step 5. Does indeed act like a race condition! Thanks for your help -- the devel server is running now.

CrowDaddy commented Mar 10, 2017

that fixed the problem with step 3, but then I had to hit enter twice to force rebuilds to get through step 5. Does indeed act like a race condition! Thanks for your help -- the devel server is running now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment