Discussion: #673 Update jsem proposal to address problems discovered in GHC #25087
wz1000 submitted proposal #673: Update jsem proposal to address problems discovered in GHC #25087 <https://github.com/ghc-proposals/ghc-proposals/pull/673> The proposal is an update to the `-jsem` mechanism for sharing compute resources between Cabal/stack and GHC, which was previously accepted as proposal #540. In summary #673 fixes an issue with #540: the specified implementation had a potential for runtime crashes due to dependence on the representation of a runtime shared data structure (the system semaphore). The technical fix is to provide a protocol layer to abstract away from the representation. This is an implementation detail though; the problem with the proposal is that it *overspecified the implementation*. The fix is to avoid doing that, and introduce a mechanism for versioning the protocol to allow for future changes. As shepherd I'm recommending acceptance.
I support acceptance here, it'll be great to land this so -jsem can be used more reliably. Adam On 23/03/2026 11:25, Simon Marlow wrote:
wz1000 submitted proposal #673: Update jsem proposal to address problems discovered in GHC #25087 <https://github.com/ghc-proposals/ghc- proposals/pull/673>
The proposal is an update to the `-jsem` mechanism for sharing compute resources between Cabal/stack and GHC, which was previously accepted as proposal #540.
In summary #673 fixes an issue with #540: the specified implementation had a potential for runtime crashes due to dependence on the representation of a runtime shared data structure (the system semaphore).
The technical fix is to provide a protocol layer to abstract away from the representation. This is an implementation detail though; the problem with the proposal is that it *overspecified the implementation*. The fix is to avoid doing that, and introduce a mechanism for versioning the protocol to allow for future changes.
As shepherd I'm recommending acceptance.
-- Adam Gundry, Haskell Consultant Well-Typed LLP, https://www.well-typed.com/ Registered in England & Wales, OC335890 27 Old Gloucester Street, London WC1N 3AX, England
I’m in support of acceptance as well. Having used `semaphore: True` in my ~/.config/cabal/config globally I’ve run into the shortcomings of the current implementation. (So much so that I had to disable it) Looking forward to it! Rodrigo
On 27 Mar 2026, at 16:17, Adam Gundry <adam@well-typed.com> wrote:
I support acceptance here, it'll be great to land this so -jsem can be used more reliably.
Adam
On 23/03/2026 11:25, Simon Marlow wrote:
wz1000 submitted proposal #673: Update jsem proposal to address problems discovered in GHC #25087 <https://github.com/ghc-proposals/ghc- proposals/pull/673> The proposal is an update to the `-jsem` mechanism for sharing compute resources between Cabal/stack and GHC, which was previously accepted as proposal #540. In summary #673 fixes an issue with #540: the specified implementation had a potential for runtime crashes due to dependence on the representation of a runtime shared data structure (the system semaphore). The technical fix is to provide a protocol layer to abstract away from the representation. This is an implementation detail though; the problem with the proposal is that it *overspecified the implementation*. The fix is to avoid doing that, and introduce a mechanism for versioning the protocol to allow for future changes. As shepherd I'm recommending acceptance.
-- Adam Gundry, Haskell Consultant Well-Typed LLP, https://www.well-typed.com/
Registered in England & Wales, OC335890 27 Old Gloucester Street, London WC1N 3AX, England _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
I too am in support of acceptance. - Jeff On Fri, Mar 27, 2026 at 10:28 AM Rodrigo Mesquita <rodrigo@well-typed.com> wrote:
I’m in support of acceptance as well. Having used `semaphore: True` in my ~/.config/cabal/config globally I’ve run into the shortcomings of the current implementation. (So much so that I had to disable it)
Looking forward to it!
Rodrigo
On 27 Mar 2026, at 16:17, Adam Gundry <adam@well-typed.com> wrote:
I support acceptance here, it'll be great to land this so -jsem can be used more reliably.
Adam
On 23/03/2026 11:25, Simon Marlow wrote:
wz1000 submitted proposal #673: Update jsem proposal to address problems discovered in GHC #25087 <https://github.com/ghc-proposals/ghc- proposals/pull/673> The proposal is an update to the `-jsem` mechanism for sharing compute resources between Cabal/stack and GHC, which was previously accepted as proposal #540. In summary #673 fixes an issue with #540: the specified implementation had a potential for runtime crashes due to dependence on the representation of a runtime shared data structure (the system semaphore). The technical fix is to provide a protocol layer to abstract away from the representation. This is an implementation detail though; the problem with the proposal is that it *overspecified the implementation*. The fix is to avoid doing that, and introduce a mechanism for versioning the protocol to allow for future changes. As shepherd I'm recommending acceptance.
-- Adam Gundry, Haskell Consultant Well-Typed LLP, https://www.well-typed.com/
Registered in England & Wales, OC335890 27 Old Gloucester Street, London WC1N 3AX, England _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
I have read the ticket and this is just an improvement of an existing feature. I think this should be accepted. Thanks, Erik Jeff Young wrote:
I too am in support of acceptance.
- Jeff
On Fri, Mar 27, 2026 at 10:28 AM Rodrigo Mesquita <rodrigo@well-typed.com> wrote:
I’m in support of acceptance as well. Having used `semaphore: True` in my ~/.config/cabal/config globally I’ve run into the shortcomings of the current implementation. (So much so that I had to disable it)
Looking forward to it!
Rodrigo
On 27 Mar 2026, at 16:17, Adam Gundry <adam@well-typed.com> wrote:
I support acceptance here, it'll be great to land this so -jsem can be used more reliably.
Adam
On 23/03/2026 11:25, Simon Marlow wrote:
wz1000 submitted proposal #673: Update jsem proposal to address problems discovered in GHC #25087 <https://github.com/ghc-proposals/ghc- proposals/pull/673> The proposal is an update to the `-jsem` mechanism for sharing compute resources between Cabal/stack and GHC, which was previously accepted as proposal #540. In summary #673 fixes an issue with #540: the specified implementation had a potential for runtime crashes due to dependence on the representation of a runtime shared data structure (the system semaphore). The technical fix is to provide a protocol layer to abstract away from the representation. This is an implementation detail though; the problem with the proposal is that it *overspecified the implementation*. The fix is to avoid doing that, and introduce a mechanism for versioning the protocol to allow for future changes. As shepherd I'm recommending acceptance.
-- Adam Gundry, Haskell Consultant Well-Typed LLP, https://www.well-typed.com/
Registered in England & Wales, OC335890 27 Old Gloucester Street, London WC1N 3AX, England _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/
(apologies for being a bit late to wind this up, I was away on holiday last week) Looks like several of the committee were in favour and no objections, so I'll go ahead and merge this as accepted. Simon On Fri, 3 Apr 2026 at 10:52, Erik de Castro Lopo <erikd@mega-nerd.com> wrote:
I have read the ticket and this is just an improvement of an existing feature. I think this should be accepted.
Thanks, Erik
Jeff Young wrote:
I too am in support of acceptance.
- Jeff
On Fri, Mar 27, 2026 at 10:28 AM Rodrigo Mesquita < rodrigo@well-typed.com> wrote:
I’m in support of acceptance as well. Having used `semaphore: True` in my ~/.config/cabal/config globally I’ve run into the shortcomings of the current implementation. (So much so that I had to disable it)
Looking forward to it!
Rodrigo
On 27 Mar 2026, at 16:17, Adam Gundry <adam@well-typed.com> wrote:
I support acceptance here, it'll be great to land this so -jsem can be used more reliably.
Adam
On 23/03/2026 11:25, Simon Marlow wrote:
wz1000 submitted proposal #673: Update jsem proposal to address problems discovered in GHC #25087 < https://github.com/ghc-proposals/ghc- proposals/pull/673> The proposal is an update to the `-jsem` mechanism for sharing compute resources between Cabal/stack and GHC, which was previously accepted as proposal #540. In summary #673 fixes an issue with #540: the specified implementation had a potential for runtime crashes due to dependence on the representation of a runtime shared data structure (the system semaphore). The technical fix is to provide a protocol layer to abstract away from the representation. This is an implementation detail though; the problem with the proposal is that it *overspecified the implementation*. The fix is to avoid doing that, and introduce a mechanism for versioning the protocol to allow for future changes. As shepherd I'm recommending acceptance.
-- Adam Gundry, Haskell Consultant Well-Typed LLP, https://www.well-typed.com/
Registered in England & Wales, OC335890 27 Old Gloucester Street, London WC1N 3AX, England _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
_______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
-- ---------------------------------------------------------------------- Erik de Castro Lopo http://www.mega-nerd.com/ _______________________________________________ ghc-steering-committee mailing list -- ghc-steering-committee@haskell.org To unsubscribe send an email to ghc-steering-committee-leave@haskell.org
participants (5)
-
Adam Gundry -
Erik de Castro Lopo -
Jeff Young -
Rodrigo Mesquita -
Simon Marlow