jtdaugherty/vty

GHC-8.0.2 hangs while building vty

sjakobi opened this issue · 9 comments

Apparently this issue was introduced in v5.23.1: https://matrix.hackage.haskell.org/#/package/vty

How about revising the base bounds to exclude base-4.9, so cabal can resolve to use vty < 5.23?!

Thanks for the report!

I investigated this a bit. What I found is that the issue affecting 8.0.2 is much older than 5.23.1; it just shows up on the GHC build matrix at the point it does due to the GHC build matrix environment's memory size. On my own machine, which has 16 GB RAM, I was able to successfully build the latest version of vty with ghc 8.0.2, but the build of the offending module (TerminfoBased) took about 7 minutes and during that time GHC had a maximum residency of about 11 GB. That definitely isn't great, but I am not sure that is grounds for excluding base 4.9 in the library.

It seems to me it would be straightforward for your project to set the desired bounds, though, if you are running into this yourself. Can you help me understand more about the situation you are running into?

Can you help me understand more about the situation you are running into?

I was trying to fix some GHC compatibility issues in vgrep, which depends on vty. While building vgrep with cabal, I noticed that building vty was taking a very long time, while seemingly consuming an ever-increasing amount of memory.

My ad-hoc suggestion to exclude base-4.9 for vty >= 5.23 would have prevented me from running into this issue. Admittedly this might pose a problem for people who want to use a recent vty with GHC 8.0.

Personally, I'm unlikely to run into this issue again anyway, since vgrep will only support GHC >= 8.4 from now on.

Okay, that makes sense. Thanks for giving me some more details. In that case I'll close this. Thanks!

I hit this issue recently, and it was time consuming to diagnose - bounds to prevent it would be welcome.

@simonmichael I'm sorry to hear that you ran into this, too, but as I concluded before, this is not enough of a problem to exclude 8.0.2. Instead, I suggest you put a lower bound on Vty to avoid this.

@jtdaugherty thanks for the response. Lower bound ? To be clear, should I require vty < 5.23.1 with ghc 8.0 ?

I was thinking something like vty >= 5.24.

That didn't work for me, but vty < 5.23.1 did (as expected since sjakobi said "this issue was introduced in v5.23.1"). In any case, I decided to simplify life and avoid other issues by dropping ghc 8.0 support. Thanks.

@simonmichael Okay, I'm glad you have an option that works for you!