Interpreter thread in ghc-8.10.6 in macOS

Domínguez, Facundo facundo.dominguez at tweag.io
Tue Nov 16 17:57:05 UTC 2021


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 at 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 at 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
>>
>> [1] https://github.com/tweag/HaskellR/pull/368#issuecomment-968864170
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20211116/9a17b2b2/attachment.html>


More information about the ghc-devs mailing list