Hello! It’s another weekly log dominated by CI issues.
In the last week, CI runners were running out of space because:
- unbounded disk usage for docker images, and they’re all pretty big
- unbounded disk usage for repo clones on darwin runners, and they’re also pretty big
- the nix store was not being cleaned on one server
- unbounded disk usage for Rosetta 2’s OAH cache on macOS
Furthermore, various CI runners kept falling offline because:
- gitlab-runner freezes on some Darwin machines
- gitlab-runner does not start on boot on some Darwin machines
Solutions, or perhaps “hacks”, are deployed for some of these problems, but there were and are issues with the deployments of those hacks. Some of the issues have been fixed. More work is desperately needed in this domain.
Besides babysitting runners, some work was done looking at spurious failures, in particular #24407 (see issue triage notes below).
Finally, in the last couple days I had to take some time out to square up my business taxes and other official matters.
Now that I’m done with those chores and CI is more stable, I will return to the Stackage migration. Not much progress was made recently because of the emergent issues with CI. But it’s still the number one thing I want to finish! The final operational change involves switching completely to a new storage bucket for the haddocks on stackage.org. This move is partially complete, but one process needs to start writing to the new bucket, and another needs to start reading from it. The underlying apps have been updated to support the new bucket, so it’s now a matter of updating the automation to use the new apps and new bucket configuration data.
GHC Issue Triage Notes
Click here for the long list
-
#24398: foldl on infinite list crashes GHC
- Ben might have some theory
- Doesn’t seem very high priority
-
#24399: -hide-package doesn't play nice with -package-env
- There’s no good spec for how this is supposed to work, which is probably a good first step to fixing this.
-
#24400: ghc-toolchain: Backwards compatibility for target descriptions
- ghc-toolchain probably should not be backward compatible by design.
- Issue will be closed
-
#24401: fixIO can choke, and report a loop where there is none
- “implementation of fixIO is, well …” (trails off)
-
#24402: GHC Plugin hook for end of the compilation run
- Some clarifying questions posted on the ticket
-
#24403: Missing IPE entries in 9.6 and 9.8
- Not a big deal but it does seem good (and easy) to fix
-
#24404: Template Haskell allows breaking encapsulation
- “wokring as expected”, it’s just weird. Even just implementing a warning would be hard and painful.
- “I don’t really believe in encapsulation”
-
#24405: polymorphic instantiation of universally quantified types in type constructors gets accepted depending on the order of arguments
- “Needs some thought” - SPJ
- [Not by me, obviously] - me
-
#24406: Applicative Do should go via HsExpansion Route
- ApplicativeDo is pretty tough in all cases. This will be a great achievement
-
#24407: head.hackage: ghc-debugger's test:system-test hangs on test-downstream job
- looks like an important bug to fix. Ben will look into it
-
#24408: bytestring submodule points to potentially non-stable branch
- discussed in the call
- some failure of process or of shared understanding of process
-
#24409: JavaScript Backend has no codeowners
- very good. I mean, the issue is good.
-
#24410: Execution time of reads/writes for TVars during transactions slows down with the number of TVars used during the Transaction.
- A cool performance problem in stm, though perhaps it doesn’t impact very many people.
-
#24411: mdo should use HsExpansion Route
- Continuing fixing some bugs
-
#24412: When
heapSizeSuggestionAuto
(-H) is set, the size of the nursery can grow continuously and never shrink, resulting in memory never being returned to the OS- People lean towards thinking the argument -H just isn’t helpful, yet it’s baked in for unknown reasons. Maybe just remove it.
- Could be a performance impact - need to investigate
- It could be possible to just add a manual knob for users to tweak, but it would be better to have GHC do the right thing. However, doing “the right thing” might be hard and heuristc-y.
-
#24413: Re-Enable
-fdefer-type-errors
and-fdefer-out-of-scope-variables
in GHCi- “yes, fine”
See you next time!