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

Update to GHC 9.6.4 and HLS 2.6.0.0. #4431

Merged
merged 5 commits into from
Feb 8, 2024
Merged

Conversation

jonathanknowles
Copy link
Contributor

@jonathanknowles jonathanknowles commented Feb 6, 2024

This PR updates the versions of GHC and HLS used in our nix configuration:

- ghc-9.6.3
+ ghc-9.6.4
- hls-2.5.0.0
+ hls-2.6.0.0

@jonathanknowles
Copy link
Contributor Author

Looks like HLS is getting stuck after the update to 2.6.0.0 (see https://buildkite.com/cardano-foundation/cardano-wallet/builds/3344#018d7d17-3a31-4fed-81c0-db547420cb0f):

$ nix develop --command bash -c "haskell-language-server lib/wallet/src/Cardano/Wallet.hs"
2024-02-06T06:36:44.436167Z | Info | haskell-language-server version: 2.6.0.0 (GHC: 9.6.4) (PATH: /nix/store/xqzbbzz4hafk4r18k8zp1s2zl78r3f6p-haskell-language-server-exe-haskell-language-server-2.6.0.0/bin/haskell-language-server)
2024-02-06T06:36:44.437388Z | Info | Directory: /var/lib/buildkite-agent/builds/machine-zurich-12-agent-13/cardano-foundation/cardano-wallet
2024-02-06T06:36:44.437766Z | Info | Logging heap statistics every 60.00s
 ghcide setup tester in /var/lib/buildkite-agent/builds/machine-zurich-12-agent-13/cardano-foundation/cardano-wallet.
Report bugs at https://github.com/haskell/haskell-language-server/issues
Step 1/4: Finding files to test in /var/lib/buildkite-agent/builds/machine-zurich-12-agent-13/cardano-foundation/cardano-wallet
Found 1 files
Step 2/4: Looking for hie.yaml files that control setup
Found 1 cradle
  ()
Step 3/4: Initializing the IDE
Step 4/4: Type checking the files
2024-02-06T06:36:44.482341Z | Info | Cradle path: lib/wallet/src/Cardano/Wallet.hs
2024-02-06T06:36:44.482644Z | Warning | No [cradle](https://github.com/mpickering/hie-bios#hie-bios) found for lib/wallet/src/Cardano/Wallet.hs.
Proceeding with [implicit cradle](https://hackage.haskell.org/package/implicit-hie).
You should ignore this message, unless you see a 'Multi Cradle: No prefixes matched' error.
2024-02-06T06:36:44.486463Z | Info | invoking build tool to determine build flags (this may take some time depending on the cache)
2024-02-06T06:37:44.470372Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:38:44.530938Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:39:29.262177Z | Info | cabal --builddir=/var/lib/buildkite-agent/.cache/hie-bios/dist-cardano-wallet-dd9887d55da3097884e307a49149fb9e v2-repl --with-compiler /var/lib/buildkite-agent/.cache/hie-bios/wrapper-b54f81dea4c0e6d1626911c526bc4e36 --with-hc-pkg /var/lib/buildkite-agent/.cache/hie-bios/ghc-pkg-0e2f2cae8940727b9d406a0e6e485f8d /var/lib/buildkite-agent/builds/machine-zurich-12-agent-13/cardano-foundation/cardano-wallet/lib/wallet/src/Cardano/Wallet.hs
  Environment Variables
    HIE_BIOS_OUTPUT: /tmp/nix-shell.jWQQK1/HIE_BIOS_OUTPUT1344044-0
    HIE_BIOS_GHC: /nix/store/7p07a5iikyjs1sjvp7yil68dmvyq4yn5-ghc-9.6.4/lib/ghc-9.6.4/bin/ghc-9.6.4
    HIE_BIOS_GHC_ARGS: -B/nix/store/25z5zbrp977aq7fc6kn55n4slwisimkf-ghc-shell-for-packages-ghc-9.6.4-env/lib/ghc-9.6.4/lib
2024-02-06T06:39:44.612615Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:40:44.674639Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:41:44.735225Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:42:44.795754Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:43:44.855869Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:44:44.916406Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:45:44.977224Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:46:45.037852Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:47:45.041895Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:48:45.100138Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:49:45.148433Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:50:45.151769Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:51:45.212233Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:52:45.218022Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:53:45.279292Z | Info | Live bytes: 0.00MB Heap size: 0.00MB
2024-02-06T06:54:45.306774Z | Info | Live bytes: 0.00MB Heap size: 0.00MB

After a while, the log has the following entries:

2024-02-06T06:55:22.918504Z | Info | Interface files cache directory: /var/lib/buildkite-agent/.cache/ghcide/cardano-wallet-2023.12.18-inplace-7da4f13a475f52caa2d2265b760a9a1ff0bc702d
2024-02-06T06:55:22.966175Z | Info | Making new HscEnv. In-place unit ids: [cardano-wallet-2023.12.18-inplace]

After the above log entries, there is no further progress (except for memory usage reports), even after 1 hour:

2024-02-06T06:55:45.333167Z | Info | Live bytes: 37.48MB Heap size: 223.35MB
2024-02-06T06:56:45.433091Z | Info | Live bytes: 37.73MB Heap size: 223.35MB
2024-02-06T06:57:45.520188Z | Info | Live bytes: 37.98MB Heap size: 223.35MB
2024-02-06T06:58:45.543120Z | Info | Live bytes: 38.23MB Heap size: 223.35MB
2024-02-06T06:59:45.563104Z | Info | Live bytes: 38.48MB Heap size: 223.35MB
2024-02-06T07:00:45.583101Z | Info | Live bytes: 38.72MB Heap size: 223.35MB
2024-02-06T07:01:45.663116Z | Info | Live bytes: 38.96MB Heap size: 223.35MB
2024-02-06T07:02:45.743106Z | Info | Live bytes: 39.20MB Heap size: 223.35MB
2024-02-06T07:03:45.815154Z | Info | Live bytes: 39.45MB Heap size: 223.35MB
2024-02-06T07:04:45.883127Z | Info | Live bytes: 39.70MB Heap size: 223.35MB
2024-02-06T07:05:45.967077Z | Info | Live bytes: 39.94MB Heap size: 223.35MB
2024-02-06T07:06:46.053112Z | Info | Live bytes: 40.18MB Heap size: 223.35MB
2024-02-06T07:07:46.137535Z | Info | Live bytes: 40.43MB Heap size: 223.35MB
2024-02-06T07:08:46.213102Z | Info | Live bytes: 40.68MB Heap size: 223.35MB
2024-02-06T07:09:46.283112Z | Info | Live bytes: 40.93MB Heap size: 223.35MB
2024-02-06T07:10:46.353162Z | Info | Live bytes: 41.16MB Heap size: 223.35MB
2024-02-06T07:11:46.433115Z | Info | Live bytes: 41.41MB Heap size: 223.35MB
2024-02-06T07:12:46.518277Z | Info | Live bytes: 41.64MB Heap size: 223.35MB
2024-02-06T07:13:46.583112Z | Info | Live bytes: 41.89MB Heap size: 223.35MB
2024-02-06T07:14:46.613098Z | Info | Live bytes: 42.13MB Heap size: 223.35MB
2024-02-06T07:15:46.623120Z | Info | Live bytes: 42.37MB Heap size: 223.35MB
2024-02-06T07:16:46.693114Z | Info | Live bytes: 42.61MB Heap size: 223.35MB
2024-02-06T07:17:46.763115Z | Info | Live bytes: 42.86MB Heap size: 223.35MB
2024-02-06T07:18:46.783102Z | Info | Live bytes: 43.10MB Heap size: 223.35MB
2024-02-06T07:19:46.853113Z | Info | Live bytes: 43.35MB Heap size: 223.35MB
2024-02-06T07:20:46.893972Z | Info | Live bytes: 43.59MB Heap size: 223.35MB
2024-02-06T07:21:46.973319Z | Info | Live bytes: 43.84MB Heap size: 223.35MB
2024-02-06T07:22:47.045504Z | Info | Live bytes: 44.09MB Heap size: 223.35MB
2024-02-06T07:23:47.103136Z | Info | Live bytes: 44.33MB Heap size: 223.35MB
2024-02-06T07:24:47.183107Z | Info | Live bytes: 44.57MB Heap size: 223.35MB
2024-02-06T07:25:47.206561Z | Info | Live bytes: 44.81MB Heap size: 223.35MB
2024-02-06T07:26:47.283109Z | Info | Live bytes: 45.05MB Heap size: 223.35MB
2024-02-06T07:27:47.343130Z | Info | Live bytes: 45.28MB Heap size: 223.35MB
2024-02-06T07:28:47.423126Z | Info | Live bytes: 45.52MB Heap size: 223.35MB
2024-02-06T07:29:47.502305Z | Info | Live bytes: 45.75MB Heap size: 223.35MB
2024-02-06T07:30:47.573109Z | Info | Live bytes: 45.99MB Heap size: 223.35MB
2024-02-06T07:31:47.653089Z | Info | Live bytes: 46.24MB Heap size: 223.35MB
2024-02-06T07:32:47.733116Z | Info | Live bytes: 46.49MB Heap size: 223.35MB
2024-02-06T07:33:47.803113Z | Info | Live bytes: 46.72MB Heap size: 223.35MB
2024-02-06T07:34:47.883142Z | Info | Live bytes: 46.96MB Heap size: 223.35MB
2024-02-06T07:35:47.963116Z | Info | Live bytes: 47.20MB Heap size: 223.35MB
2024-02-06T07:36:48.043615Z | Info | Live bytes: 47.45MB Heap size: 223.35MB
2024-02-06T07:37:48.123107Z | Info | Live bytes: 47.69MB Heap size: 223.35MB
2024-02-06T07:38:48.203141Z | Info | Live bytes: 47.94MB Heap size: 223.35MB
2024-02-06T07:39:48.273485Z | Info | Live bytes: 48.18MB Heap size: 223.35MB
2024-02-06T07:40:48.343106Z | Info | Live bytes: 48.43MB Heap size: 223.35MB
2024-02-06T07:41:48.413107Z | Info | Live bytes: 48.67MB Heap size: 223.35MB
2024-02-06T07:42:48.483121Z | Info | Live bytes: 48.91MB Heap size: 223.35MB
2024-02-06T07:43:48.563109Z | Info | Live bytes: 49.15MB Heap size: 223.35MB
2024-02-06T07:44:48.633098Z | Info | Live bytes: 49.39MB Heap size: 223.35MB
2024-02-06T07:45:48.713142Z | Info | Live bytes: 49.64MB Heap size: 223.35MB
2024-02-06T07:46:48.793133Z | Info | Live bytes: 49.88MB Heap size: 223.35MB
2024-02-06T07:47:48.873113Z | Info | Live bytes: 50.12MB Heap size: 223.35MB

Perhaps this is related to haskell/haskell-language-server#4046.

@jonathanknowles jonathanknowles changed the title Update to GHC version 9.6.4. Update to GHC 9.6.4 and HLS 2.6.0.0. Feb 6, 2024
nix/haskell.nix Outdated
Comment on lines 152 to 154
(haskell-nix.tool "ghc963" "haskell-language-server" ({pkgs, ...}: rec {
(haskell-nix.tool "ghc964" "haskell-language-server" ({pkgs, ...}: rec {
# Use the github source of HLS that is tested with haskell.nix CI
src = pkgs.haskell-nix.sources."hls-2.5";
src = pkgs.haskell-nix.sources."hls-2.6";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if you simply don't bump HLS, i.e. leave it at gh963 and hls-2.5?

This will bring both GHC 9.6.4 and GHC 9.6.3 into the nix store. Not sure if that's worth it.

HLS wants to be a special snowflake, that's why the dependency information is different from the other tools. 😅

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

patch applied, cardano-scaling/hydra@0b8776a

seems working

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paolino nice!

@paolino paolino force-pushed the jonathanknowles/ghc-9.6.4 branch from df8b8e0 to 0915376 Compare February 7, 2024 14:36
@paolino paolino marked this pull request as ready for review February 7, 2024 14:49
Copy link
Collaborator

@paolino paolino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@HeinrichApfelmus HeinrichApfelmus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. 😊

@jonathanknowles
Copy link
Contributor Author

@jonathanknowles jonathanknowles added this pull request to the merge queue Feb 8, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 8, 2024
@jonathanknowles jonathanknowles added this pull request to the merge queue Feb 8, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 8, 2024
@jonathanknowles jonathanknowles added this pull request to the merge queue Feb 8, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 8, 2024
@paolino paolino merged commit a190ba1 into master Feb 8, 2024
3 checks passed
@paolino paolino deleted the jonathanknowles/ghc-9.6.4 branch February 8, 2024 14:34
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

Successfully merging this pull request may close these issues.

3 participants