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

base not listed at https://www.stackage.org/lts-21.23 or /lts-21.22 #7197

Closed
mpilgrem opened this issue Dec 7, 2023 · 9 comments
Closed

Comments

@mpilgrem
Copy link
Member

mpilgrem commented Dec 7, 2023

Contrast with, say, https://www.stackage.org/lts-21.21, which lists base-4.17.2.0, and earlier.

@chreekat
Copy link
Member

chreekat commented Dec 7, 2023

How does base get in the list in the first place? It doesn't appear in stackage-snapshots anywhere :)

@chreekat
Copy link
Member

chreekat commented Dec 7, 2023

From Compare lts-21.21 with lts-21.22 :: Stackage Server, we can see that base and ghc were both dropped. But the snapshot still builds, so the libraries are obviously there (and how could they not be, since they are included with GHC).

I think it may be related that 21.22 was the first snapshot using ghc-9.4.8. That version of GHC shipped with a new base, 4.17.2.1, which has not yet been uploaded to Hackage. Neither has the ghc-9.4.8 “package”.

I’ve alerted the GHC 9.4.8 release manager who is doing the upload now.

Although I can’t be certain since I don’t know how wired-in packages are included in snapshots, I have to assume the problem is restricted to the missing Haddocks. Once they are uploaded, future LTSs will work properly, and there is even a chance that the existing LTSs will get automatically repaired.

@juhp
Copy link
Contributor

juhp commented Dec 7, 2023

Hm lts-21.21 was the last ghc-8.4.7 snapshot, but maybe this is just a coincidence.
For Nightly base is still listed, hmm.

@chreekat
Copy link
Member

chreekat commented Dec 7, 2023

Nightly is using a different version of base that is already on Hackage. That's actually the difference that led me to my current conclusion.

@juhp
Copy link
Contributor

juhp commented Dec 7, 2023

Ah I see our comments crossed 👍

@alaendle
Copy link
Member

alaendle commented Dec 8, 2023

As it seems (to me) the magic happens here:
https://github.com/fpco/stackage-server/blob/96522f62ea51aabc9feb9adb3dfbaa6b6f0f67f0/src/Stackage/Database/Cron.hs#L224-L232
So I think @chreekat is right that the problem was the missing packages on hackage. Only had a few minutes to look at the code, so I'm not sure how caching of this information works (and how it could be solved). If this is no bigger problem I could just create lts-21.24 (in the expectation that the missing packages reappear).

@chreekat
Copy link
Member

chreekat commented Dec 8, 2023

It looks like the LTS's won't auto-repair themselves, so creating lts-21.24 is probably a good idea!

I wonder if implementing auto-repair wouldn't be that hard. stackage-server-cron does emit an enticing warning in the logs:

# journalctl -u stackage-server-update.service -g 'base-4.17.2.1'
Dec 01 13:40:53 stackage-builder stackage-server-update-start[1083879]: 2023-12-01 13:40:53.438143: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 01 13:57:22 stackage-builder stackage-server-update-start[1170024]: 2023-12-01 13:57:22.330985: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 01 13:59:27 stackage-builder stackage-server-update-start[1174618]: 2023-12-01 13:59:27.252153: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 01 15:39:18 stackage-builder stackage-server-update-start[1174618]: 2023-12-01 15:39:18.353616: [warn] Documentation available for package 'base-4.17.2.1' but was not found in this snapshot: lts-21.22
Dec 02 05:55:17 stackage-builder stackage-server-update-start[3383287]: 2023-12-02 05:55:17.216023: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 04 10:40:29 stackage-builder stackage-server-update-start[1948282]: 2023-12-04 10:40:29.751880: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 04 10:46:33 stackage-builder stackage-server-update-start[1948282]: 2023-12-04 10:46:33.731538: [warn] Documentation available for package 'base-4.17.2.1' but was not found in this snapshot: lts-21.23
Dec 04 11:09:39 stackage-builder stackage-server-update-start[2067124]: 2023-12-04 11:09:39.924723: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 04 12:38:58 stackage-builder stackage-server-update-start[2400127]: 2023-12-04 12:38:58.771405: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.
Dec 04 15:20:07 stackage-builder stackage-server-update-start[3364209]: 2023-12-04 15:20:07.322856: [warn] Core package from global-hints: 'base-4.17.2.1' was not found in pantry.

(These are logs from my new migrated process, which is not in use anywhere yet.)

@alaendle
Copy link
Member

alaendle commented Dec 8, 2023

lts-21.24 is on its way .. will update this comment as soon as results are visible ...

@alaendle
Copy link
Member

alaendle commented Dec 8, 2023

Again present in lts 21.24 - see https://www.stackage.org/diff/lts-21.23/lts-21.24.

@alaendle alaendle closed this as completed Dec 9, 2023
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

4 participants