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

CI: add GHC 9.10 (backport #9914) #10058

Merged
merged 1 commit into from
Jun 3, 2024
Merged

CI: add GHC 9.10 (backport #9914) #10058

merged 1 commit into from
Jun 3, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented May 29, 2024

Please read Github PR Conventions and then fill in one of these two templates.


Template Β: This PR does not modify cabal behaviour (documentation, tests, refactoring, etc.)

Include the following checklist in your PR:

  • Patches conform to the coding conventions.
  • Is this a PR that fixes CI? If so, it will need to be backported to older cabal release branches (ask maintainers for directions).

This is an automatic backport of pull request #9914 done by [Mergify](https://mergify.com).

@mergify mergify bot mentioned this pull request May 29, 2024
2 tasks
@mergify mergify bot added the backport label May 29, 2024
@ulysses4ever ulysses4ever added the squash+merge me Tell Mergify Bot to squash-merge label May 29, 2024
@Mikolaj
Copy link
Member

Mikolaj commented May 29, 2024

Two dots vs three dots strikes again. I remember we fixed it, but I don't remember on which branch and if PR commit that contained it (might have been a big PR about something else) got backported:

-Preprocessing library for plain-0.1.0.0..
+Preprocessing library for plain-0.1.0.0...

Would somebody try to find this?

@ulysses4ever
Copy link
Collaborator

there was a really old PR (last summer) to that effect:

I think this may be the effect of combing this one and #9671 (use in-tree Cabal library for cabal-install tests with custom setup) but since both are supposedly on the 3.12 branch, I don't understand why this failure doesn't happen on master... In particular, if #9617 is not in effect I can see how 9.10, the first GHC to ship Cabal with #8929, would fail. But presumably, #9617 is in effect both on master and on 3.12.


And there's another failure, which seems to be somewhat unrelated but also exhibiting some other deviation from the reference output:

2024-05-29T01:33:16.0599010Z --- /tmp/cabal-testsuite-191784/cabal.dist/cabal.out.normalized	2024-05-29 01:33:15.981884963 +0000
2024-05-29T01:33:16.0600652Z +++ /tmp/cabal-testsuite-191784/cabal.dist/cabal.comp.out.normalized	2024-05-29 01:33:15.981884963 +0000
2024-05-29T01:33:16.0601732Z @@ -4,14 +4,14 @@
2024-05-29T01:33:16.0602180Z  In order, the following will be built:
2024-05-29T01:33:16.0602867Z   - plain-0.1.0.0 *test (first run)
2024-05-29T01:33:16.0603497Z  Configuring plain-0.1.0.0...
2024-05-29T01:33:16.0604131Z -Preprocessing library for plain-0.1.0.0..
2024-05-29T01:33:16.0604834Z -Building library for plain-0.1.0.0..
2024-05-29T01:33:16.0605587Z -Preprocessing test suite 'test' for plain-0.1.0.0..
2024-05-29T01:33:16.0606433Z -Building test suite 'test' for plain-0.1.0.0..
2024-05-29T01:33:16.0606999Z +Preprocessing library for plain-0.1.0.0...
2024-05-29T01:33:16.0607583Z +Building library for plain-0.1.0.0...
2024-05-29T01:33:16.0608559Z +Preprocessing test suite 'test' for plain-0.1.0.0...
2024-05-29T01:33:16.0609449Z +Building test suite 'test' for plain-0.1.0.0...
2024-05-29T01:33:16.0610320Z  Running 1 test suites...
2024-05-29T01:33:16.0610807Z  Test suite test: RUNNING...
2024-05-29T01:33:16.0611295Z  Test suite test: PASS
2024-05-29T01:33:16.0612083Z  Test suite logged to: <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/plain-0.1.0.0/test/plain-0.1.0.0-test.log
2024-05-29T01:33:16.0613769Z -Test coverage report written to <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/plain-0.1.0.0/hpc/vanilla/html/test/hpc_index.html
2024-05-29T01:33:16.0615330Z +Package coverage report written to <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/plain-0.1.0.0/hpc/vanilla/html/hpc_index.html
2024-05-29T01:33:16.0616189Z  1 of 1 test suites (1 of 1 test cases) passed.
2024-05-29T01:33:16.0617294Z -Package coverage report written to <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/plain-0.1.0.0/hpc/vanilla/html/plain-0.1.0.0/hpc_index.html
2024-05-29T01:33:16.0619936Z +Package coverage report written to <ROOT>/cabal.dist/work/./dist/build/<ARCH>/ghc-<GHCVER>/plain-0.1.0.0/hpc/vanilla/html/hpc_index.html
2024-05-29T01:33:16.0621567Z *** Exception: ExitFailure 1
2024-05-29T01:33:16.0622018Z 
2024-05-29T01:33:16.0622565Z *** unexpected failure for PackageTests/CustomTestCoverage/cabal.test.hs

@geekosaur
Copy link
Collaborator

geekosaur commented Jun 1, 2024

5c6f6700d686fb6c27f3210579440707f7d38cb5 is the first bad commit
commit 5c6f6700d686fb6c27f3210579440707f7d38cb5
Author: Artem Pelenitsyn <[email protected]>
Date:   Tue May 28 21:05:56 2024 -0400

    CI: add GHC 9.10 (#9914)
    
    * CI: add GHC 9.10
    
    * GHC 9.10 compat in testsuite: CPP symbols don't get passed to CC as
    eagearly
    
    Discussion: https://github.com/haskell/cabal/pull/9914#issuecomment-2077439625
    
    Related GHC issue: https://gitlab.haskell.org/ghc/ghc/-/issues/21291
    
    * GHC 9.10 compat in tests: disable tests regressing due to #9940
    
    (cherry picked from commit 3a8c69cb142e27caae5d754ac400636b3417b198)

wat 😖

ETA: nemmind, the test actually passes here, git bisect reported it because I told it it was a bad commit. So the question becomes, why does it fail on CI?

@geekosaur
Copy link
Collaborator

Now I'm stuck on

Resolving dependencies...
Error: [Cabal-7107]
Could not resolve dependencies:
[__0] trying: cabal-testsuite-3 (user goal)
[__1] next goal: cabal-testsuite:setup.Cabal (dependency of cabal-testsuite)
[__1] rejecting: cabal-testsuite:setup.Cabal-3.12.0.0 (conflict: cabal-testsuite => cabal-testsuite:setup.Cabal>=3.10 && <3.11)
[__1] rejecting: cabal-testsuite:setup.Cabal; 3.10.3.0, 3.10.2.1, 3.10.2.0, 3.10.1.0, 3.8.1.0, 3.6.3.0, 3.6.2.0, 3.6.1.0, 3.6.0.0, 3.4.1.0, 3.4.0.0, 3.2.1.0, 3.2.0.0, 3.0.2.0, 3.0.1.0, 3.0.0.0, 2.4.1.0, 2.4.0.1, 2.4.0.0, 2.2.0.1, 2.2.0.0, 2.0.1.1, 2.0.1.0, 2.0.0.2, 1.24.2.0, 1.24.0.0, 1.22.8.0, 1.22.7.0, 1.22.6.0, 1.22.5.0, 1.22.4.0, 1.22.3.0, 1.22.2.0, 1.22.1.1, 1.22.1.0, 1.22.0.0, 1.20.0.4, 1.20.0.3, 1.20.0.2, 1.20.0.1, 1.20.0.0, 1.18.1.7, 1.18.1.6, 1.18.1.5, 1.18.1.4, 1.18.1.3, 1.18.1.2, 1.18.1.1, 1.18.1, 1.18.0, 1.16.0.3, 1.16.0.2, 1.16.0.1, 1.16.0, 1.14.0, 1.12.0, 1.10.2.0, 1.10.1.0, 1.10.0.0, 1.8.0.6, 1.8.0.4, 1.8.0.2, 1.6.0.3, 1.6.0.2, 1.6.0.1, 1.4.0.2, 1.4.0.1, 1.4.0.0, 1.2.4.0, 1.2.3.0, 1.2.2.0, 1.2.1, 1.1.6, 1.24.1.0 (constraint from minimum version of Cabal used by Setup.hs requires >=3.12)
[__1] fail (backjumping, conflict set: cabal-testsuite, cabal-testsuite:setup.Cabal)
After searching the rest of the dependency tree exhaustively, these were the goals I've had most trouble fulfilling: cabal-testsuite:setup.Cabal, cabal-testsuite

Is this #9917?

@ulysses4ever
Copy link
Collaborator

I doubt it. More likely #8133 but also looks like you could bump the bound in cabal-testsuite.cabal for setup.Cabal?..

[__1] rejecting: cabal-testsuite:setup.Cabal-3.12.0.0 (conflict: cabal-testsuite => cabal-testsuite:setup.Cabal>=3.10 && <3.11)

@geekosaur
Copy link
Collaborator

#8133 would be especially bad news since the next thing I do is build the test suite, so I can run the failing test.

@geekosaur
Copy link
Collaborator

Okay, got it. I hit this once before and forgot about it until I read the custom-setup stanza: I needed to use cabal-3.10.3.0.

@geekosaur
Copy link
Collaborator

Warning: Unknown/unsupported 'ghc' version detected (Cabal 3.10.3.0 supports
'ghc' version < 9.10): /home/allbery/.local/bin/ghc-9.10.1 is version 9.10.1
Resolving dependencies...
No Cabal library specified, using boot Cabal library with cabal-install tests
/home/allbery/.local/share/ghcup/ghc/9.10.1/bin/runghc-9.10.1 -- '--ghc-arg=-i' '--ghc-arg=-hide-all-packages' '--ghc-arg=-no-user-package-db' '--ghc-arg=-package-db' '--ghc-arg=/home/allbery/.local/state/cabal/store/ghc-9.10.1/package.db' '--ghc-arg=-package-db' '--ghc-arg=/home/allbery/Sources/cabal/dist-newstyle/packagedb/ghc-9.10.1' '--ghc-arg=-package-id' '--ghc-arg=Cabal-3.12.0.0-inplace' '--ghc-arg=-package-id' '--ghc-arg=Cabal-syntax-3.12.0.0-inplace' '--ghc-arg=-package-id' '--ghc-arg=base-4.20.0.0-4014' '--ghc-arg=-package-id' '--ghc-arg=bytestring-0.12.1.0-f8cd' '--ghc-arg=-package-id' '--ghc-arg=cabal-testsuite-3-inplace' '--ghc-arg=-package-id' '--ghc-arg=directory-1.3.8.3-07b9' '--ghc-arg=-package-id' '--ghc-arg=exceptions-0.10.7-3f06' '--ghc-arg=-package-id' '--ghc-arg=filepath-1.5.2.0-8683' '--ghc-arg=-package-id' '--ghc-arg=process-1.6.19.0-20e6' '--ghc-arg=-package-id' '--ghc-arg=time-1.12.2-ab16' '--ghc-arg=-package-id' '--ghc-arg=transformers-0.6.1.1-6dc7' '--ghc-arg=-package-id' '--ghc-arg=unix-2.8.5.1-e9c3' cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs --builddir /home/allbery/Sources/cabal/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-testsuite-3 cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs --with-cabal /home/allbery/Sources/cabal/dist-newstyle/build/x86_64-linux/ghc-9.6.4/cabal-install-3.11.0.0/x/cabal/build/cabal/cabal --with-ghc ghc-9.10.1
cabal.test.hs: VerboseException [("dieWithException",SrcLoc {srcLocPackage = "Cabal-3.12.0.0-inplace", srcLocModule = "Distribution.Simple.Program.Db", srcLocFile = "src/Distribution/Simple/Program/Db.hs", srcLocStartLine = 372, srcLocStartCol = 16, srcLocEndLine = 372, srcLocEndCol = 32})] 1717277042.117787565s (Verbosity {vLevel = Normal, vFlags = fromList [], vQuiet = False}) (ConfigureProgram "cabal" "/home/allbery/Sources/cabal/dist-newstyle/build/x86_64-linux/ghc-9.6.4/cabal-install-3.11.0.0/x/cabal/build/cabal/cabal")
HasCallStack backtrace:
  collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
  toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
  throwIO, called at libraries/exceptions/src/Control/Monad/Catch.hs:371:12 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at compiler/GHC/Driver/Monad.hs:167:54 in ghc-9.10.1-69c3:GHC.Driver.Monad
  a type signature in an instance, called at compiler/GHC/Driver/Monad.hs:167:54 in ghc-9.10.1-69c3:GHC.Driver.Monad
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at ghc/GHCi/UI/Monad.hs:288:15 in ghc-bin-9.10.1-33a2:GHCi.UI.Monad
  a type signature in an instance, called at ghc/GHCi/UI/Monad.hs:288:15 in ghc-bin-9.10.1-33a2:GHCi.UI.Monad
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/haskeline/System/Console/Haskeline/InputT.hs:53:39 in haskeline-0.8.2.1-fbbc:System.Console.Haskeline.InputT
  a type signature in an instance, called at libraries/haskeline/System/Console/Haskeline/InputT.hs:53:39 in haskeline-0.8.2.1-fbbc:System.Console.Haskeline.InputT
  throwM, called at ghc/GHCi/UI/Monad.hs:215:52 in ghc-bin-9.10.1-33a2:GHCi.UI.Monad


cabal-tests: callProcess: /home/allbery/.local/share/ghcup/ghc/9.10.1/bin/runghc-9.10.1 "--" "--ghc-arg=-i" "--ghc-arg=-hide-all-packages" "--ghc-arg=-no-user-package-db" "--ghc-arg=-package-db" "--ghc-arg=/home/allbery/.local/state/cabal/store/ghc-9.10.1/package.db" "--ghc-arg=-package-db" "--ghc-arg=/home/allbery/Sources/cabal/dist-newstyle/packagedb/ghc-9.10.1" "--ghc-arg=-package-id" "--ghc-arg=Cabal-3.12.0.0-inplace" "--ghc-arg=-package-id" "--ghc-arg=Cabal-syntax-3.12.0.0-inplace" "--ghc-arg=-package-id" "--ghc-arg=base-4.20.0.0-4014" "--ghc-arg=-package-id" "--ghc-arg=bytestring-0.12.1.0-f8cd" "--ghc-arg=-package-id" "--ghc-arg=cabal-testsuite-3-inplace" "--ghc-arg=-package-id" "--ghc-arg=directory-1.3.8.3-07b9" "--ghc-arg=-package-id" "--ghc-arg=exceptions-0.10.7-3f06" "--ghc-arg=-package-id" "--ghc-arg=filepath-1.5.2.0-8683" "--ghc-arg=-package-id" "--ghc-arg=process-1.6.19.0-20e6" "--ghc-arg=-package-id" "--ghc-arg=time-1.12.2-ab16" "--ghc-arg=-package-id" "--ghc-arg=transformers-0.6.1.1-6dc7" "--ghc-arg=-package-id" "--ghc-arg=unix-2.8.5.1-e9c3" "cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs" "--builddir" "/home/allbery/Sources/cabal/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-testsuite-3" "cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs" "--with-cabal" "/home/allbery/Sources/cabal/dist-newstyle/build/x86_64-linux/ghc-9.6.4/cabal-install-3.11.0.0/x/cabal/build/cabal/cabal" "--with-ghc" "ghc-9.10.1" (exit 1): failed
HasCallStack backtrace:
  collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
  toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
  throwIO, called at libraries/ghc-internal/src/GHC/Internal/IO/Exception.hs:315:19 in ghc-internal:GHC.Internal.IO.Exception
  ioException, called at libraries/ghc-internal/src/GHC/Internal/IO/Exception.hs:319:20 in ghc-internal:GHC.Internal.IO.Exception

I don't even see what the failure is here.

@geekosaur
Copy link
Collaborator

geekosaur commented Jun 1, 2024

Oh, got it. Except that I don't see why it's looking for a ghc-9.6.4 inplace build of cabal when I told it to use ghc-9.10.1.

ETA: gotta specify -w ghc-9.10.1 everywhere, it seems. Including cabal list-bin.

Reproduced test failure locally. Remaining questions:

  1. why only with ghc 9.10.1?
  2. convincing git bisect to make this work with other commits, which I should be able to get from the docs

@geekosaur
Copy link
Collaborator

Potentially I need 3 different patch files to make this work….

@ulysses4ever
Copy link
Collaborator

@geekosaur are you seeing the same failure that's currently shown in CI? (UNEXPECTED FAIL: PackageTests/Regression/T9640/cabal.test.hs PackageTests/CustomTestCoverage/cabal.test.hs)

@geekosaur
Copy link
Collaborator

Yes.

@geekosaur
Copy link
Collaborator

Can you think of any reasons why this dots issue would only show up with 9.10.1?

@geekosaur
Copy link
Collaborator

Also, as I feared, it just ran out of commits it could apply the 9.10 patch to (it can only apply to commits that have project-cabal currently).

@ulysses4ever
Copy link
Collaborator

@geekosaur

Can you think of any reasons why this dots issue would only show up with 9.10.1?

#10058 (comment)

@geekosaur
Copy link
Collaborator

geekosaur commented Jun 1, 2024

Yeh, so bisect finds nothing. All commits fail. I'm at something of a loss as to how to test for the included Cabal in ghc 9.10.1 being the problem, since using the commit's Cabal may well fail with ghc 9.10.1 for other reasons.

@ulysses4ever
Copy link
Collaborator

A simple sanity check that would be great to do, I think, is to check that changes from #9671 are still present on the 3.12 branch and weren't lost due to any quick conflict resolutions.

@ulysses4ever
Copy link
Collaborator

Trying to repro it locally gives me a jarring exception:

/home/artem/.ghcup/ghc/9.10.1/bin/runghc-9.10.1 -- '--ghc-arg=-i' '--ghc-arg=-hide-all-packages' '--ghc-arg=-no-user-package-db' '--ghc-arg=-package-db' '--ghc-arg=/home/artem/.cabal/store/ghc-9.10.1/package.db' '--ghc-arg=-package-db' '--ghc-arg=/mnt/data/artem/Dev/cabal/head/dist-newstyle/packagedb/ghc-9.10.1' '--ghc-arg=-package-id' '--ghc-arg=Cabal-3.12.0.0-inplace' '--ghc-arg=-package-id' '--ghc-arg=Cabal-syntax-3.12.0.0-inplace' '--ghc-arg=-package-id' '--ghc-arg=base-4.20.0.0-4014' '--ghc-arg=-package-id' '--ghc-arg=bytestring-0.12.1.0-f8cd' '--ghc-arg=-package-id' '--ghc-arg=cabal-testsuite-3-inplace' '--ghc-arg=-package-id' '--ghc-arg=directory-1.3.8.3-07b9' '--ghc-arg=-package-id' '--ghc-arg=exceptions-0.10.7-3f06' '--ghc-arg=-package-id' '--ghc-arg=filepath-1.5.2.0-8683' '--ghc-arg=-package-id' '--ghc-arg=process-1.6.19.0-20e6' '--ghc-arg=-package-id' '--ghc-arg=time-1.12.2-ab16' '--ghc-arg=-package-id' '--ghc-arg=transformers-0.6.1.1-6dc7' '--ghc-arg=-package-id' '--ghc-arg=unix-2.8.5.1-e9c3' ./cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs --builddir /mnt/data/artem/Dev/cabal/head/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-testsuite-3 ./cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs '--extra-package-db=/mnt/data/artem/Dev/cabal/head/testdb/intree/dist-newstyle/packagedb/ghc-9.10.1' --with-cabal /mnt/data/artem/Dev/cabal/head/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-install-3.11.0.0/x/cabal/build/cabal/cabal
cabal.test.hs: VerboseException [("dieWithException",SrcLoc {srcLocPackage = "Cabal-3.12.0.0-inplace", srcLocModule = "Distribution.Simple.Program.Db", srcLocFile = "src/Distribution/Simple/Program/Db.hs", srcLocStartLine = 372, srcLocStartCol = 16, srcLocEndLine = 372, srcLocEndCol = 32})] 1717421519.232528422s (Verbosity {vLevel = Normal, vFlags = fromList [], vQuiet = False}) (ConfigureProgram "cabal" "/mnt/data/artem/Dev/cabal/head/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-install-3.11.0.0/x/cabal/build/cabal/cabal")
HasCallStack backtrace:
  collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
  toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
  throwIO, called at libraries/exceptions/src/Control/Monad/Catch.hs:371:12 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at compiler/GHC/Driver/Monad.hs:167:54 in ghc-9.10.1-69c3:GHC.Driver.Monad
  a type signature in an instance, called at compiler/GHC/Driver/Monad.hs:167:54 in ghc-9.10.1-69c3:GHC.Driver.Monad
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at ghc/GHCi/UI/Monad.hs:288:15 in ghc-bin-9.10.1-33a2:GHCi.UI.Monad
  a type signature in an instance, called at ghc/GHCi/UI/Monad.hs:288:15 in ghc-bin-9.10.1-33a2:GHCi.UI.Monad
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/exceptions/src/Control/Monad/Catch.hs:490:21 in exceptions-0.10.7-3f06:Control.Monad.Catch
  throwM, called at libraries/haskeline/System/Console/Haskeline/InputT.hs:53:39 in haskeline-0.8.2.1-fbbc:System.Console.Haskeline.InputT
  a type signature in an instance, called at libraries/haskeline/System/Console/Haskeline/InputT.hs:53:39 in haskeline-0.8.2.1-fbbc:System.Console.Haskeline.InputT
  throwM, called at ghc/GHCi/UI/Monad.hs:215:52 in ghc-bin-9.10.1-33a2:GHCi.UI.Monad


cabal-tests: callProcess: /home/artem/.ghcup/ghc/9.10.1/bin/runghc-9.10.1 "--" "--ghc-arg=-i" "--ghc-arg=-hide-all-packages" "--ghc-arg=-no-user-package-db" "--ghc-arg=-package-db" "--ghc-arg=/home/artem/.cabal/store/ghc-9.10.1/package.db" "--ghc-arg=-package-db" "--ghc-arg=/mnt/data/artem/Dev/cabal/head/dist-newstyle/packagedb/ghc-9.10.1" "--ghc-arg=-package-id" "--ghc-arg=Cabal-3.12.0.0-inplace" "--ghc-arg=-package-id" "--ghc-arg=Cabal-syntax-3.12.0.0-inplace" "--ghc-arg=-package-id" "--ghc-arg=base-4.20.0.0-4014" "--ghc-arg=-package-id" "--ghc-arg=bytestring-0.12.1.0-f8cd" "--ghc-arg=-package-id" "--ghc-arg=cabal-testsuite-3-inplace" "--ghc-arg=-package-id" "--ghc-arg=directory-1.3.8.3-07b9" "--ghc-arg=-package-id" "--ghc-arg=exceptions-0.10.7-3f06" "--ghc-arg=-package-id" "--ghc-arg=filepath-1.5.2.0-8683" "--ghc-arg=-package-id" "--ghc-arg=process-1.6.19.0-20e6" "--ghc-arg=-package-id" "--ghc-arg=time-1.12.2-ab16" "--ghc-arg=-package-id" "--ghc-arg=transformers-0.6.1.1-6dc7" "--ghc-arg=-package-id" "--ghc-arg=unix-2.8.5.1-e9c3" "./cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs" "--builddir" "/mnt/data/artem/Dev/cabal/head/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-testsuite-3" "./cabal-testsuite/PackageTests/Regression/T9640/cabal.test.hs" "--extra-package-db=/mnt/data/artem/Dev/cabal/head/testdb/intree/dist-newstyle/packagedb/ghc-9.10.1" "--with-cabal" "/mnt/data/artem/Dev/cabal/head/dist-newstyle/build/x86_64-linux/ghc-9.10.1/cabal-install-3.11.0.0/x/cabal/build/cabal/cabal" (exit 1): failed
HasCallStack backtrace:
  collectBacktraces, called at libraries/ghc-internal/src/GHC/Internal/Exception.hs:92:13 in ghc-internal:GHC.Internal.Exception
  toExceptionWithBacktrace, called at libraries/ghc-internal/src/GHC/Internal/IO.hs:260:11 in ghc-internal:GHC.Internal.IO
  throwIO, called at libraries/ghc-internal/src/GHC/Internal/IO/Exception.hs:315:19 in ghc-internal:GHC.Internal.IO.Exception
  ioException, called at libraries/ghc-internal/src/GHC/Internal/IO/Exception.hs:319:20 in ghc-internal:GHC.Internal.IO.Exception

Also, I dug a little into #9671, and at least the CI-related part of it (the --intree-cabal-lib flag in validate.sh) is present in 3.12.

@geekosaur
Copy link
Collaborator

geekosaur commented Jun 3, 2024

I hit that one as well; it's because cabal list-bin cabal needs to be told the ghc version used to build it, or it looks for a cabal built with your default ghc version instead.

cabal list-bin -w ghc-9.10.1 cabal

@ulysses4ever
Copy link
Collaborator

my default is 9.10 :-) I never use -w, I always do ghcup set because I don't trust -w :-)
but after you're saying it, i could dig deeper. I'm currently using CI on my fork as my default...

@geekosaur
Copy link
Collaborator

geekosaur commented Jun 3, 2024

A quick look suggests that the path contains Cabal-3.11.0.0 instead of Cabal-3.12.0.0?

@ulysses4ever
Copy link
Collaborator

ulysses4ever commented Jun 3, 2024

I think I found the missing piece of #9671: it's #9954. Backporting now...

* CI: add GHC 9.10

* GHC 9.10 compat in testsuite: CPP symbols don't get passed to CC as
eagearly

Discussion: #9914 (comment)

Related GHC issue: https://gitlab.haskell.org/ghc/ghc/-/issues/21291

* GHC 9.10 compat in tests: disable tests regressing due to #9940

(cherry picked from commit 3a8c69c)
@ulysses4ever
Copy link
Collaborator

ulysses4ever commented Jun 3, 2024

All right, Linux has succeeded, so I assume we're good here. Need a second review.

@ulysses4ever
Copy link
Collaborator

Correction: backports don't need a second review.

@mergify mergify bot merged commit 78e9ee0 into 3.12 Jun 3, 2024
52 checks passed
@mergify mergify bot deleted the mergify/bp/3.12/pr-9914 branch June 3, 2024 22:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport squash+merge me Tell Mergify Bot to squash-merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants