Skip to content
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

hlint annotation triggers TH, loads all transitive imports and eats up memory #601

Open
divipp opened this issue Aug 3, 2017 · 7 comments

Comments

@divipp
Copy link

divipp commented Aug 3, 2017

Consider module X with no definition:

module X where

import A

{-# ANN module ("HLint: ignore Use camelCase" :: String) #-}

Somehow the hlint annotation triggers

Linking Template Haskell ( ... )  -- transitive dependencies of A

This in turn eats up memory and we observe

hPutBuf: illegal operation (handle is closed)

This bites us in our project so we are going to remove hlint annotations as a workaround.

@luite
Copy link
Member

luite commented Aug 7, 2017

does "eat up memory" mean "uses a lot of memory" or does it continue to allocate more until the process gets killed? (in other words: does it work on systems with lots of available memory?)

@fisx
Copy link
Contributor

fisx commented Aug 22, 2017

i think we don't know. (-:

what would be a good way to increase memory to find out?

@fisx
Copy link
Contributor

fisx commented Aug 22, 2017

@fisx
Copy link
Contributor

fisx commented Sep 5, 2017

this is starting to happen more and more often on our ci. is it likely that upgrading to lts-9.1 will help, like suggested in #579 (comment)?

@luite
Copy link
Member

luite commented Sep 19, 2017

Has eb8670c resolved the hPutBuf: illegal operation (handle is closed) error?

@fisx
Copy link
Contributor

fisx commented Sep 22, 2017

see #588 (comment)

@fisx
Copy link
Contributor

fisx commented Sep 24, 2017

It looks like eb8670c solves our problem. Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants