Skip to content

ghc-lib-parser causes segfaults when used together with the ghc library on ghc-9.10 #620

@AndreasPK

Description

@AndreasPK

The FastString table built into GHC changed recently.

Since this table is shared by all versions of the GHC source code via an RTS symbol this causes segfaults when ghc-lib-parser-9.12 and ghc-9.10 are used together since they use different memory layouts for this table.

The fix for this is either to change GHC.Data.FastString such that the sharedCAF mechanism is not used. However that means FastStrings created by ghc-lib-parser and ghc are never allowed to be mixed.

The other alternative is to use CPP to adjust the memory layout of the faststring table depending on the GHC version used.

This is the change in question: https://gitlab.haskell.org/ghc/ghc/-/commit/f2cc1107790d42fee1a11d5b16bc282d31ea6f78


The simplest option of course would be to mark ghc-lib-parser-9.12 unbuildable on ghc-9.10, but perhaps also a bit of a shame.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions