
See https://gitlab.haskell.org/ghc/ghc/-/issues/21196
On 28 Apr 2022, at 12:38, Ben Franksen
wrote: Hi everyone
I have a strange problem with ghc-9.2.2 on Windows. I recently updated the cabal file for darcs to allow building with ghc-9.2, which required only a few minor changes. But when I ran the tests using our github CI I noticed two regressions vs. ghc-9.0.2 on Windows. It turned out that both tests (shell scripts) try to run the darcs executable under test with a restricted PATH environment variable; the idea is to test what happens if darcs tries to run some external program which cannot be found in the PATH.
The problem is that executing darcs under these circumstances fails immediately without any error message. In fact it seems to fail *before the main procedure is executed*. I tested this by printing some text to stderr in main before doing anything else and the text is not printed. The error cannot be reproduced with a simple example program, which seems to indicate that the problem may be caused by a library. But I am not aware of any way a library can influence code that is executed before main.
Any kind of input on how to diagnose this problem further would be appreciated. I this were on Linux I'd use strace to find out if anything is trying to run an external program before main but this happens on Windows only and the only access I have to a Windows machine to run tests on is via the github CI.
BTW, using `cabal freeze` I found these differences in library versions between the ghc-9.0 and ghc-9.2 builds. If I am not mistaken they are all "boot" libraries i.e. ones that come with ghc.
ben@home[1]:.../darcs/screened>diff cabal.project.freeze-ghc-9.0 cabal.project.freeze-ghc-9.2 2c2 < constraints: any.Cabal ==3.4.1.0, ---
constraints: any.Cabal ==3.6.3.0, 25c25 < any.base ==4.15.1.0,
any.base ==4.16.1.0,
34c34 < any.binary ==0.8.8.0, ---
any.binary ==0.8.9.0,
37c37 < any.bytestring ==0.10.12.1, ---
any.bytestring ==0.11.3.0,
51c51 < any.containers ==0.6.4.1, ---
any.containers ==0.6.5.1,
61c61 < any.deepseq ==1.4.5.0, ---
any.deepseq ==1.4.6.1,
73c73 < any.filepath ==1.4.2.1, ---
any.filepath ==1.4.2.2,
76,78c76,78 < any.ghc-bignum ==1.1, < any.ghc-boot-th ==9.0.2, < any.ghc-prim ==0.7.0, ---
any.ghc-bignum ==1.2, any.ghc-boot-th ==9.2.2, any.ghc-prim ==0.8.0,
81a82
haskeline +examples +terminfo,
113c114 < any.parsec ==3.1.14.0, ---
any.parsec ==3.1.15.0,
137c138 < any.stm ==2.5.0.0, ---
any.stm ==2.5.0.2,
148c149 < any.template-haskell ==2.17.0.0, ---
any.template-haskell ==2.18.0.0,
163c164 < any.time ==1.9.3, ---
any.time ==1.9.3 || ==1.11.1.1,
Cheers Ben -- I would rather have questions that cannot be answered, than answers that cannot be questioned. -- Richard Feynman
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.