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.