Hello Carter, thanks for taking a look.

> Rather than a ghc or linker error

There is no such error. The error is produced instead by the R runtime when it finds it is running in a thread not quite like it expects. Here's a failing job [2].
And the error message looks like:

HaskellR-examples                > Error: C stack usage  17587399033768 is too close to the limit
5246
HaskellR-examples                > Error: C stack usage  17587399033816 is too close to the limit
5247
HaskellR-examples                > Error: C stack usage  17587399033352 is too close to the limit
5248
HaskellR-examples                > Fatal error: unable to initialize the JIT
5249
HaskellR-examples                > 

Here's [3] where the FAQ of HaskellR suggests using -fno-ghci-sandbox.

> How would I replicate the build failure locally? Would cabal get haskellR ; cd haskelR* ; cabal build ; cabal test suffice ?

I think it will depend on how you have installed the R runtime. It should be possible to install with cabal-install, but I don't have any
up-to-date instructions to share. The readme [4] goes with the stack tool instead.

Best,
Facundo

[2] https://github.com/tweag/HaskellR/runs/4224936110?check_suite_focus=true
[3] https://tweag.github.io/HaskellR/docs/faq.html
[4] https://github.com/tweag/HaskellR#the-haskellr-project

On Tue, Nov 16, 2021 at 2:21 PM Carter Schonwald <carter.schonwald@gmail.com> wrote:
Hey Facundo: can you share a link to the underlying error ? I tried to find the error output in the linked ticket, but I only see a failure message  at the stack_build_tool level. Rather than a ghc or linker error

How would I replicate the build failure locally? Would cabal get haskellR ; cd haskelR* ; cabal build ; cabal test suffice ? 

On Tue, Nov 16, 2021 at 9:27 AM Domínguez, Facundo <facundo.dominguez@tweag.io> wrote:
Dear devs,

I found recently that ghc-8.10.6 and ghc-8.10.7 might be behaving differently than previous compilers when running Template Haskell code.

When upgrading HaskellR to use a newer ghc I found that it would work fine with ghc-8.10.4, but not ghc-8.10.6 or ghc-8.10.7. HaskellR, and the R runtime in particular, is sensitive to local state in the threads that are used to execute the runtime. HaskellR is arranging to run the R runtime when running TemplateHaskell splices, and this stopped working in MacOS with ghc-8.10.6.

The error I got is not new. It comes from R and we would get it in ghci if we try to use HaskellR without passing the command line flag -fno-ghci-sandbox. But this is the first time we get the error when using TemplateHaskell.

Does anyone know if there have been changes to the threads in which the TH splices are run? And were there any changes specific to TH in MacOS?

Thanks in advance,
Facundo

_______________________________________________
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs